脚本防止SSH和vsftpd的代码分享
发布时间:2012-01-29 16:36:57 作者:佚名
我要评论
我的一台公网服务器,由于网站采取的是双备份策略,所以开放了vsftpd的21端口,近来发现许多人在尝试vsftpd和ssh
我随便看了看/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
相关文章
本文来介绍一下thinkphp官方修复的一个getshell漏洞,框架对控制器没有进行足够的检测导致的一处getshell,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随2018-12-12记 FineUI 官方论坛discuz所遭受的一次真实网络攻击
这篇文章主要介绍了记 FineUI 官方论坛discuz所遭受的一次真实网络攻击,需要的朋友可以参考下2018-11-30- 这篇文章主要介绍了Linux 下多种反弹 shell 方法,需要的朋友可以参考下2017-09-06
- 这篇文章主要为大家介绍了基于反射的XSS攻击,主要依靠站点服务端返回脚本,在客户端触发执行从而发起Web攻击,需要的朋友可以参考下2017-05-20
- 这篇文章主要介绍了SQL注入黑客防线网站实例分析,需要的朋友可以参考下2017-05-19
- 这里为大家分享一下sql注入的一些语句,很多情况下由于程序员的安全意识薄弱或基本功不足就容易导致sql注入安全问题,建议大家多看一下网上的安全文章,最好的防范就是先学2017-05-19
- 对于目前流行的sql注入,程序员在编写程序时,都普遍的加入防注入程序,有些防注入程序只要在我们提交一些非法的参数后,就会自动的记录下你的IP地址,提交的非法参数和动作等,2017-04-29
- 我们友情进行XSS检查,偶然跳出个小弹窗,其中我们总结了一些平时可能用到的XSS插入方式,方便我们以后进行快速检查,也提供了一定的思路,其中XSS有反射、存储、DOM这三类2016-12-27
- 这篇文章主要介绍了Python 爬虫使用动态切换ip防止封杀的相关资料,需要的朋友可以参考下2016-10-08
- 这篇文章主要介绍了使用爬虫采集网站时,解决被封IP的几种方法的相关资料,需要的朋友可以参考下2016-10-08



最新评论