firewalld的运行时日志配置

linux(centos8):firewalld的运行时日志配置

一,firewalld配置日志的用途:

在生产环境中,firewalld的默认配置是不记录日志

我们通过日志记录下防火墙过滤时拒绝的非法ip,

可以主动把这些有攻击性的ip加入到黑名单,

防患于未然

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

​ 对应的源码可以访问这里获取: https://github.com/liuhongdi/

说明:作者:刘宏缔 邮箱: 371125307@qq.com

二,配置firewalld记录被reject包的日志

修改firewalld的配置文件

[root@blog log]# vi /etc/firewalld/firewalld.conf

设置下面一项的值:

LogDenied=all

说明:

默认值是off,即不记录被拒的包

设置为all,表示记录所有被拒的包

重启firewalld服务,使日志配置生效

[root@blog log]# systemctl restart firewalld.service 

验证配置是否生效:

#–get-log-denied: 得到记录被拒日志的配置项的值

[root@blog ~]# firewall-cmd --get-log-denied
all

说明配置已生效

三,测试firewalld被拒数据包后是否记录日志

另外找一台机器,telnet到firewalld所在服务器上一个不开放的端口

[lhd@web2 ~]$ telnet 121.122.123.47 22
Trying 121.122.123.47...
telnet: connect to address 121.122.123.47: No route to host

回到原服务器查看denied日志:

[root@blog ~]# dmesg | grep -i reject
[11761159.473094] FINAL_REJECT: IN=eth0 OUT= MAC=00:16:3e:16:7c:a5:ee:ff:ff:ff:ff:ff:08:00 SRC=121.122.123.87 DST=172.17.11.21 LEN=52 TOS=0x10 PREC=0x00 TTL=56 ID=45900 DF PROTO=TCP SPT=28477 DPT=22 WINDOW=14600 RES=0x00 SYN URGP=0
...

可以看到未连接成功的请求也被记录下来了

说明:如果是ecs外部有云服务的防火墙,请求到不了主机则不会记录失败的请求

四,配置firewalld的运行时日志到指定的文件:

1,创建firewalld的运行时日志文件

[root@blog log]# vi /etc/rsyslog.d/firewalld.conf

内容:指定日志的路径

kern.* /var/log/firewalld.log

2,配置日志的滚动

[root@blog log]# vi /etc/logrotate.d/syslog

内容:把上面指定的firewalld.log加入进去即可

[复制代码](javascript:void(0)😉

/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/firewalld.log
/var/log/spooler
{
    missingok
    sharedscripts
    postrotate
        /usr/bin/systemctl kill -s HUP rsyslog.service >/dev/null 2>&1 || true
    endscript
}

[复制代码](javascript:void(0)😉

3,修改完成后重启rsyslog服务

[root@blog rsyslog.d]# systemctl restart rsyslog.service

4,查看日志:

[root@blog log]# more /var/log/firewalld.log
May 25 17:01:15 blog kernel: FINAL_REJECT: IN=eth0 OUT= MAC=00:16:3e:16:7c:a5:ee:ff:ff:ff:ff:ff:08:00 SRC=93.235.100.170 DST=172.17.11.21 LEN=44 TOS=0x14 PREC=0x00 TTL=241 ID=54321 PROTO=TCP SPT=58690 DPT=22 WINDOW=65535 RES=0x00 SYN URGP=0 
...

可以发现有对22端口的试探

因为firewalld未开放22端口,所以被拒绝的同时记录到了日志

五,找出被防火墙拒绝的最多的20个IP

#FINAL_REJECT:是被拒绝请求的日志中的标志字串

[复制代码](javascript:void(0)😉

[root@blog log]# grep 'FINAL_REJECT:' /var/log/firewalld.log | awk '{print $10}' | sort -n | uniq -c | sort -k1nr | head -10
     10 SRC=43.243.12.116
      1 SRC=189.203.131.96
      1 SRC=85.209.0.101
      1 SRC=87.251.74.50      ...

[复制代码](javascript:void(0)😉

六,查看firewalld的版本

[root@blog log]# firewall-cmd --version
0.6.3

说明;服务端程序firewalld没有打印版本的选项,使用客户端程序firewall-cmd即可

七,查看centos的版本

[root@blog log]# cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core) 
ewall-cmd --version
0.6.3

说明;服务端程序firewalld没有打印版本的选项,使用客户端程序firewall-cmd即可

七,查看centos的版本

[root@blog log]# cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core) 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Linux 的防火墙是一个非常重要的安全功能,可以保护系统免受网络攻击。在 Linux 中,有很多种防火墙软件可供选择,其中最常见的是 iptables 和 firewalld。 下面是针对 iptables 的配置步骤: 1. 启用 iptables:在终端中输入 "systemctl start iptables" 命令,使 iptables 启动。 2. 配置规则:输入以下命令来设置防火墙规则: iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -j DROP 上述命令的作用是允许来自端口22和80的TCP流量通过,同拒绝其他所有流量。 3. 保存规则:使用以下命令将 iptables 规则保存到文件中: /sbin/service iptables save 4. 确认规则:使用以下命令确认规则是否生效: iptables -L 该命令将列出 iptables 当前的规则列表。 对于 firewalld,以下是配置步骤: 1. 启用 firewalld:在终端中输入 "systemctl start firewalld" 命令,启动 firewalld。 2. 配置规则:使用以下命令设置防火墙规则: firewall-cmd --zone=public --add-port=22/tcp --permanent firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload 上述命令的作用是允许来自端口22和80的TCP流量通过,同将规则设置为永久性。 3. 确认规则:使用以下命令确认规则是否生效: firewall-cmd --list-all 该命令将列出所有的 firewalld 规则。 无论是 iptables 还是 firewalld,都需要根据实际需求进行配置。以上只是一些基本的设置,如果需要更加详细的配置可以参考相关的文档或者教程。 ### 回答2: Linux的防火墙是用于保护计算机系统和网络免受恶意攻击的重要组成部分。常见的Linux防火墙软件包括iptables、ufw和firewalld。 iptables是一个基于用户空间的防火墙软件,使用命令行进行配置。通过定义规则,可以控制数据包的流入和流出。iptables允许管理员根据需要将数据包分组到不同的链中,并为每个链设置不同的规则。规则包括允许、拒绝和转发数据包等,管理员可以根据实际需求进行配置。 ufw(Uncomplicated Firewall)是一个基于iptables的前端工具,它提供了一个更简单的方式来配置防火墙。管理员可以使用ufw命令来定义允许或拒绝特定端口、IP地址或协议的访问。ufw还支持应用程序级别的配置,使得管理员可以轻松地为不同的应用程序定义规则。 firewalld是一个新的防火墙管理工具,用于替代传统的iptables。它提供了更高级的功能,如动态更新规则、网络区域定义和服务管理。firewalld使用zone和service的概念,管理员可以将主机分配到不同的区域,并通过定义服务访问规则来保护系统和网络。 在配置Linux防火墙,以下步骤一般是必要的: 1. 确认防火墙软件已安装并处于运行状态。 2. 定义适当的规则,包括允许或拒绝特定的端口、协议或IP地址的访问。 3. 配置防火墙以限制对敏感数据和服务的访问。 4. 更新防火墙规则以反映新的安全要求或网络架构更改。 5. 监控和审计防火墙日志,以便及检测到潜在的入侵尝试或安全漏洞。 通过合理配置和管理Linux防火墙,可以提供一个更安全的计算机环境,保护系统和网络免受恶意攻击和未经授权的访问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值