如何記錄 ssh 登錄密碼嘗試?
我需要記錄 ssh 密碼嘗試。我在某處讀到你可以通過修補 openssh 來完成這項工作,但我不知道這是否是完成這項工作的正確方法。
我正在使用拱門。
編輯:
我想獲取人們試圖猜測的密碼以訪問我的系統。它可以與 journalctl 一起使用,也可以堆積在文本文件中。如果這個人讓我們說類型 1234 並嘗試訪問我想要類似的東西
“ssh 登錄嘗試失敗,嘗試使用密碼“1234”的使用者“admin”
我認為更好的答案是下載 LongTail SSH honeypot,它是 openssh 的黑客版本,用於記錄使用者名、密碼、源 IP 和埠以及客戶端軟體和版本。
安裝腳本位於https://github.com/wedaa/LongTail-Log-Analysis/blob/master/install_openssh.sh
如果這樣做,(1) 登錄到 authpriv,(2) 確保 authpriv 只能由 root 讀取。有關詳細資訊,請參閱 syslog.conf 或 rsyslog.conf。接下來,您必須破解原始碼。在某個時候,密碼將被發送到庫呼叫
crypt
。在此之前,使用日誌記錄程式碼來記錄輸入字元串。除了破解 ssh 程式碼,您可以使用 LD_PRELOAD 來攔截crypt
呼叫;那麼您必須sshd
使用設置為新庫(一兩次呼叫)的 LD_PRELOAD 環境變數來啟動您的守護程序。為了提高安全性,請考慮使用對稱密鑰加密輸出字元串。這不是很好的安全性,但它可以防止意外暴露好密碼(當您在螢幕上獲得 authpriv 的內容時,sshd 擷取您自己的密碼並且有人走過的場景)。
有關使用 LD_PRELOAD 攔截 lib 呼叫的更多資訊,請參閱https://rafalcieslak.wordpress.com/2013/04/02/dynamic-linker-tricks-using-ld_preload-to-cheat-inject-features-and-investigate-programs/
如何在 C 中執行 syslog: http ://www.gnu.org/software/libc/manual/html_node/Syslog-Example.html 。如果你破解 ssh 程式碼,就會有日誌功能;只需根據需要複製和修改。