Computer >> कंप्यूटर >  >> प्रणाली >> Linux

CentOS 8/7 . पर FirewallD के साथ आरंभ करें

CentOS 7 में FirewallD ट्रैफ़िक फ़िल्टरिंग नियमों को कॉन्फ़िगर करने के लिए प्रकट हुआ है। यह iptables नियमों को प्रबंधित करने के लिए उपयोग किया जाने वाला उपकरण है। CentOS 8 nftables का उपयोग कर रहा है मानक iptables पैकेट फ़िल्टरिंग सेवा के बजाय फ्रेमवर्क, और जब आप फ़ायरवॉल नियमों को फ़ायरवॉल में कॉन्फ़िगर करते हैं, तो आप वास्तव में nftables को कॉन्फ़िगर करते हैं। इस लेख में हम विचार करेंगे कि Linux CentOS 8 (और CentOS 7) चलाने वाले सर्वर पर फ़ायरवॉल को कैसे स्थापित और कॉन्फ़िगर किया जाए और इस फ़ायरवॉल की मुख्य अवधारणाएँ।

फ़ायरवॉलD एक फ़ायरवॉल सेवा है जिसका उपयोग सर्वर को अवांछित ट्रैफ़िक से बचाने के लिए किया जाता है। यह गतिशील फ़ायरवॉल नियम प्रबंधन (पुनरारंभ किए बिना) का समर्थन करता है। यह iptables और nftables के लिए एक इंटरफेस के रूप में काम करता है। FirewallD का उपयोग लगभग सभी Linux डिस्ट्रोस में किया जा सकता है।

फ़ायरवॉल की बुनियादी अवधारणाएं:क्षेत्र और नियम

फ़ायरवॉल . की स्थापना और कॉन्फ़िगरेशन से पहले , हम सीखेंगे कि विभिन्न कनेक्शनों पर विश्वास के स्तर को निर्धारित करने के लिए किन क्षेत्रों का उपयोग किया जाता है। आप फ़ायरवॉल . पर अलग-अलग फ़िल्टरिंग नियम लागू कर सकते हैं ज़ोन, पूर्वनिर्धारित सेवाओं, प्रोटोकॉल या पोर्ट, पोर्ट फ़ॉरवर्डिंग और रिच-नियमों के लिए सक्रिय फ़ायरवॉल विकल्प सेट करें।

फ़ायरवॉल ज़ोन पर लागू नियमों के आधार पर ज़ोन द्वारा इनबाउंड ट्रैफ़िक को फ़िल्टर कर रहा है। यदि प्रेषक का आईपी पता किसी क्षेत्र के नियमों से मेल खाता है, तो पैकेट इस क्षेत्र के माध्यम से भेजा जाएगा। यदि IP पता सर्वर पर कॉन्फ़िगर किए गए किसी भी ज़ोन से मेल नहीं खाता है, तो डिफ़ॉल्ट ज़ोन पैकेट को प्रोसेस करेगा। जब आप फ़ायरवॉल स्थापित करते हैं, तो डिफ़ॉल्ट क्षेत्र को सार्वजनिक कहा जाता है।

फ़ायरवॉल में विभिन्न सेवाओं के लिए पूर्व-कॉन्फ़िगर अनुमतियों वाले कुछ क्षेत्र हैं। आप इन सेटिंग्स का उपयोग कर सकते हैं या अपने स्वयं के क्षेत्र बना सकते हैं। जब आप फ़ायरवॉल स्थापित करते हैं (/usr/lib/firewalld/zones/ में स्थित) डिफ़ॉल्ट ज़ोन की सूची यहाँ दी गई है:

