前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用EVE-NG模拟山石网科防火墙syslog日志接入GrayLog4.1

使用EVE-NG模拟山石网科防火墙syslog日志接入GrayLog4.1

作者头像
yuanfan2012
发布2021-09-24 18:04:05
2K0
发布2021-09-24 18:04:05
举报
文章被收录于专栏:WalkingCloud

点击上方"walkingcloud"关注,并选择"星标"公众号

先上最终的效果图:防火墙NAT日志在GrayLogServer4.1的呈现的效果

(图片可点击放大查看)

(图片可点击放大查看)

下面细说具体的步骤

一、EVE-NG下模拟网络设备syslog日志

使用的是EVE-NG社区懒人版,测试使用hillstone山石网科防火墙

代码语言:javascript
复制
链接: https://pan.baidu.com/s/15G_ONhBD7TpZo3w0vKmU0g 提取码: xucy

搭建的拓扑也很简单(典型的简单企业园区网)

(图片可点击放大查看)

1、Hillstone防火墙

E0/0 DHCP 桥接PC本地网卡作为外网WAN 192.168.31.163

E0/1 10.10.10.253 与三层交换机G0/0互联

2、Cisco Switch三层交换机

G0/0 VLAN100 VLAN IP 10.10.10.254

G0/1 VLAN200 VLAN IP 10.10.200.1

3、测试PC

IP 10.10.200.200 VLAN200

拓扑如下

(图片可点击放大查看)

这里就不详细描述园区网各设备的具体配置过程了

主要就是模拟山石网科防火墙的日志发送

(图片可点击放大查看)

(图片可点击放大查看)

二、GrayLogServer 4.1版本的搭建

之前有搭建过GraryLog,链接如下

CentOS7下部署Graylog开源日志管理系统

GrayLogServer 4.1版本的搭建步骤大同小异

1、配置yum源,安装jdk+pwgen

代码语言:javascript
复制
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum install -y java-1.8.0-openjdk-headless.x86_64
yum install -y pwgen

(图片可点击放大查看)

(图片可点击放大查看)

2、安装MongoDB4.4

代码语言:javascript
复制
vi /etc/yum.repos.d/mongodb-org.repo
#修改成如下行
[mongodb-org]
name=MongoDB Repository
baseurl=https://mirrors.aliyun.com/mongodb/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc

(图片可点击放大查看)

代码语言:javascript
复制
yum install mongodb-org
systemctl daemon-reload
systemctl enable mongod.service
systemctl start mongod.service
systemctl --type=service --state=active | grep mongod

(图片可点击放大查看)

3、安装Elasticsearch7.14版本

先创建Elasticsearch数据存储和日志目录,建议要使用磁盘分区容量较大的目录

代码语言:javascript
复制
mkdir -p /opt/elasticsearch/data
mkdir -p /opt/elasticsearch/logs
chown -R elasticsearch:elasticsearch /opt/elasticsearch

(图片可点击放大查看)

腾讯云镜像站Elastic源中下载elasticsearch的rpm包,进行本地rpm安装

代码语言:javascript
复制
https://mirrors.cloud.tencent.com/elasticstack/yum/elastic-7.x/7.14.0/elasticsearch-7.14.0-x86_64.rpm

(图片可点击放大查看)

代码语言:javascript
复制
rpm -ihv elasticsearch-7.14.0-x86_64.rpm

systemctl daemon-reload
systemctl enable elasticsearch.service
systemctl restart elasticsearch.service

(图片可点击放大查看)

代码语言:javascript
复制
cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml_default
并修改配置文件
vi/etc/elasticsearch/elasticsearch.yml
#添加或修改如下行
cluster.name:graylog
action.auto_create_index:false
path.data: /opt/elasticsearch/data
path.logs: /opt/elasticsearch/logs

(图片可点击放大查看)

(图片可点击放大查看)

4、安装GrayLogServer4.1

代码语言:javascript
复制
rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-4.1-repository_latest.rpm
yum install graylog-server

(图片可点击放大查看)

(图片可点击放大查看)

5、修改Graylog相关配置文件

代码语言:javascript
复制
cp /etc/graylog/server/server.conf /etc/graylog/server/server.conf_default

pwgen -N 1 -s 96
Joznyj3G5p13hwaIwdvZVJ9TfiPcb4PINOdSPH3uq5GKFaG9jvgsgjQNGVrUwy4F057PTYBmP7dJP6Svx8t8w1h61hVhVUcX

echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1
Enter Password: Graylog@2021
10dfabb9595634675701865aa1c6e774d89d59f4a104ab128fbffcdaa3cf8f7b

(图片可点击放大查看)

