1. 定位關鍵安全日志文件
Debian系統中,安全事件日志集中存儲在/var/log
目錄下,核心文件包括:
/var/log/auth.log
:記錄認證與授權事件(如登錄嘗試、sudo
/su
命令使用、SSH連接),是追蹤非法訪問的主要來源;/var/log/syslog
//var/log/messages
:記錄系統級通用日志(如內核消息、服務啟動/停止、權限變更);/var/log/kern.log
:記錄內核相關事件(如硬件異常、驅動加載、防火墻攔截);/var/log/dpkg.log
:記錄軟件包安裝、升級、刪除操作,用于追蹤系統變更。2. 使用系統自帶工具查看與過濾日志
journalctl
(systemd日志管理工具):可通過時間、優先級、服務名等條件過濾日志。例如,查看過去1小時內sshd
服務的日志:sudo journalctl -u sshd --since "1 hour ago"
查找緊急級別(emerg
)以上的日志:sudo journalctl -p emerg
grep
篩選關鍵詞(如“Failed password”“Accepted”),less
分頁查看大日志文件。例如,統計auth.log
中失敗登錄次數:grep "Failed password" /var/log/auth.log | wc -l
查看特定IP(如192.168.1.100
)的登錄記錄:grep "192.168.1.100" /var/log/auth.log
```。
3. 配置審計工具(auditd)追蹤詳細事件
auditd
是Linux審計系統的核心工具,可記錄細粒度的系統操作(如文件訪問、權限變更、用戶命令)。
sudo apt install auditd -y
sudo systemctl start auditd
sudo systemctl enable auditd
auditctl
命令或配置文件(/etc/audit/rules.d/
)添加規則。例如:
/etc/passwd
文件的讀寫執行操作,標記為password_changes
:sudo auditctl -w /etc/passwd -p rwxa -k password_changes
sudo auditctl -a always,exit -F euid=0 -k root_commands
ausearch
搜索特定關鍵詞(如password_changes
):sudo ausearch -k password_changes
aureport
生成匯總報告(如登錄事件、文件訪問):sudo aureport --login
sudo aureport --file
```。
4. 利用日志分析工具自動化識別威脅
/etc/fail2ban/jail.local
,啟用sshd
保護:sudo apt install fail2ban -y
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
/etc/logwatch/conf/services/auth.conf
,設置郵件通知:sudo apt install logwatch -y
sudo logwatch --service auth --output mail
5. 定期審查與響應安全事件
cron
設置每日自動審查腳本(如檢查失敗登錄次數超過閾值時發送警報):#!/bin/bash
LOG_FILE="/var/log/auth.log"
THRESHOLD=5
FAILED_LOGINS=$(grep "Failed password" $LOG_FILE | wc -l)
if [ $FAILED_LOGINS -gt $THRESHOLD ]; then
echo "Alert: $FAILED_LOGINS failed login attempts detected!" | mail -s "Security Alert" admin@example.com
fi
logrotate
防止日志文件過大(默認規則位于/etc/logrotate.conf
,自定義規則可放在/etc/logrotate.d/
)。例如,限制auth.log
保留7天,壓縮舊日志:/var/log/auth.log {
daily
rotate 7
compress
missingok
notifempty
}
auditd
日志追蹤惡意進程)、修復漏洞(如更新軟件包)、恢復數據。