在centos系統上監控ssh活動可以通過多種途徑實現,以下是一些常見的方法:
-
利用last命令:last命令可以展示用戶最近的登錄記錄,包括通過ssh的登錄。運行以下命令即可查看所有用戶的登錄歷史:
last
若想查看特定用戶的登錄記錄,可使用:
last username
-
檢查auth.log日志文件:SSH相關的認證和連接信息通常記錄在/var/log/auth.log文件中。你可以通過tail、less或grep等命令來查看文件內容。例如:
或者搜索特定的SSH相關事件:
sudo grep 'sshd' /var/log/auth.log
-
使用journalctl命令:如果你的系統采用systemd,可以通過journalctl命令查看SSH服務的日志。例如:
sudo journalctl -u sshd
你也可以使用-f選項來實時跟蹤日志更新:
sudo journalctl -u sshd -f
-
通過tcpdump進行網絡監控:如果希望監控SSH活動的網絡層面,可以使用tcpdump工具來捕獲和分析網絡數據包。例如,以下命令會捕獲所有到SSH端口(默認是22)的數據包:
sudo tcpdump -i any port 22
請注意,tcpdump需要root權限才能運行。
-
使用fail2ban監控并阻止惡意SSH嘗試:fail2ban是一個用于監控日志文件并根據規則阻止惡意IP地址的工具。它可以用來防止SSH密碼的暴力破解。安裝并配置fail2ban后,它會自動監控/var/log/auth.log或其他指定的日志文件,并在檢測到可疑活動時更新防火墻規則以阻止IP地址。
-
利用auditd進行審計:auditd是Linux的審計系統,可以用來監控系統調用和文件訪問。你可以配置auditd來跟蹤SSH相關的系統調用和文件變化。這通常用于更高級的安全審計需求。
選擇哪種方法取決于你的具體需求和環境。對于大多數基本的監控需求,查看auth.log和使用last命令通常就足夠了。如果你需要進行更深入的分析或者防止自動化攻擊,可能需要考慮使用fail2ban或tcpdump。