Centos7系列(三)防火墙与网络区域详解

本文涉及的产品
云防火墙,500元 1000GB
简介:

博主QQ819594300

博客地址:http://zpf666.blog.51cto.com/

有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持!Firewalld防火墙:

1、使用图像化的firewall-config 工具:
firewall-config 工具里有一个标记为 Configuration 的下拉菜单,可以在运 行时间(即临时模式 runtime)和永久(permanent) 两种模式之间进行选择。要注意,如果您选择了 Permanent,在左上角会出现一排附加的图标。因为不能在运行模式下改变一个服务参数,所以这些图标仅在永久配置模式中出现。

wKiom1kK9nCD7fbpAABQMjuRM_4455.jpg

wKiom1kK9nHBkOg8AAHxOUgYr4A343.jpg

由 firewalld 提供的是动态的防火墙服务,而非静态的。因为配置的改变可以随时随地立刻执行,不再需 要保存或者执行这些改变。现行网络连接的意外中断不会发生,正如防火墙的所有部分都不需要重新下载。

提供命令行客户端,firewall-cmd:

firewalld 和 iptables service 之间最本质的不同是:

iptables service在 /etc/sysconfig/iptables中储存配置,而 firewalld将配置储存在 /usr/lib/firewalld/(系统配置,尽量不要修改) /etc/firewalld/(用户配置地址)中的各种 XML 文件里。

使用 iptables service,每一个单独更改意味着清除所有旧有的规则和从/etc/sysconfig/iptables里读取所有新的规则,然而使用 firewalld 却不会再创建任何新的规则;仅仅运行规则中的不同之处。因此,firewalld 可以在运行时间内,改变设置而不丢失现行连接。

2、对网络区(zone)的理解:

基于用户对网络中设备和交通所给与的信任程度,防火墙可以用来将网络分割成不同的区域。 NetworkManager(网络管理器) 通知 firewalld 一个接口归属某个区域。接口所分配的区域可以由 NetworkManager 改变,也可以通过能为您打开相关NetworkManager 窗口的 firewall-config 工具 进行。

在/etc/firewalld/的区域设定是一系列可以被快速执行到网络接口的预设定。

数据包妖姬纳入到内核必须要通过9个zone区域中的一个,而不同的zone里定义的规则不一样(即信任度不一样,过滤的强度也不一样)。

一个网卡最多绑定到一个zone(可以不绑定任何zone)

预定义的服务:服务是端口和/或协议入口的组合。

端口和协议:定义了 tcp 或 udp 端口,端口可以是一个端口或者端口范围。

ICMP 阻塞:可以选择 Internet 控制报文协议的报文。这些报文可以是信息请求亦可是对信息请求或错误条件创建的响应。(echo-reply   应答)、(echo-request   请求)

伪装:私有网络地址可以被映射到公开的IP地址。这是一次正规的地址转换。

端口转发:端口可以映射到另一个端口以及/或者其他主机。

由firewalld 提供的区域按照从不信任到信任的顺序排序:

丢弃区域(Drop Zone)

任何接收的网络数据包都被丢弃没有任何回复。仅能有发送出去的网络连接。

这个类似与我们之前使用iptables -j drop。

阻塞/限制区域(Block Zone)

阻塞区域会拒绝进入的网络连接,返回icmp-host-prohibited(ICMP-主机-禁止),只有服务器已经建立的连接会被通过即只允许由该系统初始化的网络连接。

任何接收的网络连接都被 IPv4 的 icmp-host-prohibited 信息和 IPv6 的 icmp6-admprohibited 信息所拒绝。

公共区域(Public Zone

只接受那些被选中的连接,默认只允许 ssh 和 dhcpv6-client。这个 zone 是缺省(即默认)zone。

在公共区域内使用,不能相信网络内的其他计算机不会对您的计算机造成危害,只能接收经过选取的连接。

外部区域(External Zone)

这个区域相当于路由器的启用伪装(masquerading)选项只有指定的连接会被接受,即ssh,而其它的连接将被丢弃或者不被接受。

特别是为路由器启用了伪装功能的外部网。您不能信任来自网络的其他计算,不能相信它们不会对您的计算机造成危害,只能接收经过选择的连接

隔离区域(DMZ Zone)

如果想要只允许给部分服务能被外部访问,可以在DMZ区域中定义。它也拥有只通过被选中连接的特性,即ssh。

用于您的非军事区内的电脑,此区域内可公开访问,可以有限地进入您的内部网络,仅仅接收经过 选择的连接。

工作区域(Work Zone)

在这个区域,我们只能定义内部网络。比如私有网络通信才被允许,只允许ssh,ipp-client和 dhcpv6-client。

用于工作区。您可以基本相信网络内的其他电脑不会危害您的电脑。仅仅接收经过选择的连接

家庭区域(Home Zone)

这个区域专门用于家庭环境。它同样只允许被选中的连接,即ssh,ipp-client,mdns,samba-client和 dhcpv6-client。

用于家庭网络。您可以基本信任网络内的其他计算机不会危害您的计算机。仅仅接收经过选择的连接

内部区域(Internal Zone)

这个区域和工作区域(Work Zone)类似只有通过被选中的连接和home区域一样

用于内部网络。您可以基本上信任网络内的其他计算机不会威胁您的计算机。仅仅接受经过选择的连接。

信任区域(Trusted Zone)

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

3、Firewalld的原则:(如果一个客户端访问服务器,服务器根据以下原则决定使用哪个 zone 的策略去匹配)

1)如果一个客户端数据包的源 IP 地址匹配 zone 的 sources,那么该 zone 的规则就适

