firewalld命令
查看防火牆規則:
firewall-cmd --list-all
開放10.11訪問
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.10.11/32" accept"
開放10.11訪問端口22
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.10.11" port port=22 protocol=tcp accept"
重新載入
firewall-cmd --reload
firewalld配置日志
一,用途:
在生產環境中,firewalld的默認配置是不記錄日志
我們通過日志記錄下防火牆過濾時拒絕的非法ip,
可以主動把這些有攻擊性的ip加入到黑名單,
防患於未然
二,配置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端口,所以被拒絕的同時記錄到了日志