【服务器】服务器安全防护、防止服务器攻击和保护措施

对于安全防护来讲,我这里按照从源头到服务器内部的顺序,依次梳理出防护的措施。

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

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

最后就是安全措施,一般有三种:停止响应,节省性能;拉黑处理,以后只要是这个IP就不响应;对于不能大刀阔斧干的,就控制频率,延迟一段时间才能访问。

一、防护清单:

  1. 源头控制(ip)
  • 封闭式:限定访问的IP(指定服务器才能访问即授权访问)
  • 开放式:白名单IP允许
  • 开放式:黑名单IP禁止
  • 开放式:业务行政物理地址外IP禁止(IP定位),消除代理攻击
  • 开放式:业务行政物理地址内IP允许(IP定位),消除代理攻击
  1. 端口控制
  • 知名端口:常用的知名端口,如80,修改知名端口或关闭不必要知名端口。
  • 匿名端口:采用不常用的端口号,端口不连号。
  1. 应用场景控制(手机或PC和其他)
  • 手机端:只会在手机端使用的接口,不对其他终端响应
  • PC端:都可以访问-特定场景:特定场景使用的接口不暴露,且做场景分析控制,非场景下不允许使用
  1. 频率控制
  • 访问间隔:连续访问间隔控制
  • 周期间隔:周期内访问间隔控制
  • 周期访问次数:周期访问次数控制-特定场景访问次数控制:特定场景次数分析
  1. 请求地址控制
  • 不存在的地址控制
  • 恶意攻击地址控制
  1. 参数控制
  • 多余的参数:多余的参数分析和记录
  • SQL攻击:SQL攻击
  • XSS攻击:js脚本攻击和url检测
  • 参数取值:合理取值范围和类型
  1. 流程控制
  • 流程漏洞控制,确保没有流程空白
  • 多接口混合使用形成的流程漏洞控制
  1. 缓存控制
  • 缓存更新漏洞机制
  • 缓存不同步漏洞控制
  1. bug错误控制
  • 异常控制
  • 异常暴露
  • 异常流程控制
  • bug对设计的冲击控制
  1. 系统协作控制
  • 多端协作流程漏洞控制
  1. 分布式控制
  • 数据一致性漏洞
  • 其他
  1. 服务器漏洞
  • 漏洞检测和修复

二、具体做法

(一)关闭不常用的服务器端口

  1. 网站用户常用的端口一般有:FTP(21)、SSH(22)、远程桌面(3389)、http(80)、https(443),以及部分管理面板需要使用到的特殊端口。如:宝塔(8888)等等   在这里,如果是网站用户除了http(80)是必须常开的,其他的端口都可以在需要使用的时候再打开,使用完毕后立即关闭。

  2. 如果使用了服务器管理面板(linux),比如wdcp,wdcp默认的端口是8080,强烈建议在wdcp后台修改默认的端口。(防止被恶意连接)

  3. 如果使用的是windows系统的服务器,我也强烈建议修改windows系统默认的远程连接端口。

(二)谨慎安装不明来源的程序、插件

从互联网下载的程序、插件,我们不敢保证100%的可信,所以请不要随意安装不明来源的程序和插件。一旦这些程序、插件带有后门,那么你的服务器可能就GG了。

三、说明

服务器端的防攻击不能作出太多贡献,最好的办法是对数据进行定期的备份、以及增量备份。

最主要的防护需要在网关——网络层面进行防护

你可能感兴趣的:(服务器,服务器,服务器安全,防攻击,保护措施,服务器管理)