前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS7开启Firewalld防火墙日志记录获取被拦截的IP

CentOS7开启Firewalld防火墙日志记录获取被拦截的IP

作者头像
yuanfan2012
发布2022-12-06 20:04:23
2.9K1
发布2022-12-06 20:04:23
举报
文章被收录于专栏:WalkingCloudWalkingCloud

之前有写过CentOS7下如何利用Firewalld防火墙实现IP+Port细粒度访问控制

问题场景:

在实际生产环境时使用该方法进行ES数据库白名单访问控制,但遇到业务侧反馈无法访问到ES数据库端口,需要加入到白名单,但业务侧用的IP 业务侧无法准确给出

于是通过如下面的方法解决这个问题

1、firewalld的默认配置是不记录日志

代码语言:javascript
复制
firewall-cmd --get-log-denied

可以看到默认是off状态

代码语言:javascript
复制
cat /etc/firewalld/firewalld.conf | grep -i Log

可以看到LogDenied=off :即不记录被拒绝的包

(图片可点击放大查看)

2、可以通过修改配置文件,使Firewalld防火墙记录日志

从而通过防火墙记录的日志,查询出拒绝的非法ip

具体步骤如下

set-log-denied设置为all,表示记录所有被拒的包

(图片可点击放大查看)

代码语言:javascript
复制
firewall-cmd --set-log-denied=all

3、通过日志来判断出被拒绝的IP

由于业务侧反馈无法访问到ES数据库端口,业务侧无法判断出自己的IP地址 这时就该方法在Firewalld上开启Log记录,通过日志来判断出被拒绝的IP

进行nc端口测试,触发日志(或者让业务侧复现重试一次)

(图片可点击放大查看)

代码语言:javascript
复制
tail -f /var/log/messages

(图片可点击放大查看)

或者

(图片可点击放大查看)

代码语言:javascript
复制
dmesg | grep -i REJECT | grep DPT=9200

4、根据最小化原则,给这个IP开放ES的端口

代码语言:javascript
复制
firewall-cmd --add-rich-rule='rule family="ipv4"  source address="192.168.31.230/32" port port="9200" protocol="tcp"   accept' --permanent
firewall-cmd --reload

5、测试可以正常访问ES 9200端口

(图片可点击放大查看)

(图片可点击放大查看)

接下来就可以关闭Firewalld的日志记录

代码语言:javascript
复制
firewall-cmd --set-log-denied=off

扩展

  • 1、开启日志记录,可以将kernel的日志使用rsyslog发送到graylog
代码语言:javascript
复制
echo "*.* @192.168.31.230:1514;RSYSLOG_SyslogProtocol23Format" >> /etc/rsyslog.conf 
systemctl restart rsyslog
  • 2、当异常IP尝试去访问ES数据库,通过配置GraylogAlert将所匹配到的firewalld拦截日志进行告警推送

(图片可点击放大查看)

代码语言:javascript
复制
"DPT=9200" AND "DST=192.168.31.170"

这里就不详细介绍如何实现,可以参考之前的文章

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、firewalld的默认配置是不记录日志
  • 2、可以通过修改配置文件,使Firewalld防火墙记录日志
  • 3、通过日志来判断出被拒绝的IP
  • 4、根据最小化原则,给这个IP开放ES的端口
  • 5、测试可以正常访问ES 9200端口
  • 扩展
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档