RHEL7中防火墙firewalld的配置(1)

在RHEL7里有几种防火墙共存:firewalld、iptables、ebtables,默认使用firewalld来管理netfilter子系统,不过底层调用的命令仍然是iptables等。因为这几个daemon是冲突的建议禁用其他的几种服务:

systemctl mask iptables(ip6tables,ebtables)

在firewalld中使用了区域(zone)的概念,默认已经定义了几个zone:

zone的解释:

数据包要进入到内核必须要通过这些zone中的一个,而不同的zone里定义的规则不一样(即信任度不一样,过滤的强度也不一样)。可以根据网卡所连接的网络的安全性来判断,这张网卡的流量到底使用哪个zone,比如上图来自eth0的流量全部使用zone1的过滤规则,eth1的流量使用zone3。一张网卡同时只能绑定到一个zone。大家就可以把这些zone想象成进入火车站(地铁)的安检,不同的入口检测的严格度不一样。

默认的几个zone(由firewalld 提供的区域按照从不信任到信任的顺序排序):

drop

任何流入网络的包都被丢弃,不作出任何响应,只允许流出的网络连接。即使开放了某些服务(比如http),这些服务的数据也是不允许通过的。

block

任何进入的网络连接都被拒绝,并返回 IPv4 的 icmp-host-prohibited 报文或者 IPv6 的 icmp6-adm-prohibited 报文。只允许由该系统初始化的网络连接。

public(默认)

用以可以公开的部分。你认为网络中其他的计算机不可信并且可能伤害你的计算机,只允许选中的服务通过。

external

用在路由器等启用伪装的外部网络。你认为网络中其他的计算机不可信并且可能伤害你的计算机,只允许选中的服务通过。

dmz

用以允许隔离区(dmz)中的电脑有限地被外界网络访问,只允许选中的服务通过。

work

用在工作网络。你信任网络中的大多数计算机不会影响你的计算机,只允许选中的服务通过。

home

用在家庭网络。你信任网络中的大多数计算机不会影响你的计算机,只允许选中的服务通过。

internal

用在内部网络。你信任网络中的大多数计算机不会影响你的计算机,只允许选中的服务通过。

trusted

允许所有网络连接,即使没有开放任何服务,那么使用此zone的流量照样通过(一路绿灯)。

查看当前的默认的区域:

设置默认的区域:

给某个区域开启某个服务

关闭某个服务:

如果没有指定zone的话,则是在默认的zone上操作。

查看某个zone上是否允许某个服务:

在firewalld里添加一个端口,这样就可以访问了:

查看开启了哪些端口:

查看某个接口是属于哪个zone的:

把接口加入到某个zone:

查看某个zone里开启了哪些服务、端口、接口:

现在默认的zone是trusted,虽然现在已经不允许http访问了,但是还能访问,为什么?

记住:因为trusted是最被信任的,即使没有设置任何的服务,那么也是被允许的,因为trusted是允许所有连接的。

有多个不同的zone,每个zone定义的规则是不一样的,因为所有的数据都是从网卡进入,到底使用哪个zone的规则,关键就在于这个网卡是在哪个区域的,比如下面的例子:

现在eth0是在public这个zone里的,此时public是允许http的:

但是默认的zone是external,且不允许http访问:

但是浏览器却能访问,证明了上面的说法。

如果改变eth0所在的zone,比如改到external:

则访问不了:

下面验证下源地址的意思:

网卡的source地址,也能决定可以使用哪个zone,新添加了一张网卡,此网卡开始默认不属于任何的zone:

此时通过访问eth1来访问web是访问不了的:

下面我们给public设置source,来自源192.168.30.0/24网段的都走public区:

通过验证,现在访问是成功的。

如果在external里面同时也加入192.168.30.0/24这个源呢?

显示为冲突,即一个源只能属于一个zone,不能同时属于多个zone。

以上是对tcp协议做的实验,下面对ICMP做一些演示:

首先获取firewalld所支持的ICMP类型:

记住:默认情况下是允许所有类型的ICMP通过。

下面阻断public的request的包:

这样凡是进来的是echo-request类型的包都会被拒绝,因为public是和eth0绑定在一块的,所以ping 192.168.2.130的时候是不通的:

删除此规则:

-端口的转发

意思是凡是来从external进来的22端口的数据包全部转发到192.168.30.254

验证:

更详细的写法,可以指定目标端口的:

查询:

删除:

未完待续...

第17期RHCE 9月1日开课,详情请见  进入>>

第6期OCP 9月2日开课,详情请见  进入>>

时间: 2024-08-26 10:52:57

RHEL7中防火墙firewalld的配置(1)的相关文章

RHEL7中tiger VNC的配置和使用

