没想到这个被黑系列这么快就要更新第三期 。。。
距离第二次被入侵才过两天,前公司网站再次被攻陷。
歹徒可能发现了首页代码被锁死,无法修改。这次利用了 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 是不是一个好的方案?
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式
谈笑风生
imnpc (来自: 中国 山东 济南 联通) 2年前