手机
当前位置:查字典教程网 >电脑 >电脑安全教程 >脚本防止SSH和vsftpd暴力破解的代码分享
脚本防止SSH和vsftpd暴力破解的代码分享
摘要:我随便看了看/var/log/secure日志,显示如下:复制代码代码如下:118.33.110.52=2834119.145.254.77...

我随便看了看/var/log/secure日志,显示如下:

复制代码代码如下:

118.33.110.52=2834

119.145.254.77=37

121.254.179.199=226

121.88.250.243=35

200.29.110.104=168

202.78.173.199=250

222.221.2.210=373

这里面除了119.145.254.77和121.88.250.243是正常的外,其它的基本都是恶意IP。

由于我的服务器是置于LVS集群后面,所以我原来想用iptables的recent模块解决这个问题的方法估计是行不通的。而且,服务器的系统安装的是CentOS 5.5 x86_64,iptables还暂时不支持此模块,报错如下:

iptables: Unknown error 18446744073709551615

iptables: Unknown error 18446744073709551615而由于机器已经在跑重要的业务,我又不想去升级内核,免得影响正常的网站运营,所以iptables的想法暂时告一段落;后来我又想到用HostsDeny的方法来解决这个问题,感觉这个方法还是比较繁琐,还不如自己手动写脚本来解决这个麻烦,脚本内容如下:

复制代码代码如下:

#! /bin/bash

cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /root/black.txt

DEFINE="100"

for i in `cat /root/black.txt`

do

IP=`echo $i |awk -F= '{print $1}'`

NUM=`echo $i|awk -F= '{print $2}'`

if [ $NUM -gt $DEFINE ];

then

grep $IP /etc/hosts.deny > /dev/null

if [ $? -gt 0 ];

then

echo "sshd:$IP" >> /etc/hosts.deny

echo "vsftpd:$IP" >> /etc/hosts.deny

fi

fi

done

脚本思路如下:

由于/var/log/secure是以星期为轮询的,所以我们每次可以查看这个文件,利用SHELL脚本统计出其中访问失败比较频繁的IP,并定义一个阀值为100,如果大于100的话就将其放进/etc/hosts.deny文件,阻止其继续访问vsftpd和ssh;然后将其写进 crontab计划列表里,每隔一段时间进行一次排查,如果下次排查的某IP次数又大于100,首先检查它在不在我们的黑名单,如果在的话就无视过去;如果不在,就继续添加进/etc/hosts.deny文件。

我的/etc/crontab文件最后一行为

* */1 * * * root sh /root/hosts_deny.sh即每隔1小时就重复执行一次这个脚本,这里也有一个情况要说明下,/var/log/secure是每隔一个星期轮询一次的,所以我们这里可以根据服务器的具体情况来配置多少时间执行一次此脚本,暴力破解频繁的机器可适当缩小这个周期。

我的公网机器运行脚本一段时间后,/etc/hosts.deny文件如下:

复制代码代码如下:

sshd:119.145.254.77

vsftpd:119.145.254.77

sshd:222.221.2.210

vsftpd:222.221.2.210

sshd:118.218.136.25

vsftpd:118.218.136.25

sshd:118.33.110.52

vsftpd:118.33.110.52

sshd:123.196.113.11

vsftpd:123.196.113.11

sshd:14.140.172.74

vsftpd:14.140.172.74

sshd:200.29.110.104

vsftpd:200.29.110.104

sshd:202.102.89.81

vsftpd:202.102.89.81

sshd:202.78.173.199

vsftpd:202.78.173.199

【脚本防止SSH和vsftpd暴力破解的代码分享】相关文章:

迅雷7广告怎么去除

NCTsoft AudFile.dll ActiveX Control Remote Buffer Overflow Exploit

彻底卸载McAfee和Agent的详细步骤

SoftICE for WIN95中文命令解说(三)

怎么找回xp系统登录密码

防止SQL注入攻击的一些方法小结

盘点10个恶意软件术语

电脑被病毒入侵了怎么办

你的账号密码是怎样丢失的?暴力破解攻击的检测和防御

鲁大师驱动程序备份与还原图文教程

精品推荐
分类导航