05-02-2011، 12:11 AM
در این پست همانطور که قبلا وعده داده شده بود به بررسی خروجی دستور iptables -L می پزدازیم:
در خروجی فرمان فوق ستون هایی به شرح زیر نمایش داده شده است:
target prot opt source destination
در target ما می تواین هدف پرش (jump) قانون مورد نظر را ببینیم که از بین گزینه های ACCEPT, REJECT,DROP,LOG می تواند باشد.
در ستون prot می توانیم پروتکل مورد استفاده در این قانون را مشاهده کنیم یعنی udp,tcp و ...
در ستون opt تنظیمات و جزئیات مربوط به هر rule نمایش داده می شود.
ستون های source و destination نیز که منبع و مقصد بسته های را مشخص می کند.
در iptables ما می تواینم به جای استفاده از سویچ های کوتاه شده نظیر j- از کلمات کامل شده استفاده کنیم مانند jump-- برای j- یا source-- بجای s- بدین ترتیب خوانایی فرمانهای iptables بیشتر شده و بخاطر آوری آنها نیز راحتر می گردد.
یک سناریو کوچک :
فرض کنید از یک ip آدرس به شماره 11.12.13.14 یکی از سرویس دهنده های شما مورد حمله DOS قرار گرفته و شما مایل به Block کردن ترافیک ارسالی از این آدرس IP هستید برای این کار به صورت زیر عمل کنید:
iptables --Append INPUT --protocol all --source 11.12.13.14 --jump DROP
تا بدین جا با تنظیمات ساده از iptables آشنا شدیم حال می خواهیم بدانیم که چطور می توان بر روی ترافیک لایه 4 یعنی لایه transport یا به زبان ساده تر کنترل ترافیک پورت ها سیاست امنیتی اعمال کرد:
برای این منظور از سویچ dport-- استفاده می شود.
مثال1: فرض کنید می خواهیم ترافیک ورودی به شبکه از پورت 5050 را Block کنیم:
iptables -A INPUT -p TCP --dport 5050 -j DROP
مثال2: در این مثال می خواهیم ترافیک پورت telnet یعنی 23 را برای شبکه 192.168.1.0/24 بسته و به جای آن ترافیک ssh یعنی پورت 22 را باز کنیم:
iptables -A OUTPUT -p tcp --dport 23 -s 192.168.1.0/24 -j DROP
iptables -A OUTPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT
لازم به ذکر است که بجای سویچ dport-- می تواین از سویچ destination-port--نیز استفاده کرد.
در پست بعدی به نحوه حذف و اضافه کردن قوانین به سطور خاصی از زنجیر ها می پردازیم.
در خروجی فرمان فوق ستون هایی به شرح زیر نمایش داده شده است:
target prot opt source destination
در target ما می تواین هدف پرش (jump) قانون مورد نظر را ببینیم که از بین گزینه های ACCEPT, REJECT,DROP,LOG می تواند باشد.
در ستون prot می توانیم پروتکل مورد استفاده در این قانون را مشاهده کنیم یعنی udp,tcp و ...
در ستون opt تنظیمات و جزئیات مربوط به هر rule نمایش داده می شود.
ستون های source و destination نیز که منبع و مقصد بسته های را مشخص می کند.
در iptables ما می تواینم به جای استفاده از سویچ های کوتاه شده نظیر j- از کلمات کامل شده استفاده کنیم مانند jump-- برای j- یا source-- بجای s- بدین ترتیب خوانایی فرمانهای iptables بیشتر شده و بخاطر آوری آنها نیز راحتر می گردد.
یک سناریو کوچک :
فرض کنید از یک ip آدرس به شماره 11.12.13.14 یکی از سرویس دهنده های شما مورد حمله DOS قرار گرفته و شما مایل به Block کردن ترافیک ارسالی از این آدرس IP هستید برای این کار به صورت زیر عمل کنید:
iptables --Append INPUT --protocol all --source 11.12.13.14 --jump DROP
تا بدین جا با تنظیمات ساده از iptables آشنا شدیم حال می خواهیم بدانیم که چطور می توان بر روی ترافیک لایه 4 یعنی لایه transport یا به زبان ساده تر کنترل ترافیک پورت ها سیاست امنیتی اعمال کرد:
برای این منظور از سویچ dport-- استفاده می شود.
مثال1: فرض کنید می خواهیم ترافیک ورودی به شبکه از پورت 5050 را Block کنیم:
iptables -A INPUT -p TCP --dport 5050 -j DROP
مثال2: در این مثال می خواهیم ترافیک پورت telnet یعنی 23 را برای شبکه 192.168.1.0/24 بسته و به جای آن ترافیک ssh یعنی پورت 22 را باز کنیم:
iptables -A OUTPUT -p tcp --dport 23 -s 192.168.1.0/24 -j DROP
iptables -A OUTPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT
لازم به ذکر است که بجای سویچ dport-- می تواین از سویچ destination-port--نیز استفاده کرد.
در پست بعدی به نحوه حذف و اضافه کردن قوانین به سطور خاصی از زنجیر ها می پردازیم.