的Linux内核包括Netfilter子系统,该子系统用于操纵或确定进入或通过您的服务器的网络流量的命运。所有现代Linux防火墙解决方案都使用此系统进行数据包过滤。
增强安全性的Linux(SELinux)是Linux内核安全性模块,它提供了一种机制来支持访问控制安全策略,包括强制性访问控制(MAC)。 SELinux是一组内核修改和用户空间工具,已添加到各种Linux发行版中。
这篇文章总结了如何在两种最流行的Linux发行版(CentOS和Ubuntu)上配置Firewall和SElinux的基本用法。
1. CentOS 7
- 防火墙D的用途 区域 and 服务 而不是链条和规则。
- 它动态管理规则集,允许更新而不会破坏现有会话和连接。
注意
防火墙D是iptables的包装器,可以更轻松地管理iptables规则-它是 不 iptables的替代品。尽管iptables命令仍可用于FirewallD,但建议仅对FirewallD使用FirewallD命令。
防火墙D
iptables(默认情况下未安装CentOS 7)
- yum install policycoreutils iptables-services -y
- systemctl停止防火墙.service
- systemctl禁用firewalld.service
- 服务iptables重新启动
- systemctl停止防火墙 //关闭防火墙
- systemctl启动firewalld //打开防火墙
- systemctl status firewalld //检查防火墙状态
- systemctl停止防火墙.service #停止防火墙
- systemctl禁用firewalld.service #禁止firewall开机启动
- 防火墙-cmd –状态 #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
sudo systemctl mask --now firewalld
禁用防火墙
systemctl disable firewalld
停止防火墙
systemctl停止防火墙
检查防火墙的状态
systemctl status firewalld
打开XRDP tcp 3389端口。
$ sudo firewall-cmd --add-port=3389/tcp --permanent $ sudo firewall-cmd --reload
SELinux
sestatus
command:sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 31
禁用SELinux
targeted
to permissive
with the following 命令:sudo setenforce 0
#此文件控制系统上SELinux的状态。
#SELINUX =可以采用以下三个值之一:
# 实施–实施SELinux安全策略。
# 允许– SELinux会显示警告而不是强制执行。
# 已禁用–未加载SELinux策略。
SELINUX =禁用
#SELINUXTYPE =可以采用以下三个值之一:
# 目标明确–目标程序受到保护,
# 最低–修改目标政策。仅选定的进程受保护。
# mls –多级安全保护。12SELINUXTYPE = targeted
#CentOS 6
iptables -I输入-p tcp –dport 3000 -j接受
服务iptables保存
服务iptables重新启动
#CentOS 7
防火墙-cmd –zone =公共–add-port =3000/ tcp —常驻
防火墙cmd –重新加载
2. Ubuntu 18.04
防火墙功能
Ubuntu包含自己的防火墙,称为ufw –“简单防火墙”的缩写。 Ufw是标准Linux iptables命令的易于使用的前端。您甚至可以从图形界面控制ufw。
Ubuntu的防火墙是一种无需学习iptables即可轻松执行基本防火墙任务的简便方法。它不能提供标准iptables命令的所有功能,但是却不那么复杂。
sudo ufw启用
sudo ufw allow 22(同时允许TCP和UDP流量-如果不需要UDP,则不理想。)sudo ufw允许22 / tcp (仅允许该端口上的TCP通信。)sudo ufw allow ssh(检查系统上的/ etc / 服务文件中是否包含SSH所需的端口,并允许它使用。此文件中列出了许多常用的服务。)
sudo ufw拒绝ssh
sudo ufw状态
sudo ufw删除拒绝SSH
sudo ufw拒绝从12.34.56.78到任何端口22的proto tcp
sudo ufw重置
SELinux