CentOS — 简单处理CC攻击的shell脚本
2012-11-10 12:04
537 查看
第一个脚本是通过查找日志中访问次数过多的ip,并用iptables屏蔽。
将此代码保存为ban.sh,加入cronjob使每分钟执行一次。
此脚本的作用是:利用iptables屏蔽每分钟访问页面超过20的IP,这些页面已经排除图片,css,js等静态文件。
第二个脚本是通过在日志中查找cc攻击的特征进行屏蔽。
keyword则是日志中cc的特征,替换成有效的即可。
《文章来源:http://www.centos.bz/2012/06/linux-cc-attack-shell-script/》
#!/bin/bash cur=`date +%H%M%S` becur=`date -d "1 minute ago" +%H%M%S` badip=`tail -n 10000 /home/www.centos.bz/log/access.log | egrep -v "\.(gif|jpg|jpeg|png|css|js)" | awk -v a="$becur" -v b="$cur" -F [' ':] '{t=$5$6$7;if (t>=a && t<=b) print $1}' | sort | uniq -c | awk '{if ($1>=20) print $2}'` if [ ! -z "$badip" ];then for ip in $badip; do if test -z "`/sbin/iptables -nL | grep $ip`";then /sbin/iptables -I INPUT -s $ip -j DROP fi done fi
将此代码保存为ban.sh,加入cronjob使每分钟执行一次。
此脚本的作用是:利用iptables屏蔽每分钟访问页面超过20的IP,这些页面已经排除图片,css,js等静态文件。
第二个脚本是通过在日志中查找cc攻击的特征进行屏蔽。
#!/bin/bash keyword="cc-atack" badip=`tail -n 5000 /home/www.centos.bz/log/access.log | grep "$keyword" | awk '{print $1}' | sort | uniq -c | sort -nr | awk '{print $2}'` if [ ! -z "$badip" ];then for ip in $badip; do if test -z "`/sbin/iptables -nL | grep $ip`";then /sbin/iptables -I INPUT -s $ip -j DROP fi done fi
keyword则是日志中cc的特征,替换成有效的即可。
《文章来源:http://www.centos.bz/2012/06/linux-cc-attack-shell-script/》
相关文章推荐
- centos系统故障-Centos简单处理CC攻击shell脚本
- Linux简单处理CC攻击shell脚本
- Linux简单处理CC攻击shell脚本
- Linux简单处理CC攻击shell脚本
- 一个简单的防CC攻击Shell脚本分享
- shell脚本中对简单实现对log的处理
- 一个简单的防CC攻击Shell脚本分享
- 一个典型的简单shell字符串处理脚本
- centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件、目录属性 shell数组简单用法 $( ) 和${ } 和$(( )) 与 sh -n sh -x sh -v 第三十五节课
- CentOS 6.7编写Shell脚本实现简单跳板机功能
- 简单使用shell 自动打包,发布项目 脚本
- CentOS 6.4 Linux vsftpd shell管理系统脚本完整版
- shell之for循环的3个简单脚本
- shell的脚本循环处理
- centos安装tomcat (用shell脚本安装为服务)
- 简单的web控制shell脚本方法
- shell脚本的简单制作与格式
- CentOS下redis自启动shell脚本
- CentOS下编写shell脚本来监控MySQL主从复制的教程_MySQL
- shell脚本简单调试