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

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

یک راه برای محافظت شبکه خصوصی از کلاهبرداری IP بسته ها، بررسی آدرس های خارجی روی دستگاه اترنت است که به شبکه خصوصی تخصیص یافته است. در این مثال، هر بسته روی دستگاه eth1 (متعلق به شبکه خصوصی) که آدرسش، از شبکه خصوصی نیست ( ! -s 192.168.0.0 ) مسدود می شود. همچنین بررسی کنید تا ببینید آیا هر بسته ای که از خارج می آید، شبکه خصوصی به عنوان آدرس مبدأ آن است یا خیر. در این مثال، هر بسته با آدرس مبدأ شبکه خصوصی روی هر دستگاه اترنت به جز شبکه خصوصی (eth1) مسدود می گردد. همان روش می تواند برای میزبان محلی نیز اعمال شود. 

ابتدا یک خط مشی DROP برای زنجیر های IP داخلی INPUT و FORWARD تنظیم شده است. این بدین معناست که اگر یک بسته، هیچکدام از قوانین را برای عبور رعایت نکند، مسدود نخواهد شد. سپس هم حملات کلاهبرداری و هم هر تلاشی از خارج برای برقراری تماس (بسته های SYN ) رد خواهد شد. تلاشهای تماس خارجی نیز ثبت می شوند. این یک پیکربندی اصلی است که می تواند که می تواند به سادگی با اضافه کردن قوانین iptables ، طبق نیاز های شما بهبود یابد. 

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

اگر چه می توانید قوانین iptables را از خط فرمان لایه وارد کنید ، ولی وقتی که سیستم خود را خاموش می نمایید ، این دستورات از بین می روند. در ردهت ، می توانید از پشتیبانی داخلی برای ذخیره کردن و خواندن قوانین iptables با استفاده از اسکریپت سرویس iptables استفاده نمایید.

جدول خرد کردن بسته برای تغییر واقعی اطلاعات بسته استفاده می شود. قوانین خاص اعمال شده به این جدول ، اغلی طراحی شده اند تا رفتار ذاتی بسته ها ، مثل مسیر ، اندازه تماس اندازه تماس و اولویت را اکنترل کنند. قوانینی که به طور واقعی یک بسته را تغییر می دهند ( به جای تغییر مسیر ساده یا توقف آن ) ، می توانند فقط در یک جدول خردکن استفاده شوند. به عنوان مثال ، هدف TOS می تواند به طور مستقیم در جدول خرد کن استفاده شود تا فیلد Type of Service را تغییر دهد و اولویت یک بسته را تغییر دهد. یک هدف TCPMSS می تواند تنظیم گردد تا اندازه یک تماس را کنترل کند. هدف ECN به شما اجازه می دهد تا با حفره های ECN کار کنید و هدف DSCP به شما اجازه خواهد داد تا با بیت های DSCP را تغییر دهید. چند الحاق ROUTE ، یک بسته را تغییر می دهد که در اینجا مقصدش را مجددا می نویسد به جای اینکه فقط آن را تغییر مسیر دهد. 

اگر سیستم شما یک سرویس اینترنت را میزبانی می کند ( مثل یک سرویس دهنده وب یا FTP ) ، می توانید از iptables برای کنترل دستیابی به آن استفاده نمایید. می توانید با استفاده از سوئیچ های درگاه مبدأ ( --sport ) یا در گاه مقصد ( --dport ) به همراه درگاهی که سرویس استفاده می کند، یک سرویس خاص را مشخص نمایید. iptables به شما اجازه می دهد تا از نامها برای درگاهها استفاده کنید. مثل www برای درگاه سرویس دهنده وب. نام سرویس ها و درگاههایی که آنها استفاده می کنند در فایل /etc/services لیست شده است، که درگاه ها را به سرویس های خاص نگاشت می کند. برای یک سرویس نامگذاری دامنه درگاه ، domain خواهد بود. همچنین اگر بخواهید می توانید از شماره درگاه استفاده نمایید که باید قبل از شماره، علامت دو نقطه ( : ) بیاورید. مثال زیر ، تمام پیامها به سرویس دهنده وب واقع در 192.168.0.43 را دریافت می کند : 

