任何服务器都可能被攻击,这是没法避免的,不能避免但是可以防御,攻击和防御是一对矛盾,都需要讲究策略。
网络有个带宽的概念,或者直接说网速更接地气,网速就是流量和时间的关系,一台计算机可以向另一台计算机不断发送数据包,另一台计算机可能接收也可能直接丢掉。
如果一台计算机想向另一台计算机发数据包,首先会得到其ip地址,然后得到其mac地址,然后就会发数据帧。
首先发的数据帧协议和端口得正确,不然会直接丢掉,但是这个过程也会浪费服务器的计算,如果发送过于频繁,服务器可以直接禁止ip或者mac地址
如果协议端口正确,协议是tcp,还得经过三次握手建立连接,如果建立连接过于频繁,服务器可以直接禁止ip或者mac地址
如果连接不是那么频繁,可能保持一定的合法频率不断发送,服务器需要想办法,规定在一段时间内如果超出限制,判断不合法,直接禁止掉
如果连接ok,频率ok,攻击者还有可能基于一个连接,不断发送大量数据,这就要在应用层限制数据大小,如果超出大小直接终止连接。
当然还有种可能,就是有非常多的ip同时来攻击,这个是很难解决的, 或许可以先关闭服务。
以上只是传输层的安全问题,传输层也确实能阻止很多不正常的流量
应用层也会存在安全问题,比如一次http连接缓慢传输了一个大数据包,或者构造非法的请求,这就需要在设计web服务器程序时考虑周全,并且在设计接口时考虑周全,并且对非法的请求打印日志。
标签:web,另一台,ip,安全,mac,服务器,数据包,连接 From: https://blog.51cto.com/u_13128132/6096520