无作为
不仅仅是一种态度!
当前位置: 无作为 » 技术教程 » Linux下配置iptables防止网站常见CC DDOS DOS SYN攻击

Linux下配置iptables防止网站常见CC DDOS DOS SYN攻击

最近也是迫不得已的学习了一些关于Linux下配置iptables的相关知识,表示既然迟早需要用到,不如就早点学习一下吧,这里也算是做个笔记,记录一些学习过程,方便下次参考,同时也希望能够帮助到大家,Linux下配置iptables防止网站常见CC DDOS DOS SYN攻击

我们知道在Linux下配置iptables可以起到一定的防御左右,比如面对小型的CC、dos、ddos和syn攻击等等,这里需要注意的是,只能够拦截小型的攻击,因为所有攻击还是打到了你的服务器上面,一样会对你的服务器造成影响,不过修改了相关的限制规则,往往会有意想不到的效果哦。

关于防火墙iptables的修改

这里既然是对于防火墙的修改,那么我们肯定是需要了解一下修改规则了,下面是一些常用的规则:

1) 重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off
start|stop|restart #启动|停止|重启

2) 即时生效,重启后失效
开启: service iptables start
关闭: service iptables stop

—–
service iptables restart  重启防火墙 (每次修改需要重启生效哦)
或者
/etc/init.d/iptables restart
查看:iptables -L(查看是否生效)

Linux下配置iptables防CC自用规则

#CC
-A INPUT -p tcp –dport 80 -m state –state NEW -m recent –name apache_server –set -j ACCEPT
-A INPUT -p tcp –dport 80 -m recent –name BAD_HTTP_ACCESS –set -j ACCEPT
-A INPUT -p tcp –syn -m limit –limit 12/s –limit-burst 24 -j ACCEPT
-A INPUT -p tcp -m tcp –tcp-flags SYN,RST,ACK SYN -m limit –limit 20/sec –limit-burst 200 -j ACCEPT
-A INPUT -p tcp -m state –state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i eth0 -p tcp –tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
#connlimit CC
-A INPUT -i eth0 -p tcp –syn -m connlimit –connlimit-above 15 -j DROP
-I INPUT -p tcp –syn –dport 80 -m connlimit –connlimit-above 25 -j REJECT
-I FORWARD -p tcp –syn –dport 80 -m connlimit –connlimit-above 5 -j DROP

将上面规则直接加入iptables即可,然后重启生效。

Linux下配置iptables防ddos、syn轻量级攻击

#防止SYN攻击 轻量级预防
iptables -N syn-flood
iptables -A INPUT -p tcp –syn -j syn-flood
iptables -I syn-flood -p tcp -m limit –limit 3/s –limit-burst 6 -j RETURN
iptables -A syn-flood -j REJECT
#防止DOS太多连接进来,可以允许外网网卡每个IP最多15个初始连接,超过的丢弃
iptables -A INPUT -i eth0 -p tcp –syn -m connlimit –connlimit-above 15 -j DROP
iptables -A INPUT -p tcp -m state –state ESTABLISHED,RELATED -j ACCEPT

#用Iptables抵御DDOS (参数与上相同)
iptables -A INPUT -p tcp –syn -m limit –limit 12/s –limit-burst 24 -j ACCEPT
iptables -A FORWARD -p tcp –syn -m limit –limit 1/s -j ACCEPT

前面的iptables统一去除,即可直接添加。

当然简洁一点的可以直接使用下面的:

#anti syn,ddos
-A FORWARD -p tcp –syn -m limit –limit 1/s –limit-burst 5 -j ACCEPT
-A FORWARD -p tcp –tcp-flags SYN,ACK,FIN,RST RST -m limit –limit 1/s -j ACCEPT
-A FORWARD -p icmp –icmp-type echo-request -m limit –limit 1/s -j ACCEPT

说明:
第一行:每秒中最多允许5个新连接
第二行:防止各种端口扫描
第三行:Ping洪水攻击(Ping of Death)
大家可以根据需要调整或关闭,这里无作为是这么修改的。

Linux下iptables常用命令

屏蔽一个IP
# iptables -I INPUT -s 192.168.0.1 -j DROP

怎么防止别人ping我??
# iptables -A INPUT -p icmp -j DROP

防止同步包洪水(Sync Flood)
# iptables -A FORWARD -p tcp –syn -m limit –limit 1/s -j ACCEPT

防止各种端口扫描
# iptables -A FORWARD -p tcp –tcp-flags SYN,ACK,FIN,RST RST -m limit –limit 1/s -j ACCEPT

Ping洪水攻击(Ping of Death)
#iptables -A FORWARD -p icmp –icmp-type echo-request -m limit –limit 1/s -j ACCEPT

# NMAP FIN/URG/PSH
# iptables -A INPUT -i eth0 -p tcp –tcp-flags ALL FIN,URG,PSH -j DROP

# Xmas Tree
iptables -A INPUT -i eth0 -p tcp –tcp-flags ALL ALL -j DROP

# Another Xmas Tree
# iptables -A INPUT -i eth0 -p tcp –tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP

# Null Scan(possibly)
iptables -A INPUT -i eth0 -p tcp –tcp-flags ALL NONE -j DROP

# SYN/RST
# iptables -A INPUT -i eth0 -p tcp –tcp-flags SYN,RST SYN,RST -j DROP

# SYN/FIN — Scan(possibly)
# iptables -A INPUT -i eth0 -p tcp –tcp-flags SYN,FIN SYN,FIN -j DROP

##限制对内部封包的发送速度
#iptables -A INPUT -f -m limit –limit 100/s –limit-burst 100 -j ACCEPT
##限制建立联机的转
#iptables -A FORWARD -f -m limit –limit 100/s –limit-burst 100 -j ACCEPT

好了,以上就是这次的学习笔记,大家按照自己的服务器修改对应规则,这里的规则并不是所有的服务器都试用,还和内核有关,

大家如果出错,删除对应规则即可,无作为自己也是一条一条的试的,切记,以上规则仅仅只是轻量级防御,想要更加安全点,请自行搭建盾机或者使用cdn来隐藏自己的真实地址。

在这里无作为还想附上最后一句话:有钱以上的东西都可以无视,直接出钱买防御吧,哈哈。

AD:>>>宅男福利点击在线观看<<<

历史上的今天:

所有免费资源、福利、电影、破解软件未经允许不得转载:www.wuzuowei.net无作为 » Linux下配置iptables防止网站常见CC DDOS DOS SYN攻击
分享到: 更多 (0)

来句评论吧! 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

无作为-不仅仅是一种态度

登录/注册文章归档