• 欢迎访问极客公园网站,WordPress信息,WordPress教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入极客公园 QQ群
  • Git主题现已支持滚动公告栏功能,兼容其他浏览器,看到的就是咯,在后台最新消息那里用li标签添加即可。
  • 最新版Git主题已支持说说碎语功能,可像添加文章一样直接添加说说,新建说说页面即可,最后重新保存固定连接,演示地址
  • 百度口碑求点赞啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊http://koubei.baidu.com/s/gitcafe.net
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏极客公园吧

Linux常用服务器安全shell脚本

未分类 博客教主 14年前 (2011-05-01) 2393次浏览 1个评论

1. 找出那些被规则禁掉的IP,嗅探器

这段代码会在当前目录下面生成黑名单,根据nginx的access日志,统计被禁掉的403访问,它们不是搜索引擎的爬虫 ,也不是本机地址。

安全提示: 这个脚本对所有IP地址都是全面封杀无误的,所以你自己在使用这个脚本之前,千万要记住,不要为了测试你的规则,而直接用你的电脑,去测试 。因为万一触发了规则,就可能会被下面的脚本所查出来,包含在内。这种状况是可以避免的。
1. 通过openvpn代理上网,如果openvpn和服务器是同一台,那么ip地址就是127.0.0.1,这个IP己经被安全的排除在外了。另外注意,如果你用了chnroute,那么就要看你的VPS是在美国还是在国内,如果在美国,则无需担心,如果在国内,那么chnroute会把路由判断为还是用原来国内的IP,还是会触发规则。建议如果你的VPS在国内,就不要用chnroute。你自己 对网站进行侵入测试,必须挂openvpn来弄。
2. 可以在下面的脚本里面增加一条 grep -v “xx.xx.xx.xx” ,把你的IP排除在外,这个时候就有一点小繁琐,因为如果你跟我一样是用adsl上网,就会需要手动查看自己的IP,每次手动查看IP也挺麻烦的,所以还是建议用第一条方案。
安全脚本文件,用于生成blacklist. 文件名: genblacklist.sh

#!/bin/sh
cat /var/log/nginx/access_log | grep " 403 " | grep -v google | grep -v sogou | grep -v baidu | grep -v "127.0.0.1" | grep -v "soso.com" | awk '{ print $1 }' | uniq | awk -F":" '{print $4}' | sort | uniq > blacklist.txt


2. 根据提供的blacklist禁止IP,解禁IP
禁止IP脚本blockip.sh

#!/bin/sh
echo "Block following ip:"
result=""
while read LINE
do
/sbin/iptables -A FORWARD -s $LINE -j DROP
if [ $? = "0" ];then
result=$result$LINE","
fi
done < /vhosts/blacklist.txt echo $result"Done";

解禁IP脚本releaseip.sh


#!/bin/sh
echo "Release following ip:"
result=""
while read LINE
do
/sbin/iptables -D FORWARD -s $LINE -j DROP
if [ $? = "0" ];then
result=$result$LINE","
fi
done < /vhosts/blacklist.txt echo $result"Done";

3. 封杀嗅探器

location ~* \.(mdb|asp|rar) {
deny all;
}
if ($http_user_agent ~ ^Mozilla/4.0$ ) {
return 403;
}

4. 利用Cron自动屏蔽非法IP
crontab -e编辑cron任务表。
增加一条*/30 * * * * /vhosts/reblock.sh
/vhosts/reblock.sh是自动执行封锁的命令。


#!/bin/sh
cd /vhosts
/bin/sh /vhosts/releaseip.sh
/bin/sh /vhosts/genblacklist.sh
/bin/sh /vhosts/blockip.sh
echo "total ip in black list:"
/bin/cat /vhosts/blacklist.txt | /usr/bin/wc -l

来源:http://jed.dzhope.com/read.php?746


极客公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Linux常用服务器安全shell脚本
喜欢 (0)

您必须 登录 才能发表评论!

(1)个小伙伴在吐槽
  1. 小菜飘过。。。
    huage2011-08-07 21:52