站点图标 Linux-技术共享

什么是SELinux?这篇文章,彻底搞懂了selinux和防火墙

很多网友提到linux的防火墙就犯难,现在又多出一个selinux,愈加分不清了。曾几何时,小编也是如此,不过当你看完这篇文章之后,再也无需为此犯难了。

何为SELinux

简单来书,SELinux(全称:Security-Enhanced Linux),它是美国NSA国家安全局主导开发的一套增强Linux系统安全的强制访问控制体系,集成到Linux内核(2.6及以上)中运行。在RHEL7中,基于SELinux体系针对用户、进程、目录和文件提供了预设的保护策略,以及管理工具。

SELinux的运行模式包括三种:enforcing(强制)、permissive(宽松)以及disabled(彻底禁用)。但是,任何模式再切换到disabled(彻底禁用)模式,都必须要经历重起系统。

SELinux切换运行模式

临时切换:setenforce 1|0 (1 启用,0 告警,不启用。暂时在本次开机有效)

固定配置:/etc/selinux/config 文件 ,修改:SELINUX=disabled(不影响当前SELinux状态)。

查看运行模式:getenforce

何为防火墙

linux中的防火墙,和windows中的防火墙概念是一样的,都是软件层面的防护管理,用来在网络找那个构建一道相对隔绝的保护屏障。Linux中有两种防火墙软件,ConterOS7.0以上使用的是firewall,ConterOS7.0以下使用的是iptables。

firewall防火墙服务

firewall防火墙服务,从某种意义上来说是在iptables防火墙服务的基础上演变和发展而来,从趋势上来说会逐渐代替iptables。

开启防火墙:systemctl start firewalld关闭防火墙:systemctl stop firewalld查看防火墙状态:systemctl status firewalld

设置开机启动:systemctl enable firewalld禁用开机启动:systemctl disable firewalld重启防火墙:firewall-cmd --reload开放端口(修改后需要重启防火墙方可生效):firewall-cmd --zone=public --add-port=8080/tcp --permanent查看开放的端口:firewall-cmd --list-ports关闭端口:firewall-cmd --zone=public --remove-port=8080/tcp --permanentiptables防火墙服务

在CenterOS7.0以上版本并没有预装Iptables,如果你只习惯使用iptables,那么你需要自行安装。安装iptables防火墙时,你需要先关闭firewall防火墙,使用命令:yum install iptables来安装iptables,然后再使用命令:yum install iptables-services来安装iptables-services。

常见的iptables防火墙使用命令。

开启防火墙:systemctlstartiptables.service关闭防火墙:systemctlstopiptables.service查看防火墙状态:systemctlstatusiptables.service设置开机启动:systemctl enable iptables.service禁用开机启动:systemctl disable iptables.service查看filter表的几条链规则(INPUT链可以看出开放了哪些端口):iptables -L -n

查看NAT表的链规则:iptables -t nat -L -n清除防火墙所有规则:iptables -Fiptables -Xiptables -Z给INPUT链添加规则(开放8080端口):iptables -I INPUT -p tcp --dport 8080 -j ACCEPT查找规则所在行号:iptables -L INPUT --line-numbers -n根据行号删除过滤规则(关闭8080端口):iptables -D INPUT 1不要把linux的防火墙想的过于复杂,命令记不住也没有关系,使用-h帮助命令就可以啦

退出移动版