|
“11月17日消息,上午 11时56分小米内部发出全员级别的通告:人工智能部 AI 实验室一名实习生私自将公司内网端口映射到公网,导致不法分子入侵公司服务器,违反《小米集团员工行为准则》和《员工信息安全规范》有关规定,解除其实习协议并将相关涉案人员移送司法处理。
同为程序员,汇智妹表示深感惋惜。毕竟能够赢过万千竞争者,好不容易进入互联网一线工厂的程序员,却因“无心之失”带来如此大的影响,着实让人唏嘘不已了。
从逻辑上来看,此次小米服务器被攻击的原因应该是:该实习生把内网IP映射为路由的一个端口,让外网可以直接通过这个地址访问到内网电脑。
须知,公司IP和端口连接本来就是不安全的,不宜随便暴露(特别是公网),一旦放开了外网连接,就相当于直接暴露了连接的IP和端口,这样黑客就可以轻易地进行攻击。
举个恰当的栗子:就好比一扇门,本来这扇门是隔离你和外界的安全屏障,而一旦把IP端口映射为路由端口,就相当于你把自己家的家门给打开了,跟外面联通之后,大门敞开,路人便可以随意进出,甚至行窃。
那么,什么是内网端口?为什么映射到公网会有如此大风险?公司遇到类似事件又该如何防范呢?今天汇智妹就来给大家科普一番:
首先对内网端口和外网端口做下释义——虚拟服务器设置(端口映射)里的内部端口是指内部服务器的应用所使用的端口,而外部端口是指外网访问该映射的服务器应用所使用的端口。
是的!每个公司都有自己的专属内网,且安全级别应该被排在最高,没有允许绝对不能连接到公网,这也是IT人理应明确的职场禁忌!
至于内网和外网端口的关系?
例如,内网架设了一台web服务器,默认端口为80,这个80就是内部端口。
外网访问如果使用默认的80端口,就可以在虚拟服务器(端口映射)的外部端口栏起始和结束均填写80。
若想使用8888端口来访问(有些地区运营商会屏蔽80端口,就需要更改外部端口设置),外部端口栏则填写8888,web访问时地址后需要加:8888来访问。
外网端口是Internet用户访问服务器的端口。当访问数据到WAN口时,路由器会将访问请求数据的外部端口替换为内部端口,然后转发给内部服务器,这样服务器就可以正常接收访问。
外部端口主要目的就是降低外网对常用端口的扫描攻击、运营商限制等。(至于内网如何做端口映射,这里就不做介绍,以免引起不必要的麻烦,你懂的~)
那么,公司内网服务器被攻击的话会造成哪些严重后果呢?
01.数据安全首当其冲
最常见的便是泄露服务器中的用户数据和隐私,并成为攻击其它服务器的跳板和肉鸡。
02.用户使用体验骤降
如页面加载速度变慢、操作反应卡顿甚至直接打不开(CPU100%,内存占用率高,服务器近乎瘫痪)。
03.IP封禁/权重排名下降
服务器被持续攻击且超过机房防御能力时,机房会直接将被攻击的端口和IP封禁。
如果是单IP服务器的话,可能网站就无法再继续使用。而如果是一些功能性的后台软件,频繁更换IP也会导致日常业务被迫中断。
01.事前准备工作
任何一家公司尤其是互联网大厂在频频扩招新人之后,对应的岗前培训和重要事项申明是必不可少的,此次小米服务器被攻击,同样说明人事及相关部门负责人的事前培训工作有待加强。
02.遇到攻击时
当服务器遇到DDOS、CC攻击时,通过安装国内一些知名的安全软件来进行防御,也就是采用“软防”。
03.当“软防”不足时
当“软防”无法成功防御且网站仍然是无法正常使用的话,建议采用机房防御,即“硬防”。简单的说,就是采用那些机房的硬件防火墙比较好的服务器进行防御。
在此,汇智妹也想对初入IT职场的程序员小伙伴说一句:
前(no)车(zuo)之(no)鉴(die)
能进入互联网大厂实习,这种身居IT行业一线的机会实属不易,类似职场中的这些禁忌千万要引起足够的重视!
【补充】三种类型的服务器攻击
第一类:ARP欺骗攻击
ARP(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的网络层,负责将某个IP地址解析成对应的MAC地址。
ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的进行。
ARP攻击的局限性:ARP攻击仅能在以太网(局域网如:机房、内网、公司网络等)进行,无法对外网(互联网、非本区域内的局域网)进行攻击。
第二类:CC攻击
相对来说,这种攻击的危害大一些。主机空间都有一个参数 IIS 连接数,当被访问网站超出IIS 连接数时,网站就会出现Service Unavailable 。
攻击者就是利用被控制的机器不断地向被攻击网站发送访问请求,迫使IIS 连接数超出限制,当CPU 资源或者带宽资源耗尽,那么网站也就被攻击垮了。
对于达到百兆的攻击,防火墙就相当吃力,有时甚至造成防火墙的CPU资源耗尽造成防火墙死机。达到百兆以上,运营商一般都会在上层路由封这个被攻击的IP。
针对CC攻击,一般的租用有防CC攻击软件的空间、VPS或服务器就可以了,或者租用章鱼主机,这种机器对CC攻击防御效果更好。
第三类:DDOS流量攻击
就是DDOS攻击,这种攻击的危害是最大的。原理就是向目标服务器发送大量数据包,占用其带宽。对于流量攻击,单纯地加防火墙没用,必须要有足够的带宽和防火墙配合起来才能防御。
DoS攻击有许多种类,主要有Land攻击、死亡之ping、泪滴、Smurf攻击及SYN洪水等。
据统计,在所有黑客攻击事件中,syn洪水攻击是最常见又最容易被利用的一种DoS攻击手法。
01.攻击原理
利用TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。
SYN攻击除了能影响主机外,还可以危害路由器、防火墙等网络系统,事实上SYN攻击并不管目标是什么系统,只要这些系统打开TCP服务就可以实施。
一般来说,配合IP欺骗的SYN攻击能达到很好的效果——通常,客户端在短时间内伪造大量不存在的IP地址,向服务器不断地发送SYN包,服务器回复确认包,并等待客户的确认。
由于源地址是不存在的,服务器需要不断的重发直至超时,这些伪造的SYN包将长时间占用未连接队列,正常的SYN 请求被丢弃,目标系统运行缓慢,严重者引起网络堵塞甚至系统瘫痪。
过程如下:
攻击主机C(地址伪装后为C')-----大量SYN包---->彼攻击主机
C'<-------SYN/ACK包----被攻击主机
由于C’地址不可达,被攻击主机等待SYN包超时。攻击主机通过发人量SYN包填满未连接队列,导致正常SYN包被拒绝服务。另外,SYN洪水攻击还可以通过发大量ACK包进行DoS攻击。
02.传统算法
抵御SYN洪水攻击较常用的方法为网关防火墙法、中继防火墙法和SYNcookies。
(1) 网关防火墙法
网关防火墙抵御攻击的基本思想是:对于内网服务器所发的SYN/ACK包,防火墙立即发送ACK包响应。
当内网服务器接到ACK包后,从backlog队列中移出此半连接,连接转为开连接,TCP连接建成。
由于服务器处理开连接的能力比处理半连接大得多,这种方法能有效减轻对内网服务器的SYN攻击,能有效地让backlog队列处于未满状态,同时在重传一个未完成的连接之前可以等待更长时间。
(2) 中继防火墙法
中继防火墙抵御攻击的思想是:防火墙在向内网服务器发SYN包之前,首先完成与外网的三次握手连接,从而消除SYN洪水攻击的成立条件。
算法完整描述:
第一步,防火墙截获外网客户端发向内网服务器SYN数据包;
第二步,防火墙并不直接向内网发SYN数据包,而是代替内网服务器向外网发SYNIACK数据包;
第三步,只有接到外网的ACK包,防火墙向内网发SYN包;
第四步,服务器应答SYN/ACK包;
第五步,防火墙应答ACK包。
(3) SYN cookies
Linux支持SYN cookies,它通过修改TCP协议的序列号生成方法来加强抵御SYN洪水攻击能力。
在TCP协议中,当收到客户端的SYN请求时,服务器需要回复SYN-SACK包给客户端,客户端也要发送确认包给服务器。
通常,服务器的初始序列号由服务器按照一定的规律计算得到或采用随机数,但在SYN cookies中,服务器的初始序列号是通过对客户端IP地址、客户端端口、服务器IP地址和服务器端口以及其他一些安全数值等要素进行hash运算,加密得到的,称之为cookie。
当服务器遭受SYN攻击使得backlog队列满时,服务器并不拒绝新的SYN请求,而是回复cookie(回复包的SYN序列号)给客户端。如果收到客户端的ACK包,服务器将客户端的ACK序列号减去1得到。
cookie比较值,并将上述要素进行一次hash运算,看看是否等于此cookie。如果相等,直接完成三次握手(注意:此时并不用查看此连接是否属于backlog队列)。 |
|