背景
服务器告警,cpu每隔一段时间就出现瞬间飙升100%,监听队列随之溢出。
看监控,基本都是tcp连接过多的问题,针型的qps,一直以为是网站文章数太多从而蜘蛛爬虫访问瞬间飙升,期间处理过队列,最大连接数的设置,看上一篇文章论一个http请求达到目标服务的千辛万苦-CSDN博客,在调整完队列问题后,确实没有报监听队列溢出的问题,但是cpu还会时不时飚满。
一个大大佬提醒,查看下nginx日志 ,统计下这个时间打到fpm的请求数量和响应时间。
果然,闭门造车效率是最低了,还得集思广益,找对思路才能快速解决问题。
查看告警时间段的nginx日志,发现了大量的404,未找到的报错,请求的还是静态资源文件,而且这些静态资源文件都不是我们应该有的。
以上图片的日志结果很明显:被黑了!!
顺带gpt了一下,黑客这个行为的目的是什么?
信息收集 :例如服务器配置文件,可能包含数据库连接字符串、用户名和密码、服务器内部网络架构等关键信息。如果黑客获取到这些配置文件,就可以进一步尝试入侵数据库或其他内部系统。像 Web 应用程序的 config.js 或.properties 文件中,可能存有 API 密钥(如用于连接第三方服务的 Google Maps API 密钥、支付网关 API 密钥等)、加密密钥等。这些密钥一旦泄露,黑客可以滥用这些服务,甚至进行金融欺诈。
**寻找可利用的文件:**服务器上的库文件如果存在漏洞,黑客可以利用这些漏洞来提升权限或执行恶意操作。例如,某些旧版本的 JavaScript 库可能存在已知的安全漏洞,黑客可以利用这些漏洞来劫持用户会话或篡改网页内容。
处理
1.在cloudflare配置对应域名的WAF,整理nginx日志可能的肉机ip,添加到访问规则中
2.在防火墙或者iptables中配置ip黑名单