Knowledgebase Profitserver سروس کے ساتھ کام کرنے کے لیے آسان ہدایات
مین Knowledgebase لینکس پر فائر وال کو ترتیب دینا

لینکس پر فائر وال کو ترتیب دینا


لینکس پر فائر وال کمپیوٹر سسٹم کو محفوظ بنانے میں اہم کردار ادا کرتا ہے۔ یہ ایک رکاوٹ کے طور پر کام کرتا ہے، نیٹ ورک ٹریفک کو کنٹرول کرنے اور فلٹر کرنے کے لیے سسٹم کو غیر مجاز رسائی، حملوں اور دیگر خطرات سے بچاتا ہے۔ مناسب طریقے سے تشکیل شدہ فائر وال کے بغیر، سرور مختلف قسم کے سائبر حملوں کا شکار ہو سکتا ہے، جس کے نتیجے میں ڈیٹا کی حفاظت اور رازداری کے سنگین نتائج نکل سکتے ہیں۔

اس آرٹیکل میں، ہم لینکس فائر وال کو ترتیب دینے کے لیے دو اہم ٹولز دیکھیں گے: firewalld اور iptables۔ ہم ان کی خصوصیات، فعالیت اور فوائد کا تقابلی تجزیہ کریں گے۔ مزید برآں، ہم ان میں سے ہر ایک ٹول کو ترتیب دینے اور استعمال کرنے کے لیے تفصیلی ہدایات فراہم کریں گے، نیز لینکس پلیٹ فارم پر فائر وال کے ساتھ آپ کے سسٹم کو محفوظ بنانے کے لیے بہترین طریقوں پر تبادلہ خیال کریں گے۔ تمام اعمال کا مظاہرہ ایک پر کیا جائے گا۔ مجازی سرور جڑ تک رسائی کے ساتھ

لینکس پر فائر والڈ کو ترتیب دینا

فائر والڈڈ (فائر وال ڈیمون) لینکس آپریٹنگ سسٹم میں فائر وال کو منظم کرنے کا ایک پروگرام ہے۔ یہ فائر وال کے قوانین کو ترتیب دینے، نیٹ ورک ایپلی کیشنز کے کنکشن کی اجازت دینے یا بلاک کرنے کے لیے ایک صارف انٹرفیس فراہم کرتا ہے۔ یہ زیادہ تر سرور کی تقسیم میں ڈیفالٹ کے طور پر پہلے سے انسٹال ہوتا ہے۔ اگر فائر والڈ پہلے سے انسٹال نہیں ہے، تو اسے تقسیم کے سرکاری ذخیروں سے آزادانہ طور پر انسٹال کیا جا سکتا ہے۔

Red Hat سسٹمز (جیسے RHEL، CentOS، Fedora) کے لیے انسٹالیشن کمانڈ کے ساتھ کی جاتی ہے:

yum install firewalld

Debian/Ubuntu کے لیے:

apt-get install firewalld

تنصیب کے بعد، اسے کمانڈ کے ساتھ فوری طور پر شروع اور چالو کیا جا سکتا ہے:

systemctl start firewalld

اگلا، آپ کو سروس کو اسٹارٹ اپ میں شامل کرنے کی ضرورت ہے:

systemctl enable firewalld
لینکس آٹو لوڈ میں فائر والڈ شامل کرنا

اس مقام پر، ہم ufw کو غیر فعال کرنے کی سفارش کرتے ہیں، کیونکہ فائر والڈ یا iptables کے ساتھ اس ٹول کے بیک وقت استعمال کی سفارش نہیں کی جاتی ہے۔ حالت چیک کریں:

systemctl status ufw
ufw linux چیک کر رہا ہے۔

اسے روکنے کے لیے، کمانڈ درج کریں:

systemctl stop ufw

مکمل غیر فعال کرنے کے لیے:

ufw disable

ان کارروائیوں کے بعد، آپ فائر والڈ کو ترتیب دینے کے لیے آگے بڑھ سکتے ہیں۔

