Linux是服務器操作系統中最常用的操作系統,因為其擁有高性能、高擴展性、高安全性,受到了越來越多的運維人員追捧。但是針對Linux服務器操作系統的安全事件也非常多的。攻擊方式主要是弱口令攻擊、遠程溢出攻擊及其他應用漏洞攻擊等。我的VPS在前幾天就遭受了一次被惡意利用掃描其他主機SSH弱口令安全問題。以下是我針對此次攻擊事件,結合工作中Linux安全事件分析處理辦法,總結Linux安全應急響應過程中的分析方法。
一、分析原則 1.重要數據先備份再分析,盡量不要在原來的系統中分析; 2.已經被入侵的系統都不再安全,如果條件允許最好采用第三方系統進行分析 二、分析目標 1.找到攻擊來源IP 2.找到入侵途徑 3.分析影響范圍 4.量化影響級別 三、數據備份采集 1.痕跡數據永遠是分析安全事件最重要的數據 在分析過程中,痕跡數據永遠是最重要的數據資料。所以第一件事自然是備份相關痕跡數據。痕跡數據主要包含如下幾點: 1.系統日志:message、secure、cron、mail等系統日志; 2.應用程序日志:Apache日志、Nginx日志、FTP日志、MySQL等日志; 3.自定義日志:很多程序開發過程中會自定義程序日志,這些日志也是很重要的數據,能夠幫我們分析入侵途徑等信息; 4.bash_history:這是bash執行過程中記錄的bash日志信息,能夠幫我們查看bash執行了哪些命令。 5.其他安全事件相關日志記錄 分析這些日志的時候一定要先備份,我們可以通過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可以查看命令執行信息等,不同的日志有不同的查看方式,最好是系統管理員的陪同下逐步排查,因為系統管理員才最懂他的服務器系統。此處不做太多贅述。 五、分析影響 根據服務器的用途、文件內容、機密情況結合數據洩漏、丟失風險,對系統使用者影響等進行影響量化,並記錄相關安全事件,總結分析,以便後期總結。 如果已經被進行過內網滲透,還需要及時排查內網機器的安全風險,及時處理。 六、加固方法 已經被入侵的機器,可以打上危險標簽,最直接最有效的辦法是重裝系統或者系統還原。所以經常性的備份操作是必不可少的,特別是源代碼和數據庫數據。 通過分析的入侵途徑,可以進行進一步的加固處理,比如弱口令和應用漏洞等。