linux 防DDOS防火墙脚本
2011-03-30 10:03
260 查看
vi /usr/src/iptables-ddos.sh
echo "/bin/sh /usr/src/iptables-ddos.sh" >> /etc/rc.local
脚本如下:
#!/bin/bash
modprobe ipt_recent ip_list_hash_size=0 ip_list_tot=16384 ip_pkt_list_tot=200
iptables -F SYN_FLOODING
iptables -X SYN_FLOODING
iptables -N SYN_FLOODING
iptables -t filter -F
iptables -A INPUT -i eth0 -m state --state INVALID -j DROP
iptables -A INPUT -p all -m state --state ESTABLISHE,RELATED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --syn -m multiport --dports 80,443 -m limit --limit 1/m --limit-burst 300 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --syn -m multiport --dports 80,443 -j SYN_FLOODING
iptables -A SYN_FLOODING -i eth0 -p tcp --syn -m multiport --dports 80,443 -m recent --name SYN_FLOOD --update --second 120 --hitcount 1 -j ACCEPT
iptables -A SYN_FLOODING -i eth0 -p tcp --syn -m multiport --dports 80,443 -m recent --name SYN_FLOOD --set
iptables -A SYN_FLOODING -i eth0 -p tcp --syn -m multiport --dports 80,443 -j DROP
#linux DDOS
echo 2 > /proc/sys/net/ipv4/tcp_syn_retries
echo 2 > /proc/sys/net/ipv4/tcp_synack_retries
echo 2048 > /proc/sys/net/ipv4/tcp_max_syn_backlog
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
#禁止连续ping
iptables -A INPUT -p icmp --icmp-type 8 -m recent --name icmp_db --update --second 60 --hitcount 6 -j DROP
iptables -A INPUT -p icmp --icmp-type 8 -m recent --name icmp_db --set
#防止扫描端口(包含过滤连续ping功能,所以禁止ping要放在前面)
iptables -A INPUT -p all -m state --state NEW -m recent --name port_scan --update --seconds 1800 --hitcount 10 -j DROP
iptables -A INPUT -p tcp --syn -m state --state NEW -m multiport --dports 22122,80,7777,1723 -j ACCEPT
iptables -A INPUT -p all -m recent --name port_scan --set
# ip 欺骗防护
iptables -A INPUT -i ! lo -s 127.0.0.0/8 -j DROP
iptables -A INPUT -p all -s 10.254.0.0/24 -j ACCEPT
iptables -A INPUT -p all -s 10.0.0.0/8 -j DROP
iptables -A INPUT -p all -s 172.16.0.0/12 -j DROP
iptables -A INPUT -p all -s 192.168.0.0/16 -j DROP
iptables -A INPUT -p ! udp -s 224.0.0.0/4 -j DROP
for i in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 1 > $i
done
相关文章推荐
- Linux下功能强大的防DDOS攻击SHELL脚本 可打造自己的DDOS防火墙
- 那些我们常用的Linux VPS一键安装Web网站环境脚本
- linux脚本发送邮件 shell发送邮件(使用 msmtp+mutt+shell来实现)
- Oracle技术之Linux 常用oracle监控shell脚本(一)
- Linux bash shell脚本语法入门
- linux kill tomcat shell 脚本
- 用shell脚本监控linux系统 自动发送邮件
- Linux--apache日志分割脚本
- shell脚本实现linux系统文件完整性检测
- linux监控脚本
- 感染Linux执行程序的Shell病毒脚本
- Linux 源码计数脚本
- linux下简单time machine实现,可选择快速备份恢复脚本
- Linux通过脚本实现远程自动备份
- linux下自动化格式分区方法(非交互,可以用于shell脚本)
- shell脚本 linux
- linux 启动脚本研究--【环境变量相关】
- linux定时脚本执行任务
- Linux学习之第一个shell脚本
- Linux脚本学习攻略笔记16