سب سے پہلے، ٹرسٹ زونز کی وضاحت کرنا ضروری ہے۔ Firewalld نیٹ ورک انٹرفیس کے لیے اعتماد کی سطح کا تعین کرنے کے لیے زونز کا تصور استعمال کرتا ہے۔ ہر انٹرفیس کو ایک زون تفویض کیا جاتا ہے، اور زون کی بنیاد پر فائر وال کے اصول لاگو ہوتے ہیں۔ تمام دستیاب زونز کی فہرست کمانڈ کے ساتھ کھولی جاتی ہے:

firewall-cmd --get-zones

عام طور پر، 4 اہم زون استعمال کیے جاتے ہیں:

  1. پبلک: یہ زون ان نیٹ ورکس کے لیے ہے جنہیں آپ غیر محفوظ سمجھتے ہیں۔
  2. ذاتی: ہوم نیٹ ورکس یا دیگر قابل اعتماد نیٹ ورک کنکشنز پر لاگو ہوتا ہے۔
  3. اندرونی: اندرونی نیٹ ورکس کے لیے استعمال کیا جاتا ہے، جیسے کہ کسی تنظیم یا کارپوریٹ نیٹ ورک کے اندر؛
  4. DMZ: یہ وہ علاقہ ہے جہاں عام طور پر سرور رکھے جاتے ہیں جو انٹرنیٹ سے قابل رسائی ہونے چاہئیں۔

تاہم، یہ صرف ایک مثال ہے. آپ کمانڈ کا استعمال کرکے اپنا زون شامل کرسکتے ہیں:

firewall-cmd --permanent --new-zone=nameyourzone

شامل کرنے کے بعد، دوبارہ لوڈ کرنے کی ضرورت ہے:

firewall-cmd --reload

ایک زون کو حذف کرنے کے لیے، اسی طرح کا طریقہ استعمال کیا جاتا ہے۔

firewall-cmd --permanent --delete-zone=nameyourzone

زونز کی وضاحت کے بعد، ضروری خدمات اور بندرگاہوں کے لیے ٹریفک کی اجازت دینا ضروری ہے۔ کسی خاص خدمت کی اجازت دینے کے لیے، کمانڈ استعمال کریں:

firewall-cmd --zone=public --add-service=name

کہاں نام خدمت کا نام ہے۔ مثال کے طور پر، Apache کے لیے ٹریفک کی اجازت دینے کے لیے:

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

قابل اجازت بندرگاہوں کی وضاحت کرنے کے لیے، کمانڈ استعمال کریں:

firewall-cmd --zone=public --add-port=number/protocol

مثال کے طور پر، SSH کے لیے معیاری 22 پورٹ اس طرح نظر آئے گا:

firewall-cmd --zone=public --add-port=22/tcp

اس مرحلے پر، اہم قوانین پہلے سے ہی بنائے گئے ہیں. اگلا، اس بات کا تعین کریں کہ ذریعہ، منزل، بندرگاہ، اور دیگر معیارات کی بنیاد پر ٹریفک پر کس طرح کارروائی کی جائے گی۔ ایک اصول شامل کرنے کے لیے (کا استعمال کرتے ہوئے عوامی ایک مثال کے طور پر زون):

firewall-cmd --zone=public rule

مثال کے طور پر، کسی بھی ذریعہ سے پورٹ 80 (HTTP) پر آنے والی ٹریفک کی اجازت دینا:

firewall-cmd --zone=public --add-port=80/tcp --permanent

ایک اصول کو ہٹانے کے لیے:

firewall-cmd --permanent --remove-rule=rule_specification

کہاں حکمرانی اصول کی قسم ہے (مثال کے طور پر، پورٹ، سروس، امیر اصول، وغیرہ)، اور اصول_تفصیل اصول خود کی وضاحت ہے.

فائر والڈ کنفیگریشن میں تبدیلیاں کرنے کے بعد، انہیں محفوظ کرنا اور لاگو کرنا ضروری ہے۔ تبدیلیوں کو بچانے کے لیے، کمانڈ استعمال کریں:

firewall-cmd --runtime-to-permanent

