在下面的教程中,我們將分析Linux中的特定日志文件和Windows Event Viewer中的日志。另外一章將通過Systemd進(jìn)行日志分析。
Linux日志文件
不幸的是,分發(fā)之間的差異很大,可以從特定的日志文件中提取信息。在下文中,我們將分析Debian 8和centos 7.2的日志文件結(jié)構(gòu)。查找日志文件的第一個(gè)位置應(yīng)始終為/ var / log /。根據(jù)它們的配置,apache,nginx或類似的應(yīng)用程序也會(huì)將日志文件寫入此文件夾。系統(tǒng)日志規(guī)范和位置可以在文件/etc/rsyslog.conf中找到。
Debian 8:
可以在此日志文件中找到對(duì)系統(tǒng)進(jìn)行的成功和失敗身份驗(yàn)證的日志。當(dāng)用戶通過sudo調(diào)用命令時(shí),也會(huì)記錄該日志。
/ var / log / messages
該文件包含常規(guī)系統(tǒng)信息的日志條目,此外,您還將找到系統(tǒng)新貴日志。
/ var / log / dmesg或dmesg
可以使用dmesg讀取內(nèi)核環(huán)形緩沖區(qū)。您將根據(jù)系統(tǒng)的硬件和軟件找到有關(guān)系統(tǒng)啟動(dòng),運(yùn)行時(shí)內(nèi)核模塊消息以及許多其他消息的信息。默認(rèn)情況下,dmesg顯示完整的環(huán)形緩沖區(qū)。但是,可以通過添加特定參數(shù)來(lái)自定義輸出。完整的文檔可在手冊(cè)頁(yè)(man dmesg)中找到。
/ var / log / syslog
通常,這是最重要的日志文件之一。通過實(shí)現(xiàn)syslog接口,每個(gè)Linux進(jìn)程均可自由登錄到syslog。它還記錄系統(tǒng)新貴和執(zhí)行的cron-jobs。
centos 7.2:
由于日志文件的結(jié)構(gòu)與Debian 8的非常相似,因此我們將僅提及它們之間的區(qū)別。
/ var / log / secure
該日志文件等效于Debian系統(tǒng)中的/var/log/auth.log。各種身份驗(yàn)證都記錄在這里。
/ var / log / messages
在centos中,沒有將/ var / log / messages和/ var / log / syslog分開,可以在此處找到實(shí)現(xiàn)syslog接口的進(jìn)程的所有系統(tǒng)日志。
/ var / log / cron
Cron特定的日志文件不像Debian中那樣是syslog的一部分。它們可以在上述文件中找到。
通過Systemd進(jìn)行日志分析
Systemd基本上是當(dāng)今幾乎所有主要Linux發(fā)行版的標(biāo)準(zhǔn)Init系統(tǒng)。自從至少2015年4月,當(dāng)Debian和Ubuntu切換到Systemd以來(lái),每個(gè)Linux管理員或用戶都已經(jīng)與Systemd聯(lián)系。由于Systemd是一個(gè)復(fù)雜的系統(tǒng),因此我們只會(huì)研究提供的日志分析功能。Systemd中的每個(gè)進(jìn)程都被標(biāo)識(shí)為一個(gè)單元。可以通過以下命令顯示所有活動(dòng)單位:
systemctl列表單位
附加參數(shù)–all時(shí),此命令還將顯示所有非活動(dòng)單位。
由Systemd創(chuàng)建的日志在所謂的日志中進(jìn)行管理。可以通過journalctl二進(jìn)制文件訪問這些日志。如果沒有任何參數(shù)調(diào)用journalctl,它將打印出整個(gè)Journal。但是,也可以僅輸出特定單元的日志條目。在以下示例中,我們將分析apache Web服務(wù)器的日志文件。
journalctl -u httpd
也可以使用參數(shù)–since和–until限制輸出。
journalctl -u httpd –自“ 2016-11-01 20:00:00” –直到“ 2016-11-03 20:00:00”
上面的命令將在2016-11-01 20:00:00和2016-11-03 20:00:00之間輸出apache日志條目。也可以使用“今天”或“昨天”之類的關(guān)鍵字。
您還可以同時(shí)輸出多個(gè)單位的日志文件。在以下示例中,我們將輸出自昨天以來(lái)記錄的所有apache和nginx日志條目。
journalctl -u httpd -u nginx –從昨天開始
如果使用參數(shù)-f,則會(huì)實(shí)時(shí)顯示所有所需的日志條目。
上面只是對(duì)journalctl的可能性的簡(jiǎn)要介紹,在手冊(cè)頁(yè)(man journalctl)上有其他有用的功能。
通過Windows Event Viewer進(jìn)行日志分析
在左側(cè)導(dǎo)航欄中的上圖中,您可以看到“ Windows Logs”條目。以下條目是最??重要的。
應(yīng)用
此項(xiàng)將顯示本地安裝的應(yīng)用程序的事件。
安全
在這里,您可以看到成功和失敗的登錄嘗試。
系統(tǒng)
此項(xiàng)記錄操作系統(tǒng)內(nèi)部事件和錯(cuò)誤。
通過條目“自定義視圖”->“服務(wù)器角色”->“遠(yuǎn)程桌面服務(wù)”,您可以看到與RDP相關(guān)的事件和錯(cuò)誤。
可以通過“應(yīng)用程序和服務(wù)日志”->“硬件事件”來(lái)識(shí)別潛在的硬件問題。
對(duì)于錯(cuò)誤分析有用的概述也可以通過“概述和摘要”->“管理事件摘要”看到,它提供了系統(tǒng)狀態(tài)的摘要概述。