你所不知道的入侵,你的服务器安全吗?你的数据库安全吗?mysql
讲真,也许是我之前一直从事内网应用开发吧,我历来没有想过在互联网上,有那么多扫描器。sql
10月份的时候,受人委托我作了一个简单的抢单插件,里面有用到squid作ip代理,结果刚上线两天,就被人扫描出来了,由于疯狂使用,还把个人微服务给搞挂了。固然不搞挂,我可能一直发现不了。但那次的教训并无让我长记性。mongodb
个人mongodb部署在阿里云上已经四个多月了,一直开着27017端口的,一来我没有正式使用,二来我没有正直的认为我会被人删除数据。虽然看过mongodb由于没有设置用户名和密码,致使数据库被人删库,并勒索BTC,但总以为我不招谁,不惹谁,没人来搞个人。shell
互联网的美妙之处就是开放、自由,可是互联网没有说让咱们裸奔。12月的一天,办公应用刚开始准备真正生产起来,次日就被人告知,昨天登陆的用户名显示用户不存在?数据库
what?这不科学~!小程序
我飞奔向办公室,直觉告诉我,生产环境出大事了。安全
打开电脑,用Navicat链接服务器mongo,看到了这个:
服务器
还好个人服务只上线了两天,办公应用数据使用的是mysql,sea微服务平台才用的是mongo,都是一些用户、资源、权限、代理等数据。按这个提示,我想都不用想,这些数据我确定不会去支付0.1BTC了,虽然是用户数据,但都是小程序与微信绑定的数据,连密码和手机号码都没有了,丢了就丢了,不惋惜。微信
万幸的是业务数据还在,只不过原先的用户已经找不到他们提交的数据了,我跟用户方沟通后,用户方表示只要业务数据还在,用户看不看的到无所谓,才松了口气。微服务
后面花了半天的时间将我本机的数据进行了恢复,并写了shell脚本作了mongdb的定时备份,这此罢休,懂行的人确定知道,这样作确定是不够的
我还将阿里云的端口作了封堵,只容许某个ip远程访问个人阿里云服务器,详细状况,请看史上最安全的阿里云配置,让非法远程打扰你的人一边凉快去!