DD-WRT也能防御网络攻击, 使用简单自定义脚本实现增强防火墙功能

许多人以为DD-WRT内置的防火墙是个鸡肋, 并没有多大作用, 甚至提倡关闭DD-WRT内置的防火墙来节省路由器的资源.

其实路由器的防火墙看似简单, 没多大功能, 其实就算最简单的几项都可以让网络更加安全, 何况DD-WRT内置iptables防火墙, 可以设置定制出非常严厉的的防火墙规则.

但是iptables规则对一般人来说并不简单, 而且几乎每台PC上都已经安装了个人防火墙, 所以路由上的防火墙主要用来防护一些比较容易可能影响到网络的威胁即可, 这样一来就不会太过于影响路由器的性能, 毕竟DD-WRT的防火墙也会消耗路由器的CPU和内存.

我们可以用简单的脚本命令来实现DD-WRT上的DoS保护, 过载保护, 中间人攻击(MITMA, man in the middle attack), PING攻击等主要的防火墙功能, 这些不需要任何特定参数和IP规则, 对于家庭网络的保护最好不过了.

命令部分来之DDWRT官方Wiki, 点击查看

符号"#"后的内容为注释, 实际使用时可以把"#"后面的内容整句删除.

复制下面的命令, 粘贴到DD-WRT的启动命令上即可.



echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
  echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
  echo 1 > /proc/sys/net/ipv4/ip_forward

# 下面两个注释掉的参数会影响eMule等软件, 请自行调试后决定是否开启.
  #echo 1024 > /proc/sys/net/ipv4/ipfrag_high_thresh
  #echo 512 > /proc/sys/net/ipv4/ipfrag_low_thresh 
  echo 64000 > /proc/sys/net/ipv4/ipfrag_high_thresh
  echo 48000 > /proc/sys/net/ipv4/ipfrag_low_thresh 

echo 10 > /proc/sys/net/ipv4/ipfrag_time 
  echo 5 > /proc/sys/net/ipv4/icmp_ratelimit
  echo 1 > /proc/sys/net/ipv4/tcp_syncookies
  echo 0 > /proc/sys/net/ipv4/conf/eth1/accept_source_route
  echo 0 > /proc/sys/net/ipv4/conf/eth1/accept_redirects 
  echo 1 > /proc/sys/net/ipv4/conf/eth1/log_martians 
  echo 10 > /proc/sys/net/ipv4/neigh/eth1/locktime
  echo 0 > /proc/sys/net/ipv4/conf/eth1/proxy_arp
  echo 50 > /proc/sys/net/ipv4/neigh/eth1/gc_stale_time

#
  # 下面的命令确保提供最后保护和对于"中间人"MITM攻击提供适当的防御
  # 

echo 0 > /proc/sys/net/ipv4/conf/eth1/send_redirects
  echo 0 > /proc/sys/net/ipv4/conf/eth1/secure_redirects
  echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
  echo 5 > /proc/sys/net/ipv4/igmp_max_memberships
  echo 2 > /proc/sys/net/ipv4/igmp_max_msf
  echo 1024 > /proc/sys/net/ipv4/tcp_max_orphans
  echo 2 > /proc/sys/net/ipv4/tcp_syn_retries
  echo 2 > /proc/sys/net/ipv4/tcp_synack_retries
  echo 1 > /proc/sys/net/ipv4/tcp_abort_on_overflow
  echo 10 > /proc/sys/net/ipv4/tcp_fin_timeout
  echo 0 > /proc/sys/net/ipv4/route/redirect_number
  echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
  echo 1 > /proc/sys/net/ipv4/conf/eth1/rp_filter
  echo 1 > /proc/sys/net/ipv4/tcp_syncookies
  echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
  echo 61 > /proc/sys/net/ipv4/ip_default_ttl

# 调整超时防御DoS攻击
  echo "1800" > /proc/sys/net/ipv4/tcp_keepalive_time
  echo "0" > /proc/sys/net/ipv4/tcp_window_scaling
  echo "0" > /proc/sys/net/ipv4/tcp_sack

# 类似Windows XP的包检查防火墙功能
  echo 4096 87380 4194304 >/proc/sys/net/ipv4/tcp_rmem
  echo 4096 87380 4194304 >/proc/sys/net/ipv4/tcp_wmem

# 检查网络超载 (详细的拥堵通知)
  echo 1 > /proc/sys/net/ipv4/tcp_ecn

# 修改外出流量的端口范围
  echo "30000 60000" > /proc/sys/net/ipv4/ip_local_port_range


EI测试DD-WRT Wiki原代码中的LED提示指示没有成功, 原代码上的一些可有可无的命令已经去除.

直接添加到DD-WRT启动命令后路由应该会自动重启, 测试是否成功的最简单方式就是直接Ping路由的IP地址, 返回的是超时或者无法连接就表示已经成功.

标签: ,

作者: EI

链接: DD-WRT也能防御网络攻击, 使用简单自定义脚本实现增强防火墙功能

本站所有文章,除特别标明外, 皆为原创. 如需转载, 请复制粘贴下面的代码到文章底部.

转载自 <a href="http://www.ei2u.com/dd-wrt/407.html" title="DD-WRT也能防御网络攻击, 使用简单自定义脚本实现增强防火墙功能" rel="bookmark">DD-WRT也能防御网络攻击, 使用简单自定义脚本实现增强防火墙功能 | e网软摘</a>