<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          誰動了我的主機(jī)? 之活用 History 命令

          共 1867字,需瀏覽 4分鐘

           ·

          2021-01-24 20:28

          公眾號關(guān)注“杰哥的IT之旅”,

          選擇“星標(biāo)”,重磅干貨,第一時間送達(dá)!

          作者:懸鏡安全實(shí)驗(yàn)室

          鏈接:https://www.freebuf.com/articles/system/135845.html

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

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

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

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

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

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

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

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

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

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

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

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

          注意空格都是必須的。

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

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

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

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

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

          修改源碼:bashhist.c

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

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

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

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

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

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

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

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

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

          推薦閱讀

          一文帶你真正認(rèn)識 Linux 系統(tǒng)結(jié)構(gòu)

          Linux 日志文件系統(tǒng)原來是這樣工作的

          Linux 最常用命令:解決 95% 以上的問題

          這些 Shell 分析服務(wù)器日志命令集錦,收藏好了~

          Linux 操作系統(tǒng)加固

          GitHub 上的優(yōu)質(zhì) Linux 開源項(xiàng)目,真滴牛逼!

          瀏覽 28
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日本成人三级片在线观看网站 | 一区二区三区四区五区六区在线 | 在线国产福利视频 | 日本三级中国三级99 | 中文字幕免费观看 |