目前越来越多的服务器被入侵,以及攻击事件频频的发生,像数据被窃取,数据库被篡改,用户数据被脱裤,网站被强制跳转到恶意网站上,网站在百度的快照被劫持,等等的攻击症状层出不穷,当我们的服务器被攻击,被黑的时候我们第一时间该怎么去处理解决呢?
如何排查服务器被入侵攻击的痕迹呢?是否有应急处理方案,在不影响网站访问的情况下,很多客户出现以上攻击情况的时候,找到我们SINE安全来处理解决服务器被攻击问题,我们sine安全工程师总结了一套自有的办法,分享给大家,希望大家能在第一时间解决掉服务器被黑的问题。有些客户遇到这种情况,第一时间想到的就是先把服务器关机,通知机房拔掉电源,有的是直接先关闭网站,这些措施只能先解决目前的问题,解决不了问题的根源,所以遇到服务器被攻击的情况,我们应该详细的检查日志,以及入侵痕迹,溯源,查找漏洞,到底是哪里导致的服务器被入侵攻击。
首先我们应该从以下方面入手:
检查服务器的进程是不是有恶意的进程,以及管理员账号是否被恶意增加,对服务器的端口进行查看,有没有开启多余的端口,再一个对服务器的登陆日志进行检查,服务器的默认开启启动项,服务以及计划任务,检查网站是否存在木马后门,以及服务器系统是否中病毒。
如何查看进程?打开服务器,在cmd命令下输入tasklis,或者是右键任务管理器来进行查看进程,点显示所有用户的进程就可以,我们综合的分析,根据这个内存使用较大,CPU占用较多来初步的看下,哪些进程在不停的使用,就能大概判断出有没有异常的进程,一般来说加载到进程的都是系统后门,查看到进程详细信息使用PID来查看,再用命令findstr来查找进程调用的文件存放在哪里。
接下来就是查看系统是否存在其他恶意的管理员账号,cmd命令下输入net user就会列出当前服务器里的所有账号,也可以通过注册表去查看管理员账号是否被增加,注册表这里是需要在命令中输入egedit来打开注册表,找到HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names可以看到所有的账号名字。
端口方面的检查,比如一些客户服务器经常遭受攻击像3306数据库端口,21FTP端口,135,445端口,1433sql数据库端口,3389远程桌面端口,是否是对外开放,如果这些端口对外开放,很有可能利用漏洞进行攻击,入侵,还有弱口令账号密码,有些数据库的root账号密码为空,以及FTP可以匿名连接,都可以导致服务器被入侵。有些密码还是123456,111111等等。远程桌面的端口要修改掉,尽可能的防止攻击者利用暴力破解的手段对服务器进行登陆。可以对远程登陆这里做安全验证,限制IP,以及MAC,以及计算机名,这样大大的加强了服务器的安全。还要对服务器的登陆日志进行检查,看下日志是否有被清空的痕迹,跟服务器被恶意登陆的日志记录,一般来说很多攻击者都会登陆到服务器,肯定会留下登陆日志,检查事件682就可以查得到。
接下来要对服务器的启动项,服务以及计划任务进行检查,一般攻击者提权入侵服务器后,都会在服务器里植入木马后门,都会插入到启动项跟计划任务,或者服务当中去,混淆成系统服务,让管理员无法察觉,使用msconfig命令对服务器进行查看。
注册表这里要检查这几项:
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices\
HKLM\Software\Microsoft\Windows\CurrentVersion\Run\ HKEY_CLASSES_ROOT\exefile\shell\open\command
HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce\
最重要的是对服务里的网站代码进行安全检测,对比之前网站的备份文件,看下有没有多出一些可疑的代码文件,图片格式的可以忽略,主要是一些asp,aspx,php,jsp等脚本执行文件,对代码查看是否含有eva l等特殊字符的一句话木马webshell,还有些加密的文件,都有可能是网站木马文件,网站的首页代码,标题描述,是否被加密,一些你看不懂的字符,这一般是网站被入侵了,一步一步导致的服务器被攻击。
整体上的服务器被入侵攻击排查就是上面讲到的,还有一些是服务器安装的软件,以及环境,像apache,strust2,IIS环境漏洞,都会导致服务器被入侵,如果网站被篡改,一定要检查网站存在的漏洞,是否存在sql注入漏洞,文件上传漏洞,XSS跨站漏洞,远程代码执行漏洞,从多个方向去排查服务器被入侵攻击的问题。如果对服务器不是太懂,可以找专业的网络安全公司去处理,国内sinesafe,启明星辰,绿盟,都是比较不错的,以上就是我们日常处理客户服务器总结的一套自有的方法去排查,找问题,溯源追踪,彻底的防止服务器继续被黑,将损失降到最低。每个客户的服务器安装的环境不一样,以及代码如何编写的,根据实际情况来排查解决问题。