1. 程式人生 > >Linux入侵日誌檢測研究專題

Linux入侵日誌檢測研究專題

Linux日誌系統中記錄了每天發生的各種各樣的事件,包括使用者正常和非正常的登入情況,Linux的日誌系統對於系統安全來說非常重要,通過分析日誌可以瞭解錯誤發生的原因,對於排查系統錯誤有很大的幫助;更重要的是在系統受到黑客攻擊後,日誌中會留下攻擊者的痕跡,通過分析這些痕跡,系統管理員可以發現黑客攻擊的某些手段以及特點,甚至可以瞭解黑客攻擊使用的地址以及其他資訊,從而能夠針對性的進行處理,更好地抵禦下一次攻擊。

Linux系統中,日誌系統主要分為三類:

● 系統接入日誌: 多個程式會記錄該日誌,記錄到/var/log/wtmp和/var/run/utmp檔案中,telnet、ssh等程式會更新wtmp和utmp檔案,系統管理員可以根據該日誌跟蹤到誰在何時登入到系統。

● 程序統計日誌:Linux核心記錄該日誌,當一個程序終止時,程序統計檔案(pacct或acct)中會進行記錄。程序統計日誌可以供系統管理員分析系統使用者對系統進行的配置,以及對檔案進行的操作。

● 錯誤日誌: Syslog日誌系統已經被許多裝置相容,Linux的syslog可以記錄系統事件,主要由syslogd程式執行,Linux系統下各種程序、使用者程式和核心都可以通過Syslog檔案記錄重要資訊,錯誤日誌記錄在/var/log/messages中。有許多Linux/Unix程式建立日誌。像HTTP和FTP這樣提供網路服務的伺服器也保持詳細的日誌。

1  Linux下日誌的使用

1.1    基本日誌命令的使用

Linux系統中記錄使用者登入登出情況的檔案是wtmp檔案,記錄當前登入使用者情況的檔案是utmp檔案,它們是Linux系統安全的重要檔案。這兩個檔案中所有的日誌都記錄了準確的時間。日誌中記錄的時間是非常重要的,因為很多攻擊行為分析都是與時間有極大關係的。

Utmp以及wtmp檔案都是二進位制檔案,不能通過tail,cat,vi或者重定向進行編輯。系統管理員需要通過命令獲取這兩個檔案中包含的資訊,其中utmp檔案中包含的資訊可以通過who、w、users和finger獲取, wtmp檔案中包含的資訊可以通過last和ac獲取。具體用法如下:

who命令從utmp檔案中查詢當前登入的使用者情況。預設情況下who的輸出包括登入使用使用者名稱、登入日期及登入使用IP。通過該命令,系統管理員可以發現當前系統存在哪些不法使用者,找到非法使用使用者後可以通過多種手段限制該使用者或者該登入IP繼續使用伺服器。下面是who命令執行顯示情況:

[[email protected] ~]# who

root     tty1         2011-03-21 16:59

root     pts/0        2011-06-14 19:06 (10.35.117.80)

root     pts/2        2011-03-13 14:21 (:1.0)

在指明wtmp情況下,通過who命令可以查詢到所有以前的記錄。下面是命令who /var/log/wtmp的執行結果,顯示了自從wtmp檔案建立、刪改以來的每一次登入。

[[email protected] ~]# who /var/log/wtmp

ntbackup pts/0        2011-06-03 14:18 (10.35.8.242)

root     pts/3        2011-06-03 15:24 (10.35.117.80)

root     pts/3        2011-06-03 15:48 (10.35.117.80)

ntbackup pts/0        2011-06-03 17:15 (10.35.8.242)

ntbackup pts/0        2011-06-07 10:15 (10.35.117.73)

ntbackup pts/3        2011-06-07 10:26 (10.35.117.73)

ntbackup pts/0        2011-06-07 10:45 (10.35.117.73)

ntbackup pts/4        2011-06-07 12:43 (10.35.117.73)

ntbackup pts/5        2011-06-07 13:41 (10.35.117.73)

ntbackup pts/0        2011-06-07 15:41 (10.35.117.73)

root     pts/0        2011-06-07 21:12 (10.32.171.146)

ntbackup pts/0        2011-06-08 10:39 (10.35.117.73)

ntbackup pts/0        2011-06-09 19:43 (10.35.117.73)

ntbackup pts/0        2011-06-10 08:24 (10.35.117.73)

ntbackup pts/3        2011-06-10 08:34 (10.35.117.73)

ntbackup pts/4        2011-06-10 10:25 (10.35.117.73)

ntbackup pts/0        2011-06-10 12:34 (10.35.117.73)

ntbackup pts/0        2011-06-13 08:34 (10.35.117.73)

root     pts/0        2011-06-13 15:42 (flashieldsdell.nt.js.cmcc)

root     pts/0        2011-06-14 14:44 (10.35.117.80)

root     pts/0        2011-06-14 19:06 (10.35.117.80)

1.2    日誌使用注意事項

在系統管理工作中,按時以及隨機的檢查系統日誌是非常重要的工作,可以幫助系統管理人員及時發現可疑狀況,需要檢查的系統日誌檔案駐澳包括一般資訊日誌、網路連線日誌、檔案傳輸日誌以及使用者登入日誌等。在檢查這些日誌時,要特別注意時間記載,分析日誌產生的時間是否合理。例如:

■ 非正常時間(凌晨)的使用者登入;

■ 關鍵日誌記錄損壞,尤其是記錄使用者登入登出資訊的wtmp檔案;

■ 非正常IP的使用者登入;

■ 使用者登入失敗,甚至一再嘗試登入並失敗的日誌記錄;

■ 非正常的超級使用者許可權切換su指令;

■ 非正常的控制程序啟動或重啟記錄。

由於Linux伺服器是基於檔案記錄的系統日誌,儘管重要的日誌檔案已經是二進位制的,但是由於Linux是開源的作業系統,所以有些情況下黑客在入侵後經常會打掃戰場。雖然在這種情況下,日誌資訊顯得不是那麼可靠,但是如果能夠綜合運用以上的系統命令,並結合其他系統相關命令,通過系統的、關聯的分析還是能夠找到蛛絲馬跡。

users命令在一行打印出當前登入的使用者資訊,每個使用者名稱代表對應一個登入會話。結合who命令以及程序統計日誌可以分析黑客偽造這兩個命令的情況。執行該命令將如下所示:

[[email protected] ~]# users

root root root

[[email protected] ~]# who

root     tty1         2011-03-21 16:59

root     pts/0        2011-06-14 19:06 (10.35.117.80)

root     pts/2        2011-03-13 14:21 (:1.0)

[[email protected] ~]#

last命令與who/var/log/wtmp命令輸出結果相似。通過使用以及對比著兩個輸出,系統管理員可以對使用系統的使用者進行審計和考核,及時發現問題,解決問題。執行該命令,如下所示:

[[email protected] ~]# last

root     pts/0        10.35.117.80     Tue Jun 14 19:06   still logged in    

root     pts/0        flashieldsdell.n Mon Jun 13 15:42 - 19:21  (03:38)   

ntbackup pts/0        10.35.117.73     Mon Jun 13 08:34 - 09:11  (00:37)   

……

ntbackup pts/0        10.35.8.242      Fri Jun  3 14:18 - 16:29  (02:11)   

如果使用上述命令顯示的資訊太多,比較難區分,可以通過grep命令,或者對last命令指明使用者來顯示其登入資訊即可。例如: 只顯示root的歷史登入資訊,則如下所示:

[[email protected] ~]# last root

root     pts/0        10.35.117.80     Tue Jun 14 19:06   still logged in  

root     pts/0        10.35.117.80     Tue Jun 14 14:44 - 16:58  (02:14)   

root     pts/0        flashieldsdell.n Mon Jun 13 15:42 - 19:21  (03:38)   

root     pts/0        10.32.171.146    Tue Jun  7 21:12 - 23:24  (02:11)   

root     pts/3        10.35.117.80     Fri Jun  3 15:48 - 18:04  (02:16)   

root     pts/3        10.35.117.80     Fri Jun  3 15:24 - 15:24  (00:00)   

ac命令根據系統的wtmp檔案中的登入登出資訊生成使用者連線時間(單位小時)的報告,如下所示。

[[email protected] ~]# ac -d

Jun  3  total        6.68

Jun  7  total       18.89

Jun  8  total        9.92

Jun  9  total       11.00

Jun 10  total        9.28

Jun 13  total        4.26

Today   total        2.84

[[email protected] ~]# ac -p

        ntbackup                            51.92

        root                                10.95

        total       62.87

lastlog命令通過格式化輸出上次登入日誌/var/log/lastlog的內容,可以顯示使用者上次登入的時間。它可以顯示登入使用者名稱、登入使用方式(tty/pts)和上次登入時間。如果一個使用者從未登入過,則顯示 “**Neverlogged**”。。執行該命令如下所示:

[[email protected]]# lastlog

Username Port From Latest

