新闻中心
服务器被攻击了怎么办?服务器防御教程
2019-02-25
阅读()
来源:互联数据

关于服务器被人攻击的处理,除了学会服务器监测项,避免客户信息泄露。要分两种情况,如果是大规模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)还有其他的根据企业部署情况来增加。


服务器被DDOS或CC攻击时如何封禁攻击者IP?这样跟你说吧,也许容易理解点。你可以封ip,但是没任何意义,封ip,通过本机防火墙或者下载安全狗等工具就可以设置策略。

攻击服务器封锁IP


为什么封ip是没意义的呢?


网络可以简单理解为双向车道,正常情况下上行与下行可以理解为双向行车。ddos这些攻击就相当于把你的车道塞满,本来你单次可以通行两辆车,满足你的车辆正常行驶,后面的车辆排队跟上就行了。此时,突然出现了大规模车辆,占用了你的道路,比如突然出现了1000辆车,都在排队过收费站,这1000量车你可以理解为走错路的车,但是他们想下高速,也必须得过收费站,收费站每次只能过2辆,正常的车辆以前是正好可以正常通过,不用等多久就能依次通过收费站了,现在这1000个走错路的车子现在排着队也要过收费站。


同理服务器为了处理这1000IP,花了10分钟,那么意味着你正常的流量也要拖10分钟才能访问网站。比如,咱们按照网络传输的协议再加个规则,如果访客5分钟过不了收费站就会被罚款,(比如那个高速有个超时费用),这个对网络传输来说就意味着404了,连接不到服务器了,抛出404,这样的话,你本来正常的访客因为一些走错路的访客而被罚款了。你封他ip,其实就相当于在收费站的时候告诉走错路的车子,你走错路了,以后不给你过了,再过我就要罚你钱了。


封了IP后,第二天,这1000个车子又走错路了,又经过这个收费站,收费员看到这个错路的车子,直接罚了100块。分析:走错路的车子,不管你罚款不罚款,他都要过收费站你才知道他是不是走错路被你标记的车子,也就是说,他的存在,还是要影响你后面正常的车子的通行。


结论:本机封ip,意义不大。办法:通过堡垒机硬抗,就是高仿服务器来抗,最重要的其实就一点,通过对宽带的扩展来实现对ddos的包容,不管你多大流量,只要我带宽够,我都能处理。

服务器被人攻击如何解决



如果服务器被人攻击,挂马了,怎么排除和解决?


常见异常情况:异常的流量、异常tcp链接(来源端口,往外发的端口)、异常的访问日志(大量的ip频繁的访问个别文件)。


如果部署了监控系统的话(强烈建议部署zabbix,并增加对系统添加专门安全items),可以方便通过zabbix监控图和趋势对比了解这些信息:


1、利用last,lastb发现异常的用户登录情况,ip来源。利用lastlog,/var/log/message,/var/log/secure,日志等,是否权限已经被攻陷。


2、用history 发现shell执行情况信息。


3、用top,ps,pstree等发现异常进程和服务器负载等情况。


4、用netstat -natlp发现异常进程情况。用w命令发现当前系统登录用户的情况。


如果发现异常用户,立即修改用户密码,pkill -kill -t tty 剔除异常用户。然后进行进一步处理。发现异常进程,立即禁止,冻结禁止。发现一个恶意进程后通过 ls -al /proc/Pid (Pid为具体的进程号),发现进程的启动路径,启动的文件所在目录等信息。


如果发现异常连接数,通过iptables封禁相关端口或者ip,对清理移动木马,杀掉进程,首先清理掉木马创建的cron 计划项和启动项。ls -al /etc/proc/Pid/ 找的恶意木马文件。恶意进程的执行目录和文件,最后用一条命令 kill -9 所有的进程ID && rm -rf 所有涉及的文件和目录。

相关阅读