我在阿里云上有 N 台 VPS 服务器(ECS),一直用 WinSCP 做批量的单向数据同步更新。今天改了些代码后运行同步。因为要同步的服务器比较多,加上桌面上其他的要处理任务也不少,我将同步进程启动后就没关注它了,——以前也一直这么处理的。
不料,没多久,手机突然收到 N条来自阿里云的如下报警短信:
【阿里云】尊敬的用户:您的服务器 101.xxx.xxx.xxx 在吉安市(202.10.xxx.xxx)处登录,很有可能已被黑客成功入侵,您可登录云盾控制台-服务器安全(安骑士)页面进行查看和处理,同时建议您在控制台使用安全巡检功能对服务器进行全面检查。
我家有好几根不同运营商的宽带。工作电脑以电信 ADSL 为主。由于今天电信的线路不稳定时断时续,所以一早就切换到了长宽。收到报警短信后,我登录到长宽的路由器上看了一下分配的IP,不是报警中存在的 IP。当然我之前有过一些了解,长宽分配的终端 IP 并不是真正的公网 IP。于是用 ip138 和 GEO IP View 分别查了一下公网IP,显示也不是短信通知中的这两个。难道 ECS 真被入侵了?
就在我正在排查 LOG 的时候,又接连收到了五六条短信预警,其他的 ECS 也被异常 IP 登录,每次 IP 都天南海北不一样,例如景德镇、佛山、青岛等。查看同步进程,发现报警的正是刚刚正在同步的 ECS。既然这些 IP 并不是长宽的公网 IP,莫非我机器已经中了木马,或者 WinSCP 已经被污染,或者已被劫持旁路攻击,导致每一次同步连接时,登录信息被窃取外泄?我自认一向对防护做得比较到位,上午还在好为人师地给老聂 blalala 讲一些基本防护措施,没想到这么快,就被啪啪啪打脸了?
还好通过排查 Log,发现阿里云报警的 IP 登录时间差不多正是同步进程登录的时间,而除此之外,并没有其他 IP。于是我怀疑,难道是长宽每一次连接阿里云 ECS 时,分配的公网IP都是不一样的?然后我单独开了一个 SSH 窗口,进行登录测试,发现果真如此。
搜索查询了一下,看到有人在 知乎上讲,长宽用户每次访问不同的网络资源会走不同的出口:
匿名用户 2015-11-26:
(长宽就是)一个大局域网,长城宽带用户没有公网 IP,访问不同的网络资源会走不同的出口,http://ip.cn和http://ip138.com显示你的IP会是不同的,这样的分配会造成非常多的故障,经常性的丢包……
原来是自己虚惊一场。但用长沙话来说:人黑人,黑死魂[注 1]啊!差点被长宽吓死了。
[注1] 黑,长沙话中“吓”的意思。例如有一句长沙歇后语:非洲人跳高,——黑老子一跳。