छोड़ें इसमें विश्वास का न्यूनतम स्तर होता है। सभी इनबाउंड कनेक्शन बिना किसी प्रतिक्रिया के अवरुद्ध हैं, केवल आउटबाउंड कनेक्शन की अनुमति है।
अवरुद्ध करें यह क्षेत्र पिछले वाले के समान है, लेकिन आने वाले अनुरोधों को icmp-host-प्रतिबंधित के साथ अस्वीकार कर दिया गया है IPv4 या icmp6-adm-प्रतिबंधित . के लिए संदेश IPv6 के लिए संदेश।
सार्वजनिक इसका उपयोग सार्वजनिक, अविश्वसनीय नेटवर्क के लिए किया जाता है। आप व्यक्तिगत रूप से आने वाले कनेक्शन की अनुमति दे सकते हैं।
बाहरी यह किसी भी बाहरी नेटवर्क को संदर्भित करता है जब आपके फ़ायरवॉल को गेटवे के रूप में उपयोग किया जाता है। इसका उपयोग NAT को छिपाने के लिए किया जाता है, इसलिए आपका आंतरिक नेटवर्क निजी रहता है, लेकिन उपलब्ध रहता है।
आंतरिक यह बाहरी क्षेत्र का विलोम है। मेजबान के पास पर्याप्त विश्वास स्तर है, कई अतिरिक्त सेवाएं उपलब्ध हैं।
dmz इस क्षेत्र का उपयोग असैन्यीकृत क्षेत्र (DMZ) के कंप्यूटरों के लिए किया जाता है और इसमें ऐसे पृथक कंप्यूटर शामिल हैं जिनकी आपके नेटवर्क तक पहुंच नहीं है। केवल चयनित इनकमिंग कनेक्शन की अनुमति है।
कार्य यह आपके काम करने वाले कंप्यूटरों के लिए एक क्षेत्र है (नेटवर्क में अधिकांश कंप्यूटर विश्वसनीय हैं)
घर यह एक घरेलू नेटवर्क को संदर्भित करता है। आप अधिकांश अन्य कंप्यूटरों पर भरोसा कर सकते हैं, लेकिन केवल चयनित आने वाले कनेक्शन समर्थित हैं।
विश्वसनीय नेटवर्क के सभी कंप्यूटर विश्वसनीय होते हैं। यह सबसे खुला विकल्प है जिसके लिए जिम्मेदार उपयोग की आवश्यकता है।

फ़ायरवॉल नियमों के दो सेट का उपयोग करता है - स्थायी और रनटाइम। सर्वर के पुनरारंभ होने तक रनटाइम नियम सक्रिय हैं। डिफ़ॉल्ट रूप से, आप जिन नियमों को फ़ायरवॉल में जोड़ते हैं रनटाइम . माना जाता है . स्थायी नियम जोड़ने के लिए, आपको –स्थायी . का उपयोग करना होगा झंडा। सर्वर के पुनरारंभ होने के बाद ये नियम लागू होंगे।

CentOS में FirewallD को कैसे स्थापित और सक्षम करें?

CentOS में OS स्थापना के दौरान डिफ़ॉल्ट रूप से 7/8 फ़ायरवॉल स्थापित होता है। यदि आपने फ़ायरवॉल को हटा दिया है और इसे वापस स्थापित करना चाहते हैं, तो आप मानक yum/dnf पैकेज मैनेजर का उपयोग कर सकते हैं:

# yum install firewalld -y — Centos 7 पर
# dnf install firewalld -y — सेंटोस 8

. पर

CentOS 8/7 . पर FirewallD के साथ आरंभ करें

फ़ायरवॉल डेमॉन को स्वचालित रूप से प्रारंभ करने के लिए इसे स्टार्टअप में जोड़ें:

# systemctl enable firewalld

और इसे शुरू करें:

# systemctl start firewalld

सेवा की स्थिति जांचें:

# systemctl status firewalld

● फ़ायरवॉलड.सर्विस - फ़ायरवॉलड - डायनेमिक फ़ायरवॉल डेमनलोडेड:लोडेड (/usr/lib/systemd/system/firewalld.service; सक्षम; विक्रेता प्रीसेट:सक्षम) सक्रिय:सक्रिय (चल रहा है) दस्तावेज़:आदमी:फ़ायरवॉल्ड(1) मुख्य पीआईडी:13646 (फ़ायरवॉल्ड) सीग्रुप:/system.slice/firewalld.service└─13646 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopidsystemd[1]:फ़ायरवॉल शुरू करना - डायनेमिक फ़ायरवॉल डेमॉन ...

