مقاله Iptables در سیستم و شبکه (docx) 5 صفحه
دسته بندی : تحقیق
نوع فایل : Word (.docx) ( قابل ویرایش و آماده پرینت )
تعداد صفحات: 5 صفحه
قسمتی از متن Word (.docx) :
Iptables در سیستم و شبکه
Iptables عبارت است از مجموعهاي قوانين كه معين مينمايد آيا عبور و مروري از داخل به خارج و يا بالعكس از سيستمي انجام پذيرد يا نه. قوانين در جداول سيستم عامل Linux ثبت و نگهداري ميگردد و ميتوان مجموعه قوانين را بر روي فايلي ذخيره نموده و در حين بالا آمدن سيستم، آنرا اجرا نمود.
Iptables در كرنل 2.4 پشتيباني شده و در كرنل ebtables 2.6 نيز اضافه شده است.
در اين اسلايدها سعي خواهد گرديد كه با ذكر مثال به مفاهيم Iptables پرداخته شود.
اگر يك بسته به خادم برسد ميتوان تصميمات زير را گرفت.
REJECT: بسته را دور انداخت و پيام خطا را به مبدا اعلام نمود.
DENY: بسته را دور انداخت و مبدا اعلام ننمود (سكوت).
ACCEPT: بسته را قبول نموده و فعاليت مورد نظر را انجام داد.
FORWARD: بسته را به جاي ديگر ارسال نمود.
در اين بخش به مقدمات Iptables اشاره خواهد شد و براي بدست آوردن اطلاعات بيشتر به سايت HYPERLINK "http://www.farsilinux.org" www.farsilinux.org و بخش مقالات سومين همايش كاربران لينوكس فارسي مراجعه گردد.مثال 1:
به راهبر سايتي ماموريت داده شده كه ترافيك ورودي از آدرس 100.100.100.1 را كنترل نموده و تمام پاكتهاي دريافتي از اين آدرس را دور بريزد.
راهبر سايت ميداند كه آدرس مبدا (source) چيست و چون به او اعلام نشده كه بعد از دور انداختن بسته چه كند، دو راه حل در پيش دارد.
1ـ بسته را دور ريخته و در پاسخ به مبدا سكوت نكند.
2ـ بسته را دور ريخته و به مبدا پيام خطائي را ارسال نمايد.
روش 1: بسته را دور ريخته و در پاسخ به مبدا سكوت كند.
.
2ـ بسته را دور ريخته و به مبدا پيام خطائي را ارسال نمايد.
سوال: چه كنيم كه پيام پذيرفته شده و مجوز ورود بگيرد؟
با توجه به مثالهاي قبلي مشخص گرديده شد كه در مقابل ورود يك بسته، ميتوان عكسالعملهاي زير را انجام داد.
ACCEPT: مجوز ورود را بگيرد.
DROP: بسته حذف شده بدون آن كه به مبدا اطلاع داده شود.
REJECT: بسته رودي حذف و پيامي از نوع (ICMP) به فرستنده ارسال گردد.
به عكسالعملهاي فوق Action گفته و با استفاده از اختيار j ميتوان در فرمان Iptables استفاده نمود.
سوال: چگونه مثال قبلي را به قوانين Iptables اضافه نمايم؟
با استفاده از APPEND (الحاق نمودن) ميتوان به مجموعه قوانين موجود، قانون زير را اضافه نمود.
Iptables-A INPUT-s100.100.100.1-j DROP
با اجراي فرمان فوق، تمام بستههاي ورودي كه از آدرس 100.100.100.1 به كامپيوتر ما برسد دور ريخته خواهد شد بدون آنكه به فرستنده اطلاع داده شود.
تمرين: تغييراتي در فرمان فوق داده شود كه فرستنده متوجه شود كه گيرنده بستهها را دور ميريزد.
سوال: چه فعاليتي را انجام دهيم كه از شبكه ما، به آدرس 100.100.100.1 پيامي ارسال نشده و حذف گردد؟
Iptables-A OUTPUT -d100.100.100.1-j DROP
با اجراي فرمان فوق، هيچ گونه بستهاي به مقصد نخواهد رسيد.
-d :مخفف destination مي باشد
آيا ميتوان سد راه يك پروتكل (مثلاً telnet) شد؟
بلي: اول بايستي تعيين كنيم چه پورتي (پروتكلي) بايد مسدود گردد و براي چه كساني.
مثال:اين مثال آزمايشي است.
Iptables-I INPUT-s100.100.100.1-p tcp—dport telenet-j DROP
در مثال فوق اجازه داده نميشود كه از آدرس 100.100.100.1 به شبكه ما و از طريق telnet كه پورت آن 23 ميباشد وارد گرديد.
در مثال قبلي استفاده از آدرس مبدا (source code) بيفايده ميباشد و علت آن اين است كه كاربران با پورتهاي متفاوتي به telnet(23) متصل ميگردند.
231140025463500دز مثال قبلي بجاي tcp معادل عددي آن يعني 23 را ميتوان قرار داد.
مثال:
Iptables –I INPUT –s 5.6.7.1 p 23 –j DROP
سوال: آيا ميتوان يك محدوده از آدرسها را بلوكه نمود؟
بلي: بايد مشخص نمود كه چند بيت از IP مربوط به شبكه ميباشد.
مثال:
198120015303500Iptables -s 100.100.100.0/24 –j DROP
در مثال فوق، 24 بيت براي آدرس شبكه در نظر گرفته شده و كليه تجهيزاتي كه آدرس آنها در خانواده 100.100.100.* ميباشند حذف خواهند شد.
سوال : من هم يك كارت شبكه دارم و هم يك مودم. آيا ميتوانم بر روي موم يك فيلتر گذاشته و سدي جلوي راه FTP گردم؟
بلي:
Iptables –A INPUT –p tcp – dport ftp –I ppp0 -j DROP
در مثال فوق –I مخفف interface بوده و اگر فرض نمائيم كه ppp(point To pount protocol) مربوط به مودم ميباشد.(/dev/modem نام مودم ميباشد)تمام وروديهائي كه نياز به سرويس FTP داشته و از PPP0 وارد گردند حذف خواهند شد.
سوال: همان گونه كه ميدانيد براي ارتباط اوليه بايستي syn ارسال گردد. چه فعاليتي را انجام دهم كه syn مربوط به شبكه اينترنت دور ريخته شود؟
Iptables-A INPUT-1 ppp0-p tcp--sync-j DROP
با اجراي فرمان فوق، كليه جريان ارتباطي با پروتكل tcp دور ريخته خواهد شد.
آيا كار درستي انجام دادهايم؟
به سوال بعدي دقت فرمائيد.
ببخشيد، سوالم را بد مطرح نموده اممت يك وب سرور راهاندازي نمودهام كه با پروتكل tcp كار ميكند و طبق مثال قبلي بايستي سايت را تعطيل كنم، آيا راه حل مناسبتري داريد؟
قطعاً بلي:
140335022860000363220011430000165100022860000Iptables –A INPUT -1 ppp0 tcp —sync —dport ! 80 –j DROP
در مثال فوق به فرمان iptable ميگوئيم كه همه پورتها به جز پورت 80 دور ريخته شود.
80 ! يعني جز 80
منابع:
پخشهاي لينوكس:
www.redhat.com
پروژه سيستم عامل ملي:
www.farsilinux.org
لينوكس براي ايرانيان
www.technotux.com
www.technotux.com
www.gnu.org
www.linux.org
kernel .org
www.linuxiran.org
www.farsilinux.org
http://www.itna.ir/archives/article/all.php