تبدیلیاں لاگو کرنے کے لیے:

firewall-cmd --reload

سیٹ اپ مکمل کرنے پر، آپ تمام قواعد کی فہرست کو کھول کر منتخب کردہ پیرامیٹرز کی تصدیق کر سکتے ہیں:

firewall-cmd --list-all
فائر والڈ لینکس کے قواعد

اگر کوئی مسئلہ پیدا ہوتا ہے تو، کمانڈ کے ساتھ فائر والڈ لاگز کو چیک کریں:

journalctl -u firewalld

نوٹ: ہم نے کنکشن قائم کرنے کے لیے صرف عمومی الگورتھم کا احاطہ کیا ہے۔ ٹول میں وسیع فعالیت ہے۔ تمام دستیاب اختیارات کے بارے میں مکمل معلومات کے لیے، آپ استعمال کر سکتے ہیں۔ سرکاری دستاویزات یا کھلی مدد:

firewall-cmd --help

لینکس پر iptables کو ترتیب دینا

فائر والڈ کے برعکس، iptables ایک پرانا لیکن اب بھی وسیع پیمانے پر استعمال ہونے والا ٹول ہے جو لینکس میں فائر وال کے انتظام کے لیے استعمال ہوتا ہے۔ یہ لینکس کرنل کی سطح پر پیکٹ فلٹرنگ کے قواعد کے لیے زیادہ براہ راست اور لچکدار طریقہ فراہم کرتا ہے۔ تاہم، iptables کو Firewalld کے مقابلے میں زیادہ جدید علم اور تجربے کی ضرورت ہوتی ہے، جس سے یہ ابتدائی افراد کے لیے کم قابل رسائی ہے۔ کمانڈ کے ساتھ ٹول کے پہلے سے انسٹال شدہ ورژن کو چیک کریں:

iptables -V

اگر ٹول انسٹال نہیں ہے تو اسے انسٹال کرنے کی ضرورت ہوگی۔ Ubuntu، Debian پر انسٹالیشن کے لیے کمانڈ:

apt install iptables

ریڈ ہیٹ سسٹمز کے لیے (مثال کے طور پر، CentOS، Fedora):

yum install iptables

تنصیب کے بعد ایکٹیویشن کے لیے کمانڈ:

systemctl start iptables

اسٹارٹ اپ میں شامل کرنے کے لیے، عمل کریں:

systemctl enable iptables

iptables کنفیگریشن شروع کرنے سے پہلے، یہ سمجھنا ضروری ہے کہ یہ کیسے کام کرتا ہے۔ اس میں پروگرام کے نحو سے مدد ملتی ہے۔ یہ اس طرح لگتا ہے:

iptables -t table action chain additional_parameters

آئیے ہر ایک آئٹم کی گہرائی میں تلاش کریں۔

Iptables میں چار اہم میزیں ہیں: فلٹر، نیٹ، مینگل، اور خام. ہر ایک کو مخصوص قسم کے پیکٹوں پر کارروائی کرنے کے لیے ڈیزائن کیا گیا ہے اور اس کے اپنے قوانین کی زنجیریں ہیں:

  1. فلٹر: یہ سب سے زیادہ استعمال ہونے والا ٹیبل ہے، جس میں پیکٹ فلٹرنگ کے اصول ہیں۔ اس کا استعمال پیکٹوں کی اجازت دینے یا انکار کرنے کے فیصلے کرنے کے لیے کیا جاتا ہے۔
  2. نیشنل: یہ جدول پیکٹوں میں نیٹ ورک ایڈریس اور پورٹس کو تبدیل کرنے کے لیے استعمال ہوتا ہے۔ یہ اکثر ماسکریڈنگ (NAT) کو ترتیب دینے کے لیے استعمال ہوتا ہے۔
  3. الجھن: اس جدول میں، آپ پیکٹ ہیڈر میں ترمیم کر سکتے ہیں۔ یہ مخصوص پیکٹ آپریشنز کے لیے استعمال ہوتا ہے، جیسے مارکنگ۔
  4. خام: یہ جدول کنکشن ٹریکنگ سسٹم سے گزرنے سے پہلے لاگو ہونے والے قواعد کو ترتیب دینے کے لیے استعمال ہوتا ہے۔ یہ عام طور پر ایسے قوانین ترتیب دینے کے لیے استعمال ہوتا ہے جن میں ٹریکنگ سسٹم کے ذریعے ترمیم نہیں کی جانی چاہیے، جیسے کہ مخصوص پتوں سے پیکٹ چھوڑنا۔

