如何對 linux who 指令隱藏我的 IP

如何對 linux who 指令隱藏我的 IP

我是 Linux 系統管理員,我將登入本機網路的每個系統。我不希望我的 IP 透過 who 命令顯示。例如,如果有人輸入:

$ who

它暴露了我的IP。有什麼方法可以對 who Linux 命令隱藏我的 IP 嗎?

[由 chrips 編輯]

這對於那些擔心個人實用伺服器被駭客攻擊的人來說非常重要!顯然,您希望向攻擊者隱藏您當前的家庭 IP,以免他們發現您的向量!

答案1

最簡單的是,您可以讓 utmp 日誌檔案無法讀取。這甚至在utmp 手冊頁

與其他各種系統不同,可以透過刪除檔案來停用 utmp 日誌記錄,utmp 必須始終存在在 Linux 上。如果你想停用 who(1) 則執行以下操作不是讓 utmp 成為世界可讀的

像這樣:

sudo chmod go-r /var/log/wtmp /var/run/utmp
who        # shows nothing, not even an error!
sudo who   # still works for root
rudi     :0           2017-04-18 19:08 (console)

因此,這將who完全停用,而不僅僅是跳過 IP 位址。

另一個想法(也許有點愚蠢)僅隱藏 IP 可能是讓您的 ssh 伺服器僅在本機上偵聽另一個連接埠(1234)。然後執行「代理」(socat、netcat)從 public_ip:22 轉送到 localhost:1234:

  1. 更改 ssh 伺服器配置 /etc/ssh/sshd_config:

    埠 1234

  2. 在 ssh 伺服器機器上執行代理:

    socat TCP-LISTEN:22,fork TCP:localhost:1234

現在所有 utmp 日誌 ( who, last) 將顯示相同且無用的本機 IP。

筆記也許您的用戶仍然可以透過 看到真實的連結netstatsocat您也可以iptables為傳入的 ssh 流量設定 NAT 和 MASQUERADING 規則,而不是使用者空間代理程式 ( )。或者您始終可以使用額外的“ssh hop”來始終從相同 IP 登入。這留給讀者當作練習。 ;)

答案2

who實用程式解析資料庫中的資料/var/run/utmplogin當您登入系統時(以及許多其他實用程序,請參閱 參考資料),該資料庫將會更新,如果該檔案存在,man utmp資料將會被持久記錄。/var/log/wtmp

這些記錄對於追蹤系統可能崩潰或開始故障的原因和時間非常有用,並且不應修改。

所以答案是:如果不修改寫入和who的程式的行為,或是自己修改這些(二進位)文件,就不能這樣做。您不應該這樣做,因為這可能會使系統 1) 不安全,2) 在發生故障時難以診斷。/var/run/utmp/var/log/wtmp

相關內容