修改graylogserver配置文件

代码语言:javascript
复制
vim /etc/graylog/server/server.conf 
root_timezone = Asia/Shanghai
allow_highlighting = true
http_bind_address = 0.0.0.0:9000

1)、admin帐号

2)、时区设置

3)、查询结果高亮

4)、http绑定的IP与端口

(图片可点击放大查看)

5)、重启服务并防火墙开放9000端口

代码语言:javascript
复制
systemctl daemon-reload
systemctl enable graylog-server.service
systemctl start graylog-server.service

firewall-cmd --zone=public --add-port=9000/tcp --permanent
firewall-cmd --reload 

(图片可点击放大查看)

6、GrayLog配置SyslogInput接收

(图片可点击放大查看)

(图片可点击放大查看)

代码语言:javascript
复制
firewall-cmd --zone=public --add-port=1514/udp –permanent

防火墙上配置日志服务器,测试日志接收,并查询日志

(图片可点击放大查看)

(图片可点击放大查看)

(图片可点击放大查看)

-三、安装Nxlog实现编码转换

可能网络设备发送过来的日志编码非UTF-8编码,在GrayLogServer上呈现出中文乱码的情况

(图片可点击放大查看)

针对这种情况可以借助nxlog实现转换为UTF-8编码,解决中文乱码问题

具体原理(Nxlog也安装GrayLogServer这台服务器上)

(图片可点击放大查看)

代码语言:javascript
复制
rpm -ivh nxlog-ce-2.11.2190-1_rhel7.x86_64.rpm
会提示缺少依赖包
yum localinstall nxlog-ce-2.11.2190-1_rhel7.x86_64.rpm 

(图片可点击放大查看)

1、前端网络设备先发到nxlog的1513端口,nxlog开放UDP 1513用于接收

2、nxlog配置文件修改,进行编码转换,转换成UTF-8编码

3、再发送GrayLog的UDP 1514端口

代码语言:javascript
复制

cp /etc/nxlog.conf /etc/nxlog.conf_bak

vim /etc/nxlog.conf
配置文件中主要段如下
<Extension _syslog>
    Module      xm_syslog
</Extension>

<Extension charconv>
    Module              xm_charconv
    AutodetectCharsets  gbk,utf-8, euc-jp, utf-16, utf-32, iso8859-2
</Extension>

<Input in1>
    Module      im_udp
    Host        192.168.31.127
    Port        1513
    Exec        convert_fields("auto", "utf-8");
</Input>

<Output out1>
    Module      om_udp
    Host        192.168.31.127
    Port        1514
</Output>

########################################
# Routes                               #
########################################
<Route graylog-utf-8>
    Path        in1 => out1
</Route>

(图片可点击放大查看)

代码语言:javascript
复制
firewall-cmd  --permanent  --zone=public --add-port=1513/udp
firewall-cmd --reload
service nxlog restart
chkconfig --list | grep nxlog

(图片可点击放大查看)

验证效果

若有遇到这种情况时可以采用这种nxlog转换编码的方案

(图片可点击放大查看)

四、GrayLogServer中日志源source显示名称问题

在图中可以看到source一直为0010097503844724(root),不太直观

可以通过pipeline规则来实现显示名称修改

参考如下链接解决

代码语言:javascript
复制
https://community.graylog.org/t/making-source-field-show-hostname-instead-of-ip-address/7801

步骤如下

1、创建Pipeline

(图片可点击放大查看)

2、配置rules

(图片可点击放大查看)

语法配置如下

代码语言:javascript
复制
rule "CorrectHillstoneDeviceName"
when
  has_field("source") AND contains(to_string($message.source), "0010097503844724(root)")
then
   set_field("source", "Hillstone");
end

(图片可点击放大查看)

3、然后再应用到Stream "All messages"中

(图片可点击放大查看)

(图片可点击放大查看)

就可以完美解决这个问题

(图片可点击放大查看)

(图片可点击放大查看)

切换为暗黑模式

(图片可点击放大查看)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 WalkingCloud 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 下面细说具体的步骤
  • 一、EVE-NG下模拟网络设备syslog日志
  • 二、GrayLogServer 4.1版本的搭建
    • 1、配置yum源,安装jdk+pwgen
      • 2、安装MongoDB4.4
        • 3、安装Elasticsearch7.14版本
          • 4、安装GrayLogServer4.1
            • 5、修改Graylog相关配置文件
              • 6、GrayLog配置SyslogInput接收
              • -三、安装Nxlog实现编码转换
              • 四、GrayLogServer中日志源source显示名称问题
              相关产品与服务
              Elasticsearch Service
              腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档