用这个客户端。一个源只能属于一个zone,不能同时属于多个zone。但是一个zone里可以有多个source。

2)如果一个客户端数据包进入服务器的某一个接口(如eth0)区配zone的interfaces(接口),则么该 zone 的规则就适用这个客户端;一个接口只能属于一个zone,不能同时属于多个zone。但是一个zone里可以有多个接口。

3)如果上述两个原则都不满足,那么缺省的 zone 将被应用。

 

我们可以使用任何一种 firewalld 配置工具来配置或者增加区域,以及修改配置。工具有例如firewall-config这样的图形界面工具, firewall-cmd 这样的命令行工具,或者你也可以在配置文件目录中创建或者拷贝区域文件,/usr/lib/firewalld/zones 被用于默认和备用配置,/etc/firewalld/zones被用于用户创建和自定义配置文件。命令行工具firewall-cmd支持全部防火墙特性。

Firewalls一般应用:

1)获取firewalld状态

wKioL1kK9nHghA3SAACNhSWRejs238.jpg

2)在不改变状态的条件下重新加载防火墙(如果使用--complete-reload,状态信息将会丢失。)

wKiom1kK9nHyDa_0AACe9jPOydI782.jpg

3)获取支持的区域列表

wKiom1kK9nLx6kbBAADXeSMUfvc757.jpg

4)获取所有支持的服务(这条命令输出用空格分隔的列表)

wKiom1kK9nKzdN5tAADGmqmWkhA548.jpg

说明:服务是firewalld所使用的有关端口和选项的规则集合。被启动的服务会在firewalld服务开启或者运行时自动加载。默认情况下,很多服务是有效的。使用下面命令可列出有效的服务

列出默认有效的服务,可以进入到下面的目录中也能够取得。

wKioL1kK9nOxUPgMAAE66Q9YMPU352.jpg

创建自定义服务的方法:

举例:比如,现在我想添加一个rhmp服务,端口号1935

首先任选一个服务复制过来。

wKiom1kK9nOx66bZAADxvEe1YQY080.jpg

接下来把复制过来的文件重命名为“rtmp.xml”。

wKioL1kK9nSQGyYPAAE20vBJ1M8418.jpg

③接下来打开并编辑文件的头部、描述、协议和端口号,以供RTMP服务使用。

wKioL1kK9nSi7lazAABTPQrVImc194.jpg

wKiom1kK9nWx5ZUXAAE8U4ETVY4437.jpg

④重启firewalld服务或者重新加载设置,以激活这些设置(此命令完后服务还没开启)。

wKiom1kK9nWixMqtAAB0yNwAWrw864.jpg

⑤确认服务是否已经被Firewall防火墙的默认区域(public)所支持(支持不等于开启

wKiom1kK9nXjywScAADOyavUMzA747.jpg

⑥启用新服务让其在默认区域(public)生效

wKiom1kK9naD73pPAAEhCfeaaPA292.jpg

5)获取所有支持的ICMP类型(这条命令输出用空格分隔的列表)

wKioL1kK9nbhP3QCAABbgMr0tWs684.jpg

6)列出全部启用的区域的特性(即查询当前防火墙策略

解释:特性可以是定义的防火墙策略,如:服务、端口和协议的组合、端口/数据报转发、伪装、ICMP 拦截或自定义规则等。

wKioL1kK9nexY0_TAAGcR_pYVgg868.jpg

wKiom1kK9nfDn3h6AAEgxVWMlBw824.jpg

wKiom1kK9njgIeVVAAG4vd7ow_c189.jpg

wKioL1kK9niBADq8AADymor6_FU741.jpg

上面的命令将会列出每种区域如block、dmz、drop、external、home、internal、public、trusted以及work。如果区域还有其它详细规则(rich-rules  说明:rich-rules是自定义规则)、启用的服务或者端口,这些区域信息也会分别被罗列出来。

7)输出区域全部启用的特性。如果省略区域,将显示默认区域的信息。

