随着计算机与网络技术的发展,计算机的处理能力迅速增长,但是各种网络攻击也是随着增长,各种攻击方式也是层出不穷。对于服务器来说,各种安全防护措施非常有必要,但是服务器的防护方式千千万万,总会有遗漏的地方,也就是我们常说的漏洞。这些没有防护到位的地方,在某个时间点爆发,足以对服务器的起到致命打击。

在此主要从服务器源头到服务器内部的顺序,依次给大家梳理一些防护的措施。

服务器安全防护和保护措施方案
服务器的最源头自然是发起请求端的客户端,请求则是通过IP来定位服务器的。服务器的IP自然是公开的,而客户端的IP则是不确定的。我们如果通过分析和控制客户端的IP,也就将安全遏制在源头。

然后就是要对端口进行控制。过了这两关,也就进入了服务器的内部逻辑了。我们就可以对应用场景进行分析控制,频率更要控制,其他的就更加细致了。

最后就是安全措施,一般有三种:

1、停止响应,节省性能;

2、拉黑处理,以后只要是这个IP就不响应;

3、对于不能大刀阔斧干的,就控制频率,延迟一段时间才能访问。

下面是一个简要的清单,后续将逐个解释控制的原理和流程。再最后就是针对每一种控制,提出实现方案。

一、安全防护:
1.源头控制(ip)

-封闭式:限定访问的IP(指定服务器才能访问即授权访问)

-开放式:白名单IP允许

-开放式:黑名单IP禁止

-开放式:业务行政物理地址外IP禁止(IP定位),消除代理攻击

-开放式:业务行政物理地址内IP允许(IP定位),消除代理攻击

2.端口控制

-知名端口:常用的知名端口,如80,修改知名端口或关闭不必要知名端口。

-匿名端口:采用不常用的端口号,端口不连号。

3.应用场景控制(手机或PC和其他)

-手机端:只会在手机端使用的接口,不对其他终端响应

-PC端:都可以访问

-特定场景:特定场景使用的接口不暴露,且做场景分析控制,非场景下不允许使用

4.频率控制

-访问间隔:连续访问间隔控制

-周期间隔:周期内访问间隔控制

-周期访问次数:周期访问次数控制

-特定场景访问次数控制:特定场景次数分析

5.请求地址控制

-不存在的地址控制

-恶意攻击地址控制

6.参数控制

-多余的参数:多余的参数分析和记录

-SQL攻击:SQL攻击

-XSS攻击:js脚本攻击和url检测

-参数取值:合理取值范围和类型

7.流程控制

-流程漏洞控制,确保没有流程空白

-多接口混合使用形成的流程漏洞控制

8.缓存控制

-缓存更新漏洞机制

-缓存不同步漏洞控制

9.bug错误控制

-异常控制

-异常暴露

-异常流程控制

-bug对设计的冲击控制

10.系统协作控制

-多端协作流程漏洞控制

11.分布式控制

-数据一致性漏洞

-其他

12.服务器漏洞

-漏洞检测和修复


二、保护措施:
1.拒绝服务:当次停止响应,减少性能消耗

2.拉黑:后续全部停止响应

3.限制降频:降低允许访问的频率