یہ ماڈیول کیا کرتا ہے #
فائر وال سرور کا سامنے کا دروازہ ہے: یہ فیصلہ کرتا ہے کہ کون سے کنکشن اندر آئیں اور کون سے مسترد ہوں۔ ان مشینوں پر یہ کام ufw (اوبنٹو کا فائر وال) کرتا ہے، اور firewall ماڈیول آپ کو ufw کا نحو یاد کیے بغیر اسے چلانے کے لیے ایک آسان کنٹرول دیتا ہے۔
اس کے ساتھ آپ ایک نظر میں فائر وال کی حالت دیکھ سکتے ہیں (فعال حالت، طے شدہ پالیسی اور قواعد)، کسی ایسی IP یا رینج کو جو آپ کو پریشان کر رہی ہو دستی طور پر بلاک کر سکتے ہیں، جب اس کی ضرورت نہ رہے تو اس بلاک کو چھوڑ سکتے ہیں، اور کنفیگریشن کو ufw کے نافذ کردہ کے ساتھ ہم آہنگ رکھتے ہوئے پورٹس کھول یا بند کر سکتے ہیں۔
گھسنے کی کوششوں (SSH بروٹ فورس، وغیرہ) کے لیے خودکار پابندیاں fail2ban خود سنبھالتا ہے۔ یہ ماڈیول آپ کے دستی بلاکس کے ساتھ کام کرتا ہے: block، unblock اور flush صرف اسی کو چھوتے ہیں جو آپ ہاتھ سے شامل کرتے ہیں اور کبھی fail2ban کی پابندیوں میں مداخلت نہیں کرتے۔
عام کام #
جو آپ کرنا چاہتے ہیں اسے منتخب کریں۔ ہر ترکیب کمانڈ پہلے سے لکھی ہوئی لاتی ہے — بس IP یا پورٹ اپنے سے بدلیں اور کاپی کریں دبائیں۔
1
فائر وال کی حالت دیکھیں
جانچیں کہ آیا یہ فعال ہے، اس کی طے شدہ پالیسی اور اس کے کتنے قواعد ہیں۔
اپنے سرور سے SSH کے ذریعے جڑیں اور خلاصہ مانگیں:
$ sudo imaxe firewall statusکسی اسکرپٹ کے لیے درکار ہے؟ --json شامل کریں اور آپ کو وہی معلومات مشین کے پڑھنے کے قابل شکل میں ملیں گی:
$ sudo imaxe firewall status --json2
بدسلوک IP بلاک کریں
کسی ایسی IP یا رینج کی رسائی کاٹ دیں جو آپ کو تنگ کر رہی ہو۔
کسی مخصوص IP کو بلاک کریں، وجہ نوٹ کرتے ہوئے تاکہ آپ اسے بعد میں یاد رکھ سکیں:
$ sudo imaxe firewall block 203.0.113.10 --reason "abuso"صرف عارضی بلاک چاہتے ہیں؟ اسے --ttl کے ساتھ ایک مدت دیں اور یہ خود ہٹ جائے گا۔ آپ CIDR نوٹیشن میں پوری رینج بھی بلاک کر سکتے ہیں:
$ sudo imaxe firewall block 203.0.113.10 --reason "abuso" --ttl 24h
$ sudo imaxe firewall block 203.0.113.0/24 --reason "escaneo"--ttl طے کیا ہو، تو وقت پورا ہونے پر بلاک خود ختم ہو جاتا ہے۔3
دیکھیں میں نے کون سی IPs بلاک کی ہیں
اپنے فعال دستی بلاکس کی فہرست کا جائزہ لیں۔
اُن IPs اور رینجز کی فہرست بنائیں جو آپ نے ہاتھ سے بلاک کی ہیں (یاد رکھیں: fail2ban کی پابندیاں یہاں ظاہر نہیں ہوتیں):
$ sudo imaxe firewall blocked4
IP اَن بلاک کریں
کسی دستی بلاک کو چھوڑ دیں جس کی اب ضرورت نہیں۔
وہ عین IP یا رینج چھوڑیں جو آپ نے بلاک کی تھی (بالکل ویسے جیسے وہ blocked میں ظاہر ہوتی ہے):
$ sudo imaxe firewall unblock 203.0.113.105
پورٹ کھولیں یا بند کریں
کسی نئی سروس کو گزرنے دیں یا کوئی ایسی بند کریں جو آپ اب پیش نہیں کرتے۔
ایک پورٹ کھولیں (ایک تبصرے کے ساتھ تاکہ آپ کو معلوم ہو کہ یہ کس لیے ہے)۔ آپ --from کے ساتھ محدود کر سکتے ہیں کہ کون اندر آئے:
$ sudo imaxe firewall allow 443/tcp --comment "https"
$ sudo imaxe firewall allow 5432/tcp --from 203.0.113.0/24 --comment "postgres interno"کوئی پورٹ بند کریں جو آپ اب استعمال نہیں کرتے:
$ sudo imaxe firewall deny 8080/tcpfirewall.yml میں جھلکتا ہے۔ اسے imaxe firewall rules list کے ساتھ جانچیں۔پورٹ 22 (SSH) بند نہ کریں اگر آپ SSH کے ذریعے جڑے ہوئے ہیں: آپ سرور تک رسائی کھو دیں گے۔ ماڈیول اسی خوف سے بچنے کے لیے 22/tcp کو طے شدہ طور پر اجازت یافتہ رکھتا ہے۔ اور یاد رکھیں کہ flush آپ کے تمام دستی بلاکس کو ایک ساتھ حذف کر دیتا ہے۔
نحو #
imaxe firewall <subcomando> [<ip>|<puerto>] [flags]تمام ذیلی کمانڈز کو root کے مراعات درکار ہیں (sudo استعمال کریں) کیونکہ وہ ufw پر کام کرتی ہیں اور /etc/imaxe/ میں لکھتی ہیں۔ مشین کے پڑھنے کے قابل آؤٹ پٹ حاصل کرنے کے لیے، جو scripting کے لیے موزوں ہو، status، blocked یا rules list میں --json شامل کریں۔
ذیلی کمانڈز #
| ذیلی کمانڈ | یہ کیا کرتا ہے | متعلقہ فلیگز |
|---|---|---|
| status | فائر وال کی حالت: فعال حالت، طے شدہ پالیسی، قواعد کی تعداد اور دستی بلاکس۔ | --json |
| blocked | دستی طور پر بلاک شدہ IPs/رینجز کی فہرست بناتا ہے (fail2ban کی پابندیاں شامل نہیں)۔ | --json |
| block | کسی IP یا رینج کو دستی طور پر بلاک کرتا ہے، اختیاری وجہ اور مدت کے ساتھ۔ | --reason, --ttl |
| unblock | کسی دستی بلاک کو چھوڑتا ہے۔ fail2ban کی پابندیوں کو نہیں چھوتا۔ | — |
| flush | تمام دستی بلاکس حذف کرتا ہے (تباہ کن)۔ fail2ban کی پابندیوں کو نہیں چھوتا۔ | --yes |
| rules list | پورٹ قواعد کی فہرست بناتا ہے (اجازت یافتہ پورٹس، ماخذ)۔ | --json |
| allow | کوئی پورٹ کھولتا ہے اور اسے کنفیگ میں جھلکاتا ہے۔ | --from, --comment |
| deny | کوئی پورٹ بند کرتا ہے اور اسے کنفیگ میں جھلکاتا ہے۔ | --from |
| reload | ufw کو دوبارہ لوڈ کرتا ہے (اس کے فعال قواعد دوبارہ نافذ کرتا ہے)۔ | — |
rules پورٹ قواعد کے انتظام کو جمع کرتا ہے؛ ابھی کے لیے اس کی واحد ذیلی کمانڈ rules list ہے۔
آرگیومنٹس اور فلیگز #
| آرگیومنٹ / فلیگ | قسم | طے شدہ | تفصیل |
|---|---|---|---|
| <ip>[/cidr] req. | string | — | block اور unblock میں کام کرنے کے لیے IP یا CIDR رینج (مثلاً 203.0.113.10 یا 203.0.113.0/24)۔ |
| <port>[/proto] req. | string | — | allow اور deny میں کام کرنے کے لیے پورٹ (مثلاً 443 یا 443/tcp)۔ |
| --reason | string | — | block میں: بلاک کی وجہ (معلوماتی)۔ |
| --ttl | duration | permanent | block میں: بلاک کی مدت (مثلاً 24h)۔ طے شدہ طور پر مستقل۔ |
| --from | cidr | any | allow/deny میں: ماخذ کو کسی مخصوص CIDR تک محدود کرتا ہے۔ |
| --comment | string | — | allow میں: قاعدے کے لیے وضاحتی تبصرہ۔ |
| --yes | bool | false | flush میں: پوچھے بغیر تصدیق کرتا ہے (تباہ کن عمل)۔ |
| --json | bool | false | status/blocked/rules list میں: نتیجہ stdout پر JSON کے طور پر جاری کرتا ہے۔ |
فائلیں اور راستے #
| راستہ | مواد |
|---|---|
| /etc/imaxe/firewall.yml | ماڈیول کی کنفیگریشن: اجازت یافتہ پورٹس جنہیں allow/deny ufw کے ساتھ ہم آہنگ رکھتے ہیں۔ |
firewall.yml کی مثال:
allow:
- { port: 22, proto: tcp, comment: "ssh" }
- { port: 443, proto: tcp, comment: "https" }ایگزٹ کوڈز اور لاگز #
ہر عملدرآمد ایک کوڈ لوٹاتا ہے جسے آپ echo $? کے ساتھ جانچ سکتے ہیں — اسکرپٹس میں سلسلہ بنانے کے لیے مفید:
ڈی بگ کرتے وقت حالت اور قواعد کی براہ راست پیروی کریں:
$ 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 کو دوبارہ اجازت دیں۔ |
کیا فائر وال ماڈیول کے ساتھ اٹک گئے ہیں؟
«imaxe <module> status --json» کے آؤٹ پٹ کے ساتھ ہمیں لکھیں اور ہم فوراً جواب دیں گے۔