लॉन्चर उत्पाद Bitnami दस्तावेज़imaxe CLI ब्लॉग संपर्क
imaxe firewall फ़ायरवॉल v1.0.0

आपका फ़ायरवॉल, नियंत्रण में

ufw की स्थिति जाँचें, अपमानजनक IP को हाथ से ब्लॉक करें, और एक ही आदेश से पोर्ट खोलें या बंद करें। स्वचालित बैन fail2ban संभालता है; यह आपके मैनुअल ब्लॉक और पोर्ट नियमों के लिए है।

$ imaxe firewall block 203.0.113.10 --reason "abuso" --ttl 24h
संस्करण
v1.0.0
उपआदेश
9
कॉन्फ़िग
/etc/imaxe/firewall.yml
root आवश्यक
हाँ
आधार
ufw + fail2ban

यह मॉड्यूल क्या करता है #

फ़ायरवॉल सर्वर का मुख्य द्वार है: यह तय करता है कि कौन-से कनेक्शन अंदर आते हैं और कौन-से अस्वीकृत किए जाते हैं। इन मशीनों पर यह काम ufw (Ubuntu का फ़ायरवॉल) करता है, और firewall मॉड्यूल आपको ufw सिंटैक्स याद किए बिना इसे संचालित करने का एक सुविधाजनक नियंत्रण देता है।

इससे आप एक नज़र में फ़ायरवॉल की स्थिति देख सकते हैं (सक्रिय अवस्था, डिफ़ॉल्ट नीति और नियम), किसी परेशान करने वाली IP या रेंज को हाथ से ब्लॉक कर सकते हैं, ज़रूरत खत्म होने पर उस ब्लॉक को हटा सकते हैं, और पोर्ट खोल या बंद कर सकते हैं, वहीं कॉन्फ़िगरेशन को ufw द्वारा लागू किए गए के साथ समकालिक रखते हुए।

मैनुअल ब्लॉक, स्वचालित नहीं

घुसपैठ प्रयासों (SSH ब्रूट फ़ोर्स, आदि) के लिए स्वचालित बैन fail2ban स्वयं संभालता है। यह मॉड्यूल आपके मैनुअल ब्लॉक के साथ काम करता है: block, unblock और flush केवल उसे छूते हैं जो आप हाथ से जोड़ते हैं और fail2ban के बैन में कभी हस्तक्षेप नहीं करते।

त्वरित गाइडचरण-दर-चरण कार्य

सामान्य कार्य #

चुनें कि आप क्या करना चाहते हैं। हर रेसिपी में आदेश पहले से लिखा हुआ आता है — बस IP या पोर्ट को अपने वाले से बदलें और कॉपी करें दबाएँ।

1

फ़ायरवॉल की स्थिति देखें

जाँचें कि यह सक्रिय है या नहीं, इसकी डिफ़ॉल्ट नीति और इसके कितने नियम हैं।

SSH से अपने सर्वर पर कनेक्ट करें और सारांश माँगें:

terminal
$ sudo imaxe firewall status

किसी स्क्रिप्ट के लिए चाहिए? --json जोड़ें और आपको वही जानकारी मशीन-पठनीय रूप में मिलेगी:

terminal
$ sudo imaxe firewall status --json
आप देखते हैं कि फ़ायरवॉल सक्रिय है या नहीं, डिफ़ॉल्ट नीति, नियमों की संख्या और आपके कितने मैनुअल ब्लॉक लागू हैं।
2

किसी अपमानजनक IP को ब्लॉक करें

किसी परेशान करने वाली IP या रेंज की पहुँच काट दें।

किसी विशिष्ट IP को ब्लॉक करें, कारण नोट करते हुए ताकि आपको बाद में याद रहे:

terminal
$ sudo imaxe firewall block 203.0.113.10 --reason "abuso"

केवल अस्थायी ब्लॉक चाहिए? इसे --ttl के साथ अवधि दें और यह स्वयं हट जाएगा। आप CIDR संकेतन में पूरी रेंज भी ब्लॉक कर सकते हैं:

terminal
$ sudo imaxe firewall block 203.0.113.10 --reason "abuso" --ttl 24h
$ sudo imaxe firewall block 203.0.113.0/24 --reason "escaneo"
वह IP या रेंज अब सर्वर से कनेक्ट नहीं कर सकती। यदि आपने --ttl सेट किया है, तो समय पूरा होने पर ब्लॉक स्वयं समाप्त हो जाता है।
3