①不指定区域,则显示默认区域

wKioL1kK9nnBc3fWAAF-BA8fivA611.jpg

②指定区域

wKiom1kK9nnB_XGbAAEEzKvTSPU484.jpg

8)查看默认区域(在文件/etc/firewalld/firewalld.conf中定义成DefaultZone=public

wKiom1kK9nmjohkVAACMHM2F8u8190.jpg

9)设置默认区域(格式:firewall-cmd --set-default-zone=区域名

说明:流入默认区域中配置的接口的新访问请求将被置入新的默认区域。当前活动的连接将不受影响。

wKioL1kK9nry6Ol-AACGNLT9yEA142.jpg

10)获取活动的区域

说明:如果有活跃区域。这条命令将用以下格式输出每个区域所含接口:

区域名

interfaces :  接口名

wKioL1kK9nqR3Ta1AAHhMA9IeUo388.jpg

11)根据接口获取区域(即需要查看哪个区域和这个接口绑定)(即查看某个接口是属于哪个zone)(格式:firewall-cmd--get-zone-of-interface=接口名

wKiom1kK9nqR5D4xAAEP8OotfRg792.jpg

12)将接口(网卡)增加到区域

如果接口不属于区域,接口将被增加到区域。如果区域被省略了,将使用默认区域。接口在重新加载后将重新应用。

wKioL1kK9nuw-oAtAAH-XYQt95Q517.jpg

