亚洲熟女综合色一区二区三区,亚洲精品中文字幕无码蜜桃,亚洲va欧美va日韩va成人网,亚洲av无码国产一区二区三区,亚洲精品无码久久久久久久

Linux安全運(yùn)維之如何活用history命令

作者分離本人多年豐厚的工作實(shí)戰(zhàn)經(jīng)歷,以簡單、淺顯易懂方式講述了如何活用history命令。

Linux安全運(yùn)維丨誰動(dòng)了我的主機(jī)?活用History命令

懸鏡Linux運(yùn)維

Linux系統(tǒng)下可通過history命令查看用戶所有的歷史操作記錄,在安全應(yīng)急響應(yīng)中起著非常重要的作用,但在未進(jìn)行附加配置情況下,history命令只能查看用戶歷史操作記錄,并不能區(qū)分用戶以及操作時(shí)間,不便于審計(jì)分析。

當(dāng)然,一些不好的操作習(xí)慣也可能通過命令歷史泄露敏感信息。

下面我們來介紹如何讓history日志記錄更細(xì)化,更便于我們審計(jì)分析。

1、命令歷史記錄中加時(shí)間

默認(rèn)情況下如下圖所示,沒有命令執(zhí)行時(shí)間,不利于審計(jì)分析。

Linux安全運(yùn)維丨誰動(dòng)了我的主機(jī)?活用History命令

懸鏡Linux運(yùn)維

通過設(shè)置export HISTTIMEFORMAT='%F %T ',讓歷史記錄中帶上命令執(zhí)行時(shí)間。

注意”%T”和后面的”’”之間有空格,不然查看歷史記錄的時(shí)候,時(shí)間和命令之間沒有分割。

要一勞永逸,這個(gè)配置可以寫在/etc/profile中,當(dāng)然如果要對(duì)指定用戶做配置,這個(gè)配置可以寫在/home/$USER/.bash_profile中。

本文將以/etc/profile為例進(jìn)行演示。

Linux安全運(yùn)維丨誰動(dòng)了我的主機(jī)?活用History命令

懸鏡Linux運(yùn)維

要使配置立即生效請(qǐng)執(zhí)行source /etc/profile,我們?cè)俨榭磆istory記錄,可以看到記錄中帶上了命令執(zhí)行時(shí)間。

Linux安全運(yùn)維丨誰動(dòng)了我的主機(jī)?活用History命令

懸鏡Linux運(yùn)維

如果想要實(shí)現(xiàn)更細(xì)化的記錄,比如登陸過系統(tǒng)的用戶、IP地址、操作命令以及操作時(shí)間一一對(duì)應(yīng),可以通過在/etc/profile里面加入以下代碼實(shí)現(xiàn)

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

whoami",注意空格都是必須的。

Linux安全運(yùn)維丨誰動(dòng)了我的主機(jī)?活用History命令

懸鏡Linux運(yùn)維

修改/etc/profile并加載后,history記錄如下,時(shí)間、IP、用戶及執(zhí)行的命令都一一對(duì)應(yīng)。

Linux安全運(yùn)維丨誰動(dòng)了我的主機(jī)?活用History命令

懸鏡Linux運(yùn)維

通過以上配置,我們基本上可以滿足日常的審計(jì)工作了,但了解系統(tǒng)的朋友應(yīng)該很容易看出來,這種方法只是設(shè)置了環(huán)境變量,攻擊者unset掉這個(gè)環(huán)境變量,或者直接刪除命令歷史,對(duì)于安全應(yīng)急來說,這無疑是一個(gè)災(zāi)難。

針對(duì)這樣的問題,我們應(yīng)該如何應(yīng)對(duì),下面才是我們今天的重點(diǎn),通過修改bash源碼,讓history記錄通過syslog發(fā)送到遠(yuǎn)程logserver中,大大增加了攻擊者對(duì)history記錄完整性破壞的難度。

2、修改bash源碼,支持syslog記錄

首先下載bash源碼,可以從gnu.org下載,這里不做詳細(xì)說明了,系統(tǒng)需要安裝gcc等編譯環(huán)境。我們用bash4.4版本做演示。

修改源碼:bashhist.c

Linux安全運(yùn)維丨誰動(dòng)了我的主機(jī)?活用History命令

懸鏡Linux運(yùn)維

修改源碼config-top.h,取消/#define SYSLOG_HISTORY/這行的注釋

Linux安全運(yùn)維丨誰動(dòng)了我的主機(jī)?活用History命令

懸鏡Linux運(yùn)維

編譯安裝,編譯過程不做詳細(xì)說明,本文中使用的編譯參數(shù)為: ./configure --prefix=/usr/local/bash,安裝成功后對(duì)應(yīng)目錄如下:

Linux安全運(yùn)維丨誰動(dòng)了我的主機(jī)?活用History命令

懸鏡Linux運(yùn)維

此時(shí)可以修改/etc/passwd中用戶shell環(huán)境,也可以用編譯好的文件直接替換原有的bash二進(jìn)制文件,但最好對(duì)原文件做好備份。

替換時(shí)要注意兩點(diǎn):

1、一定要給可執(zhí)行權(quán)限,默認(rèn)是有的,不過有時(shí)候下載到windows系統(tǒng)后,再上傳就沒有可執(zhí)行權(quán)限了,這里一定要確定,不然你會(huì)后悔的;

2、替換時(shí)原bash被占用,可以修改原用戶的bash環(huán)境后再進(jìn)行替換。

查看效果,我們發(fā)現(xiàn)history記錄已經(jīng)寫到了/var/log/message中。

Linux安全運(yùn)維丨誰動(dòng)了我的主機(jī)?活用History命令

懸鏡Linux運(yùn)維

如果要寫到遠(yuǎn)程logserver,需要配置syslog服務(wù),具體配置這里不做詳細(xì)講解,大家自己研究,發(fā)送到遠(yuǎn)端logserver效果如下圖所示。

Linux安全運(yùn)維丨誰動(dòng)了我的主機(jī)?活用History命令

懸鏡Linux運(yùn)維

經(jīng)過以上操作,能夠有效保證history記載的完好性,防止攻擊者登錄系統(tǒng)后,經(jīng)過取消環(huán)境變量、刪除history記載等方式抹掉操作行為,為平安審計(jì)、應(yīng)急響應(yīng)等提供了完好的原始數(shù)據(jù)。

 

馬哥學(xué)習(xí)交流群

馬哥教育-Linux學(xué)習(xí)-1群 485374463

馬哥教育-Linux學(xué)習(xí)-2群 339184057

?

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國內(nèi)好評(píng)如潮的Linux云計(jì)算運(yùn)維、SRE、Devops、網(wǎng)絡(luò)安全、云原生、Go、Python開發(fā)專業(yè)人才培訓(xùn)機(jī)構(gòu)!