服务器上有一些垃圾请求,如何屏蔽?

2022-05-07 16:21:03 +08:00
 deweixu
    239 "/"
      1 "/.aws/credentials"
     99 "/.env"
      1 "/.env.bak"
      1 "/.git/HEAD"
      1 "/.git/config"
      2 "///remote/fgt_lang"
      1 "/1phpmyadmin/index.php"
      1 "/2phpmyadmin/index.php"
      3 "/99vt"
      4 "/99vu"
      2 "/Autodiscover/Autodiscover.xml"
      1 "/GponForm/diag_Form"
      1 "/HNAP1"
      1 "/MyAdmin/index.php"
      1 "/PMA/index.php"
      1 "/RestAPI/ImportTechnicians"
      2 "/_ignition/execute-solution"
      1 "/_phpMyAdmin/index.php"
      1 "/_phpmyadmin/index.php"
      1 "/_phpmyadmin_/index.php"
      2 "/_profiler/phpinfo"
      1 "/actuator/health"
      1 "/admin/db/index.php"
      1 "/admin/includes/general.js"
      1 "/admin/index.php"
      1 "/admin/phpMyAdmin/index.php"
      1 "/admin/phpmyadmin/index.php"
      1 "/admin/pma/index.php"
      1 "/admin/sqladmin/index.php"
      1 "/admin/sysadmin/index.php"
      1 "/admin/view/javascript/common.js"
      1 "/admin/web/index.php"
      1 "/administrator/"
      1 "/administrator/PMA/index.php"
      1 "/administrator/admin/index.php"
      1 "/administrator/db/index.php"
      1 "/administrator/help/en-GB/toc.json"
      1 "/administrator/language/en-GB/install.xml"
      1 "/administrator/phpMyAdmin/index.php"
      1 "/administrator/phpmyadmin/index.php"
      1 "/administrator/pma/index.php"
      1 "/administrator/web/index.php"
1937 次点击
所在节点    程序员
6 条回复
i3x
2022-05-07 16:27:08 +08:00
nginx 或者类似的反代写好规则假装有防护。只允许特定规则通过。。
适合页面简单的情况。
我的静态站就是
只允许
/
/index.html
/纯数字.html
。。再怎么屏蔽请求还是到你服务器的,所以说只能说眼不见心不烦。
如果后端是动态站的加个这样的拦截可以避免浪费 cpu 资源。
也不一定是加个这样的拦截。放在二级目录下即可。
/
/index.html 可以跳转也可以设置连接
/目录 /实际应用.asp
codefever
2022-05-07 16:39:58 +08:00
可以使用 Python 第三方库,pip install fake_useragent ,也可以自己维护一个 UA 类
xuanbg
2022-05-07 16:44:34 +08:00
有数据统计表明互联网上超过 70%的流量就是这些垃圾请求。所以,眼不见为净就是最有效的解决方案。
VagrantZ
2022-05-07 16:57:15 +08:00
上个 WAF 呗
🤣有时候看看日志里这些盲扫挺有意思的,就当收集 payload 了
opengps
2022-05-07 17:28:36 +08:00
上 waf 那种 web 应用防火墙
FrankAdler
2022-05-08 16:54:31 +08:00
可以写个脚本,自动屏蔽这种请求,以 nginx 为例,如果开启了 access.log ,这种请求的结果肯定是 404 或者 302 ,写个脚本,每隔一段时间扫描下 access.log 里面的 404 ,然后提取 ip ,比如超过 10 次就追加到 nginx 的 deny 里面,下面是我自己在用的脚本

```
line=1000
times=10
conf=/opt/nginx/conf/blockip.conf

tail /data/logs/nginx/access.log -n $line | \
grep -E '("404"|"302")' | jq -r '.remote_addr' | \
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
```

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/851401

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX