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

只能使用UDP:514端口接收Syslog日志的两种解决方法

只能使用UDP:514端口接收Syslog日志的两种解决方法

问题场景:

在接入网络安全设备例如防火墙,上网行为管理,IPS等设备和数通设备(交换机,路由器)的Syslog日志时, 有些网络安全设备和数通设备只能将Syslog日志发送到日志服务器的UDP 514端口,无法自定义修改为其他端口

但是GrayLog需要使用1024以上的端口用于Input监听端口用来接收日志

(图片可点击放大查看)

(图片可点击放大查看)

具体原因:参考GrayLog上的FAQ

代码语言:javascript
复制
How can I start an input on a port below 1024?
If you try to start an input on one of the privileged ports , it will only work for the “root” user. To be able to use a privileged port, you can use authbind on Debian-based systems, or you redirect the traffic with an iptables rule like this:
iptables -t nat -A PREROUTING -p tcp --dport 514 -j REDIRECT --to 1514
iptables -t nat -A PREROUTING -p udp --dport 514 -j REDIRECT --to 1514
The input needs to be started on port 1514 in this case and will be made available on port 514 to the outside. The clients can then send data to port 514.

(图片可点击放大查看)

下面用两种方法来解决这个问题

一、使用nginx的stream模块实现四层负载均衡

代码语言:javascript
复制
yum install nginx nginx-mod-stream -y

修改默认的nginx.conf
将include /etc/nginx/conf.d/*.conf; 放置在上方

(图片可点击放大查看)

然后

代码语言:javascript
复制
cd /etc/nginx/conf.d/
vim syslog514to1514.conf 
添加如下
stream {
        upstream udp_backend {
        server 192.168.31.230:1514;
    }
    server {
        listen 514 udp;
        proxy_pass udp_backend;
    }
}

firewall-cmd --list-ports
firewall-cmd --permanent --zone=public --add-port=514/udp
firewall-cmd --reload

(图片可点击放大查看)

接下来

代码语言:javascript
复制
systemctl restart nginx
systemctl enable nginx 
netstat -anp  | grep 514

(图片可点击放大查看)

找一台Linux服务器测试514端口

代码语言:javascript
复制
vi /etc/rsyslog.conf
最后一行添加如下配置
*.* @192.168.31.230:514;RSYSLOG_SyslogProtocol23Format

systemctl restart rsyslog

(图片可点击放大查看)

可以看到Graylog 1514端口已经收到syslog日志流量

不过有一点问题,这时gl2_remote_ip是GrayLog自身的IP (192.168.31.230)

二、通过firewalld的端口重定向来实现

具体操作命令如下

代码语言:javascript
复制
firewall-cmd --permanent --add-forward-port=port=514:proto=udp:toport=1514
需开启IP地址伪装,运行 
firewall-cmd --permanent --add-masquerade
firewall-cmd --reload

(图片可点击放大查看)

cat /proc/sys/net/ipv4/ip_forward可以看出

当firewalld的masquerade IP地址伪装开启时,ip_forward 会相应自动开启

效果验证

(图片可点击放大查看)

可以看到192.168.31.60的日志自动转发到1514端口

下一篇
举报
领券