linux系统怎么防止DDOS攻击

9 views
Skip to first unread message

Oneju

unread,
Apr 19, 2009, 1:44:10 AM4/19/09
to GDUT-Linux, gzuc-...@googlegroups.com
用squid是利用端口映射的功能,可以将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文件中。
  2. 抵御DDOS
  DDOS,分布式拒绝访问攻击,是指黑客组织来自不同来源的许多主机,向常见的端口,如80,25等发送大量连接,但这些客户端只建立连接,不是正
常访问。由于一般Apache配置的接受连接数有限(通常为256),这些“假” 访问会把Apache占满,正常访问无法进行。使用ipchains
抵御DDOS,就是首先通过netstat命令发现攻击来源地址,然后用ipchains命令阻断攻击。发现一个阻断一个。
首先查看ipchains服务是否设为自动启动:
chkconfig --list ipchains
Reply all
Reply to author
Forward
0 new messages