l 设备版本:R9900P37
l 咨询问题:
因配合用户行内Splunk平台进行syslog日志发送,需要在防火墙上采用TCP 514端口+证书加密的方式进行syslog配置加密。
我们已申请了一份用户行内的CA证书并传入设备,完成了证书的导入和策略配置
我们也在info-center中通过配置ssl-policy,指定使用TCP 514端口并调用证书来进行syslog的发送
但我们在防火墙上尝试触发日志时,通过抓包发现防火墙未向外部发送相关报文;我们尝试改为UDP514端口+不调用证书加密进行发送后,Splunk平台可以正常收到
基于此,我们有如下事项需要协助:
l 防火墙通过指定TCP 514端口+证书加密的配置命令
l 防火墙上如何查看设备向对端设备TCP 514端口发送的数据包
针对你配置Syslog over TCP with SSL后防火墙未发送报文的问题,以下是关键的配置命令和排查方法。
要实现通过TCP 514端口+证书加密发送Syslog,核心是正确配置info-center loghost命令,并使其与一个已定义的ssl-server-policy关联。
创建SSL服务器端策略
首先,需要创建一个SSL策略,并指定用于加密的证书。根据你的描述,证书已导入,因此重点是创建策略并关联它。
这里的<策略名>需要你自己定义,<已导入证书的PKI域>应替换为你导入证书时使用的PKI域名称。
配置日志主机并指定SSL策略
在info-center loghost命令中,通过ssl-policy参数来调用上一步创建的SSL策略。
<策略名>:必须与第一步创建的SSL策略名称完全一致。
<Splunk服务器IP地址>:替换为你的Splunk平台IP。
port 514:指定TCP端口号为514。
重要提示:请确保
info-center enable命令已开启,且日志源接口(info-center loghost source)的配置正确,以保证路由可达。
要确认防火墙是否真的发出了TCP 514的加密报文,最直接的方法是在防火墙上进行抓包。
为什么UDP能通而TCP+SSL不通?问题通常出在以下几个方面:
SSL策略未正确关联
确认命令:再次检查 info-center loghost ssl-policy <策略名> 命令中的策略名,是否与 ssl server-policy <策略名> 中定义的名称完全一致。
策略存在性:使用 display ssl server-policy 命令,确认你定义的SSL策略已成功创建并生效。
证书或PKI域配置问题
证书链完整:确保导入的服务器证书、中间证书和根证书的证书链是完整的。
PKI域关联:在 ssl server-policy 视图下,确认 pki-domain 命令指定的PKI域名,与你导入证书时使用的域名一致。
路由与出接口问题
Splunk端配置
确认监听:请再次确认Splunk服务器是否正确配置并正在监听TCP 514端口。UDP能通不代表TCP端口已开放。
防火墙策略:检查Splunk服务器自身的防火墙,确保已允许来自防火墙IP的TCP 514端口流量。
暂无评论
一、F5000-A1-55-G(R9900P37)TCP+TLS 加密 Syslog 完整标准配置
需求:TCP 514 端口、SSL/TLS 证书加密上传日志至 Splunk,分为「SSL 策略证书配置」「Info-center 日志主机配置」两大模块。
前置说明
标准加密 syslog 行业默认端口是TCP 6514,银行 Splunk 如强行使用 TCP 514 TLS 模式,下方配置端口改为 514 即可;
已导入 CA 根证书、客户端证书 + 私钥至防火墙pki domain内。
步骤 1:SSL 策略绑定证书(你已有证书,核对配置即可)
bash
system-view
# 1. 创建SSL客户端策略(日志是防火墙主动发起TCP连接,角色SSL客户端)
ssl client-policy SYSLOG-TLS-POLICY
pki-domain CA-DOMAIN //替换为你导入证书所用的PKI域名
version tls1.2 //银行环境强制TLS1.2,禁用SSLv3/TLS1.0/1.1
prefer-cipher aes-256-sha256
client-verify enable //开启校验Splunk服务端证书(银行安全规范)
quit
步骤 2:Info-center 开启日志、配置 TLS 加密 TCP 日志主机(核心配置)
bash
# 全局开启信息中心
info-center enable
# 配置日志源级别,按需推送日志(informational包含策略日志、会话日志、操作日志)
info-center source default loghost level informational
# 【核心】对接Splunk,TCP+TLS加密、端口514、绑定上面SSL策略
info-center loghost 【Splunk日志服务器IP】 transport tcp port 514 ssl client-policy SYSLOG-TLS-POLICY facility local6
# 优化:指定防火墙出接口、源IP(避免路由来回切换导致TLS断连)
info-center loghost source GigabitEthernet 1/0/0 //防火墙对接Splunk的出接口
info-center timestamp loghost date millisecond //时间戳携带毫秒,方便Splunk解析
# 开启会话新建/删除日志、安全策略日志,确保日志完整上传
session log enable create delete
security-policy log all
易错配置对比(你不通的大概率错误点)
错误写法:ssl server-policy
日志由防火墙主动向外发起 TCP 连接,防火墙是SSL 客户端,必须绑定 ssl client-policy,绑定服务端策略会直接握手失败、不会发包;
若 Splunk 只做单向认证(仅客户端携带证书、不校验服务端证书),删除 client-verify enable 即可。
步骤 3:放行防火墙本地安全策略(极易遗漏!)
防火墙本身的安全域策略必须放行 防火墙本地→Splunk_IP TCP 514,否则防火墙内核无法发起 TLS 连接:
bash
security-policy
rule name LOCAL_TO_SPLUNK
source-zone local
destination-zone 【Splunk所在安全域名称】
destination-address ip 【Splunk_IP 255.255.255.255】
service protocol tcp destination-port eq 514
action permit
quit
二、排查命令:查看防火墙是否向 Splunk TCP514 发包、TLS 握手状态
1、查看日志主机整体运行状态(最先排查)
bash
# 查看日志主机配置、传输协议、SSL绑定是否生效
display info-center loghost
# 查看info-center统计:发送成功报文数、失败报文数、丢弃数量
display info-center statistics
Sent successfully持续增长 = 正常发包;
Failed to send不断增加 = TLS 握手失败 / 不通 / 策略拦截。
2、查看防火墙与 Splunk 的 TCP+TLS 会话
bash
# 查看是否建立TCP会话(建立会话代表TCP链路通了,问题只在TLS证书握手)
display firewall session table destination ip 【Splunk_IP】 destination-port eq 514
# 查看SSL会话、TLS握手详细状态
display ssl session
display ssl statistics client-policy SYSLOG-TLS-POLICY
存在 TCP 会话、无 SSL 会话:证书校验失败、SSL 策略绑定错误;
完全无 TCP 会话:路由不可达、LOCAL 安全策略拒绝出站。
3、防火墙内置抓包,抓取发往 Splunk 514 的报文(无需外接抓包工具)
bash
# 抓取出接口上目的为Splunk、端口514的双向流量
diagnose capture interface GigabitEthernet 1/0/0 destination ip 【Splunk_IP】 port 514
diagnose capture start
触发一条测试日志(登录防火墙敲一条命令、新建一条安全策略流量),执行:
bash
diagnose capture stop
diagnose capture display
抓到 SYN 报文、无后续握手报文:Splunk 未监听 TCP514 TLS、Splunk 防火墙拦截;
抓到完整 TLS 握手流程 + 加密报文:防火墙发送正常,问题在 Splunk 解析配置。
4、测试触发日志,验证是否产生待发送日志
bash
# 手动生成一条测试日志,看是否进入发送队列
info-center logbuffer test "syslog tls test message"
display logbuffer
三、为什么 UDP514 通、TCP+TLS 514 完全不发包(故障根因)
SSL 策略类型写反:用了ssl server-policy而非client-policy,SSL 握手直接失败,防火墙不会发起 TCP 连接;
缺少local域到Splunk域的安全策略:UDP 属于内核快速发包不受域策略严格限制,TCP 长连接受安全策略管控,策略不放行则 TCP 连接直接被拦截;
Splunk 服务配置错误:Splunk 的 TCP 514 端口只监听明文 TCP,没有开启 TLS 加密监听,防火墙发起 TLS 握手被 Splunk 直接断开;
PKI 证书校验失败:根证书不全、证书有效期过期、域名不匹配,TLS 握手中断,防火墙终止发包;
防火墙未指定info-center loghost source,源 IP 来回漂移导致 Splunk 断开 TLS 长连接。
四、分步排障顺序(照着执行即可恢复)
核对 ssl 策略为client-policy,关闭双向校验测试一次;
配置 LOCAL→Splunk 安全策略放行 TCP514;
查看display info-center statistics观察发送失败计数;
防火墙内置抓包确认是否发出 TCP SYN;
登录 Splunk 确认:TCP 514 端口开启 TLS 监听、信任防火墙客户端证书。
五、补充优化建议
银行业标准加密 syslog 推荐 TCP 6514 TLS,避免和明文 syslog 514 端口冲突;
TLS 版本强制 tls1.2,杜绝老旧加密协议漏洞;
若 TLS 频繁断连,增加 TCP 保活:
bash
info-center loghost tcp keepalive interval 30 retry 3
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论