Linux系統下活用History命令

大雄45發表於2021-04-02
導讀 下可透過history 檢視使用者所有的歷史操作記錄,在安全應急響應中起著非常重要的作用,但在未進行附加配置情況下,history 只能檢視使用者歷史操作記錄,並不能區分使用者以及操作時間,不便於審計分析。

Linux系統下活用History命令Linux系統下活用History命令

當然,一些不好的操作習慣也可能透過命令歷史洩露敏感資訊。

下面我們來介紹如何讓history日誌記錄更細化,更便於我們審計分析。

1、命令歷史記錄中加時間

預設情況下如下圖所示,沒有命令執行時間,不利於審計分析。

Linux系統下活用History命令Linux系統下活用History命令

透過設定export HISTTIMEFORMAT=’\%F \%T ‘,讓歷史記錄中帶上命令執行時間。

注意”\%T”和後面的”’”之間有空格,不然檢視歷史記錄的時候,時間和命令之間沒有分割。

要一勞永逸,這個配置可以寫在/etc/profile中,當然如果要對指定使用者做配置,這個配置可以寫在/home/\$USER/.bash_profile中。

本文將以/etc/profile為例進行演示。

Linux系統下活用History命令Linux系統下活用History命令

要使配置立即生效請執行source /etc/profile,我們再檢視history記錄,可以看到記錄中帶上了命令執行時間。

Linux系統下活用History命令Linux系統下活用History命令

如果想要實現更細化的記錄,比如登陸過系統的使用者、IP地址、操作命令以及操作時間一一對應,可以透過在/etc/profile裡面加入以下程式碼實現

export HISTTIMEFORMAT="\%F \%T`who \-u am i 2>/dev/null| awk '{print $NF}'|sed \-e 's/[()]//g'``whoami`

注意空格都是必須的。

Linux系統下活用History命令Linux系統下活用History命令

修改/etc/profile並載入後,history記錄如下,時間、IP、使用者及執行的命令都一一對應。

Linux系統下活用History命令Linux系統下活用History命令

透過以上配置,我們基本上可以滿足日常的審計工作了,但瞭解系統的朋友應該很容易看出來,這種方法只是設定了環境變數,攻擊者unset掉這個環境變數,或者直接刪除命令歷史,對於安全應急來說,這無疑是一個災難。

針對這樣的問題,我們應該如何應對,下面才是我們今天的重點,透過修改bash原始碼,讓history記錄透過syslog傳送到遠端logserver中,大大增加了攻擊者對history記錄完整性破壞的難度。

2、修改bash原始碼,支援syslog記錄

首先下載bash原始碼,可以從gnu.org下載,這裡不做詳細說明了,系統需要安裝gcc等編譯環境。我們用bash4.4版本做演示。

修改原始碼:bashhist.c

Linux系統下活用History命令Linux系統下活用History命令

修改原始碼config-top.h,取消/#define SYSLOG_HISTORY/這行的註釋

Linux系統下活用History命令Linux系統下活用History命令

編譯安裝,編譯過程不做詳細說明,本文中使用的編譯引數為: ./configure --prefix=/usr/local/bash,安裝成功後對應目錄如下:

Linux系統下活用History命令Linux系統下活用History命令

此時可以修改/etc/passwd中使用者 環境,也可以用編譯好的檔案直接替換原有的bash二進位制檔案,但最好對原檔案做好備份。

替換時要注意兩點:

1、一定要給可執行許可權,預設是有的,不過有時候下載到windows系統後,再上傳就沒有可執行許可權了,這裡一定要確定,不然你會後悔的;

2、替換時原bash被佔用,可以修改原使用者的bash環境後再進行替換。

檢視效果,我們發現history記錄已經寫到了/var/log/message中。

Linux系統下活用History命令Linux系統下活用History命令

如果要寫到遠端logserver,需要配置syslog服務,具體配置這裡不做詳細講解,大家自己研究,傳送到遠端logserver效果如下圖所示。

Linux系統下活用History命令Linux系統下活用History命令

透過以上手段,可以有效保證history記錄的完整性,避免攻擊者登入系統後,透過取消環境變數、刪除history記錄等方式抹掉操作行為,為安全審計、應急響應等提供了完整的原始資料。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2766256/,如需轉載,請註明出處,否則將追究法律責任。

相關文章