Iptables لینکس آپریٹنگ سسٹم کے لئے بنایا گیا ایک انتہائی لچکدار فائر وال افادیت ہے۔ چاہے آپ نوسکھئیے لینکس کے گیک ہوں یا سسٹم ایڈمنسٹریٹر ، ممکن ہے کہ کچھ ایسا طریقہ ہو جس سے آپ iptables آپ کے لئے بہت فائدہ مند ہوسکتے ہیں۔ پڑھیں جیسے ہی ہم آپ کو دکھاتے ہیں کہ کس طرح انتہائی ورسٹائل لینکس فائر وال کو ترتیب دیں۔
iptables کے بارے میں
آئی پی ٹیبلس ایک کمانڈ لائن فائر وال کی افادیت ہے جو ٹریفک کی اجازت یا روکنے کے لئے پالیسی زنجیروں کا استعمال کرتی ہے۔ جب کوئی کنیکشن آپ کے سسٹم پر خود کو قائم کرنے کی کوشش کرتا ہے تو ، iptables اس سے ملنے کے ل its اس فہرست میں قاعدہ ڈھونڈتا ہے۔ اگر اسے کوئی نہیں ملتا ہے تو ، یہ پہلے سے طے شدہ کارروائی کا سہارا لیتے ہیں۔
iptables تقریبا ہمیشہ کسی بھی لینکس کی تقسیم پر پہلے سے نصب ہوتا ہے. اسے اپ ڈیٹ / انسٹال کرنے کے لئے ، صرف iptables پیکیج کو بازیافت کریں:
sudo - get iptables انسٹال کریں
iptables جیسے جی یو آئی متبادلات ہیں آتش زن ، لیکن iptables واقعی اتنا مشکل نہیں ہے جب آپ کے پاس کچھ کمانڈز ختم ہوجائیں۔ آپ iptables کے قواعد کو ترتیب دیتے وقت انتہائی محتاط رہنا چاہتے ہیں ، خاص طور پر اگر آپ کسی سرور میں SSH ہوجاتے ہیں ، کیونکہ ایک غلط کمانڈ آپ کو مستقل طور پر لاک آؤٹ کرسکتا ہے جب تک کہ یہ جسمانی مشین پر دستی طور پر طے نہ ہوجائے۔
زنجیروں کی اقسام
iptables تین مختلف زنجیروں کا استعمال کرتا ہے: ان پٹ ، فارورڈ ، اور آؤٹ پٹ۔
ان پٹ - یہ سلسلہ آنے والے رابطوں کے رویے کو کنٹرول کرنے کے لئے استعمال ہوتا ہے۔ مثال کے طور پر ، اگر کوئی صارف آپ کے پی سی / سرور میں ایس ایس ایچ کرنے کی کوشش کرتا ہے تو iptables آئی پی ایڈریس اور پورٹ کو ان پٹ چین میں کسی اصول سے ملانے کی کوشش کرے گا۔
آگے - یہ سلسلہ ان آنے والے رابطوں کے لئے استعمال کیا جاتا ہے جو اصل میں مقامی طور پر نہیں پہنچائے جاتے ہیں۔ روٹر کے بارے میں سوچو - اس پر ہمیشہ ڈیٹا بھیجا جاتا ہے لیکن شاذ و نادر ہی اس کا خود ہی راؤٹر ہی مقصود ہوتا ہے۔ اعداد و شمار کو ابھی اپنے ہدف پر بھیج دیا گیا ہے۔ جب تک آپ اپنے سسٹم پر کسی قسم کی روٹنگ ، نیٹنگ ، یا کوئی اور کام نہیں کرتے ہیں جس کے لئے آگے بڑھنے کی ضرورت ہوتی ہے ، آپ اس زنجیر کو استعمال نہیں کریں گے۔
آگ لگانے کا ایک یقینی راستہ موجود ہے کہ آیا آپ کا سسٹم فارورڈ چین کا استعمال / ضرورت ہے یا نہیں۔
iptables -L -v
مذکورہ اسکرین شاٹ ایک سرور کا ہے جو چند ہفتوں سے چل رہا ہے اور آنے اور جانے والے رابطوں پر کوئی پابندی نہیں ہے۔ جیسا کہ آپ دیکھ سکتے ہیں ، ان پٹ چین نے 11 جیبی پیکٹوں پر کارروائی کی ہے اور آؤٹ پٹ چین نے 17 جی بی پر کارروائی کی ہے۔ دوسری طرف ، فارورڈ چین کو کسی ایک پیکٹ پر کارروائی کرنے کی ضرورت نہیں ہے۔ اس کی وجہ یہ ہے کہ سرور کسی بھی قسم کی فارورڈنگ نہیں کر رہا ہے یا پاس-ٹرو آلہ کے بطور استعمال نہیں ہورہا ہے۔
آؤٹ پٹ - یہ سلسلہ سبکدوش ہونے والے رابطوں کے لئے استعمال ہوتا ہے۔ مثال کے طور پر ، اگر آپ howtogeek.com کو پنگ کرنے کی کوشش کرتے ہیں تو ، آئی پی ٹیبلس اس کی آؤٹ پٹ چین کی جانچ پڑتال کرے گی تاکہ یہ معلوم ہو سکے کہ کنکشن کی کوشش کو اجازت دینے یا انکار کرنے کا فیصلہ کرنے سے قبل پنگ اور ہوٹوجیک ڈاٹ کام کے بارے میں کیا قواعد ہیں۔
انتباہ
اگرچہ بیرونی میزبان کو پنگ دینا کچھ ایسا ہی لگتا ہے جس کے لئے صرف آؤٹ پٹ چین کو عبور کرنے کی ضرورت ہوگی ، اس بات کو ذہن میں رکھیں کہ اعداد و شمار کو واپس کرنے کے لئے ، ان پٹ چین بھی استعمال کیا جائے گا۔ جب آپ اپنے سسٹم کو لاک اپ کرنے کے لip ایپل ٹیبلس کا استعمال کرتے ہو تو ، یاد رکھیں کہ بہت سارے پروٹوکول کو دو طرفہ مواصلات کی ضرورت ہوگی ، لہذا ان پٹ اور آؤٹ پٹ دونوں چینوں کو مناسب طریقے سے تشکیل دینے کی ضرورت ہوگی۔ ایس ایس ایچ ایک عام پروٹوکول ہے جسے لوگ دونوں زنجیروں پر جانے کی اجازت دیتے ہیں۔
پالیسی سلسلہ ڈیفالٹ سلوک
مخصوص قوانین میں جانے اور تشکیل کرنے سے پہلے ، آپ یہ فیصلہ کرنا چاہتے ہیں کہ آپ تینوں زنجیروں کا پہلے سے طے شدہ رویہ کیا ہونا چاہتے ہیں۔ دوسرے لفظوں میں ، اگر کنکشن موجودہ اصولوں سے میل نہیں کھاتا ہے تو آپ iptables کیا کرنا چاہتے ہیں؟
آپ کی پالیسی زنجیروں کو یہ نہیں دیکھنے کے لئے کہ مماثل ٹریفک کے ساتھ کیا کام کرنے کیلئے فی الحال تشکیل دیا گیا ہے ، چلائیں
iptables -L
کمانڈ.
جیسا کہ آپ دیکھ سکتے ہیں ، ہم نے ہمیں کلینر آؤٹ پٹ دینے کے لئے گریپ کمانڈ کا بھی استعمال کیا۔ اس اسکرین شاٹ میں ، ہماری زنجیریں فی الحال ٹریفک کو قبول کرنے کے لئے بنی ہیں۔
اس سے کہیں زیادہ بار ، آپ چاہتے ہیں کہ آپ کا نظام پہلے سے طے شدہ طور پر کنیکشن قبول کرے۔ جب تک آپ نے پالیسی چین کے قواعد کو پہلے تبدیل نہیں کیا ہے ، اس ترتیب کو پہلے ہی تشکیل دے دیا جانا چاہئے۔ کسی بھی طرح سے ، بطور ڈیفالٹ روابط قبول کرنے کا حکم یہاں موجود ہے:
iptables - پولیسی ان پٹ ACCEPT
iptables - پولیس آؤٹ پٹ ACCEPT
iptables - پولیسی فارورڈ ACCEPT
قبول قاعدہ کو ڈیفالٹ کرکے ، آپ دوسرے تمام رابطوں کو قبول کرتے ہوئے ، مخصوص IP پتوں یا بندرگاہ نمبروں سے انکار کرنے کے لئے iptables کا استعمال کرسکتے ہیں۔ ہم ایک منٹ میں ان کمانڈوں پر پہنچ جائیں گے۔
اگر آپ اس کے بجائے تمام رابطوں سے انکار کرتے ہیں اور دستی طور پر یہ بتاتے ہیں کہ آپ کن کن لوگوں کو رابطہ قائم کرنے کی اجازت دینا چاہتے ہیں تو آپ کو اپنی زنجیروں کی ڈیفالٹ پالیسی کو گرنے کے ل change تبدیل کرنا چاہئے۔ ایسا کرنا شاید صرف ان سرورز کے لئے کارآمد ہوگا جن میں حساس معلومات ہوں اور صرف ایک ہی IP پتے ان سے جڑے ہوں۔
iptables - پولیس ان پٹ ڈراپ
iptables - پولیس آؤٹ پٹ ڈراپ
iptables - پولیس فارورڈ ڈراپ
رابطے سے متعلق جوابات
آپ کی ڈیفالٹ چین پالیسیوں کی تشکیل کے ساتھ ، آپ iptables میں قواعد شامل کرنا شروع کرسکتے ہیں لہذا جب آپ کو کسی خاص IP پتے یا بندرگاہ سے یا اس سے رابطہ ملتا ہے تو اسے کیا کرنا پتا ہے۔ اس ہدایت نامہ میں ، ہم تین سب سے بنیادی اور عام طور پر استعمال شدہ "ردعمل" کو دیکھیں گے۔
قبول کریں - کنکشن کی اجازت دیں۔
ڈراپ - کنکشن ڈراپ کریں ، ایسا سلوک کریں جیسے کبھی نہیں ہوا تھا۔ یہ سب سے بہتر ہے اگر آپ نہیں چاہتے کہ ذریعہ اپنے سسٹم کے وجود کو محسوس کرے۔
مسترد کریں - کنکشن کی اجازت نہ دیں ، لیکن خرابی واپس بھیجیں۔ یہ بہتر ہے اگر آپ کسی خاص ذریعہ کو اپنے سسٹم سے مربوط نہیں کرنا چاہتے ہیں ، لیکن آپ چاہتے ہیں کہ ان کو معلوم ہو کہ آپ کے فائر وال نے انہیں مسدود کردیا ہے۔
ان تینوں قواعد کے مابین فرق ظاہر کرنے کا سب سے بہتر طریقہ یہ ہے کہ یہ ظاہر ہوتا ہے کہ جب پی سی ان ترتیبوں میں سے ہر ایک کے لئے تشکیل شدہ iptables کے ساتھ لینکس مشین کو پنگ کرنے کی کوشش کرتا ہے۔
کنکشن کی اجازت:
کنکشن چھوڑنا:
کنکشن کو مسترد کرنا:
مخصوص رابطوں کو اجازت دینا یا مسدود کرنا
اپنی پالیسی زنجیروں کی تشکیل کے ساتھ ، اب آپ مخصوص پتے ، پتے کی حدود ، اور بندرگاہوں کو اجازت دینے یا مسدود کرنے کے لip آئی پی ٹیبلس کو تشکیل دے سکتے ہیں۔ ان مثالوں میں ، ہم کنکشن متعین کریں گے
ڈراپ
، لیکن آپ انہیں تبدیل کر سکتے ہیں
ACCEPT
یا
مسترد کریں
، آپ کی ضروریات اور کس طرح آپ نے اپنی پالیسی زنجیروں کو تشکیل دیا اس پر منحصر ہے۔
نوٹ: ان مثالوں میں ، ہم استعمال کرنے جارہے ہیں
iptables -A
موجودہ سلسلہ میں قواعد شامل کرنے کے لئے۔ آئی پی ٹیبلس اپنی فہرست کے اوپری حصے سے شروع ہوتا ہے اور ہر قاعدے سے گزرتا ہے جب تک کہ اسے ملنے والا کوئی پتہ نہ لگے۔ اگر آپ کو کسی دوسرے کے اوپر قاعدہ داخل کرنے کی ضرورت ہو تو ، آپ استعمال کرسکتے ہیں
iptables -I [chain] [number]
اس فہرست میں ہونا چاہئے نمبر کی وضاحت کرنے کے لئے.
ایک ہی IP پتے سے رابطے
اس مثال سے پتہ چلتا ہے کہ کس طرح IP پتے 10.10.10.10 سے تمام کنکشن کو مسدود کرنا ہے۔
iptables -A INPUT -s 10.10.10.10 -j DROP
IP پتے کی ایک حد سے رابطے
اس مثال سے پتہ چلتا ہے کہ 10.10.10.0/24 نیٹ ورک کی حد میں IP کے تمام IP پتوں کو کیسے مسدود کرنا ہے۔ آپ IP پتے کی حد متعین کرنے کے لئے نیٹ ماسک یا معیاری سلیش نوٹیشن استعمال کرسکتے ہیں۔
iptables -A INPUT -s 10.10.10.0/24 -j DROP
یا
iptables -A INPUT -s 10.10.10.0/255.255.255.0 -j DROP
ایک مخصوص بندرگاہ سے رابطے
اس مثال سے پتہ چلتا ہے کہ کس طرح 10.10.10.10 سے ایس ایس ایچ کنیکشن کو روکنا ہے۔
iptables -A INPUT -p tcp --dport ssh -s 10.10.10.10 -j DROP
آپ کسی بھی پروٹوکول یا پورٹ نمبر کے ساتھ "ssh" کو تبدیل کرسکتے ہیں۔
-p ٹی سی پی
کوڈ کا ایک حصہ آئی پی ٹیبلز کو بتاتا ہے کہ پروٹوکول کس طرح کا کنکشن استعمال کرتا ہے۔ اگر آپ کوئی پروٹوکول مسدود کررہے ہیں جو TCP کے بجائے UDP استعمال کرتا ہے
-p udp
بجائے اس کی ضرورت ہوگی۔
اس مثال سے پتہ چلتا ہے کہ کس طرح کسی بھی IP پتے سے ایس ایس ایچ کنیکشن کو روکنا ہے۔
iptables -A INPUT -p tcp --dport ssh -j DROP
کنکشن اسٹیٹس
جیسا کہ ہم نے پہلے بتایا ہے ، بہت سارے پروٹوکول کو دو طرفہ مواصلات کی ضرورت ہوگی۔ مثال کے طور پر ، اگر آپ اپنے سسٹم میں ایس ایس ایچ کنیکشن کی اجازت دینا چاہتے ہیں تو ، ان پٹ اور آؤٹ پٹ چینز کو ان میں شامل کیے جانے والے قاعدے کی ضرورت ہوگی۔ لیکن ، کیا ہوگا اگر آپ صرف یہ چاہتے ہیں کہ آپ کے سسٹم میں ایس ایس ایچ آنے کی اجازت دی جائے؟ کیا آؤٹ پٹ چین میں کوئی قاعدہ شامل نہیں کرنا ایس ایس ایچ کی سبکدوش ہونے کی کوششوں کی اجازت دیتا ہے؟
اسی مقام پر رابطے کی ریاستیں آتی ہیں ، جو آپ کو یہ صلاحیت دیتی ہیں کہ آپ کو دو طرفہ مواصلات کی اجازت دینے کی ضرورت ہوگی لیکن صرف ایک راستہ کنکشن قائم ہونے کی اجازت ہوگی۔ اس مثال پر ایک نظر ڈالیں ، جہاں 10.10.10.10 سے ایس ایس ایچ کنیکشن کی اجازت ہے ، لیکن ایس ایس ایچ کنیکشن سے 10.10.10.10 نہیں ہیں۔ تاہم ، اس نظام کو اجازت ہے کہ جب تک سیشن پہلے ہی قائم ہوچکا ہو ، اس وقت تک SSH کے بارے میں معلومات بھیجیں ، جو ان دونوں میزبانوں کے مابین ایس ایس ایچ مواصلات کو ممکن بناتا ہے۔
iptables -A INPUT -p tcp --dport ssh -s 10.10.10.10 -m state --state New، ESTABLISHED -j ACCEPT
آئی پی ٹیبلز - اے آؤٹ پٹ-پی ٹی سی پی - اسپورٹ 22 -d 10.10.10.10 -m ریاست - اسٹیٹ اسٹیبلٹ -ج ACCEPT
تبدیلیاں بچت
تبدیلیاں جو آپ اپنے iptables کے قواعد میں لیتے ہیں اگلی بار iptables سروس دوبارہ شروع ہوجائے گی جب تک کہ آپ تبدیلیوں کو بچانے کے لئے کمانڈ پر عملدرآمد نہ کریں۔ آپ کی تقسیم کے لحاظ سے یہ حکم مختلف ہوسکتا ہے:
اوبنٹو:
sudo / sbin / iptables-save
ریڈ ہیٹ / سینٹوس:
/ sbin / سروس iptables کو بچانے کے
یا
/etc/init.d/iptables محفوظ کریں
دیگر احکامات
اس وقت تشکیل شدہ iptables کے قواعد کی فہرست بنائیں:
iptables -L
شامل کرنا
-پر
آپشن آپ کو پیکٹ اور بائٹ کی معلومات ، اور شامل کرنے میں مدد دے گا
-n
عددی طور پر ہر چیز کی فہرست بنائے گا۔ دوسرے الفاظ میں - میزبان نام ، پروٹوکول ، اور نیٹ ورک نمبر کے طور پر درج ہیں۔
فی الحال تشکیل شدہ تمام قواعد کو صاف کرنے کے ل you ، آپ فلش کمانڈ جاری کرسکتے ہیں۔
iptables -F