देखें मैंने कौन-सी IP ब्लॉक की हैं

अपने सक्रिय मैनुअल ब्लॉक की सूची की समीक्षा करें।

उन IP और रेंज को सूचीबद्ध करें जिन्हें आपने हाथ से ब्लॉक किया है (याद रखें: fail2ban के बैन यहाँ नहीं दिखते):

terminal
$ sudo imaxe firewall blocked
आप हर मैनुअल ब्लॉक को उसके कारण के साथ और, यदि हो तो, कब समाप्त होता है, देखते हैं। कोई अब ज़रूरी नहीं? किसी IP को अनब्लॉक करें पर जाएँ।
4

किसी IP को अनब्लॉक करें

अब ज़रूरी न रहे मैनुअल ब्लॉक को हटाएँ।

जिस IP या रेंज को आपने ब्लॉक किया था उसे ठीक वैसे ही हटाएँ (जैसा blocked में दिखता है):

terminal
$ sudo imaxe firewall unblock 203.0.113.10
वह पता फिर से कनेक्ट कर सकता है। आपके बाकी ब्लॉक और fail2ban के बैन बरकरार रहते हैं।
5

पोर्ट खोलें या बंद करें

किसी नई सेवा को अंदर आने दें या किसी को बंद करें जो अब आप नहीं देते।

कोई पोर्ट खोलें (एक टिप्पणी के साथ ताकि आपको पता रहे यह किसलिए है)। आप --from से यह सीमित कर सकते हैं कि कौन अंदर आए:

terminal
$ sudo imaxe firewall allow 443/tcp --comment "https"
$ sudo imaxe firewall allow 5432/tcp --from 203.0.113.0/24 --comment "postgres interno"

कोई पोर्ट बंद करें जिसे आप अब उपयोग नहीं करते:

terminal
$ sudo imaxe firewall deny 8080/tcp
नियम ufw में लागू होता है और firewall.yml में परिलक्षित होता है। इसे imaxe firewall rules list से जाँचें।
पोर्ट बंद करते समय सावधान रहें

यदि आप SSH से जुड़े हैं तो पोर्ट 22 (SSH) बंद न करें: आप सर्वर तक पहुँच खो देंगे। मॉड्यूल 22/tcp को डिफ़ॉल्ट रूप से अनुमत रखता है ठीक उसी डर से बचने के लिए। और याद रखें कि flush आपके सभी मैनुअल ब्लॉक एक साथ हटा देता है।

CLI संदर्भआदेश, फ़्लैग और फ़ाइलें

सारांश #

उपयोग
imaxe firewall <subcomando> [<ip>|<puerto>] [flags]

सभी उपआदेशों के लिए root विशेषाधिकार आवश्यक हैं (sudo का उपयोग करें) क्योंकि वे ufw पर काम करते हैं और /etc/imaxe/ में लिखते हैं। मशीन-पठनीय आउटपुट के लिए, जो स्क्रिप्टिंग के लिए उपयुक्त है, status, blocked या rules list में --json जोड़ें।

उपआदेश #

उपआदेशयह क्या करता हैप्रासंगिक फ़्लैग
statusफ़ायरवॉल की स्थिति: सक्रिय अवस्था, डिफ़ॉल्ट नीति, नियमों की संख्या और मैनुअल ब्लॉक।--json
blockedहाथ से ब्लॉक की गई IP/रेंज सूचीबद्ध करता है (fail2ban के बैन शामिल नहीं)।--json
blockकिसी IP या रेंज को हाथ से ब्लॉक करता है, वैकल्पिक कारण और अवधि के साथ।--reason, --ttl
unblockकिसी मैनुअल ब्लॉक को हटाता है। fail2ban के बैन को नहीं छूता।
flushसभी मैनुअल ब्लॉक हटाता है (विनाशकारी)। fail2ban के बैन को नहीं छूता।--yes
rules listपोर्ट नियमों को सूचीबद्ध करता है (अनुमत पोर्ट, स्रोत)।--json
allowकोई पोर्ट खोलता है और उसे कॉन्फ़िग में परिलक्षित करता है।--from, --comment
denyकोई पोर्ट बंद करता है और उसे कॉन्फ़िग में परिलक्षित करता है।--from
reloadufw को पुनः लोड करता है (उसके सक्रिय नियम फिर से लागू करता है)।

