Linux.内核包括NetFilter子系统,用于操纵或决定进入或通过服务器的网络流量的命运。所有现代Linux防火墙解决方案都使用此系统进行数据包过滤。


安全性增强的Linux(SELinux)是一个Linux内核安全模块,它提供了一种支持访问控制安全策略的机制,包括强制性访问控制(Mac)。 Selinux是一组内核修改和已添加到各种Linux发行版的用户空间工具。

这篇文章总结了如何在两个最受欢迎的Linux发行版中配置防火墙和SELinux的基本用法:CentOS和Ubuntu。

防火墙 是用于实现持久网络流量规则的iptables的前端控制器。它提供命令行和图形接口,可在大多数Linux发行版的存储库中提供。与直接控制IPTABLES相比,使用防火墙有两个主要差异:
  1. 防火墙使用 区域 and 服务 而不是链条和规则。
  2. 它动态管理规则集,允许更新而不打破现有会话和连接。

笔记

防火墙d是一个包装网,以便更容易地管理iptables规则 - 它是 不是 一个替代的iptables。虽然iptables命令仍然可用于防火墙,但建议使用使用防火墙的防火墙命令。


防火墙



一个(默认情况下未安装CentOS 7)

以下是将其安装以替换默认防火墙的一些命令:
  • yum安装policycoreutils iptables-services -y
  • systemctl stop firewalld.service.
  • systemctl禁用firewalld.service.
  • 服务iptables重新启动
防火墙命令(CentOS 7默认安装和激活)
  • systemctl停止防火墙//关闭防火墙
  • systemctl启动防火墙//打开防火墙
  • systemctl状态防火//检查防火墙状态
  • systemctl stop firewalld.service.  #停止防火墙
  • systemctl禁用firewalld.service.  #禁止防火墙开机
  • 防火墙 - cmd -state   #查看默认防火墙状态(关键字显示显示notrunning,开启后显示运行)
掩盖防火墙服务,将防止防火墙由其他服务启动:
sudo systemctl mask --now firewalld

禁用防火墙

要禁用防火墙,请用root身份运行以下命令:
systemctl disable firewalld

停止防火墙

要停止防火墙,请用root身份运行以下命令:
systemctl stop firewalld

检查防火墙的状态

最后,要检查防火墙的状态,请用root运行以下命令:
systemctl status firewalld

打开XRDP TCP 3389端口。

$ sudo firewall-cmd --add-port=3389/tcp --permanent
$ sudo firewall-cmd --reload



Selinux.

To view the current SELinux status and the SELinux policy that is being used on your system, use the 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启用并设置为实施模式。

禁用selinux.

You can temporarily change the SELinux mode from  targeted  to  permissive  with the following command:
sudo setenforce 0
但是,此更改仅对当前运行时会话有效。
要永久禁用CentOS 7系统上的SELinux,请按照以下步骤操作:
要永久更改SELinux,我们将需要编辑/ etc / sysconfig / selinux。
VI / etc / sysconfig / selinux

 #此文件控制系统上的SELinux状态。
#selinux =可以采用这三个值之一:
#实施 - 强制执行 - SELinux安全策略。
#允许 - SELinux打印警告而不是强制执行。
#disabled - 没有加载selinux策略。
Selinux = Disabled.
#selinuxtype =可以采取三个值之一:
#目标 - 目标流程受到保护,
#最小 - 针对目标政策的修改。只有所选进程受到保护。
#MLS - 多级安全保护.12 SelinuxType =有针对性的







#centos 6.
一个 -i输入-p tcp -dport 3000 -j ACCEPT
服务iptables保存
服务iptables重新启动

#Centos 7.
防火墙-cmd -Zone = public -dd-port =
3000/ TCP - 永恒的
防火墙-CMD-reload


2. Ubuntu 18.04.





防火墙
Ubuntu包括自己的防火墙,称为UFW - 短暂的“简单的防火墙”。 UFW是标准Linux Iptables命令的更容易使用的前端。您甚至可以从图形界面控制UFW。

Ubuntu的防火墙被设计为在不学习iptables的情况下执行基本防火墙任务的简单方法。它没有提供标准iptables命令的所有权力,但它不太复杂。

默认情况下,防火墙已禁用。要启用防火墙,请从终端运行以下命令:
sudo ufw使能
假设您希望在端口22上允许SSH流量。要执行此操作,您可以运行几个命令之一:
sudo UFW允许22(允许TCP和UDP流量 - 如果没有必要,则不理想。)
sudo UFW允许22 / TCP(仅在此端口上仅允许TCP流量。)
sudo ufw允许ssh(检查系统上的/ etc / service文件,以获取SSH所需的端口并允许它。此文件中列出了许多常用服务。)
UFW假设要设置传入流量的规则,但您也可以指定方向。例如,要阻止传出SSH流量,请运行以下命令:
sudo ufw拒绝ssh
您可以查看使用以下命令创建的规则:
sudo ufw状态
要删除规则,请在规则之前添加单词删除。例如,要停止拒绝传出SSH流量,请运行以下命令:
sudo ufw删除拒绝ssh
UFW的语法允许相当复杂的规则。例如,此规则将IP 12.34.56.78的TCP流量拒绝到本地系统上的端口22:
sudo ufw否认proto tcp从12.34.56.78到任何端口22
要将防火墙重置为其默认状态,请运行以下命令:
sudo ufw重置





Selinux.

3.参考文献

经过 Jon.

发表评论