日志文件 /home/www/xxx.log
182.149.161.215 - - [04/Feb/2023:23:18:55 +0800] " POST /u/k.php HTTP/1.1 " 403 548 " http://xxx.xxx.xxx.xxx/u/k.php " " Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; 2Pac; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)"
182.149.161.215 - - [04/Feb/2023:23:18:55 +0800] " POST /u/k.php HTTP/1.1 " 403 548 " http://xxx.xxx.xxx.xxx/u/k.php " " Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; 2Pac; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)"
攻击者会每秒 POST 请求 /u/k.php 数次,拉黑后过一段时间会切到其他 IP 继续攻击,我想能不能写个脚本来分析下日志,几分钟执行一次就行,如果开始攻击大概 100 行内就可以找到这种日志吧,不会写 sh 脚本,有会写的 V 友救一下吗?
1
HAWCat 2023 年 2 月 5 日 via iPhone
用 fail2ban
|
2
realpg PRO 流量一个月 50MB 顶天了
CPU 等效占用 0.01%顶天了 管他干啥 |
4
yuzo555 2023 年 2 月 5 日
搜索这个 User-Agent ,没发现有价值的信息,只能发现攻击程序可能是易语言写的,IP 查了下也是家宽的 IP 。
如果服务器压力不大的话,你干脆直接封 User-Agent 关键词,直接让 nginx 返回 403 就好,还不用浪费资源去跑 php |
5
FrankAdler 2023 年 2 月 5 日
#!/bin/bash
line=1000 times=10 conf=/opt/nginx/conf/blockip.conf tail /data/logs/nginx/access.log -n $line | \ grep -E '("status":"404"|"status":"302")' | awk '{print $1}' | \ sort | uniq -c | \ awk '$1>$times{print "deny "$2 ";"}' >> $conf deny=$(sort $conf | uniq -c | awk '{print "deny "$3}') echo $deny | sed "s/; /;\n/g" > $conf /usr/local/sbin/nginx -t || exit /usr/bin/systemctl reload nginx 大于 10 次,从最近 1000 条日志分析,nginx.con 自行 include 那个 blockip.conf |
6
FrankAdler 2023 年 2 月 5 日
@FrankAdler grep -E 修改下
#!/bin/bash line=1000 times=10 conf=/opt/nginx/conf/blockip.conf tail /data/logs/nginx/access.log -n $line | \ grep -E '(" 404 "|"status":" 302 ")' | awk '{print $1}' | \ sort | uniq -c | \ awk '$1>$times{print "deny "$2 ";"}' >> $conf deny=$(sort $conf | uniq -c | awk '{print "deny "$3}') echo $deny | sed "s/; /;\n/g" > $conf /usr/local/sbin/nginx -t || exit /usr/bin/systemctl reload nginx |
7
FrankAdler 2023 年 2 月 5 日
还是漏了一点,算了你自己稍微调整下吧,因为我的日志输出是 json
|
8
eason1874 2023 年 2 月 5 日 每秒几次,对 nginx 造不成压力,直接 444 无响应关闭连接好了
location = /u/k.php { return 444; } |
9
raysonx 2023 年 2 月 5 日 如果题主的正常用户是用域名访问的,可以配置 nginx 对所有未知域名(包括直接 IP 地址访问) return 444 。
|
10
stabc 2023 年 2 月 5 日
nginx 自带 rate limit
|
11
busier 2023 年 2 月 5 日 这种 P 大的事也配称作“攻击”~~~~~~~~~
|
12
HeyEvan 2023 年 2 月 5 日
上 Cloudflare ,系统防火墙并限制 CF IP 段访问,Cloudflare 上限制国家访问,一年了就没见到这些请求
|
13
lcy630409 2023 年 2 月 5 日
这种 P 大的事也配称作“攻击”~~~~~~~~~
常规扫描而已 |
15
TGl2aWQgZGUgZGll 2023 年 2 月 6 日
就是批量漏洞扫描工具而已,不用管他,对你完全没影响
|
17
xyjincan 2023 年 2 月 6 日
给 404 页面定义一个空页面返回,只给个响应头呗,对安全没有啥影响,
|
18
libook 2023 年 2 月 6 日 现在黑客都是机器人自动扫描 IP 段,发现在线主机后自动扫描端口,发现 Web 服务自动按照漏洞特征来扫描是否存在漏洞,发现漏洞自动攻击,或者把信息提供给黑客来人工攻击。攻击之后要么就是加密数据勒索,要么是用来挖矿,要么是用来当肉鸡部署机器人来对其他服务器进行扫描。
一般企业的方案是用 Web 应用防火墙来防护,个人项目确保不会被扫描出漏洞的话也可以简单地用一些类似 fail2ban 的方案。 |
19
AIyunfangyu 2023 年 6 月 30 日
可以加我合作交流下防御 V:with--tea
|