溫馨提示×

ubuntu syslog日志審計

小樊
55
2025-09-30 01:05:50
欄目: 智能運維

Ubuntu Syslog日志審計指南

Syslog是Ubuntu系統記錄系統事件、錯誤及用戶活動的核心機制,通過合理配置可實現全面的日志審計,幫助監控系統運行、檢測異常行為并滿足合規性要求。以下是具體實施步驟:

一、基礎配置:優化Syslog服務

1. 安裝與重啟rsyslog

Ubuntu默認使用rsyslog作為Syslog服務,首先確保其安裝并運行:

sudo apt-get update
sudo apt-get install rsyslog
sudo systemctl restart rsyslog

2. 配置日志分類存儲

編輯/etc/rsyslog.conf或創建自定義配置文件(如/etc/rsyslog.d/audit.conf),將不同設施(facility)的日志分離到獨立文件,便于后續審計:

  • 認證相關日志(auth、authpriv):記錄sudo、ssh登錄等敏感操作,建議存儲到/var/log/audit.log
    auth,authpriv.* /var/log/audit.log
    
  • 錯誤日志:將系統錯誤(如內核、服務錯誤)記錄到/var/log/syslog
    *.err /var/log/syslog
    *.warn /var/log/syslog
    
  • 可選:轉發日志到遠程服務器(如SIEM系統),添加以下行(替換為遠程服務器IP):
    *.* @remote_syslog_server:514  # UDP轉發
    *.* @@remote_syslog_server:514 # TCP轉發(更可靠)
    

3. 生效配置

修改完成后,重啟rsyslog服務使配置生效:

sudo systemctl restart rsyslog

二、深度審計:部署auditd守護進程

Syslog僅能記錄基礎日志,若需細粒度審計(如命令執行、文件訪問),需安裝auditd(Linux審計框架):

1. 安裝auditd

sudo apt-get install auditd audispd-plugins

2. 配置審計規則

編輯/etc/audit/rules.d/audit.rules,添加以下關鍵規則:

  • 記錄所有命令執行(execve系統調用):
    -a exit,always -F arch=b32 -S execve -k cmd_exec  # 32位系統
    -a exit,always -F arch=b64 -S execve -k cmd_exec  # 64位系統
    
  • 記錄sudo使用(可選,補充auth日志):
    -a exit,always -F path=/usr/bin/sudo -F perm=x -k sudo_usage
    

3. 重啟auditd并加載規則

sudo systemctl restart auditd
sudo augenrules --load  # 加載新規則

4. 使用審計工具查詢日志

  • 查詢特定規則日志(如cmd_exec):
    sudo ausearch -k cmd_exec
    
  • 生成統計報告(如最近24小時內的命令執行次數):
    sudo aureport -k -ts today -te now
    

三、輔助審計:配置sudo日志

為記錄sudo命令的使用情況(關鍵操作),需單獨配置sudo日志:

1. 修改sudoers文件

使用visudo命令編輯/etc/sudoers,添加以下行:

Defaults logfile="/var/log/sudo.log"
Defaults log_input, log_output  # 記錄輸入命令及輸出(可選,增強審計)

2. 配置rsyslog記錄sudo日志

編輯/etc/rsyslog.conf,添加以下行將sudo日志定向到獨立文件:

local2.debug /var/log/sudo.log

重啟rsyslog服務:

sudo systemctl restart rsyslog

四、日志管理與安全加固

1. 日志輪轉(防止日志過大)

Ubuntu默認使用logrotate管理日志輪轉,編輯/etc/logrotate.d/rsyslog(或/etc/logrotate.d/syslog),調整輪轉策略(如保留7天日志,壓縮舊日志):

/var/log/syslog
{
    rotate 7
    daily
    compress
    missingok
    notifempty
    create 640 root adm
}

2. 日志安全保護

  • 設置日志文件權限:確保審計日志僅root可讀:
    sudo chmod 640 /var/log/audit.log /var/log/sudo.log
    sudo chown root:adm /var/log/audit.log /var/log/sudo.log
    
  • 防止日志篡改:使用auditd監控日志文件的完整性(如/var/log/audit.log),添加以下規則:
    -w /var/log/audit.log -p wa -k audit_log_integrity
    

3. 實時監控日志

使用tail命令實時查看審計日志(如/var/log/audit.log):

sudo tail -f /var/log/audit.log

五、高級分析:使用日志分析工具

1. journalctl(集成于systemd)

  • 查看所有系統日志
    journalctl
    
  • 過濾認證日志(如ssh登錄):
    journalctl _COMM=sshd
    
  • 按時間范圍查詢(如最近1小時):
    journalctl --since "1 hour ago"
    

2. Logwatch(自動化報告)

安裝并配置Logwatch,生成每日/每周日志報告:

sudo apt-get install logwatch
sudo logwatch --output mail --mailto your_email@example.com --detail high  # 發送郵件報告

3. ELK Stack(可視化分析)

對于大規模日志,可使用Elasticsearch+Logstash+Kibana(ELK)搭建可視化平臺:

  • Logstash:收集rsyslog、auditd日志;
  • Elasticsearch:存儲并索引日志;
  • Kibana:通過 dashboard 展示日志趨勢、異常檢測(如頻繁的登錄失?。?。

通過以上步驟,可實現Ubuntu系統從基礎到深度的日志審計,覆蓋系統操作、用戶行為、命令執行等多個維度,為系統安全提供有力保障。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女