minifw 3.8 入门(6)自定义防火墙的设置
在本例中,防火墙位于网关的位置,所以我们主要是防止来自Internet的攻击,其次是配置好内网。1、防止扫描
iptables -A INPUT -i eth1 -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG,PSH,FIN,NONE -j DROP 1>/dev/null 2>&1
iptables -A INPUT -i eth1 -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG,PSH,FIN,NONE -j DROP
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT 1>/dev/null 2>&1
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT 1>/dev/null 2>&1
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
2、利用内置的LIMIT功能保护服务器(假如服务器IP=202.96.21.1)
iptables –A FORWARD –p tcp –d 202.96.21.1-m limit –limit 1/s –j ACCEPT 1>/dev/null 2>&1
iptables –A FORWARD –p tcp –d 202.96.21.1-m limit –limit 1/s –j ACCEPT
服务器地址202.96.21.1 将在一定程度上防止DOS攻击
3、防止ICMP重定向欺骗,启用ICMP错误消息保护,不响应ICMP echo广播和多播请求
iptables -A INPUT -p icmp --icmp-type echo-request -i eth1 -j DROP 1>/dev/null 2>&1
iptables -A INPUT -p icmp --icmp-type echo-request -i eth1 -j DROP
4、开启TCP-SYN- Flood攻击防御
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT 1>/dev/null 2>&1
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
5、防止广播包从IP代理服务器进入局域网:
iptables -A INPUT -s 255.255.255.255 -i eth1 -j DROP 1>/dev/null
iptables -A INPUT -s 255.255.255.255 -i eth1 -j DROP
iptables -A INPUT -s 224.0.0.0/224.0.0.0 -i eth1 -j DROP 1>/dev/null 2>&1
iptables -A INPUT -s 224.0.0.0/224.0.0.0 -i eth1 -j DROP
iptables -A INPUT -d 0.0.0.0 -i eth1 -j DROP 1>/dev/null 2>&1
iptables -A INPUT -d 0.0.0.0 -i eth1 -j DROP
6、防止IP欺骗
所谓的IP欺骗就是指在IP包中存在着不可能的IP源地址或目标地址。eth1是一个与外部Internet相连,而192.168.20.0则是内部网的网络号,也就是说,如果有一个包从eth1进入主机,而说自己的源地址是属于192.168.20.0网络,或者说它的目标地址是属于这个网络的,那么这显然是一种IP欺骗,所以我们使用DROP将这个包丢弃。
iptables -A INPUT -d 192.168.0.0/255.255.255.0 -i eth1 -j DROP 1>/dev/null 2>&1
iptables -A INPUT -d 192.168.0.0/255.255.255.0 -i eth1 -j DROP
iptables -A INPUT -s 192.168.0.0/255.255.255.0 -i eth1 -j DROP 1>/dev/null 2>&1
iptables -A INPUT -s 192.168.0.0/255.255.255.0 -i eth1 -j DROP
同样的,如果有包要通过eth1向Internet,而且它的源地址或目标地址是属于网络192.168.20.0,那么显然也是不可能的。我们仍然使用DROP将它丢弃。
iptables -A OUTPUT -d 192.168.0.0/255.255.255.0 -o eth1 -j DROP 1>/dev/null 2>&1
iptables -A OUTPUT -d 192.168.0.0/255.255.255.0 -o eth1 -j DROP
iptables -A OUTPUT -s 192.168.0.0/255.255.255.0 -o eth1 -j DROP 1>/dev/null 2>&1
iptables -A OUTPUT -s 192.168.0.0/255.255.255.0 -o eth1 -j DROP
7、开通友好网站(不做透明代理、不过滤)
iptables -t nat -I PREROUTING -d 221.232.128.35 -p tcp --dport 80 -j ACCEPT 1>/dev/null 2>&1
iptables -t nat -I PREROUTING -d 221.232.128.35 -p tcp --dport 80 -j ACCEPT
iptables -t nat -I PREROUTING -d 61.145.116.98 -p tcp --dport 80 -j ACCEPT 1>/dev/null 2>&1
iptables -t nat -I PREROUTING -d 61.145.116.98 -p tcp --dport 80 -j ACCEPT
8、设置上网时间
设置IP 192.168.2.3在周一到周五早上8点到下午6点能访问互联网
iptables -I FORWARD -s 192.168.2.3 -m time --timestart 8:00 --timestop 18:00 --days Mon,Tue,Wed,Thu,Fri -j ACCEPT 1>/dev/null 2>&1
iptables -I FORWARD -s 192.168.2.3 -m time --timestart 8:00 --timestop 18:00 --days Mon,Tue,Wed,Thu,Fri -j ACCEPT
9、实现IP-MAC绑定管理
对局域网主机进行IP-MAC绑定,最大的好处就:如果某主机私自修改IP或者MAC,或者有外来人员私自接入企业局域网,都会被限制,使其无法访问Internet或者局域网,实现IP和MAC一一对应绑定后,不满足的将丢弃。
iptables -I FORWARD -s 192.168.0.0/24 -j DROP 1>/dev/null 2>&1
iptables -I FORWARD -s 192.168.0.0/24 -j DROP
iptables -I FORWARD -s 192.168.0.2 -m mac --mac-source 00:0E:0C:3B:F6:DA -j ACCEPT 1>/dev/null 2>&1
iptables -I FORWARD -s 192.168.0.2 -m mac --mac-source 00:0E:0C:3B:F6:DA -j ACCEPT
iptables -I FORWARD -s 192.168.0.3 -m mac --mac-source 00:0E:0C:3B:F6:1A -j ACCEPT 1>/dev/null 2>&1
iptables -I FORWARD -s 192.168.0.3 -m mac --mac-source 00:0E:0C:3B:F6:1A -j ACCEPT
10、封闭高危或不良端口,如135、139等端口
iptables -A FORWARD -p tcp --dport 端口号 -j DROP 1>/dev/null 2>&1
iptables -A FORWARD -p tcp --dport 端口号 -j DROP
iptables -A FORWARD -p udp --dport 端口号 -j DROP 1>/dev/null 2>&1
iptables -A FORWARD -p udp --dport 端口号 -j DROP
11、封闭高危或不良IP
iptables -A FORWARD -p tcp -d 网络IP -j DROP 1>/dev/null 2>&1
iptables -A FORWARD -p tcp -d 网络IP -j DROP
12 、阻塞网络上所有的P2P连接请求
iptables -A FORWARD -m ipp2p -j DROP 1>/dev/null 2>&1
iptables -A FORWARD -m ipp2p -j DROP
13、 阻塞网络上fasttrack和bittorrent协议连接请求
iptables -A FORWARD -m ipp2p --p2p-protocol fasttrack,bittorrent -j DROP 1>/dev/null 2>&1
iptables -A FORWARD -m ipp2p --p2p-protocol fasttrack,bittorrent -j DROP
14、设置L7-PROTOCOLS过滤
百宝:
iptables -t mangle -A POSTROUTING -m layer7 --l7proto 100bao -j DROP 1>/dev/null 2>&1
iptables -t mangle -A POSTROUTING -m layer7 --l7proto 100bao -j DROP
阻止bittorretn协议:
iptables -t mangle -A POSTROUTING -m layer7 --l7proto bittorrent -j DROP 1>/dev/null 2>&1
iptables -t mangle -A POSTROUTING -m layer7 --l7proto bittorrent -j DROP
阻止socks代理:
iptables -t mangle -A POSTROUTING -m layer7 --l7proto socks -j DROP 1>/dev/null 2>&1
iptables -t mangle -A POSTROUTING -m layer7 --l7proto socks -j DROP
当然,还有好多设置,十分灵活,就看你对网络的要求啦!
以上只是抛砖,请各位高手指正,如果有更好的设置,别忘了要分享哦! 提个建议,楼主为什么不写成脚本呢,有些参数用WEB界面取值不就可以了吗。 好文不得不支持 谢谢!学习学习!
页:
[1]