很烂的运维人员究竟能烂到什么程度

有个用户找我说他的 windows sever 2012 服务器 Administrator 账户被禁止了,排除了用户和同事禁止的可能,确认应该是被入侵了,但是线上的虚拟机不同于物理机没办法直接插 U 盘破解密码,比较麻烦,而且他也没有任何的备份,比如系统镜像或快照文件,所以这个客户我们建议他重装系统!

但是这个用户似乎并不满足于我们提供的解决方案,反而很横的样子,似乎想把这个锅丢给云厂商,我有句卖吗批不知道当讲不当讲,很早之前我们就给他提过用一台服务器搭建 VPN 服务,通过 VPN 进行相关服务的连接,比如远程连接,但是他们并没有这么做。而是将远程端口直接暴露在公网上,另外我们的系统已经做了很多安全策略,比如禁止了137 139这些容易招黑的端口,但是这个用户非要用系统自带的文件共享服务,把他打开了,现在被黑了在要求我们提供解决方案,这就有点“扁鹊见蔡恒公”的意思了。

这种被黑的系统如果不全格很有可能还会被再次感染,指不定就在其他盘里藏着木马病毒等你在装完系统又执行了。

在有些用户眼里,他们认为我花了买了你们的服务器和带宽的钱,后面我系统使用出现了任何问题都应该是你们负责。比如系统内的一些软件配置问题、操作系统日常维护问题都应该由云厂商负责,如果是这样的话,那一些公司还干嘛一个月好几万的工资请个运维人员,直接把这活丢给云厂商就好了啊!多省钱。

遇到这种用户最直接了当的方法就是告诉他服务界限,哪些服务是能提供的,哪些是不在服务条款内。打个比方,你从电信运营商那申请了宽带业务,运营商给你安装好了,后面具体你怎么用运营商会管你吗?除非是你无法上网了,可以打售后求助,但是如果你平时下个片啊、安装个软件之类的活都要运营商给你弄,你看运营商答应不答应?

比如阿里云他只提供云计算服务,你买的云服务器本身出了问题可以找阿里云,系统内的各种自身业务运维服务如果你需要可以另外花钱买他们合作的驻云的运维,他们会给你搭建服务,后期维护。

在我眼里,所有只用 windows 系统当服务器的都被列入小白行列,至少我从业6年来遇到使用 windows 的用户的水平就都很菜,你还别不服气!就这种水平单位领导把服务器交你手上运维也只有被坑的份了。之前该用户说要开放 SMB 服务我就给他们提醒过这个容器被黑,不要开放给外网。还告诉了他比特币勒索病毒就是因为这个原因导致的,当然,该用户不以为然。

这说破天就是系统运维人员对于服务器安全不够重视或技术不到家。遇到这种运维人员首先就是公司招聘这样的人的人需要被开除了,其次就是尽快开除了让他回炉重造吧,如果还想继续干这行的话,别再祸害人了。

后来我们查出来是因为他的密码设置了过于简单,其实从日常与该用户的接触看就知道肯定会有这么一天。

那么接下来说点干货!

目前几乎所有的云计算厂商都有提供 VPC 功能和安全组这种功能,前者是类似于给你分配一个路由器,你在这个路由器下面可以分配很多个子网 IP 地址,例如192.168.X.X;后者其实他本质就是类似于 windows 系统防火墙或 Linux 的 iptables 防火墙,你只需要把你的服务器加入到对应的安全组中,然后在安全组策略中设置只允许内网网段访问云服务器的一些重要的入网端口,比如 windows 远程端口默认是 3389,建议修改为默认端口为其他端口,例如修改为 55641,然后搭建个 VPN 做跳板机,通过跳板机的方式进行远程登录,这样的安全性是最高的,因为 VPN 可以有能力让你从本机连接到内网并且数据是加密的。

一般都强烈推荐所有的服务对外提供服务都要做好安全策略,比如修改默认服务端口以及只允许一些信任的的IP 或 IP 段访问,这样才能确保不会被随随便便一个不相干的人有权限进行入侵,把风险做到最低。

