rsyslog是Ubuntu默认的日志管理工具,负责收集、存储和转发系统日志。以下是核心配置步骤:
大多数Ubuntu系统已预装rsyslog,若未安装可通过以下命令安装:
sudo apt update
sudo apt install rsyslog
默认情况下,rsyslog会将不同设施(如内核、认证、cron)的日志写入对应文件(如/var/log/kern.log、/var/log/auth.log)。可通过编辑/etc/rsyslog.conf或/etc/rsyslog.d/50-default.conf调整日志规则,例如:
# 将所有info级别及以上的内核日志写入/var/log/kern.log
kern.* /var/log/kern.log
# 将authpriv设施(认证相关)的日志写入/var/log/authpriv.log
authpriv.* /var/log/authpriv.log
修改后需保存文件。
若需将本地日志发送到远程Syslog服务器,需启用UDP/TCP接收模块并指定服务器地址。编辑/etc/rsyslog.conf,取消以下注释或添加新行:
# 启用UDP 514端口接收远程日志
module(load="imudp")
input(type="imudp" port="514")
# 启用TCP 514端口接收远程日志(更可靠)
module(load="imtcp")
input(type="imtcp" port="514")
# 将所有日志转发到远程服务器(示例:192.168.1.100)
*.* @192.168.1.100:514 # UDP转发
*.* @@192.168.1.100:514 # TCP转发(双@@表示TCP)
配置完成后,重启服务使更改生效:
sudo systemctl restart rsyslog
# 设置开机自启
sudo systemctl enable rsyslog
tail -f /var/log/syslog(系统综合日志)或tail -f /var/log/auth.log(认证日志)。tcpdump监听514端口:sudo tcpdump -i eth0 udp port 514,然后在客户端发送测试日志:logger "Test remote log message"。ufw(Uncomplicated Firewall)是Ubuntu默认的防火墙工具,底层基于iptables,简化了防火墙管理。以下是核心配置步骤:
若未安装ufw,可通过以下命令安装并启用:
sudo apt install ufw
sudo ufw enable # 启用防火墙
sudo ufw default deny # 设置默认策略:拒绝所有入站流量,允许所有出站流量
Syslog默认使用UDP 514端口(远程转发),若需允许远程日志接收,需开放该端口:
sudo ufw allow 514/udp # 允许UDP 514端口
# 若使用TCP转发,需额外开放TCP端口
sudo ufw allow 514/tcp
若通过SSH管理服务器,需允许SSH流量(默认端口22):
sudo ufw allow ssh # 或 sudo ufw allow 22/tcp
检查防火墙规则及状态:
sudo ufw status # 查看当前规则
sudo ufw status verbose # 查看详细状态(包括端口开放情况)
若需删除某条规则(如取消UDP 514端口的允许),可使用以下命令:
sudo ufw delete allow 514/udp
sudo ufw allow from 192.168.1.100 to any port 514 proto udp
/var/log/ufw.log):sudo ufw logging on
sudo systemctl status rsyslog,若未启动则运行sudo systemctl start rsyslog。sudo ufw status确认规则是否正确,必要时添加允许规则。/var/log/syslog的权限应为644,属主为root),或查看rsyslog错误日志journalctl -u rsyslog。