简介: Tigervnc 是一个远程桌面共享和控制工具 tigervnc 是client-server的工作模式,默认是不加密的,可以使用ssh forwarding map来加密这个连接 在rhel7之前tigervnc的配置文件被放在/etc/sysconfig/ 文件夹中 在rhel7中其配置文件放在/etc/systemd/system/ 中 每个用户对应个配置文件,文件名如:vncserver-root (rhel7之前)  [email protected](rhel7) vncse

CentOS7防火墙firewalld的配置

开机启动的开启与禁止 # 开机启动 systemctl enable firewalld # 不开机启动 systemctl disable firewalld 基本操作 # 查看状态 systemctl status firewalld systemctl start firewalld systemctl stop firewalld systemctl restart firewalld 服务.端口的添加与删除 # 添加服务,其实就是开启22端口 firewalld-cmd --perma

centos7 firewall-cmd 理解多区域配置中的 firewalld 防火墙

原文:https://www.linuxidc.com/Linux/2017-11/148795.htm 现在的新闻里充斥着服务器被攻击和数据失窃事件.对于一个阅读过安全公告博客的人来说,通过访问错误配置的服务器,利用最新暴露的安全漏洞或通过窃取的密码来获得系统控制权,并不是件多困难的事情.在一个典型的 Linux 服务器上的任何互联网服务都可能存在漏洞,允许未经授权的系统访问. 因为在应用程序层面上强化系统以防范任何可能的威胁是不可能做到的事情,而防火墙可以通过限制对系统的访问提供了安全保证.

RHEL 7中防火墙的配置和使用

1.禁止特定IP访问特定端口[[email protected]:/root]#firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" source address="10.48.136.18*" port protocol="tcp" port="22" reject'success2.禁止IP段访问指定端口[[email prot

【学神-RHEL7】1-3-Linux基本命令和配置服务器来电后自动开机

本节所讲内容: Linux终端介绍 Shell提示符 Bash Shell基本语法 基本命令的使用:ls.pwd.cd 查看系统和BIOS硬件时间 Linux如何获得帮助 Linux关机命令:shutdow.init等 Linux 7个启动级别 创建一个方便快捷实验环境快照 设置服务器在来电后自动开机 Linux终端介绍 tty控制台终端   pts虚拟终端 tty1-tty6   如是一开始进入的是图形图面:tty1  就是图形界面. 图形界面切换到字符界面终端: Ctrl+(Shift)+A

centos7防火墙firewalld

1.firewalld简介 在RHEL7/CentOS7.x 版本上,firewalld已经替代iptables成为默认的防火墙软件,firewalld是centos7的一大特性,最大的好处有两个: 第一个:支持动态更新,不用重启服务,随时添加规则,随时生效,这个过程不需要重新装载netfilter内核模块,但是要求所有的规则都通过firewalld守护进程来实现,以确保守护进程内的防火墙状态和内核中的防火墙状态一致:守护进程firewalld,应用程序.守护进程和用户可以通过D-BUS请求一个

SELinux安全机制 自定义用户环境 firewalld基础配置

Top NSD ENGINEER DAY03 案例1:启用SELinux保护 案例2:自定义用户环境 案例3:配置firewalld防火墙 1 案例1:启用SELinux保护 1.1 问题 本例要求为虚拟机 server0.desktop0 配置SELinux: 确保 SELinux 处于强制启用模式 在每次重新开机后,此设置必须仍然有效 1.2 方案 SELinux,Security-Enhanced Linux:是由美国NSA国家安全局提供的一套基于内核的增强的强制安全保护机制,针对用户.进

Linux的防火墙firewalld

一.firewalld 动态防火墙后台程序提供了一个动态管理的防火墙,用以支持网络"zone",以分配对一个网络及其相关链接和界面一定程度上的信任.它具备对IPV4和 IPV6防火墙设置的支持.它支持以太网桥,并有分离运行时间和永久性配置选择.它还具备一个通向服务或者应用程序以直接增加防火墙规则的接口. 系统提供了图像化的配置工具firewall-config.system-config-firewall,提供命令行客户端firewall- cmd,用于配置firewalld永久性运行

fedora/centos7防火墙FirewallD详解

1 使用 FirewallD 构建动态防火墙 1.1 “守护进程” 1.2 静态防火墙(system-config-firewall/lokkit) 1.3 使用 iptables 和 ip6tables 的静态防火墙规则 1.4 什么是区域? 1.4.1 预定义的服务 1.4.2 端口和协议 1.4.3 ICMP 阻塞 1.4.4 伪装 1.4.5 端口转发 1.5 哪个区域可用? 1.5.1 丢弃 1.5.2 阻塞 1.5.3 公开 1.5.4 外部 1.5.5 隔离区(dmz) 1.5.6