比如之前的比特币勒索时间就是因为全网扫描 windows 的 SMB 服务 445 端口,只要你的 445端口暴露在公网就有被入侵的机会。

在比如前段时间的 memcached 漏洞以及很早之前的 redis 被黑导致系统权限被拿到都是因为服务的权限设置不到位,安全措施设置不严格导致的。

建议除了必须要对外提供服务的业务之外,比如 web 服务,其他的服务都不应该直接让公网有能力访问,比如说数据库、远程访问终端或桌面(SSH VNC RDP 等),一般的安全的做法就是使用跳板机,通过跳板机登录服务器,服务器的远程服务也只提供给指定的设备访问,其他一律拒绝,并且做好人员的权限划分,不同的角色对于服务器的操作是一定要区分开的。当然也并不是说 web 服务就不需要做安全策略了,只是这个策略不在安全组或防火墙上做而是在 web 程序里面实现,比如说SQL注入啊、XSS 这些属于另外一个层次的话题了,这里不展开。

如果条件可以,还能加上堡垒机、审计等功能。

另外遇到有些客户感到很可笑我们为客户提供的 Linux 主机,设置了比密码更为安全的 SSH 密钥方式登录,禁止了密码直接登录系统,几乎业内的云厂商都是这样做的,比如阿里云,但是有些用户会把无知当自信,反而对我们这个设定感到非常的难以接受,非要使用密码,而这些用户一般设置的密码简单到简直能够让你怀疑人生,真的是众口难调。

从专业的角度来说,现在的普通密码登录方式是相当的不可靠的,首先普通人设置的密码无非就是电话号码、生日、身份证啊这些加点特殊字符,而且长度也最多十几位,太复杂了你也记不住。其次即使你的密码安全系统很高,但是有可能这个密码在其他地方用过已经被泄露了,俗称“撞库”,只要入侵者的计算机计算能力非常强密码库非常丰富,就很容易被暴力破解,如果系统不设置一些限制,比如说禁止同一个 IP 登录失败3次就拒绝2小时登录,就可以被无限次的尝试暴力破解,而 IP 请求源也是可以伪造的,通过代理的方式访问就可以绕过这一限制无限尝试,所以通过类似 SSH RSA 这种非对称的加密方式进行远程访问是非常有必要的,目前被破解的最长RSA密钥就是768位,而一些系统默认生成的 RSA 长度都是2048位,所以以目前的密码破解技术几乎被普通黑客破解的可能性没有,当然如果使用量子计算那估计只需要几秒时间吧,但是目前量子计算技术还在研究中,能掌握这个技术的都是大公司,比如谷歌。你认为谷歌会有这个精力拿这么先进的技术来黑你的电脑?这个成本也太高了点!

被黑客入侵拿到控制权的电脑或服务器都被称为“肉鸡”,专门做这个的我们成为黑色产业链,简称“黑产”,他们的手里大概至少有上千上万台甚至数不胜数的肉鸡,他们拿这个肉鸡干嘛呢?比如说有人付钱给入侵者让他给某竞争对手的网站发起 DDOS 攻击,黑客就会操纵他的肉鸡同一时间去请求一个网站,耗尽其服务器的资源从而导致无法对其他正常用户提供访问能力。而这样很难追踪到攻击源,因为其IP都是分布在全世界各个地方的,所以你想想有多恐怖吧!

当然黑产是一个比较广泛的概念,上面的只是其中的很小一部分,再比如说黑客入侵了服务器后会把服务器上一些有利于价值的数据拖下来,这些数据里面包含了用户的邮箱啊、密码啊、身份证电话号码等重要敏感信息,然后通过数据分析得出一个人的画像实施针对性的诈骗或者出售个人信息给比如一些商家,你天天接到的骚扰电话可能就是这么个途径打来的。

假设你在 A 网站用了一样的注册信息和密码,B 网站有用了同样的注册信息和密码,那么当着2个网站都被黑客入侵了,黑客就相当于拿到了2份你的信息,进行比较合并后就更能了解你,可能比你妈还了解你。

所以我认为做一个合格的运维安全意识一定要放在第一位吧!其次是业务能力,运维追求的就是安全、稳定可靠、高可用、自动化。