Linux Syslog与网络监控工具的结合实践
一、架构与关键点
二、集中式Syslog部署与网络设备接入
module(load="imudp")input(type="imudp" port="514")module(load="imtcp")input(type="imtcp" port="514")sudo systemctl restart rsysloglogging host 192.0.2.10(将日志发至服务器IP)三、将网络事件与流量接入Syslog
sudo iptables -I INPUT -j LOG --log-prefix "NET-IN:"sudo nft add rule inet filter input log prefix "NET-IN: "sudo tcpdump -i eth0 -w /var/log/tcpdump.pcap(建议落盘为pcap,再由日志代理或解析器读取并送入Syslog/ES)sudo tshark -i eth0 -w /var/log/tshark.pcaplogger配合,但更推荐解析pcap做结构化索引。logger写入,例如:ss -tulpen | logger -t NET-SS四、与监控与安全平台的联动
/var/log/auth.log等认证日志,自动封禁恶意IP,减少暴力破解与扫描风险。五、落地配置示例
module(load="imudp")input(type="imudp" port="514")module(load="imtcp")input(type="imtcp" port="514")sudo systemctl restart rsyslogsudo iptables -I INPUT -p tcp --dport 22 -j LOG --log-prefix "SSH-DROP:"sudo iptables -I INPUT -j LOG --log-prefix "NET-IN:"logging host 192.0.2.10filter {
if [message] =~ /^SSH-DROP:/ {
grok { match => { "message" => "SSH-DROP: .* SRC=%{IP:src_ip} DST=%{IP:dst_ip} .*" } }
mutate { replace => { "event_type" => "ssh_drop" } }
}
else if [message] =~ /^NET-IN:/ {
grok { match => { "message" => "NET-IN: .* SRC=%{IP:src_ip} DST=%{IP:dst_ip}.*" } }
mutate { replace => { "event_type" => "net_in_drop" } }
}
}
sudo apt-get install fail2ban/etc/fail2ban/jail.local监控/var/log/auth.log,触发后自动封禁并写入日志,供SIEM关联分析。