服务器是用来提供特定服务的计算机(集群),因为服务不可中断,所以服务器都是7x24小时全天候运行的。但由于服务器长期暴露在公网上,难免会受到黑客的攻击。
很多朋友在遇到服务器攻击后会不知所措,无从下手,只能任由黑客肆意妄为。那在这里我会给出一些方案,让大家一来做好服务器的防御工作,另外在被攻击时能从容处理。
服务器攻击类型有哪些?
作为服务器管理员来说,当服务器受到攻击时我们要清楚是哪种类型的攻击,这样才好对标解决问题。总体来说服务器常遇到的攻击有以下几种:
1、DDoS(分布式拒绝服务)攻击
这个DDoS攻击其实就是流量攻击,它的原理就是利用很多客户端向服务器发送大量的请求,使服务器的网络过载、服务器负载飙升,从而让其它合法用户无法正常请求服务器。从本质上说DDoS带来的流量也是正常的流量,所以一般DDoS是很难防御的。
DDoS攻击针对的是服务器的网络层。
2、CC攻击
CC攻击原理就是黑客利用大量的主机(客户端)向我们的服务(特别是消耗CPU时间的服务)不停的请求,造成服务器资源浪费,CC攻击时服务器CPU常常是占满状态的。
CC攻击针对的是WEB应用层(如网站)。
3、WEB攻击
这种攻击主要是利用当前的WEB应用存在的漏洞进行系统及数据破坏的行为,手段通常有:
SQL注入
XSS、CSRF攻击
爆库攻击等
4、劫持攻击
攻击者通过攻击DNS服务器或者更改DNS服务器来将请求重定向至其它服务器,比如钓鱼网站就是一种劫持。
5、服务器系统及应用漏洞攻击
这种就是嗅探服务器及其系统上的应用是否存在可利用的漏洞,然后针对性的攻击,比如Redis提权、弱口令提权等。
服务器攻击如何处理?
服务器受到攻击后,我们要针对性处理,以下是对应的解决方案:
1、DDoS攻击处理方案
联系机房做流量清洗,必要时使用高防IP;
使用CDN来分流;
实在不行把域名解析至 127.0.0.1 ;
2、CC攻击处理方案
系统要合理利用缓存,对于一些结果做好缓存,避免每次都去重复计算;
利用软防限制每个IP的连接数限制;
请求过多时启用验证码验证是否是机器行为;
3、WEB攻击处理方案
对于GET、POST请求做过滤,将一些敏感字符过滤掉;
对于用户提交的数据,务必做好数据类型检查和过滤;
数据库SQL语句不要使用拼接字符串这种形式,应该采用预编译和参数绑定这种方式;
如果WEB应用是采用开源CMS或者框架二次开发的,务必及时修复其官方发布的补丁;
站点目录及文件的读、写、执行权限要严格控制,特别是要注意upload目录的权限,防止上传了动态脚本甚至能直接执行;
4、服务器系统及应用漏洞处理方案
做好端口策略,防火墙里只开放必要的端口(除了WEB端口外,其它端口要特别留意);
服务器上不常用的服务全部停止掉;
WEB程序被破坏时使用备份文件还原;
服务器安全防御策略
只有服务器提前做好安全防御措施才能最大程度的避免服务器被攻击,结合我多年运维经验建议大家:
1、数据备份很重要
如果服务器系统受到破坏,而你又没有备份数据,那危害就相当大了。所以我们要对系统、程序、数据库、配置、其它数据要做好备份,以防万一。
2、服务器IP隐匿
网站走CDN加速;
禁用服务器ICMP;
3、防火墙策略严格设置
只开放必要的端口,其它端口一律不开放;
同IP特定时间段内限制连接数;
4、服务器安全策略
不要使用弱口令;只允许特定IP或者用户登录服务器;
对于不需要的服务一律禁用;
服务器要最小化安装,不要在服务器上乱装软件应用;
服务器文件及目录权限要严格控制,避免777这种权限;
5、养成查看服务器日志的习惯
很多攻击在前期都是有征兆的,黑客在攻击前都会做很多尝试。所以我们要把服务器上相关的日志做好审查,比如登录日志等。