کنترل دستیابی درگاه
اگر سیستم شما یک سرویس اینترنت را میزبانی می کند ( مثل یک سرویس دهنده وب یا FTP ) ، می توانید از iptables برای کنترل دستیابی به آن استفاده نمایید. می توانید با استفاده از سوئیچ های درگاه مبدأ ( --sport ) یا در گاه مقصد ( --dport ) به همراه درگاهی که سرویس استفاده می کند، یک سرویس خاص را مشخص نمایید. iptables به شما اجازه می دهد تا از نامها برای درگاهها استفاده کنید. مثل www برای درگاه سرویس دهنده وب. نام سرویس ها و درگاههایی که آنها استفاده می کنند در فایل /etc/services لیست شده است، که درگاه ها را به سرویس های خاص نگاشت می کند. برای یک سرویس نامگذاری دامنه درگاه ، domain خواهد بود. همچنین اگر بخواهید می توانید از شماره درگاه استفاده نمایید که باید قبل از شماره، علامت دو نقطه ( : ) بیاورید. مثال زیر ، تمام پیامها به سرویس دهنده وب واقع در 192.168.0.43 را دریافت می کند :
iptables -A INPUT -p 192.168.0.43 --dport www -j ACCEPT
همچنین می توانید از ارجاعات درگاه برای محافظت سرویس های خاص و مسدود کردن بقیه استفاده کنید. این روش، اغلب وقتی استفاده می شود که یک فایروال طراحی می گردد که روی اینترنت بازتر است و به کاربران اجازه می دهد تا آزادتر از تماس های اینترنتی استفاده کنند. سرویس های خاصی که می شناسید و می توانند مضر باشند ( مثل Telnet و NTP ) می توانند به صورت انتخابی مسدود شوند. به عنوان مثال ، برای مسدود کردن هر نوع عمل تل نت روی فایروال خود ، قادرید تمام بسته های دریافتی روی درگاه تل نت ( یعنی 23 ) را بیندازید. برای محافظت عملیات NFS می توانید دستیابی به درگاه مورد استفاده برای portmapper ( یعنی 111 ) را مسدود کنید. می توانید از شماره درگاه یا نام درگاه استفاده نمایید.
# deny outside access to portmapper port on firewall.
iptables -A arriving -j DROP -p tcp -i eth0 --dport 111
# deny outside access to telnet port on firewall.
iptables -A arriving -j DROP -p tcp -i eth0 --dport telnet
لیست قانون ، چیزی شبیه این می شود :
DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:111
DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:23
یک مشکل امنیتی مربوط به درگاه ، دستیابی به سرویس دهنده X خود روی درگاه های XFree86 است که بین 6000 تا 6009 می باشد. در یک فایروال نسبتا باز ، این درگاه ها می توانند برای دستیابی غیر مجاز به سیستم شما ، توسط سرویس دهنده X استفاده شوند. محدوده ای از درگاهها را می توان با علامت دو نقططه (:) ، مشخص کرد. مثل 6009:6000 . همچنین می توانید x11 را برای درگاه اول استفاده کنید ( x11:6009 ) نشستهای روی سرویس دهنده X می توانند با استفاده از SSH امن تر شوند که به طور عادی ، سرویس دهنده X را روی درگاه 6010 مورد دستیابی قرار می دهد.
iptables -A arriving -j DROP -p tcp -i eth0 --dport 6000:6009
درگاههای رایج بررسی شده و بر چسبهای آنها ، در اینجا نشان داده شده است :
سرویس |
شماره درگاه |
برچسب درگاه |
Auth |
113 |
Auth |
Finger |
79 |
Finger |
FTP |
21 |
ftp |
NTP |
123 |
Ntp |
Telnet |
23 |
telnet |
سرویس دهنده وب |
80 |
www |
XFree86 |
6000:6009 |
X11:6009 |