在Ubuntu系统中,Syslog服务是用于收集、处理和转发系统日志的重要工具,通过它可以记录系统和应用发生的事件,帮助排错和分析使用。以下是关于Ubuntu syslog日志审计实践的一些关键步骤和最佳实践:
sudo apt-get update
sudo apt-get install rsyslog
/etc/rsyslog.conf
。sudo nano /etc/rsyslog.conf
/var/log/syslog
文件中。*.err /var/log/syslog
*.warn /var/log/syslog
*.* @remote_syslog_server:514
sudo systemctl restart rsyslog
/etc/sudoers
文件,可以记录使用sudo命令的用户操作。sudo visudo
在 /etc/sudoers
文件中添加以下行:
Defaults logfile /var/log/sudo.log
/etc/rsyslog.conf
文件中添加以下行,将sudo日志记录到指定文件。local2.debug /var/log/sudo.log
sudo systemctl restart rsyslog
sudo apt update && sudo apt upgrade
sudo ufw allow ssh
sudo ufw enable
sudo apt install logwatch
sudo logwatch --output mail
journalctl
命令查看日志:
journalctl
是一个用于查询和显示systemd日志的命令行工具。# 查看所有日志
journalctl
# 查看特定服务的日志
journalctl -u ssh
# 查看特定时间段的日志
journalctl --since "2023-08-01" --until "2023-08-02"
# 实时查看日志
journalctl -f
grep
命令搜索特定关键词:grep "error" /var/log/syslog
awk
、sed
等文本处理工具进行高级分析:grep "error" /var/log/syslog | awk '{print 1}' | cut -d'-' -f1 | sort | uniq -c | sort -nr
为了防止日志文件过大,可以定期备份和清理日志文件。
sudo cp /var/log/audit/audit.log /var/log/audit/audit.log.bak
logrotate
工具来自动清理旧日志。sudo nano /etc/logrotate.d/audit
添加以下内容:
/var/log/audit/*.log {
daily
rotate 7
missingok
notifempty
compress
delaycompress
sharedscripts
}
然后重启 logrotate
服务:
sudo systemctl restart logrotate
通过以上步骤,你可以在Ubuntu系统中配置Syslog服务以实现日志审计,并采取相应的安全策略和加固措施,提高系统的整体安全性。