首页
学习
活动
专区
圈层
工具
发布
28 篇文章
1
使用Telegraf+GrayLog实现Linux业务系统服务异常时自动推送钉钉告警
2
GrayLog使用HTTP JSONPath方式调用微步在线云API识别威胁IP
3
使用GrayLog对PrometheusAlert推送的安全告警进行图形报表统计与分析
4
Windows服务器安装graylog-sidecar实现系统日志快速接入Graylog
5
​数据采集神器Telegraf对接开源日志服务器GrayLog
6
利用GrayLog的output功能实现简单的GrayLog分布式级联
7
GrayLog+nxlog采集邮箱登录日志csv文件并实现邮箱异地登录钉钉机器人告警
8
只能使用UDP:514端口接收Syslog日志的两种解决方法
9
开源蜜罐Hfish的简单部署并接入到GrayLog
10
一键安装脚本实现快速部署GrayLog Server 4.2.10单机版
11
利用GrayLog告警功能实现钉钉群机器人定时工作提醒
12
Linux主机安装NetFlow采集器并使用Graylog进行网络流量分析
13
CentOS7下部署OSSEC开源主机入侵检测系统(HIDS)并接入到GrayLog
14
Sysmon+Nxlog+GrayLog实现Windows服务器安全日志监控
15
Linux防暴力破解工具Fail2ban的日志接入到GrayLog并实现GeoIP展示
16
Nginx访问日志接入GrayLog4.2.5并通过GeoIP展现访问者IP的地理位置信息
17
商业堡垒机对接GrayLog实现生产服务器高危命令钉钉机器人自动告警
18
使用腾讯云SSL证书为GrayLog Web接口配置nginx HTTPS/SSL反向代理
19
GrayLog中使用Prometheus Alert实现钉钉群机器人自动告警
20
Graylog4.2集群部署完整教程
21
GrayLog配置SSH暴力破解攻击日志告警并推送到钉钉机器人
22
【实践】GrayLog4.2使用webhook成功推送日志告警到钉钉群机器人
23
【已修复Log4j2漏洞】GrayLog安全版本4.2.3升级实践
24
利用pipeline实现GrayLog中用日志源IP地址区分主机
25
Graylog4.2+GeoIP2获取SSH暴力破解攻击者IP的地理位置信息
26
使用EVE-NG模拟山石网科防火墙syslog日志接入GrayLog4.1
27
开源日志管理系统Graylog之Sidecar功能实践
28
CentOS7下部署Graylog开源日志管理系统

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

点击上方"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"中

(图片可点击放大查看)

(图片可点击放大查看)

就可以完美解决这个问题

(图片可点击放大查看)

(图片可点击放大查看)

切换为暗黑模式

(图片可点击放大查看)

下一篇
举报
领券