shell结合iptables自动处理CC攻击(转载)

简介:
www.*****.com:80  118.251.244.183 - - [26/May/2010:20:22:16 +0800] "POST /syxcms/vote.php?act=submit HTTP/1.1" 200 56 " http://www.*****.com/news/201005/news-6213.shtml " "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
www.*****.com:80  118.251.244.183 - - [26/May/2010:20:22:16 +0800] "POST /syxcms/vote.php?act=submit HTTP/1.1" 200 72 " http://www.*****.com/news/201005/news-6213.shtml " "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
www.*****.com:80  118.251.244.183 - - [26/May/2010:20:22:16 +0800] "POST /syxcms/vote.php?act=submit HTTP/1.1" 200 56 " http://www.*****.com/news/201005/news-6213.shtml " "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
大概原理就是对最新日志里面的客户端访问IP进行采样统计分析,然后对超出正常访问次数的IP进行屏蔽,如下面统计分析后的结果:
对最新1000条日志的客户端访问IP进行排序统计访问次数。比如第一个IP 219.128.20.68 1000条日志就有295条,访问肯定不正常
root@ubuntu134 :# tail access.log -n 1000 |grep vote.php |awk {'print $2'} |sort |uniq -c |sort -nr
   295 219.128.20.68
   175 113.250.97.209
   164 218.87.140.39
   153 59.61.215.42
     98 222.240.182.234
     83 220.181.110.65
     73 120.38.1.255
     62 221.3.99.106
     21 220.249.83.74
     12 218.22.10.114
      1 123.52.158.16
      1 114.81.115.201
然后就是自动处理,如果1000条日志单IP超过50条就屏蔽掉
*/2 * * * * /usr/local/nginx/var/log/drop.sh
#!/bin/sh
cd /usr/local/nginx/var/log
tail access.log -n 1000 |grep vote.php |awk {'print $2'} |sort |uniq -c |sort -nr |awk '{if ($2!=null && $1>50) {print $2}}' > drop_ip.txt
for i in `cat drop_ip.txt`
do
/sbin/iptables -I INPUT -s $i -j DROP;
done
这shell 每几分钟执行一次,就可自动屏蔽那些不正常IP,相信大家都看的懂,下面是针对连接数屏蔽代码
#!/bin/sh
/bin/netstat -ant |grep 80 |awk '{print $5}' |awk -F : '{print $1}' |sort |uniq -c |sort -rn |grep -v -E '192.168|127.0' |awk '{if ($2!=null && $1>50) {print $2}}' > drop_ip.txt
for i in `cat drop_ip.txt`
do
/sbin/iptables -I INPUT -s $i -j DROP;
done
说下,grep -v -E '192.168|127.0'  也就是排除内网IP,免得把自己给屏蔽了,当然还可以加些自己的IP。
 

本文转自 liang3391 51CTO博客,原文链接:http://blog.51cto.com/liang3391/769473

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
2月前
|
Shell Linux 网络安全
linux系统防CC攻击自动拉黑IP增强版(Shell脚本)
linux系统防CC攻击自动拉黑IP增强版(Shell脚本)
24 0
|
Shell
设置shell脚本执行错误自动退出
设置shell脚本执行错误自动退出
799 0
|
云安全 安全 网络安全
80和443端口的作用以及遇到CC攻击该怎么办
80和443端口都是用于网站业务,那么这两个端口是有什么区别呢?
|
19天前
|
缓存 负载均衡 安全
每天一技:全面了解CC攻击和防范策略
CC攻击是一种模拟真实用户请求,导致服务器资源耗尽的网络攻击。攻击者利用工具生成木马,控制大量“肉鸡”对目标网站发起恶意请求,使服务器CPU过载,网站无法正常服务。特点是请求有效、IP分散、数据包真实、针对网页。常见类型包括直接攻击、肉鸡攻击、僵尸攻击和代理攻击。判断CC攻击可通过观察CPU usage飙升和系统日志异常。大型网站如某度、Google因代码规范、硬件配置高、缓存策略、严格防火墙和负载均衡等技术能有效防御。防御措施包括IP封禁、人机验证、静态化页面、更改Web端口、日志分析等,或使用SCDN产品提供全面防护,包括Web攻击防护、DDoS防护、合规性保障、流量管理和安全可视化功能。
|
2月前
|
供应链 JavaScript Shell
供应链投毒预警 | 恶意NPM包利用Windows反向shell后门攻击开发者
本周(2024年02月19号),悬镜供应链安全情报中心在NPM官方仓库(https://npmjs.com)中发现多起NPM组件包投毒事件。攻击者利用包名错误拼写方式 (typo-squatting)在NPM仓库中连续发布9个不同版本的恶意包,试图通过仿冒合法组件(ts-patch-mongoose)来攻击潜在的NodeJS开发者。
35 2
|
10月前
|
开发框架 网络协议 .NET
网站被CC攻击的症状?什么是CC攻击? 110.42.2.0 43.248.189.0
网站被CC攻击的症状?什么是CC攻击? 110.42.2.0 43.248.189.0
|
安全 搜索推荐 网络安全
使用Discuz! X3.5 自带参数防御CC攻击以及原理,修改Discuz X 3.5 开启防CC攻击后,不影响搜索引擎收录的方法
使用Discuz! X3.5 自带参数防御CC攻击以及原理,修改Discuz X 3.5 开启防CC攻击后,不影响搜索引擎收录的方法
437 0
|
监控 网络协议 Shell
网络安全-反弹shell详解(攻击,检测与防御)
网络安全-反弹shell详解(攻击,检测与防御)
743 0
网络安全-反弹shell详解(攻击,检测与防御)
|
缓存 网络协议 安全
网络安全-DoS与DDoS攻击原理(TCP、UDP、CC攻击等)与防御
网络安全-DoS与DDoS攻击原理(TCP、UDP、CC攻击等)与防御
783 0