या इसे इस कमांड का उपयोग करके करें:

# firewall-cmd --state

फ़ायरवॉल-cmd कमांड nftables/iptables के लिए फायरवॉल फ्रंट-एंड है।

# firewall-cmd --state

<पूर्व>चल रहा है

फ़ायरवॉल डी नियम प्रबंधित करना

डिफ़ॉल्ट फ़ायरवॉलडी नियम

फायरवॉल नियमों को कॉन्फ़िगर करने से पहले, आपको यह जांचना चाहिए कि डिफ़ॉल्ट रूप से किस क्षेत्र का उपयोग किया जाता है:

# firewall-cmd --get-default-zone

CentOS 8/7 . पर FirewallD के साथ आरंभ करें

चूंकि हमने अभी फ़ायरवॉल स्थापित किया है और इसे अभी तक कॉन्फ़िगर नहीं किया है, डिफ़ॉल्ट क्षेत्र सार्वजनिक . है ।

सक्रिय क्षेत्र की जाँच करें। केवल एक ही क्षेत्र है - सार्वजनिक:

# firewall-cmd --get-active-zones

पब्लिकइंटरफेस:eth0

जैसा कि हम देख सकते हैं, eth0 इंटरफ़ेस को सार्वजनिक . द्वारा प्रबंधित किया जाता है क्षेत्र।

आप CentOS नेटवर्क इंटरफेस की सूची इस प्रकार प्रदर्शित कर सकते हैं:

# ip link show
या:
# nmcli device status

सक्रिय क्षेत्रों के नियम देखने के लिए, कमांड का उपयोग करें:

# firewall-cmd --list-all

<पूर्व>सार्वजनिक (सक्रिय) लक्ष्य:डिफॉल्टिकएमपी-ब्लॉक-इनवर्जन:नोइंटरफेस:eth0sources:services:dhcpv6-client sshports:protocols:masquerade:noforward-ports:source-ports:icmp-blocks:rich नियम:

इस लिस्टिंग में, आप देख सकते हैं कि डीएचसीपी क्लाइंट और एसएसएच से संबंधित सामान्य ऑपरेशन ज़ोन में जोड़े गए हैं।

उपलब्ध क्षेत्र

सभी जोनों की सूची देखने के लिए, यह कमांड चलाएँ:

# firewall-cmd --get-zones

मुझे निम्नलिखित सूची मिली है:

dmz ड्रॉप बाहरी घर आंतरिक सार्वजनिक विश्वसनीय कार्य ब्लॉक करें

किसी विशिष्ट क्षेत्र के नियम देखने के लिए, -ज़ोन ध्वज को कमांड में जोड़ें:

# firewall-cmd --zone=home --list-all

होमटारगेट:डिफॉल्टिकएमपी-ब्लॉक-इनवर्जन:नोइंटरफेस:सोर्स:सर्विसेज:डीएचसीपीवी6-क्लाइंट एमडीएनएस सांबा-क्लाइंट एसएसएचपोर्ट्स:प्रोटोकॉल:मास्करेड:नोफोरवर्ड-पोर्ट्स:सोर्स-पोर्ट्स:आईसीएमपी-ब्लॉक्स:रिच रूल्स:

आप सभी क्षेत्रों के नियम देख सकते हैं:

# firewall-cmd --list-all-zones

डिफ़ॉल्ट क्षेत्र कैसे बदलें?

डिफ़ॉल्ट रूप से, सभी नेटवर्क इंटरफेस सार्वजनिक . में स्थित होते हैं ज़ोन, लेकिन उन्हें कमांड के साथ किसी भी ज़ोन में ले जाया जा सकता है:

# firewall-cmd --zone=home —change-interface=eth0

-क्षेत्र= . के बाद इच्छित क्षेत्र निर्दिष्ट करें पैरामीटर।

