در این مطلب با نحوه مسدود کردن شماره پورت با IPtables در سیستمعاملهای لینوکس آشنا خواهیم شد. شمارههای پورت که توسط اینترنت و سایر پروتکلهای شبکه تشخیص داده میشوند، ارتباط و تعامل یک کامپیوتر را را با دیگران فراهم میکنند. هر سرور لینوکس دارای یک شماره پورت است. به عنوان مثال: ۱) پورت TCP...
1399/10/234953 بازدید
در این مطلب با نحوه مسدود کردن شماره پورت با IPtables در سیستمعاملهای لینوکس آشنا خواهیم شد. شمارههای پورت که توسط اینترنت و سایر پروتکلهای شبکه تشخیص داده میشوند، ارتباط و تعامل یک کامپیوتر را را با دیگران فراهم میکنند. هر سرور لینوکس دارای یک شماره پورت است. به عنوان مثال:
۱) پورت TCP شماره ۸۰ - سرور HTTP
۲) پورت TCP شماره ۴۴۳ - سرور HTTPS
۳) پورت TCP شماره ۲۵ - سرور ایمیل
۴) پورت TCP شماره ۲۲ - سرور امنیتی OpenSSH (ریموت)
۵) پورت TCP شماره ۱۱۰ - سرور POP3 (پروتکل پست آفیس نسخه ۳)
۶) پورت TCP شماره ۱۴۳ - مدیریت پیامهای ایمیلی IMAP
۷) پورت TCP / UDP شماره ۵۳ - سیستم نامگذاری دامین یا DNS
مسدود کردن شماره پورت با IPtables در ترافیک ورودی
برای مسدود سازی پورتهای ورودی با IPtables قالب کار به صورت زیر خواهد بود.
php
1/sbin/iptables -A INPUT -p tcp --destination-port {PORT-NUMBER-HERE} -j DROP23### interface section - use eth1 ###45/sbin/iptables -A INPUT -i eth1 -p tcp --destination-port {PORT-NUMBER-HERE} -j DROP67### only drop port for given IP or Subnet ##89/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port {PORT-NUMBER-HERE} -s {IP-ADDRESS-HERE} -j DROP1011/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port {PORT-NUMBER-HERE} -s {IP/SUBNET-HERE} -j DROP
برای مسدود کردن پورت ۸۰ (سرور HTTP) مورد زیر را به اسکریپت iptables اضافه کنید.
php
1# /sbin/iptables -A INPUT -p tcp --destination-port 80 -j DROP23# /sbin/service iptables save
مسدود کردن ورودی پورت ۸۰ به جز IP آدرس نمونه 1.2.3.4
php
1# /sbin/iptables -A INPUT -p tcp -i eth1 ! -s 1.2.3.4 --dport 80 -j DROP
مسدود کردن پورت خروجی
قالب کار به صورت زیر خواهد بود.
php
1/sbin/iptables -A OUTPUT -p tcp --dport {PORT-NUMBER-HERE} -j DROP23### interface section use eth1 ###45/sbin/iptables -A OUTPUT -o eth1 -p tcp --dport {PORT-NUMBER-HERE} -j DROP67### only drop port for given IP or Subnet ##89/sbin/iptables -A OUTPUT -o eth0 -p tcp --destination-port {PORT-NUMBER-HERE} -s {IP-ADDRESS-HERE} -j DROP1011/sbin/iptables -A OUTPUT -o eth0 -p tcp --destination-port {PORT-NUMBER-HERE} -s {IP/SUBNET-HERE} -j DROP
برای مسدود کردن شماره پورت ۲۵ داریم:
php
1# /sbin/iptables -A OUTPUT -p tcp --dport 25 -j DROP23# /sbin/service iptables save
در همین حال، میتواند پورت نمونه شماره ۱۲۳۴ را تنها برای IP آدرس 192.168.1.2 مسدود کنید.
php
1# /sbin/iptables -A OUTPUT -p tcp -d 192.168.1.2 --dport 1234 -j DROP23# /sbin/service iptables save
نحوه ثبت تاریخچه جزئیات عملکرد پورتها
برای این منظور از قالب زیر استفاده کنید.
php
1# Logging #23### If you would like to log dropped packets to syslog, first log it ###45/sbin/iptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix "PORT 80 DROP: " --log-level 767### now drop it ###89/sbin/iptables -A INPUT -p tcp --destination-port 80 -j DROP
چگونه دسترسی Cracker را با آدرس 123.1.2.3 به پورت UDP شماره ۱۶۱ مسدود کنیم؟
php
1/sbin/iptables -A INPUT -s 123.1.2.3 -i eth1 -p udp -m state --state NEW -m udp --dport 161 -j DROP23# drop students 192.168.1.0/24 subnet to port 8045/sbin/iptables -A INPUT -s 192.168.1.0/24 -i eth1 -p tcp -m state --state NEW -m tcp --dport 80 -j DROP