ہر میز میں زنجیروں کا ایک سیٹ ہوتا ہے۔ زنجیریں قواعد کی ایک ترتیب ہیں جو ترتیب وار جانچی جاتی ہیں۔ تین پہلے سے طے شدہ زنجیریں ہیں:

  1. INPUT (آنے والا). اس سلسلہ میں قواعد طے کرتے ہیں کہ آنے والے پیکٹوں کے ساتھ کیا کرنا ہے۔
  2. آؤٹ پٹ (آؤٹ گوئنگ). یہ سلسلہ ان تمام پیکٹوں پر لاگو ہوتا ہے جو آپ کا کمپیوٹر نیٹ ورک پر موجود دیگر آلات یا کمپیوٹرز کو بھیجتا ہے۔
  3. فارورڈ (فارورڈنگ). اس سلسلہ میں قواعد بتاتے ہیں کہ آگے بھیجے گئے پیکٹوں کے ساتھ کیا کرنا ہے۔

آخر میں، ہر سلسلہ کچھ عمل (ٹارگٹ) رکھتا ہے۔ عملی طور پر، 5 اہم اعمال استعمال کیے جاتے ہیں:

  1. ACCEPT: پیکٹ کو فائر وال سے گزرنے دیں۔
  2. ڈراپ: پیکٹ کو رد کر دیں اور بغیر کسی جواب کے اسے ضائع کر دیں۔
  3. مسترد کریں: پیکٹ کو مسترد کریں اور بھیجنے والے کو ICMP غلطی کا پیغام بھیجیں۔
  4. لاگ ان: سسٹم لاگ میں پیکٹ کو لاگ کریں اور کوئی اور عمل انجام دیں (مثلاً قبول کریں یا ڈراپ کریں)۔
  5. واپسی: موجودہ سلسلہ میں قواعد کی جانچ کرنا بند کریں اور کالنگ چین پر واپس جائیں (اگر قابل اطلاق ہو)۔

سیٹ اپ شروع کرنے کے لیے، کمانڈ کے ساتھ موجودہ قوانین کی فہرست کھولیں:

iptables -L
لینکس پر فائر وال کو ترتیب دینا

Iptables کو ترتیب دینے کے لیے ایک رہنما کے طور پر، آئیے سب سے زیادہ استعمال ہونے والی کمانڈز کی عملی مثالوں کو دیکھتے ہیں۔ سہولت کے لیے، ہم مخصوص سلسلہ کے لحاظ سے مثالوں کو 3 گروپوں میں تقسیم کریں گے۔

سلسلہ INPUT:

  1. پورٹ 80 پر TCP پروٹوکول کے ذریعے آنے والی ٹریفک کی اجازت دیں:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

2. پورٹ 22 پر UDP پروٹوکول کے ذریعے آنے والی ٹریفک کی اجازت دیں:

iptables -A INPUT -p udp --dport 22 -j ACCEPT

3. مخصوص IP ایڈریس سے آنے والی ٹریفک کو روکیں:

iptables -A INPUT -s 192.168.1.100 -j DROP

سلسلہ پیداوار:

  1. پورٹ 443 پر TCP پروٹوکول کے ذریعے باہر جانے والی ٹریفک کی اجازت دیں:
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT

2. پورٹ 80 پر UDP پروٹوکول کے ذریعے باہر جانے والی ٹریفک کی اجازت دیں:

iptables -A OUTPUT -p udp --dport 80 -j ACCEPT

3. کسی مخصوص بندرگاہ پر جانے والی ٹریفک کو روکیں (مثال کے طور پر، 21):

