首页
Firewalld的panic模式
Firewalld的panic模式
版权声明:本文为原创内容,转载请声明出处。
原文地址:http://www.excelib.com/article/289/show

Firewalld有一种Panic模式,Panic的单词含义为“恐慌”、“惊慌”,在firewalld中他表示当发生紧急情况(比如遭到攻击)时启用的一种“禁行模式”,启用这种模式后所有的进包和出包都会被丢弃,和panic模式相关的有三个命令

1
2
3
[root@excelib.com ~]# firewall-cmd --panic-on
[root@excelib.com ~]# firewall-cmd --panic-off
[root@excelib.com ~]# firewall-cmd --query-panic

这三个命令很容易理解,第一个是启用panic模式,也就是“禁行模式”,第二个是禁用panic模式,第三个是查询是否已启用panic模式。

当启用了panic模式后所有的进包和出包都会被丢弃,不过如果对于原来已经建立的连接并不会马上断开,只是双方不能进行通信了而已,当达到设置的最长不活动(inactivity)周期后才会断开,而如果在断开前将panic模式关闭的话连接就不会受影响。

因为启用panic模式后会丢弃所有进包和出包,所以使用时要格外谨慎,另外,如果是使用的ssh连接的话,启动panic模式后ssh的连接也会被断开(准确来说是不可通信了),这时更加需要注意。


多知道点

firewall-cmd的本质

大家现在应该对firewall-cmd命令已经比较熟悉的,但是他的本质到底是什么呢?学生在这里给大家介绍一下。

firewall-cmd其实是一个位于/usr/bin目录下的Python脚本,大家如果想了解firewall-cmd命令的具体的细节而且又熟悉Python语言的话就可以直接打开这个文件进行代码阅读。

另外,这个命令有一个对于安全来说非常重要但是又很不容易引起注意的问题,首先我们来看一下这个脚本文件的属性

1
2
[root@excelib.com~]# ll /usr/bin/firewall-cmd
-rwxr-xr-w. 1 root root 62012 Nov 20 20:35 /usr/bin/firewall-cmd

大家可以看到这里的权限是755,也就是说所有用户都可以执行该命令,当然,这么设计主要是为了学生后面要给大家介绍的使用其他程序通过D-BUS接口来操作firewalld有关,而且在前面给大家说过可以通过whitelist来设置,不过只有将Lockdown配置为yes后whitelist才会生效,而且默认配置为no,也就是说默认情况下所有程序(用户)都可以执行firewall-cmd命令,这当然是不安全的,如果大家不需要使用其他程序对其进行操作的话可以直接将其权限改为750,这样更加安全

1
[root@excelib.com~]# chmod 750 /usr/bin/firewall-cmd



参考文献

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide/sec-Using_Firewalls.html