脚本防止SSH和vsftpd暴力破解的代码分享

所属分类: 网络安全 / 脚本攻防 阅读数: 209
收藏 0 赞 0 分享
我随便看了看/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
更多精彩内容其他人还在看

ECSHOP php商城系统过滤不严导致SQL注入漏洞

ECSHOP是一款开源免费的网上商店系统。由专业的开发团队升级维护,为您提供及时高效的技术支持,您还可以根据自己的商务特征对ECSHOP进行定制,增加自己商城的特色功能
收藏 0 赞 0 分享

DEDECMS网站管理系统模板执行漏洞(影响版本v5.6)

DedeCms 基于PHP+MySQL的技术开发,支持Windows、Linux、Unix等多种服务器平台,从2004年开始发布第一个版本开始,至今已经发布了五个大版本
收藏 0 赞 0 分享

网站被SQL注入防范(WebKnight)

分享一下内容篡改式攻击的判断方法、SQL注入攻击的防范、以及被攻击后的补救(数据恢复)相关知识
收藏 0 赞 0 分享

手工注入方法,方便大家测试程序漏洞

手工注入方法,方便大家测试程序漏洞,本人只供学习交流,不建议搞破坏。
收藏 0 赞 0 分享

XSS漏洞报告

对于的用户输入搜索出现XSS漏洞的问题,主要是由于开发人员对XSS了解不足,安全的意识不够造成的。现在让我们来普及一下XSS的一些常识,以后在开发的时候,每当有用户输入的内容时,都要加倍小心
收藏 0 赞 0 分享

PHP Webshell 下的端口反弹方法

phpspy2011 中的 Back Connect 怎么弄都不能反弹回来,在网上找了段代码,测试成功了,但自己看了下,这段代码貌似也是从 phpspy 中分离出来的
收藏 0 赞 0 分享

万博企业网站管理系统注入漏洞(MemberLogin.asp)

这个注入漏洞发生在html/MemberLogin.asp文件里,在Include下有NoSqlHack.Asp文件也没调用,呵呵,就有了我们利用的地方了
收藏 0 赞 0 分享

PJBlog3 V3.2.8.352文件Action.asp修改任意用户密码

PJBlog一套开源免费的中文个人博客系统程序,采用asp+Access的技术,具有相当高的运作效能以及更新率,也支持目前Blog所使用的新技术
收藏 0 赞 0 分享

mysql注入导库脚本代码

mysql注入导库脚本代码,学习安全的朋友要注意防范。
收藏 0 赞 0 分享

BOSSI 公司企业网站管理系统注入&上传漏洞利用

BOSSI 公司(企业)网站管理系统,中英文双语版,后台在同一页内同时管理添加修改资料内的中英文内容,网站的左边栏使用了模块,可以自由的增加&删除,可以不用修改代码
收藏 0 赞 0 分享
查看更多