مقدمه
همراه با لینوکس یک سیستم دیواره آتشین کاملا موثر و کارا موسوم به Netfilter/iptables اراپه می شود.قسمت Netfilter بیانگر سیستم دیواره آتشین است که در سیستم عامل از پیش کارگذاشته می شود.یعنی در هسته لینوکس و iptables رابطی است که آن را کنترل می کند.
سیستم iptables بسته های IP راکه ستون اصلی اینترنت محسوب می شوند از فیلتر می گذرانند. شما می توانید با به کاربردن iptables دریافت این بسته ها راتایید ویا وجود آنها را برحسب مقصدبسته ها، نشانی های منبع و درگاها نادیده بگیرید و اجازه ورود به سیستم را به آنها ندهید.
آیپی تیبلها از کارآیی خوبی برخوردارند،زیرااز Stateful Filtering استفاده می کنند.Stateful Filtering بدین معناست که دیواره آتشین می تواند قادربه پی گیری وضعیت هر اتصال به شبکه باشد.یعنی آیپی تیبلها می دانند که کدام بسته ها معتبر بوده و باید استفاده شوند وکدام بسته ها قابل اعتماد نمی باشند.
مقررات حاکم بر فیلترسازی برای دیواره آتشین مانند آجرهایی می باشند که باچیدن آنها بر روی یکدیگر،دیواره آتشین ساخته می شود.در اصل،دستورهای فیلترسازی برای دیواره آتشین،عامل تعیین کننده اطلاعاتی است که از کامپیوتر شما می تواند به دیگر کامپیوترها ارسال ویا از کامپیوتر های دیگر دریافت شود.هنگام طراحی دستور برای فیلترسازی در دیواره آتشین، می توانید یکی از دوحالت زیر را در نظر بگیرید:

* به همه کامپیوتر های دیگر اجازه اتصال به کامپیوتر خود را بدهید،ولی از بعضی از دسترسی های خاص به سیستم خود جلوگیری کنید.

* بنابه پیش فرض کلیه اتصالهای کامپیوترهای دیگر به کامپیوتر خودرانادیده گرفته و فقط دسترسی های ویژه ای را مجاز سازید.
به نظرمی رسدکه اعمال روشی که در آن برقراری کلیه ارتباطات مجاز شمرده می شود و سپس تک تک ارتباطات بررسی و بعضی از آنا نادیده انگاشته می شوند، بهترین روش نصب دیواره آتشین می باشد. اشکال این روش در این است که شما به طور ناخواسته به ترافیک خطرناک اینترنت اجازه می دهید تا به کامپیوترشما وارد شود.
روش دیگر، این است که هرنواع اتصال و برقراری ارتباط با کامپیوتر خود را نادیده بگیرید و سپس از میان اتصالهای نادیده انگاشته شده،اتصال مورد نظررا انتخاب وبه کامپیوتر مربوط به آن مرتبط گردید.این روش بازدارنده و محدودکننده،از جنبه نظر ایمنی، بسیار بهتر است،زیرا به این ترتیب فقط دسترسی کامپیوترهایی به سیستم شما امکانپذیر می گرددکه خودتان آنها را انتخاب کرده باشید.ولی در هر صورت این روش نیز نقاط ضعف خود را دارد زیرا ممکن است به طور ناخواسته مانع اتصال و دریافت اطلاعات از کامپیوترهایی شوید که اطلاعات آنها کاملا مورد نیاز شما می باشد.دراین مقاله به دو دلیل زیر نحوه بکارگیری روش بازدارنده فوق را شرح می دهیم:
* امنیت بیشتر این روش: روش بازدارنده یک روش امن تر برای اتصال به اینترنت بشمار می رود.زیرا تقریبا به طور کامل مانع پویش درگاه و دسترسی نفوذگران به سیستم می گردد.
* سهولت بیشترپیکربندی دیواره آتشین با این روش: با توجه به این که قادربه پیگیری وضعیت هر اتصالی به شبکه می باشد. برای ساخت یک دیواره آتشین ایمن،فقط کافی است که دو دستور رعایت شوند در حالی که در روش مجازکننده باید دستورات گوناگونی را رعایت کرد و در هر حال پیچیدگی های بیش از اندازه و غیرلازم،خود نیز می تواند منجر به کاهش میزان ایمنی سیستم گردد.

برای نصب دیواره آتشین به این روش،مرحله های زیر را به دقت یک به یک انجام دهید،درغیر اینصورت ممکن است خودتان نیز نتوانید به اینترنت وصل شوید.
با حساب ریشه وارد سیستم شوید ودستورات زیر را در ترمینال وارد کنید:
iptables --flush
iptables --flush --t nat

