駕馭好路由器日志 快速定位及排除故障
日志對于網絡安全來說非常重要,他記錄了系統每天發生的各種各樣的事情,你可以通過他來檢查錯誤發生的原因,或者受到攻擊時攻擊者留下的痕跡。路由器是各種信息傳輸的樞紐,被廣泛用于企事業單位的網絡建設中,承擔著局域網之間及局域網與廣域網之問連接的重任。
Cisco是目前使用比較廣泛的一種路由器,在許多行業系統中有非常普遍的應用。以下是筆者在日常工作中積累的一些對Cisco路由器日志設置方面的經驗,這些實例都在實際應用中調試通過并投入使用,供大家參考。
路由器的一些重要信息可以通過syslog機制在內部網絡的Unix主機上作日志。在路由器運行過程中,路由器會向日志主機發送包括鏈路建立失敗信息、包過濾信息等等日志信息,通過登錄到日志主機,網絡管理員可以了解日志事件,對日志文件進行分析,可以幫助管理員進行故障定位、故障排除和網絡安全管理。
認識syslog設備
首先介紹一下syslog設備,它是標準Unix,的跟蹤記錄機制,syslog可以記錄本地的一些事件或通過網絡記錄另外一個主機上的事件,然后將這些信息寫到一個文件或設備中,或給用戶發送一個信息。syslog機制主要依據兩個重要的文件:/etc/syslogd(守護進程)和/etc/syslog.conf配置文件,syslogd的控制是由/etc/syslog.conf來做的。syslog.conf文件指明syslogd程序記錄日志的行為,該程序在啟動時查詢syslog.conf配置文件。該文件由不同程序或消息分類的單個條目組成,每個占一行。對每類消息提供一個選擇域和一個動作域。這些域由tab隔開(注意:只能用tab鍵來分隔,不能用空格鍵),其中選擇域指明消息的類型和優先級;動作域指明sysloqd接收到一個與選擇標準相匹配的消息時所執行的動作。每個選項是由設備和優先級組成。也就是說第一欄寫"在什么情況下"及 "什么程度"。然后用TAB鍵跳到下一欄繼續寫 "符合條件以后要做什么"。當指明一個優先級時,syslogd將記錄二個擁有相同或更高優先級的消息。每行的行動域指明當選擇域選擇了一個給定消息后應該把他發送到哪兒。
第一欄包含了何種情況與程度,中間用小數點分隔。詳細的設定方式如下:
1.在什么情況下記錄?
各種不同的情況以下面的宇串來決定:
auth 關于系統安全與使用者認證;
cron關于系統自動排序執行(CronTable);
daemon 關于背景執行程序;
ken 關于系統核心;
Ipr 關于打印機;
mai1 關于電子郵件;
news 關于新聞討論區;
syslog 關于系統記錄本身;
user 關于使用者;
uucp關于UNIX互拷(UUCP)。
2.什么程度才記錄P
表1是各種不同的系統狀況,依輕重緩急排列。
表1
例如你要系統去記錄info等級的事件,則notice、err、warning、Crit、alert、emerg等在info等級以上的也會被一并記錄下來。把上面所寫的1、2項以小數點組合起來就是完整的"要記錄哪些東西"的寫法。例如mail.info表示關于電子郵件傳送系統的一般性信息。auth.emerg就是關于系統安全方面相當嚴重的信息。Ipr.none表示不要記錄關于打印機的信息(通常用在有多個紀錄條件時組合使用)。另外有三種特殊的符號可供應用:
星號(*):代表某一細項中所有項目。例如mail.*表示只要有關mail的,不管什么程度都要記錄下來。而*.info會把所有程度為infn的事件給記錄下來。
等號(=):表示只記錄目前這一等級,其上的等級不要記錄。例如上面的例子,平常寫下info等級時,也會把位于info等級上面的notice.err.warning、crit、alert、emerg等其他等級也記錄下來。但若你寫=info則就只有記錄info這一等級了。
驚嘆號(!):表示不要記錄目前這一等級及其上的等級。
3、記錄存放的位置
sysloqd提供下列方法供您記錄系統發生的事件:
一般文件
這是最普遍的方式。你可以指定好文件路徑與文件名稱,但是必須以目錄符號"/"開始,系統才會知道這是一個文件。例如/var/adm/maillog表示要記錄到/var/adm下面一個稱為maillog的文件。如果之前沒有這個文件,系統會自動產生一個。
指定的終端機或其他設備
你也可以將系統記錄寫到一個終端機或是設備上。若將系統記錄寫到終端機,則目前正在使用該終端機的使用者就會直接在屏幕上看到系統信息(例如/dev/conso舊或是/dev/tty1,你可以拿一個屏幕專門來顯示系統信息)。若將系統記錄寫到打印機(例如/dev/!p0)。,則你會有一長條印滿系統記錄的紙,這樣網絡入侵者就不能修改日志來隱藏入侵痕跡。
指定的遠端主機
如果你不將系統信息記錄在本地機器上,你可以寫下網絡中另一個主機的名稱,然后在主機名稱前面加上"@"符號(例如(@)ccunix1.variox.int,但被你指定的主機上必須要有sysloqd)。這可以防止由于硬盤錯誤等情況使日志文件丟失。
以上就是syslog各項記錄程度及記錄方式的寫法,可以依照自己的需求記錄下自己所需要的內容。但是這些記錄都是一直追加上去的,除非將文件自行刪除掉,否則這些文件就會越來越大。Syslog設備是一個網絡攻擊者的顯著目標,通過修改日志來隱藏入侵痕跡,因此我們要特別注意。最好養成每周(或更短的時間)定期檢查一次記錄文件的習慣,并將過期的記錄文件依照流水號或是日期備份,以后查閱時也比較容易。千萬不要記錄下*.*,這樣無論什么都被記錄下來,結果會導致文件太大,要找資料時根本無法馬上找出來。有人在記錄網絡日志時,連誰去ping他的主機都要記錄,這樣不僅降低系統效率而且增加了磁盤用量。
路由器日志功能的具體設置方法
首先在UNIX主機上做下列工作,以超級用戶注冊進入:
其中168.1.1.2為日志主機的IP地址。這樣對路由器進行的一些操作將會記錄在mail_debug和r2509_debug這兩個文件中。