لطفا وارد شوید یا ثبت‌نام کنید تا به انجمن‌ها دسترسی کامل داشته باشید.



 
امتياز موضوع :
  • 0 رأي - معدل امتيازات : 0
  • 1
  • 2
  • 3
  • 4
  • 5
ساختن فایروال با iptables
2004-06-11, 02:32 AM,
ارسال : #1
ساختن فایروال با iptables
با عرض سلام وخسته نباشید.

می خواهیم یک دیواره آتشین ساده با iptable بسازیم!

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

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

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

برای نصب دیواره آتشین به این روش،مرحله های زیر را به دقت یک به یک انجام دهید،درغیر اینصورت ممکن است خودتان نیز نتوانید به اینترنت وصل شوید.
با حساب ریشه وارد سیستم شوید ودستورات زیر را در ترمینال وارد کنید.
[ltr]iptables --flush
iptables --flush --t nat[/ltr]
ورودی های iptables منجر به پاک شدن فیلترهای موجود یا دستورات و مقررات( Network Address Translation(NAT می گردد.تحت NAT rules نشانی شبکه به صورت نشانی دیگری نمایش داده می شود و به نظر خواهد رسید که کامپیوتر شما توسط شخص دیگری استفاده می شود. NAT بیشتر هنگامی به کار می رود که کامپیوتر شما از طرف ISP اراپه شود و الزامی به ثبت یک نشانی IP برای کامپیوتر شما وجود نداشته باشد.
با تایپ دستورات زیر کلیه ارتباطات شبکه از/به کامپیوتر خود را نادیده بگیرید.
[ltr]iptables --policy INPUT DROP
iptables --policy OUTPUT DROP
iptables --policy FORWARD DROP[/ltr]
با درج سه فرمان بالا در واقع دیواره آتشین مانع ورود هر ترافیک اینترنتی به INPUT rule یا از OUTPUT rule کامپیوتر و انتقال اطلاعات از طریق رابط های چندگانه شبکه( FORWARD rule) می گردد.
دستورات زیر را تایپ کنید تا ترافیک شبکه بتواند از طریق ابزار مجازی loopback انتقال داده شود.
[ltr]iptables -A OUTPUT -j ACCEPT -o lo
iptables -A INPUT -j ACCEPT -i lo[/ltr]
درسیستم لینوکس از یک شبکه داخلی موسوم به loopback interface استفاده می شود.loopback یک ابزار فیزیکی نیست بلکه یک ابزار مجازی است.لینوکس از این ابزار مجازی (lo) برای ارتباطات داخلی خود استفاده می کند.
برقراری کلیه ارتباطات از کامپیوتر خود به دیگر کامپیوترها را باتایپ دستورات زیر ممکن سازید.
[ltr]iptables -A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT[/ltr]
این دستورات هیچیک مشخص کننده رابط خاصی برای شبکه نمی باشند. ولی ازآنجایی که این فیلتر کلیه کامپیوترهایی راکه به کامپیوتر شما وصل می شوند شناسایی می کند، دستورات فوق به خوبی برای رابطهای نوع Ethernet، بی سیم و یا رابط شماره گیر نقطه به نقطه (PPP) به کار می روند. بر طبق اولین دستور کلیه ازتباطات خروجی انجام می گیرد. گزینه State NEW,RELATED,ESTABLISHED از دیواره آتشین می خواهد تا بسته های مربوط به اتصالهای جدید و اتصالات قبلی، انتقال داده شوند. حتی انتقال بسته های مربوط به اتصال فعلی که از درگاهی دیگر استفاده می کنند، مانند انتقال داده ای FTP نیز مجاز می گردد.بر طبق دستور دوم، بسته های برگشتی در این اتصال که در ارتباط با بسته های ارسال شده می باشند، کنترل می شوند.
(اختیاری) از دستور زیر برای برقراری ارتباطات SHH به سیستم لینوکس استفاده کنید.
[ltr]iptables -A INPUT -p tcp -m state --state NEW,ESTABLISHED -j ACCEPT --dport 22[/ltr]
با این فرمان ارتباط SHH ازطریق پورت 22 با کامپیوتر شما برقرار می شود.
تا این مرحله دیواره آتشین شما آماده شده است. مسلما نمی خواهید که با هربار راه اندازی مجدد کامپیوتر، این دستورها را دوباره تایپ کنید.بنابراین شما می توانید این دستورات را در یک اسکریپت ذخیره کنید. به عنوان مثال :
[ltr]iptables-save > /etc/sysconfig/iptables[/ltr]
برای شروع دیواره آتشین Netfilter/iptables، در ردهت از دستور etc/init.d/iptables/ استفاده می شود. و دستورهای فیلتر دیواره آتشین در پرونده etc/sysconfig/iptables/ برای اجراهای بعدی دیواره آتشین ذخیره می گردند.شما می توانید دیواره آتشین را با اجرای اسکریپت iptables با فرمان زیر شروع کنید:
[ltr]/etc/init.d/iptables start[/ltr]
البته باید به صورت کاربر ریشه وارد سیستم شده باشید. در صورتی که به جای کلمه start در دستور فوق کلمه stop را درج کنید دیواره آتشین غیرفعال می گردد.

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

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

امیدوارم که این مطلب مورد استفاده شما عزیران قرار گیرد.
متشکرم.
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2004-06-11, 10:12 AM,
ارسال : #2
 
ممنون xigmacorporation جان.راهنمایی خوب و کاملی بود Smile
برای کسانی که می خواهند از یک GUI برای تنظیم IPtables استفاده کنند دو ابزار بسیار خوب موجود است .
1) GaurdDog
http://www.simonzone.com/software/guarddog/
2) FireStarter
http://firestarter.sourceforge.net/
موفق باشید