rules पोर्ट नियमों के प्रबंधन को समूहित करता है; अभी इसका एकमात्र उपआदेश rules list है।

आर्गुमेंट और फ़्लैग #

आर्गुमेंट / फ़्लैगप्रकारडिफ़ॉल्टविवरण
<ip>[/cidr] आव.stringblock और unblock में जिस IP या CIDR रेंज पर काम करना है (जैसे 203.0.113.10 या 203.0.113.0/24)।
<port>[/proto] आव.stringallow और deny में जिस पोर्ट पर काम करना है (जैसे 443 या 443/tcp)।
--reasonstringblock में: ब्लॉक का कारण (सूचनात्मक)।
--ttldurationस्थायीblock में: ब्लॉक की अवधि (जैसे 24h)। डिफ़ॉल्ट रूप से स्थायी।
--fromcidranyallow/deny में: स्रोत को किसी विशिष्ट CIDR तक सीमित करता है।
--commentstringallow में: नियम के लिए वर्णनात्मक टिप्पणी।
--yesboolfalseflush में: बिना पूछे पुष्टि करता है (विनाशकारी ऑपरेशन)।
--jsonboolfalsestatus/blocked/rules list में: परिणाम को stdout पर JSON के रूप में निकालता है।

फ़ाइलें और पथ #

पथसामग्री
/etc/imaxe/firewall.ymlमॉड्यूल कॉन्फ़िगरेशन: अनुमत पोर्ट जिन्हें allow/deny ufw के साथ समकालिक रखते हैं।

firewall.yml का उदाहरण:

/etc/imaxe/firewall.yml
allow:
  - { port: 22, proto: tcp, comment: "ssh" }
  - { port: 443, proto: tcp, comment: "https" }

निकास कोड और लॉग #

हर बार चलने पर एक कोड लौटाया जाता है जिसे आप echo $? से जाँच सकते हैं — स्क्रिप्ट में श्रृंखलाबद्ध करने के लिए उपयोगी:

0OKऑपरेशन सफलतापूर्वक पूरा हुआ।
1ERRसामान्य अवर्गीकृत त्रुटि। लॉग की जाँच करें।
2USAGEअमान्य या अनुपस्थित आर्गुमेंट।
3NOTFOUNDनिर्दिष्ट IP या नियम मौजूद नहीं है।

डिबग करते समय स्थिति और नियमों को लाइव देखें:

terminal
$ sudo imaxe firewall status
$ sudo imaxe firewall rules list

समस्या निवारण #

लक्षणसंभावित कारणसमाधान
अनब्लॉक करते समय आपको NOTFOUND (कोड 3) मिलता हैIP आपके सेट किए ब्लॉक से ठीक मेल नहीं खाती (उदाहरण के लिए, /cidr छूट गया)।imaxe firewall blocked चलाएँ और unblock के लिए प्रविष्टि हूबहू कॉपी करें।
मैंने एक IP ब्लॉक की पर unblock के बाद भी वह बैन हैब्लॉक fail2ban ने सेट किया था, आपने नहीं।यह मॉड्यूल केवल मैनुअल ब्लॉक हटाता है; स्वचालित बैन fail2ban अलग से संभालता है।
मैंने पोर्ट खोला पर कोई ट्रैफ़िक नहीं आतानियम ufw में है पर कोई बाहरी फ़ायरवॉल (सुरक्षा समूह) अभी बंद है।imaxe firewall rules list से जाँचें और अपने क्लाउड प्रदाता में भी पोर्ट खोलें।
नियम बदलने के बाद मैंने SSH पहुँच खो दीपोर्ट 22 बंद या सीमित कर दिया गया था।प्रदाता के कंसोल से पहुँचें और imaxe firewall allow 22/tcp से 22/tcp फिर अनुमत करें।

Firewall मॉड्यूल में अटक गए?

हमें «imaxe <module> status --json» का आउटपुट भेजें और हम आपको जल्दी जवाब देंगे।

सहायता से संपर्क करें