1.iptables简介:
防火墙可以分为主机防火墙和网络防火墙,主机防火墙是对单个主机进行防护,网络防火墙是对其背后的局域网进行防护。
防火墙也可以分为硬件防火墙和软件防火墙,硬件防火墙贵好用,软件防火墙便宜,性能差。
1)mangle
2)filter表
iptables -t filter -L -n
iptables -t filter -A output -j DROP -p tcp -d 目的地址
3)nat表
iptables -t nat -L
a) pre:
b)post:
2.iptables应用:
2.1 iptables可以用来降低syn攻击的危害
1)修改等待数:
sysctl -w net.ipv4.tcp_max_syn_backlog=2048
2)启用syncookies:
sysctl -w net.ipv4.tcp_syncookies=1
3)修改重试次数:
sysctl -w net.ipv4.tcp_syn_retries = 0
重传次数设置为0,只要收不到客户端的响应,立即丢弃该连接,默认设置为5次
4)限制单IP并发数:
使用iptables限制单个地址的并发连接数量
iptables -t filter -A INPUT -p tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT
5)限制C类子网并发数:
使用iptables限制单个c类子网的并发链接数量:
iptables -t filter -A INPUT -p tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 10 --connlimit-mask 24 -j REJECT
6)限制单位时间内的连接数:
iptables -t filter -A INPUT -p tcp --dport 80 -m --state --syn -m recent --set
iptables -t filter -A INPUT -p tcp --dport 80 -m --state --syn -m recent --update -- seconds 60 --hitcount 30 -j DROP
7)修改/etc/modprobe.conf,记录n个ip地址,对每个地址的包的数量进行限制:
options ipt_recent ip_list_tot=1000 ip_pkt_list_tot=60
作用:记录10000个地址,每个地址60个包,ip_list_tot最大为8100,超过这个 数值会导致iptables错误
8)限制单个地址最大连接数:
iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 -j D