今天逛知乎,看到一篇不错的文章,关于Linux安全事件应急响应排查方法总结。写的特别棒。和大家分享一下:
Linux是服务器操作系统中最常用的操作系统,因为其拥有高性能、高扩展性、高安全性,受到了越来越多的运维人员追捧。但是针对Linux服务器操作系统的安全事件也非常多的。攻击方式主要是弱口令攻击、远程溢出攻击及其他应用漏洞攻击等。以下是针对此次攻击事件,结合工作中Linux安全事件分析处理办法,总结Linux安全应急响应过程中的分析方法。
一、分析原则
重要数据先备份再分析,尽量不要在原来的系统中分析;
已经被入侵的系统都不再安全,如果条件允许最好采用第三方系统进行分析
二、分析目标
找到攻击来源IP找到入侵途径
分析影响范围
量化影响级别
三、数据备份采集
1.痕迹数据永远是分析安全事件最重要的数据
在分析过程中,痕迹数据永远是最重要的数据资料。所以第一件事自然是备份相关痕迹数据。痕迹数据主要包含如下几点:
系统日志:message、secure、cron、mail等系统日志;
应用程序日志:Apache日志、Nginx日志、FTP日志、MySQL等日志;
自定义日志:很多程序开发过程中会自定义程序日志,这些日志也是很重要的数据,能够帮我们分析入侵途径等信息;bash_history:这是bash执行过程中记录的bash日志信息,能够帮我们查看bash执行了哪些命令。其他安全事件相关日志记录
分析这些日志的时候一定要先备份,我们可以通过tar压缩备份好,再进行分析,如果遇到日志较大,可以尽可能通过splunk等海量日志分析工具进行分析。
以下是完整备份var/log路径下所有文件的命令,其他日志可以参照此命令:
#备份系统日志及默认的httpd服务日志 tar -cxvf logs.tar.gz /var/html
#备份last last > last.log
#此时在线用户 w > w.log
2.系统状态
系统状态主要是网络、服务、端口、进程等状态信息的备份工作:
#系统服务备份 chkconfig --list > services.log
#进程备份 ps -ef > ps.log
#监听端口备份 netstat -utnpl > port-listen.log
#系统所有端口情况 netstat -ano > port-all.log
3.查看系统、文件异常
主要针对文件的更改时间、属组属主信息问题,新增用户等问题,其他可以类推:
#查看用户信息: cat /etc/passwd
#查找最近5天内更改的文件 find -type f -mtime -5
4.最后扫一下rootkit
Rootkit Hunter和chkrootkit都可以
四、分析方法
大胆猜测是最重要的,猜测入侵途径,然后进行分析一般都会事半功倍。 一般来说,分析日志可以找到很多东西,比如,secure日志可以查看Accept关键字;last可以查看登录信息;bash_history可以查看命令执行信息等,不同的日志有不同的查看方式,最好是系统管理员的陪同下逐步排查,因为系统管理员才最懂他的服务器系统。此处不做太多赘述。
五、分析影响
根据服务器的用途、文件内容、机密情况结合数据泄漏、丢失风险,对系统使用者影响等进行影响量化,并记录相关安全事件,总结分析,以便后期总结。 如果已经被进行过内网渗透,还需要及时排查内网机器的安全风险,及时处理。
六、加固方法
已经被入侵的机器,可以打上危险标签,最直接最有效的办法是重装系统或者系统还原。所以经常性的备份操作是必不可少的,特别是源代码和数据库数据。 通过分析的入侵途径,可以进行进一步的加固处理,比如弱口令和应用漏洞等。
领取专属 10元无门槛券
私享最新 技术干货