Syslog介紹
Outline 何謂登錄檔 登錄檔的重要性 常見的登錄檔檔名 登錄檔相關的服務與程式 DEMO
何謂登錄檔 記錄系統活動資訊的幾個檔案,例如:何時、 何地 (來源 IP)、何人 (什麼服務名稱)、做 了什麼動作 (訊息登錄)。 換句話說就是:記錄系統在什麼時候由哪個 程序做了什麼樣的行為時,發生了何種的事 件等等。 通常這些登錄檔只有root 可以進行視察的功 能! 由於這些記錄的工作內容對於系統的資訊太詳細,若被取得將可能影響到系統的安全性 3
登錄檔的重要性 解決系統方面的錯誤: 解決網路服務的問題: 記錄登錄資訊: 系統會將硬體偵測過程記錄在登錄檔內,透過查詢登 錄檔就能夠瞭解系統作了甚麼事。 解決網路服務的問題: 網路的各種服務都會被寫入特別的登錄檔, 只要查詢 登錄檔就會知道出了什麼差錯。 例如:郵件伺服器(sendmail),可查詢 /var/log/maillog。 記錄登錄資訊: 例如:WWW 服務 (apache 軟體) 在某個時刻流量特別 大,可以透過登錄檔去找出該時段是哪些 IP 在連線 與查詢的網頁資料為何,就能夠知道原因。
Linux 常見的登錄檔檔名 /var/log/boot.log:記錄開機或者是一些服 務啟動的時候,所顯示的啟動或關閉訊息。 /var/log/dmesg: 記錄系統在開機的時候核心偵測過程所產生 的各項資訊。 /var/log/faillog:錯誤登入時所使用的帳號 資訊 。 /var/log/messages:系統發生的錯誤訊息 (或者是重要的資訊)幾乎都會記錄在這個檔 案中。
Linux 常見的登錄檔檔名(cont.) /var/log/secure:記錄登入系統存取資料的 檔案,例如 pop3, ssh, telnet, ftp 等都 會記錄在此檔案中。 /var/log/httpd/, /var/log/news/, /var/log/mysql.log, /var/log/samba/:不 同的網路服務會使用個別的登錄檔案來記載。 /var/log/maillog 或 /var/log/mail/:紀 錄郵件存取(sendmail與pop3)的使用者記 錄。 /var/log/cron:例行性工作排程的登錄檔。
Linux 常見的登錄檔檔名(cont.) /var/log/lastlog:可以記錄系統上面所 有的帳號最近一次登入系統時的相關資訊。 /var/log/wtmp:記錄登入者的訊息資料 (檔案已經被編碼過) 檔案內容查閱指令:last [-option] last 顯示所有系統user login記錄 last –a 顯示所有系統user login記錄,並將 hostname 放在最後一個欄位 last –100 顯示最後100個系統user login記錄 last woody 顯示由woody login 記錄
klogd: syslogd: logrotate: 登錄檔相關的服務與程式 主要在進行登錄檔的輪替功能。 主要登錄核心產生的各項資訊。 主要登錄系統與網路等服務的訊息。 logrotate: 主要在進行登錄檔的輪替功能。
syslogd :記錄登錄檔的服務 查詢syslog是否開啟 查詢啟動哪些服務(run level) ps aux | grep syslog 查詢啟動哪些服務(run level) ntsysv chkconfig --list syslog -- 多字元 ex: chkconfig --list - 單一字元 ex: ifconfig -a
Syslog 設定檔 /etc/syslog.conf
Syslog 設定檔(cont.) 服務名稱:例如 mail, http, news, cron, at 等等的服務名稱; 訊息等級:總共分成下列幾種等級: info : 提示一些訊息資料; notice : 注意!需要比較留意的訊息; waring 或 warn : 警示的訊息,以上三個訊息都還是沒有錯誤的情況 Err 或 error : 錯誤訊息出現!該要檢驗錯誤的問題發生原因了; crit : 臨界點了。 alert : 錯誤訊息一再地警告警告。 emerg 或 panic : 系統已經進入混亂的階段。 特殊等級:例如 debug (顯示較多的資訊)及 none (不要記錄該服務 的內容) 存放或顯示地點:通常我們使用的都是記錄的檔案 檔案的絕對路徑:通常就是放在 /var/log 裡頭的檔案啦! 印表機或其他:例如 /dev/lp0 這個印表機裝置 使用者名稱:顯示給使用者囉! 遠端主機:例如 @163.22.4.91
DEMO:自行增加登錄檔 新增登錄檔案 重新啟動服務 檢查新增的登錄檔案是否存在 vim /etc/syslog.conf #add vsftp log by kjclark ftp.notice /var/log/ftp.notice 重新啟動服務 /etc/init.d/syslog restart 檢查新增的登錄檔案是否存在 ls /var/log/
DEMO:登錄檔訊息等級差異實作 ftp 10.40.11.51 帳號錯誤 帳號正確密碼錯誤 帳號正確密碼正確
logrotate 的設定檔 /etc/logrotate.d/ /etc/logrotate.conf 目錄資料夾,裡面所有檔案會主動寫入參 數檔案中 /etc/logrotate.conf 主要參數檔案
logrotate 的設定檔 vim /etc/logrotate.conf vim /etc/logrotate.d/syslog
logrotate 的設定檔
EXERCISES: 利用Mail一封信給自己或同學,並在 syslog中找出紀錄。 嘗試修改logrotate的rotate參數並觀察 數字由大變小或由小變大時/var/log/的 變化。 安裝vsftp並練習demo中的實作。
Reference Quick HOWTO : Ch05 : Troubleshooting Linux with syslog http://linux.vbird.org/linux_basic/0570sysl og.php#syslogd_conf http://zh.wikipedia.org/zh-tw/注册表 http://voip.com.ncnu.edu.tw/Summer2010 /index.html