جداول NAT می توانند برای پیاده سازی هر نوع تغییر مسیر بسته استفاده شوند که یک عمل شفاف برای کاربر است. تغییر مسیر برای پیاده سازی یک پراکسی شفاف استفاده می شود. تغییر مسیر بسته ها توسط هدف REDIRECT صورت می پذیرد. توسط پراکسی شفاف ، بسته های دریافتی می توانند به طور خودکار به یک سرویس دهنده پراکسی تغییر مسیر یابند. به عنوان مثال ، بسته های رسیده به درگاه سرویس وب ( 80 ) ، می توانند به درگاه سرویس Squid Proxy تغییر جهت یابند که معمولا 3128 است. این کار مستلزم یک دستور برای تغییر جهت یک بسته می باشد که از هدف REDIRECT روی زنجیر PREROUTING استفاده می کند : 

# iptables -t nat -A PREROUTING -i eth1 --dport 80 REDIRECT --to-port 3128 

به علاوه ، دو نوع عمل NAT وجود دارد. NAT مبدا که به صورت هدف SNAT مشخص می شود ، و NAT مقصد ، که به صورت هدف DNAT مشخص می گردد. هدف SNAT برای قوانینی استفاده می شود که آدرس های مبدا را تغییر می دهند و هدف DNAT برای آنهایی است که آدرسهای مقصد را عوض می کنند. 

 

سه زنجیر در جدول NAT توسط کرنل برای عملیات NAT استفاده می شود که عبارتند از : PREROUTING ، POSTROUTING ، و OUTPUT . PREROUTING برای قوانین NAT مقصد ( DNAT ) استفاده می شود. اینها برای بسته هایی می باشند که ترک می شوند. OUTPUT برای قوانین NAT مقصد مربوط به بسته های تولید شده محلی به کار می رود. 

 

همانند فیلتر کردن بسته ، می توانید آدرس های مبدا ( -s ) و مقصد ( -d ) را به همراه دستگاه های ورودی ( -i ) و خروجی ( -o ) مشخص کنید. سوئیچ کردن -j یک هدف مثل MASQUERADE را مشخص می نماید. با اضافه کردن قانون MASQUERADE به زنجیره POSTROUTING ، ماسک IP را پیاده سازی می کنید : 

# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 

 

برای تغییر آدرس مبدا یک بسته که سیستم شما را ترک می کند ، از قانون POSTROUTING به همراه هدف SNAT استفاده می کنید. برای هدف SNAT ؛ از سوئیچ --to-source برای مشخص کردن آدرس مبدا استفاده می نمایید : 

# iptables -t nat -A POSTROUTING -o eth0 -j --to-source 192.168.0.4 

برای تغییر آدرس مقصد بسته هایی که به سیستم شما می رسند ، از قانون PREROUTING به همراه هدف DNAT و سوئیچ --to-destination استفاده می کنید : 

# iptables -t nat -A PREROUTING -i eth0 -j DNAT --to-destination 192.168.0.3 

 

مشخص کردن یک درگاه به شما اجازه می دهد تا مقصد بسته هایی را که به یک درگاه خاص می رسند تغییر دهید. در عمل ، این امکان را میسر می سازد. در مثال بعد ، هر بسته ای که به درگاه 80 برسد 0 درکاه سرویس وب ) به 10.0.0.3 منتقل می شود که در این حالت می تواند یک لیست سرویس دهنده وب را اجرا کند. 

# iptables -t nat -A PREROUTING -i eth0 --dport 80 \
 -j DNAT --to-destination 10.0.0.3  

 

با هدفهای TOS و MARK می توانید بسته را خرد کنید تا مسیر یا اولویت آن را کنترل نمایید. یک هدف TOS ، نوع سرویس یک بسته را تنظیم می کند ، که اولویت را با استفاده از معیارهایی مثل normal-services ، minimize-cost ، maximize-throughput بین بقیه ، تعیین می نماید. 

 

هدفهایی که تنها برای جدول NAT مجاز می باشند در اینجا نشان داده شده اند : 

SNAT

آدرس مبدا را تغییر می دهد، از سوئیچ --to-source برای مشخص کردن آدرس مبدا جدید استفاده کنید.  

DNAT

آدرس مقصد را تغییر می دهد، از سوئیچ --to-destination برای مشخص کردن آدرس مقصد جدید استفاده کنید.

REDIRECT

یک بسته را تغییر می دهد.  

MASQUERADE

ماسک IP

MIRROR

مبدا و مقصد را برعکس می کند و به فرستنده می فرستد.  

MARK

فیلد MARK را تغییر می دهد تا مسیر پیام را کنترل کند.

پربازدیدترین مطالب

"«قیمتی که در هنگام سفارش مشتري در پیش‌فاکتور منظور گرديده است، معتبر مي‌باشد»."