在Linux服務器上監控登錄行為是確保系統安全的重要步驟。以下是一些常用的方法來監控和記錄登錄活動:
last
命令last
命令可以顯示用戶的登錄和注銷記錄。
last
Linux系統通常會有幾個日志文件記錄了登錄活動,主要包括 /var/log/auth.log
(在Debian/Ubuntu系統)和 /var/log/secure
(在Red Hat/CentOS系統)。
/var/log/auth.log
sudo cat /var/log/auth.log | grep sshd
/var/log/secure
sudo cat /var/log/secure | grep sshd
syslog
和 journalctl
syslog
是傳統的日志系統,而 journalctl
是systemd的日志管理工具。
syslog
grep sshd /var/log/syslog
journalctl
journalctl _SYSTEMD_UNIT=sshd.service
auditd
進行審計auditd
是一個強大的審計框架,可以用來監控和記錄系統活動。
auditd
sudo apt-get install auditd audispd-plugins # Debian/Ubuntu
sudo yum install audit # Red Hat/CentOS
auditd
規則編輯 /etc/audit/auditd.conf
文件,添加以下規則:
-a exit,always -F arch=b32 -S sshd -k sshd_login
-a exit,always -F arch=b64 -S sshd -k sshd_login
auditd
服務sudo systemctl restart auditd
有許多第三方工具可以幫助監控登錄行為,例如 fail2ban
、iptables
等。
fail2ban
fail2ban
可以監控 SSH 登錄失敗次數,并自動封禁惡意 IP 地址。
安裝 fail2ban
:
sudo apt-get install fail2ban # Debian/Ubuntu
sudo yum install fail2ban # Red Hat/CentOS
配置 jail.local
文件:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
啟動 fail2ban
:
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
SELinux
或 AppArmor
如果你的系統啟用了 SELinux
或 AppArmor
,它們也可以提供細粒度的訪問控制和日志記錄。
通過上述方法,你可以有效地監控和記錄Linux服務器的登錄行為。根據你的具體需求和環境,選擇合適的方法進行配置和使用。