引言
我前两个月用业余时间开发了一个学习英语的工具,长下面这个样子。
这个工具可以帮助我收集一些工作中经常遇到的英语表达,然后自动配上翻译和发音,这样方便我进行学习。
服务器性能问题
这个工具部署在一台云服务器上,服务器的配置也很低,2核2G + 3M带宽。我最近发现有的时候刷新网页会很慢,就登录到服务器上检查了一下。
发现大量攻击
首先是检查了access 日志,没想到发现了大量的攻击和扫描记录。
1. 常见攻击模式
其中最多的是这种记录:
1
| 206.123.145.173 - - [28/Jul/2025:12:59:03 +0800] "GET /.env HTTP/1.1" 200 1739 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36" "-"
|
.env 文件通常存放着应用的密钥和敏感配置。很明显,这是有人在碰运气,看能不能直接把我的配置文件“拿”走。
还有这种:
1
| 117.235.52.235 - - [28/Jul/2025:12:42:39 +0800] "GET /boaform/admin/formLogin?username=adminisp&psd=adminisp HTTP/1.0" 301 169 "-" "-" "-"
|
这是在尝试用默认的弱密码登录某些嵌入式设备的管理后台。我的小工具根本没用这些设备,显然对方只是在批量扫描。
2. 复杂攻击模式
上面几种是比较简单的,我一眼就能识别出来的,还有一些攻击日志我根本都看不懂。
比如这个:
1
| 185.170.144.3 - - [28/Jul/2025:06:40:09 +0800] "\x03\x00\x00/*\xE0\x00\x00\x00\x00\x00Cookie: mstshash=Administr" 400 157 "-" "-" "-"
|
日志里混杂着乱码和一个“Administr”的关键词,感觉就很像是攻击行为,但是我又看不懂,就把这样日志发给了AI,让AI帮忙分析一下。
AI的分析结果证实了我的猜测:这是一种试图通过HTTP隧道进行RDP攻击的手法。
更复杂的还有这种:
1 2 3 4 5 6
| 147.185.132.188 - - [28/Jul/2025:05:06:45 +0800] "\x00\x00\x001\xFFSMBr\x00\x00\x00\x00\x18Eh\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xB5}\x00\x00\x01\x00\x00\x0E\x00\x02NT LM 0.12\x00\x02\x00" 400 157 "-" "-" "-" 147.185.132.188 - - [28/Jul/2025:05:06:45 +0800] "\x00\x00\x00f\xFESMB@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x001234567890123456$\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x001234567890123456\x00\x00\x00\x00\x00\x00\x00\x00\x02\x02" 400 157 "-" "-" "-" 147.185.132.188 - - [28/Jul/2025:05:06:45 +0800] "\x00\x00\x00f\xFESMB@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x001234567890123456$\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x001234567890123456\x00\x00\x00\x00\x00\x00\x00\x00\x10\x02" 400 157 "-" "-" "-" 147.185.132.188 - - [28/Jul/2025:05:06:46 +0800] "\x00\x00\x00f\xFESMB@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x001234567890123456$\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x001234567890123456\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" 400 157 "-" "-" "-" 147.185.132.188 - - [28/Jul/2025:05:06:46 +0800] "\x00\x00\x00f\xFESMB@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x001234567890123456$\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x001234567890123456\x00\x00\x00\x00\x00\x00\x00\x00\x02\x03" 400 157 "-" "-" "-" 147.185.132.188 - - [28/Jul/2025:05:06:47 +0800] "\x00\x00\x00\xAC\xFESMB@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x001234567890123456$\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x001234567890123456h\x00\x00\x00\x02\x00\x00\x00\x11\x03\x00\x00\x02\x00\x06\x00\x00\x00\x00\x00\x02\x00\x02\x00\x01\x00\x00\x00\x01\x00,\x00\x00\x00\x00\x00\x02\x00\x02\x00\x01\x00\x01\x00 \x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 400 157 "-" "-" "-"
|
同样使用AI分析,发现这是一个SMB协议攻击。

攻击分析
这些都只是一些发生次数最多的案例,实际上攻击非常非常多。我中午分析一下一个小时的access日志,就有超过620条攻击日志。
所有的这些攻击都没有成功,我也没有任何实际损失。而且就算我的服务器真的被攻破了,对方也得不到什么,因为服务器上没什么有价值的数据。
我发了一个短视频记录这个事情,有很多人评论说,其实并不是有人估计攻击我这个服务,只是有一些扫描器在全网扫描,只要对公网暴露端口就会被扫描。
结合攻击日志来看,被扫描的可能性很大。
安全防护建议
我最后把这个工具使用的技术栈信息发给AI,让它提出防护建议,给了下面这几个建议,都是比较实用的,而且几乎不会额外增加成本:
1. 基础安全配置
- 隐藏组件版本信息
- 添加nginx的安全头配置
- 禁用不必要的HTTP方法
2. 请求限制和过滤
3. 恶意请求过滤
- 阻止常见攻击模式
- 阻止可疑文件扩展名
- 阻止SQL注入和XSS尝试
- 阻止路径遍历攻击
4. IP黑名单
AI帮了个大忙
说实话,在分析这些攻击日志时,AI帮了我大忙。那些看不懂的乱码,比如RDP和SMB攻击,我只要把日志原文发给AI,几分钟内就能得到一个清晰的解释。这让我省了不少功夫。
想想以前没有大模型的时候,遇到这种不熟悉的攻击手法,我可能得查资料、看文档,花上一两个小时甚至更久才能搞明白。
尤其最后那一堆安全防护建议,如果让一个刚入行的工程师来做,估计没个几天很难总结出来。