去年秋天,网站一个做外贸的安全朋友半夜给我打电话,说网站首页被挂了一个博彩跳转。检测我让他别急,工具先打开浏览器访问自己的网站域名——果然,移动端访问时直接跳到了境外赌博站。安全PC端却正常。检测这种“设备定向”的工具挂马方式,靠肉眼根本查不出来。网站他后来找了安全公司,安全花三千块清理,检测又花两千加固。工具其实如果早用几个基础检测工具,网站这事可能根本不会发生。安全
网站安全检测工具,检测不是只有大厂才配用的东西。个人站长、小企业运维,甚至只是搭了个博客的普通用户,都该在工具箱里备上几款。我自己的习惯是:新站上线前跑一轮,之后每月至少扫一次。下面说几个我实际在用的。
很多人以为https就是安全的代名词。去年有个客户拿着“https”的站点来找我,说浏览器地址栏有锁,但用户数据还是被截了。我一看,证书是自签的,而且TLS版本还是1.0。这种配置,锁是假的。
检测SSL,我常用 testssl.sh 这个命令行工具。它不依赖浏览器,直接把服务器支持的协议版本、加密套件、证书链、漏洞(比如Heartbleed)全列出来。输出很长,但关键看两行:协议是否支持TLS 1.2以上,证书是否由受信任CA签发。如果看到“TLS 1.0”或“RC4”字样,直接改配置,别犹豫。
在线工具里,Qualys SSL Labs的评分最直观。A+算及格,B以下就有问题。我见过一个电商站,评分C,原因是支持了SSLv3。这玩意儿早该淘汰了,但很多老服务器默认还开着。
我最早用的是AWVS,功能强,但太重,启动一次要几分钟。后来换成 nuclei,基于YAML模板,跑起来飞快。一条命令:nuclei -u https://example.com -t exposures/ -t vulnerabilities/,几分钟就能扫完常见漏洞。它不会误报吗?会。但误报比漏报好。有一次它报了个“备份文件泄露”,我手动访问 /backup.zip,还真下载下来一个包含数据库密码的配置文件。那站点是外包做的,开发把备份扔在根目录忘了删。
开源工具里,WPScan专门针对WordPress。如果你用WP建站,这个必装。它能列出所有插件版本,然后对照漏洞库告诉你哪个插件有已知RCE。我帮人清理过至少五个被黑的WP站,根源都是没更新的插件。一个“联系表单”插件,三年没更新,漏洞公开后一周内就被批量扫描利用。
工具能查已知问题,但有些东西得靠日志。我习惯在服务器上装 GoAccess,实时分析Nginx日志。有一次发现某个IP每秒请求200次,全是 POST /wp-login.php。这是暴力破解。GoAccess面板上那个IP的条柱直接顶到天花板。我顺手用 fail2ban 封了,前后不到两分钟。
还有个小技巧:用 curl -I 定期检查首页返回头。如果某天突然出现 X-Powered-By: PHP/5.6,说明服务器被人换了旧版本,或者配置被改了。这种变化,扫描工具不一定报,但返回头会露馅。
我见过太多人扫出一个“低危”就关掉页面,觉得没事。但低危漏洞经常是攻击链的第一环。一个信息泄露,加上一个弱口令,就能进后台。工具给的是线索,不是结论。你得自己判断:这个端口为什么开着?这个目录为什么可列?这个参数为什么没过滤?
最后说个实在的:免费工具足够覆盖八成常见问题。别一上来就买商业扫描器。先把 testssl.sh、nuclei、WPScan 用熟,再配上日志监控,你的站已经比大多数同行安全了。剩下的,靠更新和警惕。