夜幕降临,第三次 php 网站被黑

更新日期: 2022-08-20 阅读次数: 2725 字数: 1003 分类: 安全

没想到这个被黑系列这么快就要更新第三期 。。。

距离第二次被入侵才过两天,前公司网站再次被攻陷。

歹徒可能发现了首页代码被锁死,无法修改。这次利用了 kangle / easypanel 的漏洞,直接修改了 kangle 的账号密码,通过配置文件,将网站 301 重定向到了一个恶意站点。

kangle 漏洞

网上搜 kangle + easypanel 的漏洞不少,而且都是严重漏洞。 还是换成 apache / nginx 靠谱,早换早享受。

还是之前的观点,用这种国产 php 一键部署工具,加面板,都是给自己挖坑。 不要接手这种项目;万不得已,不得不接手,立马换掉这些渣渣玩意。

漏洞太多怎么办

花了一个多小时,好不容易修复了 kangle 的配置,恢复了网站。 但是感觉漏洞的源头并没有堵住。

临时采用了缓兵之计:

  • 修改 kangle 默认端口。
  • 限制 kangle 的登录 IP
  • 使用阿里云网站监控,每分钟探测一次网站内容是否包含公司的关键字,不包含则任务是被恶意篡改,立即短信、邮件报警。测试了一下,确实好用。但是不知道对 301 跳转支持的如何。
  • 同时部署新的服务器,替换掉这套山寨的架构。也作为系统的热备。想起之前 DNSPod 的宕机自动切换 DNS,那个确实有实用场景。

潜在的市场

离开前公司两年了,这套我半路接手的系统也没啥大的变化。说明大家都没有魄力去动这古老又千疮百孔的系统。毕竟重写一套并不是有价值的工作产出。

这样看,市场上存量的这样的远古型 php 系统应该很多,其实由于 php 的版本问题,及其上构建的垃圾代码框架,处处是漏洞。 如果能将这些系统无缝切换到 golang 实现的高效又安全的架构,说不定很有市场。

再就是,没法指望一两个程序员的公司能应对这种漏洞慢慢的系统入侵,还是得上专业的防护软件或云服务。

被 diss

临时解决了网站问题之后,前领导开始 diss 技术小哥。当然,我作为旁听,我隐隐感觉也在 diss 我。

shit,我 tm 大晚上连着搞到十一二点,做个雷锋,也要受这个气。。。

要不是我比较好奇被入侵的原因,及积累一下这方面的经验,以防在现有系统里出现,我才懒得理这事。。。

听了一会训,我就告辞了。灰溜溜地。

经验教训

  • 不要乱开端口。这样看阿里云的安全机制还是比较靠谱的,默认安全策略没有开端口,需要手动一个个开启。相比之下,腾讯云的默认端口开放机制有点脑残。
  • 使用大厂商的云服务。这次连续被黑的网站在海外 linode 节点上,而部署在国内阿里云上的国内站点则一次也没有出现问题。我觉得一个跟端口规范有关,一个跟阿里云自动防护住了恶意扫描有关(估计也做的不好,我日志里也经常看到恶意扫描,至少比没有强)
  • 山寨又小众的框架不要使用。kangle,thinkphp,这些垃圾不要碰
  • 快速的灾备恢复机制。不管是双机备,还是云厂商提供的磁盘备份,最好用上,指不定哪天出事。
  • 使用 docker 来快速更新线上 web server 是不是一个好的方案?

tags: kangle

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式