zoukankan      html  css  js  c++  java
  • 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加入进去即可

    /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
    }

    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:是被拒绝请求的日志中的标志字串

    [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
    ...

    六,查看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) 
  • 相关阅读:
    Codeforces 723d [暴力dfs]
    Codeforces 723e [图论][欧拉回路]
    Hihocoder 1035 [树形dp]
    Codeforces 721C [dp][拓扑排序]
    Codeforces 721D [贪心]
    info
    关于string操作
    Floyd求最小环 HDU1599
    Codeforces Round #572 (Div. 2) B Number Circle
    A. XXXXX
  • 原文地址:https://www.cnblogs.com/architectforest/p/12960368.html
Copyright © 2011-2022 走看看