iptables -A OUTPUT -p tcp --dport 21 -j DROP

سلسلہ آگے:

  1. IP پتوں کی مخصوص رینج سے فارورڈ کردہ ٹریفک کو مسدود کریں:
iptables -A FORWARD -s 172.16.0.0/24 -j DROP

2. مخصوص نیٹ ورک انٹرفیس سے پیکٹ کی فارورڈنگ کو روکیں:

iptables -A FORWARD -i eth1 -j DROP

3. ایک مخصوص پورٹ کے لیے بیک وقت کنکشنز کی تعداد کو محدود کریں (اس مثال میں، پورٹ 10 پر 80 کنکشن فی منٹ):

iptables -A INPUT -p tcp --dport 80 -m limit --limit 10/minute -j ACCEPT

جیسا کہ آپ دیکھ سکتے ہیں، ہر الگ کیس میں، ایک اضافی دلیل (کمانڈ) استعمال کی جاتی ہے۔ ممکنہ دلائل کی مکمل فہرست اور ٹول کی فعالیت کے لیے مجموعی تعاون حاصل کرنے کے لیے درج کریں:

iptables -h
iptables لینکس سیٹ اپ کمانڈ لسٹ

یہ یقینی بنانے کے لیے کہ ترتیبات درست ہیں، قواعد کی فہرست دیکھنے کے لیے کمانڈ دوبارہ درج کریں:

iptables -L
iptables لینکس کے قواعد کی جانچ کر رہا ہے۔

ایک مخصوص اصول کو حذف کرنے کے لیے، کمانڈ استعمال کریں:

iptables -D chain rule_number

مثال کے طور پر، اگر آپ INPUT چین سے اصول نمبر 1 کو حذف کرنا چاہتے ہیں، تو کمانڈ اس طرح نظر آئے گی:

iptables -D INPUT 1

ایک حکم کے ساتھ تمام قواعد کو حذف کرنے کے لیے:

iptables -F

اہم نوٹ: سسٹم یا سروس کو ریبوٹ کرنے کے بعد iptables کے اصول خود بخود محفوظ نہیں ہوتے ہیں۔ قواعد کو محفوظ کرنے کے لیے، انہیں کنفیگریشن فائل میں شامل کرنے اور ریبوٹ کے بعد بحال کرنے کی ضرورت ہے۔ دی iptables-محفوظ کریں۔ اور iptables-بحالی افادیت اس کے ساتھ مدد کر سکتے ہیں. قواعد کو بچانے کے لیے، کمانڈ درج کریں:

iptables-save > /etc/iptables/rules.v4

یہ موجودہ iptables قواعد کو rules.v4 فائل میں محفوظ کرتا ہے۔ ریبوٹ کے بعد بحال کرنے کے لیے درج کریں:

iptables-restore < /etc/iptables/rules.v4

یہ کمانڈ قواعد و ضوابط کو 4 فائل سے بحال کرتی ہے۔

نتیجہ

فائر والڈ یا iptables کا استعمال کرتے ہوئے لینکس پر فائر وال کو ترتیب دینا سرور کی حفاظت کو یقینی بنانے کا ایک اہم پہلو ہے۔ دونوں ٹولز نیٹ ورک ٹریفک کو منظم کرنے اور سسٹم کو غیر مجاز رسائی اور سائبر حملوں سے بچانے کے قابل اعتماد ذرائع پیش کرتے ہیں۔ فائر والڈ اور iptables کے درمیان انتخاب کا انحصار صارف کی مخصوص ضروریات اور ترجیحات پر ہوتا ہے، ان کی مختلف فعالیت اور طاقت کو مدنظر رکھتے ہوئے۔

❮ پچھلا مضمون سرور لوڈ کی تشخیص
اگلا مضمون ❯ لینکس صارفین: انتظام اور اجازت

ہم سے VPS کے بارے میں پوچھیں۔

ہم دن یا رات کے کسی بھی وقت آپ کے سوالات کا جواب دینے کے لیے ہمیشہ تیار ہیں۔