Chinaunix首页 | 论坛 | 博客
  • 博客访问: 72385
  • 博文数量: 16
  • 博客积分: 1435
  • 博客等级: 上尉
  • 技术积分: 215
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-14 10:29
文章分类
文章存档

2011年(1)

2010年(5)

2009年(10)

我的朋友

分类: LINUX

2010-03-14 23:41:44

利用端口映射的功能,可以将80端口转换一下,其实一般的DDOS攻击可以修改/proc/sys/net/ipv4/tcp_max_syn_backlog里的参数就行了,默认参数一般都很小,设为8000以上,一般的DDOS攻击就可以解决了。如果上升到timeout阶段,可以将/proc/sys/net/ipv4/tcp_fin_timeout设小点。

  大家都在讨论DDOS,个人认为目前没有真正解决的方法,只是在缓冲和防御能力上的扩充,跟黑客玩一个心理战术,看谁坚持到最后,网上也有很多做法,例如syncookies等,就是复杂点。

  sysctl -w net.ipv4.icmp_echo_ignore_all=1

  echo 1 > /proc/sys/net/ipv4/tcp_syncookies

  sysctl -w net.ipv4.tcp_max_syn_backlog="2048"

  sysctl -w net.ipv4.tcp_synack_retries="3"

  iptables -A INPUT -i eth0 -p tcp --syn -j syn-flood

  # Limit 12 connections per second (burst to 24)

  iptables -A syn-flood -m limit --limit 12/s --limit-burst 24 -j RETURN

  这个地方可以试着该该:

  iptbales -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

  虚拟主机服务商在运营过程中可能会受到黑客攻击,常见的攻击方式有SYN,DDOS等。

  通过更换IP,查找被攻击的站点可能避开攻击,但是中断服务的时间比较长。比较彻底

  的解决方法是添置硬件防火墙。不过,硬件防火墙价格比较昂贵。可以考虑利用Linux

  系统本身提供的防火墙功能来防御。

  1. 抵御SYN

  SYN攻击是利用TCP/IP协议3次握手的原理,发送大量的建立连接的网络包,但不实际

  建立连接,最终导致被攻击服务器的网络队列被占满,无法被正常用户访问。

  Linux内核提供了若干SYN相关的配置,用命令:

  sysctl -a | grep syn

  看到:

  net.ipv4.tcp_max_syn_backlog = 1024

  net.ipv4.tcp_syncookies = 0

  net.ipv4.tcp_synack_retries = 5

  net.ipv4.tcp_syn_retries = 5

  tcp_max_syn_backlog是SYN队列的长度,tcp_syncookies是一个开关,是否打开SYN Cookie

  功能,该功能可以防止部分SYN攻击。tcp_synack_retries和tcp_syn_retries定义SYN

  的重试次数。

  加大SYN队列长度可以容纳更多等待连接的网络连接数,打开SYN Cookie功能可以阻止部分

  SYN攻击,降低重试次数也有一定效果。

  调整上述设置的方法是:

  增加SYN队列长度到2048:

  sysctl -w net.ipv4.tcp_max_syn_backlog=2048

  打开SYN COOKIE功能:

  sysctl -w net.ipv4.tcp_syncookies=1

  降低重试次数:

  sysctl -w net.ipv4.tcp_synack_retries=3

  sysctl -w net.ipv4.tcp_syn_retries=3

  为了系统重启动时保持上述配置,可将上述命令加入到/etc/rc.d/rc.local文件中。

 
 
阅读(515) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~