1、系統的INPUT和OUTPUT默認策略為DROP;
[root@centos7 ~]# iptables -P INPUT DROP
[root@centos7 ~]# iptables -P OUTPUT DROP
1、限制本地主機的web服務器在周一不允許訪問;新請求的速率不能超過100個每秒;web服務器包含了admin字符串的頁面不允許訪問;web服務器僅允許響應報文離開本機;
[root@centos7 ~]# iptables -A INPUT -d 192.168.241.10 -p tcp –dport 80 -m limit –limit 100/min -m state –state NEW -m time ! –weekdays 1 -m string –algo kmp ! –string admin -j ACCEPT
[root@centos7 ~]# iptables -A OUTPUT -s 192.168.241.10 -p tcp –sport 80 -m state –state ESTABLISHED -j ACCEPT
2、在工作時間,即周一到周五的8:30-18:00,開放本機的ftp服務給172.16.0.0網絡中的主機訪問;數據下載請求的次數每分鐘不得超過5個;
ftp的被動模式中命令傳輸和數據傳輸使用不同的端口,需要內核加載nf_conntrack_ftp模塊
[root@centos7 ~]# modprobe nf_conntrack_ftp
[root@centos7 ~]# lsmod |grep conntrack
nf_conntrack_ftp 18638 0
[root@centos7 ~]# iptables -A INPUT -s 172.16.0.0 -d 192.168.241.10 -p tcp –dport 21 -m time ! –weekdays 6,7 -m state –state NEW,ESTABLISHED -j ACCEPT
[root@centos7 ~]# iptables -A INPUT -s 172.16.0.0 -d 192.168.241.10 -p tcp -m limit –limit 5/min -m state –state RELATED -j ACCEPT
[root@centos7 ~]# iptables -A OUTPUT -s 192.168.241.10 -d 172.168.0.0 -m state –state RELATED,ESTABLISHED -j ACCEPT
3、開放本機的ssh服務給172.16.x.1-172.16.x.100中的主機,x為你的座位號,新請求建立的速率一分鐘不得超過2個;僅允許響應報文通過其服務端口離開本機;
[root@centos7 ~]# iptables -A INPUT -d 192.168.241.10 -m iprange –src-range 172.16.1.1-172.16.1.100 -p tcp –dport 22 -m limit –limit 2/min -m state –state NEW,ESTABLISHED -j ACCEPT
[root@centos7 ~]# iptables -A OUTPUT -s 192.168.241.10 -m iprange –dst-range 172.16.1.1-172.16.1.100 -p tcp –sport 22 -m state –state ESTABLISHED -j ACCEPT
4、拒絕TCP標志位全部為1及全部為0的報文訪問本機;
[root@centos7 ~]# iptables -A INPUT -p tcp –tcp-flags ALL ALL -j DROP
[root@centos7 ~]# iptables -A INPUT -p tcp –tcp-flags ALL NONE -j DROP
5、允許本機ping別的主機;但不開放別的主機ping本機;
[root@centos7 ~]# iptables -A INPUT -p icmp –icmp-type 0 -j ACCEPT
[root@centos7 ~]# iptables -A INPUT -p icmp –icmp-type 8 -j ACCEPT
6、判斷下述規則的意義:
# iptables -N clean_in
創建自定義鏈clean_in
# iptables -A clean_in -d 255.255.255.255 -p icmp -j DROP
添加丟棄廣播包規則到clean_in鏈
# iptables -A clean_in -d 172.16.255.255 -p icmp -j DROP
添加丟棄到172.16.255.255的icmp包規則到clean_in鏈
# iptables -A clean_in -p tcp ! –syn -m state –state NEW -j DROP
添加丟棄syn不為1的新建連接包規則到clean_in鏈
# iptables -A clean_in -p tcp –tcp-flags ALL ALL -j DROP
添加丟棄標志位全為1的包規則到clean_in鏈
# iptables -A clean_in -p tcp –tcp-flags ALL NONE -j DROP
添加丟棄標志位全為0的包規則到clean_in鏈
# iptables -A clean_in -d 172.16.100.7 -j RETURN
到目標主機為172.16.100.7的包返回到主鏈
# iptables -A INPUT -d 172.16.100.7 -j clean_in
到目標主機為172.16.100.7的包匹配clean_in鏈規則
# iptables -A INPUT -i lo -j ACCEPT
放行回環接口的進入報文
# iptables -A OUTPUT -o lo -j ACCEPT
放行回環接口的流出報文
# iptables -A INPUT -i eth0 -m multiport -p tcp –dports 53,113,135,137,139,445 -j DROP
通過eth0網卡上流入本機tcp協議53,113,135,137,139,445端口的報文全部丟棄
# iptables -A INPUT -i eth0 -m multiport -p udp –dports 53,113,135,137,139,445 -j DROP
通過eth0網卡上流入本機udp協議53,113,135,137,139,445端口的報文全部丟棄
# iptables -A INPUT -i eth0 -p udp –dport 1026 -j DROP
通過eth0網卡流入本機udp協議1026端口的報文全部丟棄
# iptables -A INPUT -i eth0 -m multiport -p tcp –dports 1433,4899 -j DROP
通過eth0網卡流入本機tcp協議的1433,4899端口報文全部丟棄
# iptables -A INPUT -p icmp -m limit –limit 10/second -j ACCEPT
限制進入本機的icmp報文速率每秒鐘不超過10個
7、通過tcp_wrapper控制vsftpd僅允許172.16.0.0/255.255.0.0網絡中的主機訪問,但172.16.100.3除外;對所被被拒絕的訪問嘗試都記錄在/var/log/tcp_wrapper.log日志文件中;
[root@centos7 ~]# vim /etc/hosts.allow
vsftpd 172.16. EXCEPT 172.16.100.3
[root@centos7 ~]# vim /etc/hosts.deny
vsftpd ALL :spawn /bin/echo $(date) login attempt from %c to %s, %d >> /var/log/vsftpd.deny.log
原創文章,作者:胡安慧,如若轉載,請注明出處:http://www.www58058.com/77331