13)修改接口所属区域(格式:firewall-cmd [--zone=]--change-interface=接口名

说明:这个选项与 --add-interface 选项相似,但是当接口已经存在于另一个区域的时候,--add-interface选项不能被添加到新的区域。

wKiom1kK9nvioqhmAADHNC8hvkY164.jpg

wKioL1kK9nzi63-WAAEE-43oB-Y748.jpg

14)从区域中删除一个接口(格式:firewall-cmd [--zone=]--remove-interface=接口名

说明:如果某个接口不属于任何Zone,那么这个接口的所有数据包使用默认的Zone的规则

wKiom1kK9nzScR7BAAECrb_nK2w126.jpg

15)查询区域中是否包含某接口(格式:firewall-cmd [--zone=]--query-interface=接口名)(如果区域被省略了,将使用默认区域

wKiom1kK9nzSMRGVAAByp9Xour0865.jpg

16)列举区域中启用的服务(格式:firewall-cmd [ --zone= ]--list-services

如果区域被省略了,将使用默认区域

wKioL1kK9n3wJjjcAAEf1qDOjHc010.jpg

(查看home区域中启用服务)

wKioL1kK9n2z7xnWAAC9INoJXRI683.jpg

17启用应急模式阻断所有网络连接,以防出现紧急状况

wKiom1kK9qHisAlHAACh7tHTk88556.jpg

18禁用应急模式

wKioL1kK9qLzoD17AACWVP326WY933.jpg

19查询应急模式

wKiom1kK9qKQ8C4LAADzyKRSWiE703.jpg

//xxxxx(其他相关的配置项可以查看firewall-cmd的手册页:#man  firewall-cmd)xxxxxx

Firewall防火墙处理运行时区域:

说明:运行时模式下对区域进行的修改不是永久有效的。重新加载或者重启后修改将失效。

1)启用某区域中的某一种服务(即给某个区域开启某个服务

说明:firewall-cmd [--zone=区域] --add-service=服务 [--timeout=秒数]

此操作启用区域中的一种服务。如果未指定区域,将使用默认区域。如果设定了超时时间,服务将只启用特定秒数。

wKioL1kK9qPSzIZtAAD08g-MbUQ572.jpg

(上图中使区域中的 ipp-client 服务生效60秒

 

(启用默认区域中的http服务:firewall-cmd--add-service=http)

wKioL1kK9qPATPAlAAFa9zdXi7Y835.jpg

2)禁用区域中的某种服务即关闭某个区域的某个服务

(格式:firewall-cmd [--zone=区域] --remove-service=服务

说明:此举禁用区域中的某种服务。如果未指定区域,将使用默认区域。

例子:禁止默认区域中的 http 服务。

wKiom1kK9qSyMHHYAAFTdGzWlF4048.jpg

3)查询区域中是否启用了特定服务(格式:firewall-cmd [--zone=区域] --query-service=服务

wKiom1kK9qWy3V2ZAADSy7Q9Rjw571.jpg

4启用区域端口和协议组合(格式:firewall-cmd [--zone=区域] --add-port=端口/协议或者一段端口组/协议

说明:此操作将启用端口和协议的组合。端口可以是一个单独的端口或者是一个端口范围,协议可以是tcp或udp。

wKioL1kK9qWhUKEIAAGBKKYh2nk216.jpg

5禁用/移除端口和协议组合(格式:firewall-cmd[--zone=区域] --remove-port=端口/协议或者一段端口组/协议

wKiom1kK9qbykdoeAAEzxCmoXws200.jpg

6查询区域中是否启用了端口和协议组合(格式:firewall-cmd [--zone=区域] --remove-port=端口/协议或者一段端口组/协议

wKioL1kK9qbicfxXAAEt9PKbkUE871.jpg

格外小知识:Centos7挂光盘“mount   /dev/sr0  /media”,跟6系列系统不一样。

相关文章
|
11天前
|
Kubernetes 安全 Devops
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
36 10
有效抵御网络应用及API威胁,聊聊F5 BIG-IP Next Web应用防火墙
|
3天前
|
人工智能 运维 监控
超越传统网络防护,下一代防火墙安全策略解读
超越传统网络防护,下一代防火墙安全策略解读
17 6
|
21天前
|
存储 安全 算法
揭秘网络安全的盾牌与矛:漏洞防护与加密技术的较量
在数字化时代的棋局中,网络安全是每个参与者必须面对的挑战。本文将深入探讨网络安全中的两个关键角色——漏洞与加密技术。通过分析最新的安全漏洞案例,我们揭示网络攻击者如何利用这些漏洞进行破坏。同时,我们将展示加密技术如何成为保护数据不被窃取的强大盾牌。文章还将讨论提升个人和企业的安全意识的重要性,并通过实际的代码示例,展示如何在实践中应用这些知识来加强我们的网络防线。
|
21天前
|
SQL 安全 算法
网络安全的盾牌:漏洞防护与加密技术的融合之道
在数字化浪潮中,网络安全成为维护信息完整性、保障个人隐私的关键。本文深入探讨网络漏洞的产生机理和防御策略,揭示加密技术的核心原理及其在信息安全中的重要角色。通过分析安全意识的培养方法,文章旨在提升大众对网络安全的认知水平,促进一个更加安全的网络环境。
|
28天前
|
SQL 运维 安全
网络安全的护城河:漏洞防护、加密技术与安全意识
在数字时代的浪潮中,网络安全成为了我们每个人都无法回避的话题。本文将深入浅出地探讨网络安全中的几个关键要素——漏洞防护、加密技术和安全意识,并通过实际案例和代码示例,揭示它们如何共同构建起保护信息安全的坚固防线。无论你是IT专业人士还是对网络安全感兴趣的普通用户,这篇文章都将提供给你宝贵的知识和见解。
65 5
|
29天前
|
SQL 人工智能 安全
网络安全的盾牌:漏洞防护与加密技术解析
在数字时代的浪潮中,网络安全和信息安全成为了维护社会稳定和保护个人隐私的关键。本文将深入探讨网络安全中的常见漏洞、先进的加密技术以及提升安全意识的重要性。通过分析网络攻击的手法,揭示防御策略的构建过程,并分享实用的代码示例,旨在为读者提供一套全面的网络安全知识体系,以增强个人和组织在网络空间的防御能力。
|
1月前
|
存储 安全 网络安全
揭秘网络安全的盾牌:漏洞防护与加密技术
【10月更文挑战第41天】在数字时代的浪潮中,网络安全成为了保护个人隐私和企业资产的关键防线。本文将深入探讨网络安全的两大支柱:安全漏洞的防护和加密技术的应用。我们将通过实际代码示例,展示如何识别和修补常见的安全漏洞,以及如何使用加密技术来保护数据的安全。无论你是网络安全的初学者还是有一定基础的开发者,这篇文章都将为你提供宝贵的知识和技能,帮助你在这个充满挑战的领域中站稳脚跟。
|
1月前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
87 3
|
1月前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
83 2
|
1月前
|
SQL 安全 算法
网络安全的屏障与钥匙:漏洞防护与加密技术解析
【10月更文挑战第31天】在数字世界的海洋中,网络安全是航船的坚固屏障,而信息安全则是守护宝藏的金钥匙。本文将深入探讨网络安全的薄弱环节——漏洞,以及如何通过加密技术加固这道屏障。从常见网络漏洞的类型到最新的加密算法,我们不仅提供理论知识,还将分享实用的安全实践技巧,帮助读者构建起一道更加坚不可摧的防线。
36 1
下一篇
DataWorks