ورودی های iptables منجر به پاک شدن فیلترهای موجود یا دستورات و مقررات( Network Address Translation(NAT می گردد.تحت NAT rules نشانی شبکه به صورت نشانی دیگری نمایش داده می شود و به نظر خواهد رسید که کامپیوتر شما توسط شخص دیگری استفاده می شود. NAT بیشتر هنگامی به کار می رود که کامپیوتر شما از طرف ISP اراپه شود و الزامی به ثبت یک نشانی IP برای کامپیوتر شما وجود نداشته باشد.
با تایپ دستورات زیر کلیه ارتباطات شبکه از/به کامپیوتر خود را نادیده بگیرید:
iptables --policy INPUT DROP
iptables --policy OUTPUT DROP
i
ptables --policy FORWARD DROP
با درج سه فرمان بالا در واقع دیواره آتشین مانع ورود هر ترافیک اینترنتی به INPUT rule یا از OUTPUT rule کامپیوتر و انتقال اطلاعات از طریق رابط های چندگانه شبکه( FORWARD rule) می گردد.
دستورات زیر را تایپ کنید تا ترافیک شبکه بتواند از طریق ابزار مجازی loopback انتقال داده شود.

iptables -A OUTPUT -j ACCEPT -o lo
iptables -A INPUT -j ACCEPT -i lo


درسیستم لینوکس از یک شبکه داخلی موسوم به loopback interface استفاده می شود.loopback یک ابزار فیزیکی نیست بلکه یک ابزار مجازی است.لینوکس از این ابزار مجازی (lo) برای ارتباطات داخلی خود استفاده می کند.
برقراری کلیه ارتباطات از کامپیوتر خود به دیگر کامپیوترها را باتایپ دستورات زیر ممکن سازید.

iptables -A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT


این دستورات هیچیک مشخص کننده رابط خاصی برای شبکه نمی باشند. ولی ازآنجایی که این فیلتر کلیه کامپیوترهایی راکه به کامپیوتر شما وصل می شوند شناسایی می کند، دستورات فوق به خوبی برای رابطهای نوع Ethernet، بی سیم و یا رابط شماره گیر نقطه به نقطه (PPP) به کار می روند. بر طبق اولین دستور کلیه ازتباطات خروجی انجام می گیرد. گزینه State NEW,RELATED,ESTABLISHED از دیواره آتشین می خواهد تا بسته های مربوط به اتصالهای جدید و اتصالات قبلی، انتقال داده شوند. حتی انتقال بسته های مربوط به اتصال فعلی که از درگاهی دیگر استفاده می کنند، مانند انتقال داده ای FTP نیز مجاز می گردد.بر طبق دستور دوم، بسته های برگشتی در این اتصال که در ارتباط با بسته های ارسال شده می باشند، کنترل می شوند.
(اختیاری) از دستور زیر برای برقراری ارتباطات SHH به سیستم لینوکس استفاده کنید.

iptables -A INPUT -p tcp -m state --state NEW,ESTABLISHED -j ACCEPT --dport 22


با این فرمان ارتباط SHH ازطریق پورت 22 با کامپیوتر شما برقرار می شود.
تا این مرحله دیواره آتشین شما آماده شده است. مسلما نمی خواهید که با هربار راه اندازی مجدد کامپیوتر، این دستورها را دوباره تایپ کنید.بنابراین شما می توانید این دستورات را در یک اسکریپت ذخیره کنید. به عنوان مثال :

iptables-save > /etc/sysconfig/iptables


برای شروع دیواره آتشین Netfilter/iptables، در ردهت از دستور etc/init.d/iptables/ استفاده می شود. و دستورهای فیلتر دیواره آتشین در پرونده etc/sysconfig/iptables/ برای اجراهای بعدی دیواره آتشین ذخیره می گردند.شما می توانید دیواره آتشین را با اجرای اسکریپت iptables با فرمان زیر شروع کنید:

/etc/init.d/iptables start

البته باید به صورت کاربر ریشه وارد سیستم شده باشید. در صورتی که به جای کلمه start در دستور فوق کلمه stop را درج کنید دیواره آتشین غیرفعال می گردد.

توجه: باوجودی که دیواره های آتشین امنیت بسیار بالایی را برای سیستم فراهم می سازند، ولی تنها وسیله امنیتی نیستند که می توانید به کار برید. دیواره های آتشین همانند قفل کردن درهای منزل می باشد ولی صددرصد مانع ورود دزدان به منزل نخواهند شد.بنابراین علاوه ایجاد یک دیواره آتشین برای حفاظت از سیستم خود باید لایه های دیگر ایمنی، همانند قفل کردن پنجره ها،استفاده از زنگ خطر وامثالهم(سایر ابزارهای ایمنی) استفاده کنید.

برگرفته از کتاب Red Hat Linux 9
نوشته جان هال،پل سری.
مترجمین: سیدامیرحسین رضوی،ملیحه دهقان، معصومه حزین
ناشر: کتاب پایتخت.

برای کسانی که می خواهند از یک GUI برای تنظیم IPtables استفاده کنند دو ابزار بسیار خوب موجود است ......كه بعد از جستجو هاي زيادي بدست آوردم.....و به راستي كم نظيرند......

1) GaurdDog

(2
FireStarter

امیدوارم که این مطلب مورد استفاده شما عزیران قرار گیرد.
متشکرم.



موضوعات مشابه: