众所周知,服务器是用来提供特定服务的计算机(集群),因为服务不可中断,所以服务器都是7×24小时全天候运行的。但由于服务器长期暴露在公网上,难免会受到黑客的攻击。
很多朋友在遇到服务器攻击后会不知所措,无从下手,只能任由黑客肆意妄为。那在这里我会给出一些方案,让大家一来做好服务器的防御工作,另外在被攻击时能从容处理。
服务器攻击类型有哪些?
作为服务器管理员来说,当服务器受到攻击时我们要清楚是哪种类型的攻击,这样才好对标解决问题。总体来说服务器常遇到的攻击有以下几种:
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、养成查看服务器日志的习惯
很多攻击在前期都是有征兆的,黑客在攻击前都会做很多尝试。所以我们要把服务器上相关的日志做好审查,比如登录日志等。
以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!
大规模DDos流量清洗
关于服务器被人攻击的处理,当然先要分两种情况,如果是大规模DDos抢注攻击的话,一般对付办法不多,根本办法是通过运营商做流量清洗,分布式部署系统分流。用一些基于公有云的防护手段(费钱,效果一般般),一些安全公司昂贵的设备(作用也不大,有钱就可以多买)。
一般性防护手段
一般性防护手段,通过硬防或者软防火墙比如iptables,主要要限制服务器端口访问,除了必须的80,443以外其他端口一律不对外开放。
关于对外开放端口限制和检测的访问,我的原创文章都提过几篇介绍过:
「安全扫描」看好你的大门,企业安全端口扫描实践
基本上就是在外面扫描你服务器ip,看都开了那些端口,对不该开放端口开放的话就封禁掉。主要对外开放的危险端口有 所有udp端口(比如最近大规模针对github的攻击,就用对外开放的memcache udp 11211 udp端口进行的反射式攻击),tcp重点关注端口: 21(ftp),22(ssh) 23(telnet),2181(zookeeper),3306(mysql),6379(redis),8161和61616(mq),11211(memcache),27017/27018(mongodb),9200(elasticsearch)还有其他的根据企业部署情况来增加。
在服务上查看开放的监听端口情况使用命令:
netstat -ntualp
Local地址 类似于 0.0.0.0:3306和 :::22的监听的服务器就要重点关注,一般除了web都不应该对外开放。
对web服务:
1、注意升级所用程序的版本,有漏洞的要及时升级(比如dedecms,struts2的漏洞等),部署的时候注意权限设置,不给多余的权限。
2、部署必要的waf系统,安利下笔者有个开源免费的waf,有需要的可以联系我。
3、部署时候精良先通过CDN或者自己用nginx返乡代理来对用户,不直接把php 应用、tomcat应用服务器对外,这样即可以提高访问效率,增加访问并发,还可以低于短期大流量访问的冲击。
如果服务器被人攻击,挂马了,怎么排除和解决
常见异常情况:异常的流量、异常tcp链接(来源端口,往外发的端口)、异常的访问日志(大量的ip频繁的访问个别文件)。
如果部署了监控系统的话(强烈建议部署zabbix,并增加对系统添加专门安全items),可以方便通过zabbix监控图和趋势对比了解这些信息:
利用last,lastb发现异常的用户登录情况,ip来源。
利用lastlog,/var/log/message,/var/log/secure,日志等,是否权限已经被攻陷。
用history 发现shell执行情况信息。
用top,ps,pstree等发现异常进程和服务器负载等情况。
用netstat -natlp发现异常进程情况。用w命令发现当前系统登录用户的情况。
如果发现异常用户,立即修改用户密码,pkill -kill -t tty 剔除异常用户。然后进行进一步处理。
发现异常进程,立即禁止,冻结禁止。
发现一个恶意进程后通过 ls -al /proc/Pid (Pid为具体的进程号),发现进程的启动路径,启动的文件所在目录等信息。
如果发现异常连接数,通过iptables封禁相关端口或者ip
iptables -I INPUT -s ip -j DROP
iptables -I OUTPUT -p tcp –dport 25 -j DROP
iptables -I INPUT -p tcp –dport 25 -j DROP
对清理移动木马,杀掉进程
首先清理掉木马创建的cron 计划项和启动项。
ls -al /etc/proc/Pid/ 找的恶意木马文件。
恶意进程的执行目录和文件
最后用一条命令 kill -9 所有的进程ID && rm -rf 所有涉及的文件和目录。
更多信息可以关注笔者的文章或者咨询笔者:
「系统安全」当网站发生异常,出现安全事故,如何进行排查处置?
「WEB安全」单行命令查杀Webshell(php为例)
上楼不完全我来告诉你,我同时搞施工和网络安全,请关注我一波,谢谢大家!
1,攻击介绍
ddos(分布式拒绝服务攻击)攻击是针对服务器,发送大量无用数据包导致服务器资源耗尽导致无法访问。
cc攻击是针对web服务器发起的攻击,此类型的攻击和DDOS不同,这种攻击实施成功后服务器不会挂,而是web挂同样的普通用户也不能访问web网站了。但是ping服务器还是能ping通服务器正常运行。
web入侵攻击,攻击者通过网站搭设cms或者第三方漏洞0day弱口令爆破等攻击拿到web网站的权限称为websehll,拿到后如果网站没有降权攻击者直接拥有了最好权限相当于服务器权限,CC攻击是DDOS(分布式拒绝服务)的一种,相比其它的DDOS攻击CC似乎更有技术含量一些。这种攻击你见不到真实源IP,见不到特别大的异常流量,但造成服务器无法进行正常连接。
以上攻击不管哪一种都用户都会造成不同程度的损失,特别是最后一种攻击会造成数据库信息泄露被脱裤,如果攻击者心黑直接删除数据库信息或者格盘那损失就大了。
2,防御方法
DDOS攻击防御方法:
(1)过滤不必要的服务和端口
(2)异常流量的清洗过滤
(3)分布式集群防御(方法最有效)
(4)高防智能DNS解析
(4)购买防D设备(阿里云的不错)
2,CC攻击防御方法:
(1) 利用Session做访问计数器
(2)把网站做成静态页面
(3)增强操作系统的TCP/IP栈
(4)在存在多站的服务器上,严格限制每一个站允许的IP连接数和CPU使用时间
(5)服务器前端加CDN中转
由于我本人擅长渗透,下面来详细介绍最后一种web入侵的防御办法:
升级当前网站cms的系统,排查当前cms是否存在已知漏洞,如果有请尽快停止iis在服务器排查脚本木马,以后联系cms提供商要求提供漏洞补丁。服务器系统补丁也不要忘记升级,给网站容器降权(iis),检查网站是否存在弱口令特别是第三方服务,开启连接次数限制防止被爆破攻击,安装服务器waf,安全狗,云顿,360等,如果有必要请安全团队网站服务器进行一次授权攻击测试,以攻击者的角度来实施攻击,最后根据渗透报告来一项一项的加固防御。
有于是手机纯手打,错别字请别在意,也请忽略排版,这点篇幅只能说个大概,安全博大精深几十篇都说不完,另外以上纯属个人经验如有误人子弟之处请指正。请大家关注我,工程施工和网络安全都有涉及可以和大家讨论讨论
拔电源,或者断网即可