डिफ़ॉल्ट ज़ोन को होम में बदलने के लिए, यह कमांड चलाएँ:

# firewall-cmd --set-default-zone=home

FirewallD में ऐप नियम कैसे जोड़ें?

किसी ऐप के लिए पोर्ट खोलने के लिए, आप सेवा को अपवाद के रूप में जोड़ सकते हैं। यहां उपलब्ध सेवाओं की सूची प्रदर्शित करने का तरीका बताया गया है:

# firewall-cmd --get-services

CentOS 8/7 . पर FirewallD के साथ आरंभ करें

आउटपुट में बहुत सारी सेवाएँ होंगी। किसी सेवा के बारे में विस्तृत जानकारी उसके XML . में निहित है फ़ाइल। ये फ़ाइलें /usr/lib/firewalld/services. . में स्थित हैं

उदाहरण के लिए:

# cd /usr/lib/firewalld/services
# cat smtp.xml

Mail (SMTP)यह विकल्प आने वाली SMTP मेल डिलीवरी की अनुमति देता है। यदि आपको दूरस्थ होस्ट को मेल डिलीवर करने के लिए सीधे आपकी मशीन से कनेक्ट करने की अनुमति देने की आवश्यकता है, तो इस विकल्प को सक्षम करें। यदि आप अपने मेल को अपने ISP के सर्वर से POP3 या IMAP द्वारा एकत्रित करते हैं, या यदि आप फ़ेचमेल जैसे टूल का उपयोग करते हैं, तो आपको इसे सक्षम करने की आवश्यकता नहीं है। ध्यान दें कि अनुचित तरीके से कॉन्फ़िगर किया गया SMTP सर्वर दूरस्थ मशीनों को स्पैम भेजने के लिए आपके सर्वर का उपयोग करने की अनुमति दे सकता है।

XML फ़ाइल में सेवा विवरण, प्रोटोकॉल और फ़ायरवॉल में खोले जाने वाले पोर्ट की संख्या होती है।

CentOS 8/7 . पर FirewallD के साथ आरंभ करें

नियम जोड़ते समय, आप –ऐड-सर्विस . का उपयोग कर सकते हैं एक विशिष्ट सेवा के लिए फ़ायरवॉल पहुँच की अनुमति देने के लिए पैरामीटर:

# firewall-cmd --zone=public --add-service=http
# firewall-cmd --zone=public --add-service=https

नियम जोड़ने के बाद, आप यह सुनिश्चित कर सकते हैं कि सेवाओं को निर्दिष्ट क्षेत्र में जोड़ा गया है:

# firewall-cmd --zone=public --list-services

dhcpv6-client http https ssh

यदि आप नियमों को स्थायी बनाना चाहते हैं, तो –स्थायी . का उपयोग करें उन्हें जोड़ते समय पैरामीटर।

किसी सेवा को क्षेत्र से हटाने के लिए:

# firewall-cmd --permanent --zone=public --remove-service=http
# firewall-cmd --zone=public --permanent --list-services

dhcpv6-client https ssh test

यदि आप अपनी सेवा को yj अपवादों में जोड़ना चाहते हैं, तो आप एक XML . बना सकते हैं स्वयं फ़ाइल करें और वहां डेटा निर्दिष्ट करें। आप किसी भी सेवा से डेटा कॉपी कर सकते हैं और नाम, विवरण और पोर्ट नंबर बदल सकते हैं।

कॉपी smtp.xml उपयोगकर्ता सेवाओं के लिए निर्देशिका में:

# cp /usr/lib/firewalld/services/smtp.xml /etc/firewalld/services

फ़ाइल में सेवा विवरण बदलें।

CentOS 8/7 . पर FirewallD के साथ आरंभ करें

XML फ़ाइल का नाम भी बदला जाना चाहिए (मैंने अपनी सेवा को परीक्षण . कहा है ) फिर फ़ायरवॉल को पुनरारंभ करें और सुनिश्चित करें कि आपकी सेवा सूची में दिखाई देती है:

# firewall-cmd --get-services

