#原创分享#防火墙无法配置发送到多个syslog服务器的解决方案
  

Byte 13547人觉得有帮助

{{ttag.title}}
本帖最后由 Byte 于 2021-2-25 17:19 编辑

1. 环境说明
1.1 需求说明
由于新增一套态势感知系统,需要将防火墙的日志发送到态势感知之中,然后又需要将日志保存在之前搭建的syslog日志服务器中。但是防火墙设置syslog服务器的时候无法设置多个syslog服务器,这样就没办法把一份日志发送到2个设备中了。

为了满足这个需求,我们需要搭建一个rsyslog,通过配置rsyslog,使得成为一台日志中继的服务器,防火墙发送日志到这个rsyslog中继服务器,然后再通过这台服务器发送到2个设备中。
此方法适用于某公司各种syslog日志服务器只能填写单个的产品

1.2环境说明(IP以虚构IP做演示)
  • rsyslog日志中继服务器操作系统:Centos7
  • rsyslog日志中继服务器IP:5.5.5.5
  • NGAF-01 IP:3.3.3.3   版本7.5.1
  • 第三方日志平台IP:1.1.1.1
  • 第三方态势感知IP:2.2.2.2




1.3 拓扑
                                                    |----------》第三方日志平台
NGAF01---------》rsyslog------  |                                               
                                                    |----------》第三方态势感知
                                                                        
2. 安装rsyslog
  1. cd /etc/yum.repos.d/
  2. wget http://rpms.adiscon.com/v8-stable-nightly/rsyslog-nightly.repo
  3. yum install rsyslog
复制代码

具体安装参考官网

3. 配置Rsyslog中继

3.1 配置接收日志方式(日志输入方式)
编辑/etc/rsyslog.conf,配置日志接收的方式,根据自身需求删掉对应的#号。
这边是用udp 514端口进行日志接收。
如果要用udp非514端口,记得要关掉selinux。
  1. #使用udp进行日志接收
  2. # Provides UDP syslog reception
  3. $ModLoad imudp
  4. $UDPServerRun 514

  5. #使用tcp进行日志接收
  6. # Provides TCP syslog reception
  7. #$ModLoad imtcp
  8. #$InputTCPServerRun 514
复制代码


3.2 配置日志转发方式(日志输出方式)
编辑/etc/rsyslog.conf,在文件末尾添加如下内容
  1. #发送所有日志到1.1.1.1的udp 514端口
  2. *.* @1.1.1.1:514
  3. #发送所有日志到2.2.2.2的tcp 514端口
  4. *.* @@2.2.2.2:514
复制代码

PS:如果要按源设备的IP进行区分的话可以按照下面的方式修改
  1. #收到3.3.3.3设备发送过来的日志 转发到1.1.1.1的514端口
  2. :fromhost-ip, isequal,"3.3.3.3"  @1.1.1.1:514
  3. #收到4.4.4.4设备发送过来的日志 转发到2.2.2.2的514端口
  4. :fromhost-ip, isequal,"4.4.4.4"  @2.2.2.2:514
复制代码

4. 设置rsyslog自启与放行端口

上面配置修改配置文件后,重启rsyslog且设置服务开机自启
  1. systemctl restart rsyslog
  2. systemctl enable rsyslog
复制代码

放行udp 514端口,当然你也可以把防火墙都关了
  1. firewall-cmd --zone=public --add-port=514/udp --permanent
  2. firewall-cmd --reload
复制代码

5. NGAF 配置syslog

根据自己的需求在NAAF里面把日志传送到syslog里面

image-20210222225322660.png

6.其他

6.1 NGAF syslog修改主机名称
在配置转发后,对端接收到的日志发送IP就是我这台日志中继的IP不是防火墙的IP地址。且日志内容主机名写的是localhost,不是防火墙配置的设备名称。这样对端的话比较不好区分源日志是谁发出来的。

通过咨询泉州办的技术,通过修改底层脚本,把原本的localhost修改为具体的设备名称。这样日志发送过去后,就可以通过日志内容去判断具体是哪台设备发送的日志了。

image-20210225164335287.png



image-20210225164144025.png
(修改前的日志内容)
image-20210225164658564.png
(修改后的日志内容)
6.2  保存日志到rsyslog
如果想转发日志且又要保存日志到这台rsyslog服务器的时候。我们可以编辑配置文件/etc/rsyslog.conf 新增配置
  1. #所有所有日志保存到/var/log/主机IP/主机IP-年-月-日.log
  2. #%fromhost-ip%:为发送日志过来的IP
  3. *.*   "/var/log/%fromhost-ip%/%fromhost-ip%_%$YEAR%-%$MONTH%-%$DAY%.log"
复制代码

7.总结

整个过程简单点说就是。

日志输入方式:通过udp或TCP 514端口输入,

日志输出方式:文件(6.2保存日志到文件),或者其他syslog服务器(3.2转发日志)。

当然在输出之前也可以对日志内容做一些判断或者过滤后再进行输出。具体可以参考官方文档:https://www.rsyslog.com/doc/v8-stable/configuration/filters.html

打赏鼓励作者,期待更多好文!

打赏
8人已打赏

沧海 发表于 2021-2-25 19:43
  
感谢楼主无私分享 学习学习
TCN 发表于 2021-2-25 22:55
  
感谢分享,这种SYSLOG分发日志配置第一次见
zhao_HN 发表于 2021-2-25 22:56
  
学习一下日志发送到多个syslog服务器
AZ5 发表于 2021-2-26 14:17
  
某公司防火墙可以定制的嘛
ZSma 发表于 2021-2-27 18:34
  
楼主分享的案例很实用,具有典型性,希望有更多这样的干货供我们学习参考,非常感谢!
master 发表于 2021-3-2 14:16
  
比较实用的解决方案,感谢分享。
午夜幽魂 发表于 2021-3-2 15:53
  
好方法,技术就是要多研究,学习到了
会飞的癞蛤蟆 发表于 2021-3-2 16:32
  

这个拓扑图  画的很赏心悦目
航嘉电脑门诊 发表于 2021-3-2 16:35
  
非常详细,谢谢分享。
发表新帖
热门标签
全部标签>
每日一问
信服课堂视频
技术笔记
GIF动图学习
项目案例
产品连连看
专家分享
在线直播
新版本体验
技术咨询
技术圆桌
答题自测
功能体验
每日一记
安装部署配置
排障笔记本
原创分享
测试报告
畅聊IT
SDP百科
专家问答
上网策略
云计算知识
干货满满
网络基础知识
安全攻防
VPN 对接
SANGFOR资讯
MVP
升级
日志审计
问题分析处理
流量管理
运维工具
用户认证
解决方案
sangfor周刊
技术顾问
信服故事
标准化排查
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
产品预警公告

本版版主

397
101
61

发帖

粉丝

关注

本版达人

新手61940...

本周建议达人

新手58573...

本周分享达人

新手58573...

本周提问达人