root pts/1 10.0.2.129 二 5月 10 10:13:26 +0800 2005

opal pts/1 10.0.2.129 二 5月 10 10:13:26 +0800 2005

1.3    使用Syslog裝置

Syslog已被許多日誌函式採納,被用在許多保護措施中,任何程式都可以通過syslog 記錄事件。Syslog可以記錄系統事件,可以寫到一個檔案或裝置中,或給使用者傳送一個資訊。它能記錄本地事件或通過網路記錄另一個主機上的事件。

Syslog裝置核心包括一個守護程序(/etc/syslogd守護程序)和一個配置檔案(/etc/syslog.conf配置檔案)。通常情況下,多數syslog資訊被寫到/var/adm或/var/log目錄下的資訊檔案中 (messages.*)。一個典型的syslog記錄包括生成程式的名字和一個文字資訊。它還包括一個裝置和一個優先順序範圍。

系統管理員通過使用syslog.conf檔案,可以對生成的日誌的位置及其相關資訊進行靈活配置,滿足應用的需要。例如,如果想把所有郵件訊息記錄到一個檔案中,則做如下操作:

#Log all the mail messages in one place

mail.* /var/log/maillog

其他裝置也有自己的日誌。UUCP和news裝置能產生許多外部訊息。它把這些訊息存到自己的日誌(/var/log/spooler)中並把級別限為\"err\"或更高。例如:

# Save news errors of level crit and higher in a special file.

uucp,news.crit /var/log/spooler

當一個緊急訊息到來時,可能想讓所有的使用者都得到。也可能想讓自己的日誌接收並儲存。

#Everybody gets emergency messages, plus log them on anther machine

*.emerg *

*.emerg @linuxaid.com.cn

使用者可以在一行中指明所有的裝置。下面的例子把info或更高級別的訊息送到/var/log/messages,除了mail以外。級別\"none\"禁止一個裝置:

#Log anything(except mail)of level info or higher

#Don\’t log private authentication messages!

*.info:mail.none;autHPriv.none /var/log/messages

在有些情況下,可以把日誌送到印表機,這樣網路入侵者怎麼修改日誌都不能清除入侵的痕跡。因此,syslog裝置是一個攻擊者的顯著目標,破壞了它將會使使用者很難發現入侵以及入侵的痕跡,因此要特別注意保護其守護程序以及配置檔案。

相關推薦

Linux入侵日誌檢測研究專題

Linux日誌系統中記錄了每天發生的各種各樣的事件,包括使用者正常和非正常的登入情況,Linux的日誌系統對於系統安全來說非常重要,通過分析日誌可以瞭解錯誤發生的原因,對於排查系統錯誤有很大的幫助;更重要的是在系統受到黑客攻擊後,日誌中會留下攻擊者的痕跡,通過分析這些痕跡,

Linux入侵分析(二)分析SSH登錄日誌

入侵分析 雲安全 SSH日誌 SSH登錄情況分析 1.wtmp日誌 last last -x -F 2.查看在線用戶情況 (1)w 命令用於顯示已經登陸系統的用戶列表,並顯示用戶正在執行的指令。單獨執行w命令會顯示所有的用戶,您也可指定用戶名稱,僅顯示某位用戶的相關信息。 (2)who am i

Linux入侵檢測基礎

