批量封掉危险的IP网段

根据dshield.org的黑名单,可得到一堆危险的网段,中国的IP也占了一些,我看估计都是肉鸡.
防止这些危险的机器向我们发起攻击,决定把这些危险的IP网段封掉(debian测试通过).
当然,iptables也能做,但是在大流量攻击面前,无效路由显得更轻松,不会像iptables那样占用大量资源!

  1. #!/bin/bash
  2. # filename:  block_IPs.sh
  3. # auth: baiqiuyi.com
  4. curl "http://www.spamhaus.org/drop/drop.lasso"|awk 'NR>1{print $1}' >ip
  5. if [ $? -eq 0 ];then
  6. while read ip
  7.    do
  8. /usr/bin/ipcalc $ip|sed -n '/Address/p;/Netmask/p'|sed -r 's/.*( ([0-9]{1,3}\.){3}[0-9]{1,3}).*/\1/'|sed 'N;s/\n/ netmask /g;s/^/route add -net/;s/$/ reject/'|bash
  9.    done < ip
  10.    rm -f ip
  11. exit 0
  12.  fi

附: ipcalc下载地址

使用php脚本批量封IP

对于网络被攻击,管理员都希望能有简单而又有效的处理方式,使用shell也是个好办法,其他编程语言也都可以做到。今天我写个简单的php脚本来封IP。
linux杀手锏之无效路由_route-add-or-del-host-ip-reject这篇日志里介绍了无效路由的block方法。
现在简单的介绍一下这个脚本的工作流程,首先他是读取apache2目录下的日志文件,我们可以先对攻击者的特征做出判断,然后把攻击者的IP列出来,放在一个文本文件,至于是awk或是sed的来抽取及如何判断,这个我想应该管理服务器的人会比我清楚。
我的测试文本文件是这样的:
Read more »

Linux杀手锏之无效路由_route-add-or-del-host-ip-reject

昨天在iptables入门学习之iptables的INPUT,OUTPUT,FORWARD 这篇文章里提到用iptables来封锁一个IP的数据包的进或出。但是如果数据量很大的话,iptables就会随着数据量增大而增加机器的负担。其实对付大流量的攻击,国外的ISP在网络层上直接就block掉,直译为“无效路由”命令是: route add -host ip或者域名 reject
查看路由表,不解析成域名或机器名,只显示IP, 等价于netstat -rn
指定的规则将在重启后失效

  1. debian:~# route -n
  2. Kernel IP routing table
  3. Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
  4. 192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
  5. 0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0

Read more »

1 1