To Follow The Path
Look To The Master
Follow The Master
Walk With The Master
See Through The Master
Become The Master
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2004-06-11, 03:07 PM,
ارسال : #3
 
واقا عالی بود . مرسی .
این GaurdDog هم خیلی چیز باهالیه .

همیشه میتونی بهترین باشی ...
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2004-06-11, 03:16 PM,
ارسال : #4
 
اقا دستتون درد نکنه واقعا کامل بود.
ممنون.
البته guarddog با محیط گرافیکیش کار رو خیلی ساده کرده.

آموزش بدون محدودیت
مشاهده تارنمای کاربر جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2004-06-14, 12:47 PM,
ارسال : #5
 
خواهش می کنم. ما متعلق به همه شما هستیم!!!! :lol: :lol: :wink:
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2004-07-28, 05:50 PM,
ارسال : #6
 
[ltr]salam
vaghean mamnon
besiar maghaleye jalebi bood
bazam mamnon[/ltr]
نقل قول این ارسال در یک پاسخ
2004-08-04, 02:32 AM,
ارسال : #7
 
خواهش مي كنم آقا/خانم مهمان.
قابلي نداشت. خوشحالم كه بدردتون خورد.
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2004-08-04, 07:33 AM,
ارسال : #8
 
انتقال بدم به گزیده ها ؟ کسی دیگه نمی خواد پست بده ؟:lol:


irix@Hell:~$ mkfs -t Free /body/.mind && mount -o rw /body/.mind /FreeMind
مشاهده تارنمای کاربر جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2004-08-04, 01:58 PM,
ارسال : #9
 
مخلص irix جان.
نه عزيز . هر جا كه دوست داري منتقلش كن. اصلا مي خواي برشدار!!! Big Grin :wink:
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2005-05-31, 09:40 PM,
ارسال : #10
salam
agha khaste nabashid.
man dastori ke baraye iptables hast romidam.
soraat miyad paiin ya aslan paghe nadare hatman baya service ono stop konam moshgel chiye age mishe mano rahnamaii konid.
mamnon
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2005-06-01, 07:58 AM,
ارسال : #11
 
به به عجب چیزی بودا .!!! دستت درد نکنه .پیر شی الهی..
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2005-06-01, 08:16 AM,
ارسال : #12
 
دوست عزیز
اولا سلام
دوما دست مریزاد. خیلی خوب بود.
سوما: اگر مایلید عضو جلسات بشید که افتخار داده اید.
چهارما اگر مبحث دیواره آتش را کمی بیشتر توضیح بدهید و بحث را کامل تر کنید ممنون میشویم.
علی

linux is a way to be free. i
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ
2008-12-14, 05:46 PM,
ارسال : #13
 
با تشکر فراوان.
من نمی دونم iptables رو سیو کنم.
می رم تو فایل rcS و اضافه می کنم اما هیچ اتفاقی نمی افته.
iptables-save >/etc/iptables-data
iptables-restore </etc/iptables-data
حالا چیکار کنم؟
مرسی
نقل قول این ارسال در یک پاسخ
2008-12-15, 02:28 PM,
ارسال : #14
 
rcS چیه دیگه؟
درستش اینه:
su
iptables-save > /etc/iptables-data
بعد یه اسکریپت در etc/init.d/firewall/ بسازید
iptables-restore < /etc/iptables-data
بعدش باید کاری کنی که در هنگام بوت راه اندازی بشه
من خودم جنتو کار می کنم با دستور زیر این کارو می کنم:
rc-update add firewall default
توی توزیعی مثل دبیان فکر کنم اینطوری باشه:
update-rc.d firewall defaults
نقل قول این ارسال در یک پاسخ
2008-12-15, 02:28 PM,
ارسال : #15
 
rcS چیه دیگه؟
درستش اینه:
su
iptables-save > /etc/iptables-data
بعد یه اسکریپت در etc/init.d/firewall/ بسازید
iptables-restore < /etc/iptables-data
بعدش باید کاری کنی که در هنگام بوت راه اندازی بشه
من خودم جنتو کار می کنم با دستور زیر این کارو می کنم:
rc-update add firewall default
توی توزیعی مثل دبیان فکر کنم اینطوری باشه:
update-rc.d firewall defaults

Flood
نقل قول این ارسال در یک پاسخ
2008-12-16, 02:00 PM,
ارسال : #16
 
بد نیست دوستان سری هم به http://iptables-tutorial.frozentux.net/i...orial.html بزنند.
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ


رفتن به انجمن :


کاربران در حال مشاهده موضوع : 1 مهمان