syslog-tls टेलनेट टेस्ट tftp

अब आप सेवा को किसी भी क्षेत्र में जोड़ सकते हैं:

# firewall-cmd --zone=public --add-service=test --permanent
# firewall-cmd --zone=public --permanent --list-services

dhcpv6-client http https ssh test

यदि आपको सूची में कोई सेवा नहीं मिली है, तो आप इस आदेश का उपयोग करके फ़ायरवॉल में अपना इच्छित पोर्ट खोल सकते हैं:

# firewall-cmd --zone=public —add-port=77/tcpटीसीपी खोलता है पोर्ट 77
# firewall-cmd --zone=public —add-port=77/udpयूडीपी खोलता है पोर्ट 77
# firewall-cmd --zone=public —add-port=77-88/udpयूडीपी खोलता है पोर्ट रेंज 77-88
# firewall-cmd --zone=public —list-ports - अनुमत बंदरगाहों की सूची प्रदर्शित करता है

ICMP अनुरोधों को ब्लॉक/अनुमति देने के लिए:

# firewall-cmd --zone=public --add-icmp-block=echo-reply
# firewall-cmd --zone= public --remove-icmp-block=echo-reply

जोड़ा गया पोर्ट निकालने के लिए:
# firewall-cmd --zone=public —remove-port=77/udpUDP . के लिए रनटाइम नियम हटाता है पोर्ट 77

# firewall-cmd --permanent --zone=public —remove-port=77/udp — स्थायी नियम हटाता है

CentOS 8/7 . पर FirewallD के साथ आरंभ करें

FirewallD में एक नया क्षेत्र कैसे बनाएं?

आप अपना खुद का क्षेत्र बना सकते हैं (मैं इसे हमारा . कहूंगा ):

# firewall-cmd --permanent --new-zone=our

एक नया ज़ोन बनाने के बाद, जैसे कोई सेवा बनाने के बाद, आपको फ़ायरवॉल्ड . को पुनरारंभ करना होगा :

# firewall-cmd --reload
# firewall-cmd --get-zones

dmz ड्रॉप बाहरी घर आंतरिक हमारे सार्वजनिक विश्वसनीय कार्य को ब्लॉक करें

हमारे जोन उपलब्ध है। आप इसमें सेवाएं जोड़ सकते हैं या कुछ पोर्ट खोल सकते हैं।

फ़ायरवॉल:आईपी पते कैसे ब्लॉक करें और अपवाद कैसे बनाएं

आप फ़ायरवॉल अपवादों में विश्वसनीय IP पते जोड़ सकते हैं या अवांछित IP पतों को ब्लॉक कर सकते हैं।

IP पता जोड़ने के लिए (उदा., 8.8.8.8) o फ़ायरवॉल का उपयोग करके आपके सर्वर पर अपवाद, यह कमांड चलाएँ:

# firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="8.8.8.8" accept'

क्षेत्र की जाँच करें और सुनिश्चित करें कि आईपी पता अमीर-नियमों में अपवादों में जोड़ा गया है:

# firewall-cmd --zone=public --list-all

<पूर्व>सार्वजनिक (सक्रिय) लक्ष्य:डिफॉल्टिकएमपी-ब्लॉक-इनवर्जन:नोइंटरफेस:eth0sources:services:dhcpv6-client http https ssh टेस्टपोर्ट:प्रोटोकॉल:बहाना:नोफॉरवर्ड-पोर्ट:स्रोत-पोर्ट:आईसीएमपी-ब्लॉक:समृद्ध नियम:शासन परिवार ="ipv4" स्रोत का पता ="8.8.8.8" स्वीकार करें

किसी IP पते को ब्लॉक करने के लिए, स्वीकार करें . को बदलें अस्वीकार . के साथ :

# firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="8.8.4.4" reject'
# firewall-cmd --zone=public --list-all

<पूर्व>सार्वजनिक (सक्रिय) लक्ष्य:डिफॉल्टिकएमपी-ब्लॉक-इनवर्जन:नोइंटरफेस:eth0sources:services:dhcpv6-client http https ssh टेस्टपोर्ट:प्रोटोकॉल:बहाना:नोफॉरवर्ड-पोर्ट:स्रोत-पोर्ट:आईसीएमपी-ब्लॉक:समृद्ध नियम:शासन परिवार ="ipv4" स्रोत का पता ="8.8.8.8" स्वीकार्य परिवार ="ipv4" स्रोत का पता ="8.8.4.4" अस्वीकार करें

आप किसी सेवा को केवल विशिष्ट आईपी पते से अनुरोध स्वीकार करने की अनुमति दे सकते हैं:

#firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source address="192.168.1.0/24" service name="https" accept'

यदि आप अपने सर्वर के सभी अनुरोधों को तुरंत ब्लॉक करना चाहते हैं, तो पैनिक कमांड का उपयोग करें:

# firewall-cmd --panic-on

आप इस कमांड से पैनिक मोड को डिसेबल कर सकते हैं:

# firewall-cmd --panic-off

या अपने सर्वर को पुनरारंभ करके।

आप अपने फायरवॉल कॉन्फ़िगरेशन को ब्लॉक कर सकते हैं ताकि रूट विशेषाधिकार वाली स्थानीय सेवाएं आपके द्वारा बनाए गए फ़ायरवॉल नियमों को नहीं बदल सकें:

# firewall-cmd --lockdown-on

लॉकडाउन मोड को अक्षम करने के लिए:

# firewall-cmd --lockdown-off

FirewallD के साथ पोर्ट फ़ॉरवर्डिंग को कॉन्फ़िगर करना

आप फ़ायरवॉल में पोर्ट फ़ॉरवर्डिंग नियम बना सकते हैं। TCP पोर्ट 443 से 9090 तक अग्रेषित करने के लिए:

# firewall-cmd --zone=public --add-forward-port=port=443:proto=tcp:toport=9090 --permanent

विंडोज़ में आप netsh का उपयोग करके पोर्ट फ़ॉरवर्डिंग को कॉन्फ़िगर कर सकते हैं।

पोर्ट फ़ॉरवर्डिंग नियम को हटाने के लिए:

# firewall-cmd --zone=public --remove-forward-port=port=443:proto=tcp:toport=9090


  1. Microsoft सूचियों के साथ शुरुआत कैसे करें

    Microsoft सूचियाँ Microsoft 365 ऐप स्टेबल में नवीनतम जोड़ है। हालांकि नाम आपको इसे एक और आउटलुक टास्क, टू-डू या प्लानर पुनरावृत्ति के रूप में लिखने के लिए प्रेरित कर सकता है, सूचियां वास्तव में एक अनूठी पेशकश है जो उपरोक्त में से किसी की तुलना में एक्सेल के करीब है। SharePoint द्वारा संचालित और वेब

  1. क्लिपचैम्प के साथ शुरुआत कैसे करें

    क्लिपचैम्प एक वीडियो संपादन उपकरण है जिसका उपयोग हर कोई काम, सोशल मीडिया और अन्य के लिए वीडियो बनाने के लिए कर सकता है। माइक्रोसॉफ्ट ने पिछले साल किसी समय इस प्लेटफॉर्म का अधिग्रहण किया था, जो अब विंडोज 10 और विंडोज 11 यूजर्स के लिए मुफ्त में उपलब्ध है। प्रारंभ में, ऐप को Office 365 में एकीकृत किया

  1. एलेक्सा स्किल के साथ शुरुआत कैसे करें

    यदि आपके पास Amazon Echo स्मार्ट स्पीकर है, तो आप एलेक्सा, डिजिटल असिस्टेंट से परिचित होंगे, आपकी पहुंच में सबसे अच्छे वॉयस असिस्टेंट में से एक है। हालाँकि, यदि आप एलेक्सा की क्षमता के बारे में सोच रहे हैं तो इसका उत्तर है, यह खरीदारी की सूची बनाने, संगीत बजाने और स्मार्ट होम को नियंत्रित करने के अल