Linux

在 linux 中通過 ssh 審計文件修改

  • October 22, 2018

我想監視對 Linux 伺服器 (Redhat) 中的文件所做的所有修改。我做了一些研究,發現我已經使用以下命令安裝和配置了這個審計工具:

yum install audit # installation

/etc/init.d/auditd start # started service

auditctl -w /root/file-name -p war -k password-file # configured rule to audit file 

ausearch -f /root/file-name    # Command to search modifications

它記錄了對特定文件所做的所有修改。一切都很好,直到我遇到以下情況:

情況1 :

我已使用以下命令從伺服器中刪除了我使用上述審計工具監視的文件:

rm -rf /root/file-name

它記錄了以下結果:

type=SYSCALL msg=audit(1540222267.321:1057): arch=c000003e syscall=2 success=yes exit=3 a0=7ffe22abf91a a1=941 a2=1b6 a3=7ffe22abed70 items=2 ppid=21053 pid=42458 auid=14628 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 **tty=pts0** ses=5 comm="touch" exe="/bin/rm" key="password-file"

案例 2:我使用以下命令從遠端伺服器中刪除了文件:

ssh host "echo 'rm -rf /root/file-name'|sudo su - root"

它記錄了以下結果:

type=SYSCALL msg=audit(1540222588.196:1118): arch=c000003e syscall=263 success=yes exit=0 a0=ffffffffffffff9c a1=ce70c0 a2=0 a3=7fff52a6af40 items=2 ppid=42520 pid=42533 auid=14628 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 **tty=(none)** ses=9 comm="rm" exe="/bin/rm" key="password-file"

現在讓我困惑的一點是為什麼tty當我遠端執行命令時記錄為無。我在網上對此進行了搜尋,但不幸的是,我找不到任何可以澄清我的困惑的東西。

有人可以解釋為什麼它被記錄為**tty=(none)**案例2嗎?

提前感謝,如果我的問題不清楚或遺漏了什麼,請告訴我,我會糾正它。

當您給 ssh 執行遠端命令時,它不會分配互動式 tty,因為不需要。如果要強制分配 tty,請使用-t.

引用自:https://serverfault.com/questions/936642