首页
学习
活动
专区
圈层
工具
发布
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开源日志管理系统

【已修复Log4j2漏洞】GrayLog安全版本4.2.3升级实践

12月9日,一个影响 Apache Log4j2 2.0<=2.14.1版本的零日漏洞被公开。

Graylog 使用 Log4j 2 Java库来记录自身的日志信息。该库的2.15.0之前的版本容易受到远程代码执行攻击,特别是当作为用户输入发送的特定值将由 Graylog 记录时。有关该漏洞的更多详细信息,请参阅CVE-2021-44228

代码语言:javascript
复制
https://nvd.nist.gov/vuln/detail/CVE-2021-44228 

Apache发布了新的Log4j来修复该漏洞,Graylog 开发团队立即将此修复程序整合到该平台的所有支持版本(v3.3.15、v4.0.14、v4.1.9 和 v4.2.3)中。

受影响的 GRAYLOG 版本

All Versions >= 1.2.0 和 <= 4.2.2

Graylog 官方建议用户立即升级到适当的版本

代码语言:javascript
复制
https://www.graylog.org/post/graylog-update-for-log4j

(图片可点击放大查看)

下面以GrayLog 4.1.5为例,简单介绍GrayLog升级到最新安全版本4.2.3的步骤

1、确认当前GrayLog版本

代码语言:javascript
复制
rpm -aq | grep graylog

(图片可点击放大查看)

(图片可点击放大查看)

2、卸载graylog4.1的repo仓库

代码语言:javascript
复制
yum remove graylog-4.1-repository-1-3.noarch

(图片可点击放大查看)

3、使用最新的graylog repo

代码语言:javascript
复制
https://packages.graylog2.org/repo/packages/graylog-4.2-repository_latest.rpm

(图片可点击放大查看)

(图片可点击放大查看)

代码语言:javascript
复制
wget https://packages.graylog2.org/repo/packages/graylog-4.2-repository_latest.rpm
rpm -ivh graylog-4.2-repository_latest.rpm
yum clean all
yum makecache

4、升级graylog-server至最新安全版本

代码语言:javascript
复制
yum update graylog-server
systemctl restart graylog-server.service
tail -f /var/log/graylog-server/server.log

(图片可点击放大查看)

(图片可点击放大查看)

在上面server.log中的WARN日志,建议开启Elasticsearch安全认证

代码语言:javascript
复制
https://www.elastic.co/guide/en/elasticsearch/reference/7.14/security-minimal-setup.html

GrayLog添加用户密码认证接入Elasticsearch

1、elastic开启xpack.security

代码语言:javascript
复制
vim /etc/elasticsearch/elasticsearch.yml
加入如下一行
xpack.security.enabled: true

cat /etc/elasticsearch/elasticsearch.yml | grep -v ^#
systemctl restart elasticsearch.service 

(图片可点击放大查看)

2、 给保留用户elastic设置密码

代码语言:javascript
复制
/usr/share/elasticsearch/bin/elasticsearch-setup-passwords interactive

(图片可点击放大查看)

3、验证elasticsearch用户密码

代码语言:javascript
复制
curl -u elastic:elastic@2021 http://127.0.0.1:9200

(图片可点击放大查看)

4、重新修改内置用户elastic的密码

因为elasticsearch-setup-passwords interactive命令只能使用一次,所以采用如下方式进行修改

代码语言:javascript
复制
curl -X POST -u elastic:elastic@2021 "localhost:9200/_security/user/elastic/_password?pretty" -H 'Content-Type: application/json' -d' { "password" : "elastic2021" } '

(图片可点击放大查看)

为什么修改密码?因为下面在配置Graylog对接Elasticsearch时不支持密码中含@特殊符号,试过\转义也不行

(图片可点击放大查看)

5、修改graylog配置文件中elasticsearch_hosts配置

代码语言:javascript
复制
vim /etc/graylog/server/server.conf
添加如下一行
elasticsearch_hosts = http://elastic:elastic2021@127.0.0.1:9200

(图片可点击放大查看)

6、重启GrayLog-server服务

代码语言:javascript
复制
systemctl restart graylog-server.service
tail -f /var/log/graylog-server/server.log

(图片可点击放大查看)

7、验证graylog升级后版本信息

代码语言:javascript
复制
rpm -aq | grep graylog

可以看到升级到了4.2.3版本 为什么说是安全版本?

代码语言:javascript
复制
ps -ef | grep log4j2.formatMsgNoLookups=true

因为开启了log4j2.formatMsgNoLookups=true

(图片可点击放大查看)

当然不升级版本,在JAVA_OPTS启动参数里加该配置也是可以的

(图片可点击放大查看)

8、这时重新验证漏洞是否存在

发现elasticsearch组件仍存在漏洞

(图片可点击放大查看)

Elasticsearch 官方安全公告 (ESA-2021-31)

Log4j 是包括 Elasticsearch 在内的无数 Java 应用程序使用的标准日志记录库。由于我们使用了 Java 安全管理器,Elasticsearch 不易受此漏洞的远程代码执行影响,但是很快我们将提供 Elasticsearch 6.8.21 和 7.16.1,这将删除易受攻击的 Log4j 组件并设置下面标识的 JVM 选项。

如果要彻底修复,还是等elasticsearch7.16.1版本发布后升级更新Elasticsearch至7.16.1版本

可以参考如下链接

代码语言:javascript
复制
https://discuss.elastic.co/t/apache-log4j2-remote-code-execution-rce-vulnerability-cve-2021-44228-esa-2021-31/291476
https://mp.weixin.qq.com/s/sGFjVyjoyt32p2gCL05A7Q

9、验证Graylog服务是否正常

(图片可点击放大查看)

(图片可点击放大查看)

下一篇
举报
领券