有的时候我们的对外提供服务的机器即使在最外层有了硬件防火墙也要自身做一些简单的防护,硬件防火墙也难免被攻破,系统自身有了防护功能,也能拖延全部被黑的时间,相信一个合格的SA应该能够在这段时间及时发现了***痕迹了。
很好很强大!
在最后给大家个好东西,这个是 Daniel Robbins (drobbins@gentoo.org), 总裁兼 CEO, Gentoo Technologies, Inc. 写的动态iptables防火墙,添加和删除被阻止的IP都很方便,使用说明都在里面了,哈哈
下面简单的介绍linux自带的IPTABES的防护规则
防火墙安全的配置原则是:全部拒绝,在允许相应的包进入,即:没有明确允许的全部拒绝!
----------------------------------------
基本配置举例:
# iptables -A INPUT -s [!] 192.168.2.110 [指定匹配的主机] [!]:匹配指定主机之外的主机
# iptables -A INPUT -s [!] 192.168.2.0/24[指定匹配的网络] [!]:匹配指定网络之外的网络
# iptables -A INPUT -p tcp -m mutilport --source-port 22,53,80,110 [匹配多个源端口]
# iptables -A INPUT -p tcp -m mutilport --destination-port 22,53,80,110 [匹配多个目的端口]
# iptables -p tcp --syn [--syn 等于 “--tcp-fiags SYN,RST,ACK SYN”的简写]
# iptables -A INPUT -p tcp -m state --state ESTABLISHED RELATED -j ACCEPT [对于已经建立的连接允许进入]
# iptables -A INPUT -P TCP !SYN -M STATE --STATE NEW -j LOG --log-prefix "日志的标志字符"
[记录日志]
-----------------------------------------
NAT防火墙发布服务器配置: [ 拨号上网]
# iptables -t nat -A [PREROUTING] -i [ppp0] -p [tcp/udp] -d [公网接口地址] --dport[发布服务的端口号]
-j DNAT --to-destination [IP]
NAT上网配置:
# iptables -t nat -A POSTROUTING -O [PPP0] -j MASQUERADE
转换内部网络地址IP为公有IP地址:
# iptables -t nat -A POSTROUTING -s [ 内部IP地址范围] -o [出站接口] -j SNAT --to [ 外部接口地址]
-------------------------------------------
拒绝******:
# iptables -A [FORWARD / INPUUT] -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT
[对碎片进行限制,防止碎片***]
# iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT
[限制ICMP数据包允许一秒通过一个包 限制触发条件是 10 个包 ]
# iptables -A INPUT -m limit --limit 3/minute --limit-burst 3
-j LOG --log-level INFO --log-prefix "IP INPUT packaget died:"
# iptables -A FORWARD -m limit --limit 3/minute --limit-burst 3
-j LOG --log-level DEBUG --log-prefix "IP INPUT packaget died:"
# iptables -A OUTPUT -m limit --limit 3/minute --limit-burst 3
-j LOG --log-level DEBUG --log-prefix "IP INPUT packaget died:"
--------------------------------------------
拒绝 ping 回应:
# iptables -A -INPUT -p icmp -i eth0 -j DROP
打开内核的路由转发功能:
# echo "1" > /proc/sys/net/ipv4/ip_forward
[注意:重启机器后失效,建议写在启动脚本里:/etc/rc.d/rc.local/ 中]
----------------------------------------------
透明代理重定向配置:
# iptables -t nat PREROUTING -i eth0 -p tcp -s 192.168.2.0/24 --dport 80 -j REDIRECT --to-port 3128
保存配置与恢复配置:
# iptables-save > /etc/sysconfig/iptables[保存路径]
# iptables-restore < /etc/sysconfig/iptables [保存路径] |