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

Nginx访问日志接入GrayLog4.2.5并通过GeoIP展现访问者IP的地理位置信息

Nginx访问日志接入GrayLog4.2.5并通过GeoIP展现访问者IP的地理位置信息

(图片可点击放大查看)

配置步骤

1、maxmind官网下载GeoLite2-City的mmdb文件

https://www.maxmind.com/

(图片可点击放大查看)

上传/etc/graylog/server目录中

(图片可点击放大查看)

并在配置中启用,以及修改Message Processors配置中的顺序

(图片可点击放大查看)

(图片可点击放大查看)

2、Graylog升级至最新版本

代码语言:javascript
代码运行次数:0
复制
rpm -aq | grep graylog-server
yum update graylog-server -y

(图片可点击放大查看)

因为所使用graylog-content-pack-nginx-syslog要求4.2.5以上版本 升级完成后重启服务

代码语言:javascript
代码运行次数:0
复制
systemctl restart graylog-server

(图片可点击放大查看)

3、下载graylog-content-pack-nginx-syslog

https://github.com/scriptingislife/graylog-content-pack-nginx-syslog

修改为1515端口作为syslog input接收端口并导入

(图片可点击放大查看)

点击install后

(图片可点击放大查看)

(图片可点击放大查看)

可以在Input中看到nginx-syslog 1515端口的一个input

(图片可点击放大查看)

先启用input

(图片可点击放大查看)

这时若GrayLog的防火墙没有开放1515 udp端口,则需要开放一下

代码语言:javascript
代码运行次数:0
复制
firewall-cmd --permanent --zone=public --add-port=1515/udp
firewall-cmd --reload

(图片可点击放大查看)

4、nginx服务器上修改nginx.conf配置文件

代码语言:javascript
代码运行次数:0
复制
    log_format graylog_json escape=json '{ "nginx_timestamp": "$time_iso8601", '
        '"remote_addr": "$remote_addr", '
        '"connection": "$connection", '
        '"connection_requests": $connection_requests, '
        '"pipe": "$pipe", '
        '"body_bytes_sent": $body_bytes_sent, '
        '"request_length": $request_length, '
        '"request_time": $request_time, '
        '"response_status": $status, '
        '"request": "$request", '
        '"request_method": "$request_method", '
        '"host": "$host", '
        '"upstream_cache_status": "$upstream_cache_status", '
        '"upstream_addr": "$upstream_addr", '
        '"http_x_forwarded_for": "$http_x_forwarded_for", '
        '"http_referrer": "$http_referer", '
        '"http_user_agent": "$http_user_agent", '
        '"http_version": "$server_protocol", '
        '"remote_user": "$remote_user", '
        '"http_x_forwarded_proto": "$http_x_forwarded_proto", '
        '"upstream_response_time": "$upstream_response_time", '
        '"nginx_access": true }';

    access_log syslog:server=192.168.31.127:1515 graylog_json;
    access_log /var/log/nginx/access.log main ;
    error_log  /var/log/nginx/error.log;

(图片可点击放大查看)

然后重启nginx服务

5、Graylog上可以查询到该nginxserver的日志

(图片可点击放大查看)

可以看出已经拆解成了相应的字段

(图片可点击放大查看)

6、模拟公网IP访问nginx webserver

这时若能匹配到GeoIP,则会有如下GEO相关字段

(图片可点击放大查看)

7、配置WorldMap

代码语言:javascript
代码运行次数:0
复制
Field:remote_addr_geolocation

Type:World Map

(图片可点击放大查看)

(图片可点击放大查看)

8、GEO MAP效果如下

(图片可点击放大查看)

(图片可点击放大查看)

(图片可点击放大查看)

本文参考如下链接完成

代码语言:javascript
代码运行次数:0
复制
1、https://zhuanlan.zhihu.com/p/113755052
2、https://www.graylog.org/post/how-to-set-up-graylog-geoip-configuration
3、https://scriptingis.life/NGINX-Syslog-Graylog/
4、https://github.com/scriptingislife/graylog-content-pack-nginx-syslog
5、https://cloud.tencent.com/developer/article/1690193
下一篇
举报
领券