这里我们将为DirectAdmin面板增加IP封禁的功能,这样在DirectAdmin的超级监控中就可以将可以的IP地址直接列入黑名单,禁止此IP访问网站和后台,也增加了检测log文件的功能,发现可疑的信息也将会列入黑名单。
第一部分我们先设置防火墙,一下的操作适用于CentOS/Fedora类型的系统,没有在Debian和FreeBSD系统上面测试过,是否可用并不清楚。
代码如下 | 复制代码 |
cd /etc/init.d mv iptables iptables.backup wget http://files.directadmin.com/services/all/iptables chmod 755 iptables |
此处我们先将原来的iptables重新命名,这样可以最大限度的减少防火墙的配置错误,出现错误还原即可,否则可能会出现一些意想不到的情况。
jquery1395210524796="20" />
注意:此防火墙配置默认的SSH为22端口,所以要么自己手动修改登录端口,或者手动修改防火墙配置。
下面我们将重新启动iptables,使得刚刚配置的防火墙生效。
代码如下 | 复制代码 |
|
此时我们再次确认一下所有的端口和链接正常,包括正常的后台链接能够打开,否则请关闭此防火墙配置,进行还原。因为上次我们修改了DirectAdmin的默认登录端口为12345,这里小站测试了一下,这个防火墙规则封掉了这个端口,所以我们重新将端口修正为2222,不会修改的朋友请看“DirectAdmin的汉化和端口的修改”,修改之后我们正常的打开了DirectAdmin的登陆面板。
接下来第二部分就是安装DirectAdmin的block_ip.sh模块用来创建一个文件来列出被封禁的IP,具体命令如下:
代码如下 | 复制代码 |
cd /usr/local/directadmin/scripts/custom wget http://files.directadmin.com/services/all/block_ip.sh wget http://files.directadmin.com/services/all/show_blocked_ips.sh wget http://files.directadmin.com/services/all/unblock_ip.sh chmod 700 block_ip.sh show_blocked_ips.sh unblock_ip.sh |
这时候登陆DirectAdmin就可以封禁IP地址了。
管理员-->强力监控-->Block IPs
在此之前我们要创建两个文件,一个是IP黑名单,一个是IP白名单,具体作用大家都知道,命令如下:
代码如下 | 复制代码 |
|
从上图可以看到总是有一些无聊的人喜欢疯狂的登陆DirectAdmin的后台。所以我们将其一一添加到黑名单。
最后一部分是可选的,以上的所有操作都是靠管理员自己手动来封IP的,要想实现自动封禁IP,就需要这部分的操作,这部分也就是让DirectAdmin自动检测log等相关文件,用来实现可疑的IP自动填到黑名单,在操作之前要自己先测试和操作顺利之后才实施此项操作,避免DirectAdmin将自己的IP添加到黑名单。
代码如下 | 复制代码 |
|
上面命令执行完成之后,DirectAdmin就会自己检测可以的IP了,此项功能经小站测试,功能还是不错的,小站的IP黑名单一直在增加,确实是很实用的功能。
原文来自:www.defel.net