案例环境
测试设备:Huawei USG6507
软件版本: V500R001C30SPC100
前言
单位外网边界部署了一台华为防火墙,一是作为安全边界,二是充当NAT路由器功能。时近百年党庆,上级部门对网络安全的要求越来越严。其中上网nat日志记录是重点要求之一。比如上级给一个时间点,IP地址及访问的端口,让我们查是那台设备发出的请求。要满足上述任务,必须开启防火墙的日志功能并将其保存在远程日志服务器上。(上级给的时间点可能是几个月前,一般要求日志至少保留3个月)
要做这件事,需要分两个步骤,一是配置防火墙日志相关功能,二是配置日志服务器接收防火墙发送过来的日志。
配置防火墙
#开启消息中心服务
info-center enable
#指定传送日志源端口
info-center loghost source GigabitEthernet1/0/0
#指定日志主机IP,不指定端口默认为514(TCP)
info-center loghost 192.168.200.14
#接下来是配置nat会话表日志
#指定日志类型为syslog
firewall log session log-type syslog
#允许并发发送
firewall log session multi-host-mode concurrent
#指定发送源IP地址和端口(端口任意找个未用的即可)
firewall log source 192.168.128.199 30026
#指定日志服务器IP及端口(syslog默认端口为514)
firewall log host 1 192.168.200.14 514
接下来需要配置安全策略,开启会话日志记录功能
#进入安全策略配置
security-policy
#设置名为trust_untrust的安全策略
rule name trust_untrust
#这是最关键的一点,开启会话日志功能
session logging
source-zone trust
destination-zone untrust
action permit
到这儿,防火墙的配置暂告一段落,接着配置日志服务器。
日志服务器环境
OS:centos 7.6
日志软件:rsyslog
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imjournal # provides access to the systemd journal
#加载tcp模块
$ModLoad imtcp
#模块端口514
$InputTCPServerRun 514
#自建模板,模板名称RemoteLogs,日志存储到/data/fwlog目录下,HOSTNAME和PROGRAMNAME为内建变量,用于建立对应目录和对应文件
$template RemoteLogs,"/data/fwlog/%HOSTNAME%/%PROGRAMNAME%.log" *
#记录所有日志
*.* ?RemoteLogs
$WorkDirectory /var/lib/rsyslog
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
$OmitLocalLogging on
$IMJournalStateFile imjournal.state
#将以下信息写入到自定义模板中
*.info,mail.none,authpriv.none,cron.none ?RemoteLogs
mail.none;authpriv.none;cron.none /var/log/messages
authpriv.* /var/log/secure
mail.* -/var/log/maillog
cron.* /var/log/cron
*.emerg :omusrmsg:*
uucp,news.crit /var/log/spooler
local7.* /var/log/boot.log
配置完成后重启rsyslog服务
systemctl restart rsyslog
进入/data/fwlog查看日志是否发送过来
相应日志已经自动生成,我最关心的nat会话日志以日期命名的方式来存储。
可以看到,日志按天建立目录,按小时写入不同文件,nat会话记录已经写入到文件中,任务完成。