個人認為是一篇很不錯的Linux應急基礎的文章 最近遇到了很多伺服器被入侵的例子,為了方便日後入侵檢測以及排查取證,我查詢了一些linux伺服器入侵取證的相關資料,並在此總結分享,以便日後查詢。   一般伺服器被入侵的跡象,包括但不侷限於:由內向外發送大量資料包(DDOS肉

linux獲取日誌指定行數範圍內的內容

得到 http rep 不想 code 水流 clas -a 技術分享 假如我要獲取“淺淺歲月拂滿愛人袖”到“落入凡塵傷情著我”之間的內容。 1、首先得到他們所在的行號: -n選項顯示行號 但是有時候grep後顯示的是“匹配到二進制文件(標準輸入)”,說明搜索的字

Linux系統日誌

日誌系統日誌默認分類/var/log/messages 系統服務及日誌,包括服務的信息,報錯等等/var/log/secure 系統認證信息日誌/var/log/maillog 系統郵件服務信息/var/log/cron

rsync通過服務同步,Linux系統日誌,screen工具

日誌 哪些 存在 ins ssa 博客 後臺 etc 數據 筆記內容:l 10.32/10.33 rsync通過服務同步l 10.34 linux系統日誌l 10.35 screen工具筆記日期:2017.9.3 10.32/10.33 rsync通過服務同步rsync還可

Linux var 日誌

hcl centos use head smp com uuid rhgb bound /var/log/message :系統日誌信息 [root@xiesongyou log]# tail -1 messagesOct 25 09:18:46 xiesongyou d

Linux系統日誌級別

sys war 日誌級別 文本 打印 個數 優先級 deb 緩沖 /proc/sys/kernel/printk文件定義了4個數字, 查看日誌級別:cat /proc/sys/kernel/printk4 4 1 7①控制臺日誌級別:優先級高於該值的消息將被打印至控制臺。②

搜索引擎算法研究專題四:隨機沖浪模型介紹

互聯 con 技術 說明 lin 進入 title google 這就是 http://www.t086.com/class/seo 搜索引擎算法研究專題四:隨機沖浪模型介紹 2017年12月19日 ? 搜索技術 ? 共 2490字 ? 字號 小 中 大 ? 評論關閉

搜索引擎算法研究專題七:Hilltop算法

打分 nbsp link 字號 算法 原始的 鏈接 專題 wrapper 搜索引擎算法研究專題七:Hilltop算法 2017年12月19日 ? 搜索技術 ? 共 1256字 ? 字號 小 中 大 ? 評論關閉 HillTop也是搜索引擎結果排序的專利,是Go

搜索引擎算法研究專題三:聚集索引與非聚集索引介紹

運算符 sof 節點 信息 ont ros 頁碼 存儲 定位 搜索引擎算法研究專題三:聚集索引與非聚集索引介紹 聚集索引介紹   在聚集索引中,表中各行的物理順序與鍵值的邏輯(索引)順序相同。表只能包含一個聚集索引。   如果不是聚集索引,表中各行的物理順序與鍵值的邏

10.32/10.33 rsync通過服務同步 10.34 linux系統日誌 10.35 screen工具

rec var cti 服務 error ota director com directory [root@lizhipenglinux01 ~]# mkdir /tmp/rsync[root@lizhipenglinux01 ~]# chmod 777 /tmp

八周三次課(1月31日) 10.32/10.33 rsync通過服務同步 10.34 linux系統日誌 10.35 screen工具

腳本 提示 重定向 解鎖 esc 官方 單用戶 情況 packages 八周三次課(1月31日)10.32 rsync通過服務同步10.33 rsync通過服務同步10.34 linux系統日誌10.35 screen工具==========================

10.32/10.33 rsync通過服務同步 10.34 linux系統日誌 10.35 scre

process ext sync 配置文件 ces tle cal com type 八周三次課10.32/10.33 rsync通過服務同步10.34 linux系統日誌10.35 screen工具10.32/10.33 rsync通過服務同步編輯: rsync.conf

rsync通過服務同步/Linux系統日誌/screen工具

進程 incr allow 失敗 置配 配件 ins 二進制文件 auto rsync通過服務同步 這種方式可以理解為在遠程主機上建立一個rsync的服務器,在服務器上配置好rsync的各種應用,然後將本機作為rsync的一個客戶端連接的rsync服務器。下面就介紹一下如何

linux日誌分析及系統故障的修復

執行 term ima 查詢 mbr sys 是否 mark .com 步驟:1查看及分析/var/log/messsages日誌文件2查看及分析用戶登錄日誌Last:命令用於查詢成功登錄到系統的用戶記錄Lastb命令用於查詢登錄失敗的用戶記錄MBR扇區故障1.備份MBR扇

Linux學習 - 日誌管理

產生 常見 查看 tex 內核 進制 mail 驗證 linu 1 確定啟動rsyslogd服務   ps aux | grep rsyslogd        查看服務是否啟動   chkconfig --list | grep rsyslog     查看服務是否自啟動

八周三課 rsync通過服務同步,linux系統日誌,screen工具

rsync 系統日誌 screen工具 rsync通過服務的方式同步通過服務的方式首先我們要開啟一個服務,它的架構是cs架構。客戶端和服務端。服務端開啟一個服務,rsync服務,並且要監聽一個端口,默認為873,並且這個端口是可以自定義的。開啟服務後,客戶端究竟可以通過873這個端口和服務端進行通

三十六、rsync通過服務同步、Linux系統日誌、screen工具

rsync通過服務同步 Linux系統日誌 screen工具 三十六、rsync通過服務同步、Linux系統日誌、screen工具一、rsync通過服務同步該方式可以理解為:在遠程主機上建立一個rsync的服務器,在服務器上配置好各種應用,然後本機將作為客戶端連接遠程的服務器。啟動服務前要先編輯配