SElinux
SELinux(Security-Enhanced Linux)是一个Linux内核的安全模块,其提供了访问控制安全策略机制。
了解更多:
由于SElinux学习成本高,而且开启后可能会造成未知影响,所以我建议大家可以在安装完系统后直接关闭。
- 临时关闭
setenforce 0
- 永久关闭
vim /etc/selinux/config #将SELINUX=enforcing改为SELINUX=disabled
- 查看selinux状态
getenforce
iptables, firewalld, netfilter三者关系
netfilter为Linux内核的一个模块,可以针对进出的数据包进行处理,用来实现防火墙功能。iptables工具/命令为netfilter模块自带,我们可以使用iptables命令实现规则的管理。
CentOS6在netfilter基础之上安装了iptables服务,该服务帮我们管理iptables规则。
CentOS7在netfilter基础之上安装了firewalld服务,该服务帮我们管理iptables规则。
netfilter的5表5链
-
filter表
三个链:INPUT、FORWARD、OUTPUT
作用:过滤数据包
-
Nat表
三个链:PREROUTING、POSTROUTING、OUTPUT
作用:用于网络地址转换(IP、端口)
-
Mangle表
五个链:PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD
作用:修改数据包的服务类型、TTL、并且可以配置路由实现QOS
-
Raw表
两个链:OUTPUT、PREROUTING
作用:决定数据包是否被状态跟踪机制处理
-
Security表
三个链:INPUT、OUTPUT和FORWARD
作用:Security表在centos6中并没有,用于强制访问控制(MAC)的网络规则
-
netfilter的5个链
PREROUTING:数据包进入路由表之前
INPUT:通过路由表后目的地为本机
FORWARD:通过路由表后,目的地不为本机
OUTPUT:由本机产生,向外发出
POSTROUTING:发送到网卡接口之前