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系列系统不一样。

相关文章
|
1月前
|
SQL 安全 算法
网络安全与信息安全的守护之道:漏洞防护、加密技术与安全意识提升
【9月更文挑战第21天】在数字化浪潮中,网络安全与信息安全成为维系社会稳定和个体隐私的重要屏障。本文将深入探讨网络安全中的常见漏洞,分析其成因及防范措施;介绍加密技术的基本原理及其在信息保护中的应用;强调安全意识的重要性,并通过具体案例分享如何在日常生活中提升个人和企业的安全防御能力。文章旨在为读者提供一套综合性的网络安全防护策略,以应对日益复杂的网络威胁。
|
2月前
|
SQL 安全 测试技术
网络安全的屏障与钥匙:漏洞防护与加密技术解析软件测试的艺术:探索性测试的力量
【8月更文挑战第27天】在数字时代的海洋中,网络安全是保护我们数据资产的灯塔和堤坝。本文将深入浅出地探讨网络安全领域的关键要素——安全漏洞、加密技术以及不可或缺的安全意识。通过实际案例分析,我们将了解如何识别和修补潜在的安全漏洞,掌握现代加密技术的工作原理,并培养起一道坚固的安全防线。文章旨在为读者提供实用的知识和技能,以便在日益复杂的网络环境中保持警惕,确保个人及组织信息的安全。
|
2月前
|
存储 SQL 安全
网络安全的盾牌:漏洞防护与加密技术的实战应用
【8月更文挑战第27天】在数字化浪潮中,信息安全成为保护个人隐私和企业资产的关键。本文深入探讨了网络安全的两大支柱——安全漏洞管理和数据加密技术,以及如何通过提升安全意识来构建坚固的防御体系。我们将从基础概念出发,逐步揭示网络攻击者如何利用安全漏洞进行入侵,介绍最新的加密算法和协议,并分享实用的安全实践技巧。最终,旨在为读者提供一套全面的网络安全解决方案,以应对日益复杂的网络威胁。
|
2月前
|
SQL 安全 算法
网络安全的盾牌与矛:漏洞防护与加密技术解析
【8月更文挑战第31天】在数字时代的浪潮中,网络安全成为了保护数据资产不可或缺的防线。本文将深入探讨网络安全中的两大核心议题:网络漏洞和加密技术。我们将从漏洞的类型、成因以及防御策略出发,进而分析加密技术的基本原理、实际应用和面临的挑战。文章旨在提升读者的安全意识,同时提供实用的代码示例来加深理解。通过深入浅出的方式,我们希望能够激发读者对网络安全重要性的认识,并鼓励采取积极措施以保障个人信息和资产安全。
|
27天前
|
安全 网络安全 量子技术
探索网络安全世界:从漏洞防护到加密技术与安全意识
本文旨在深入探讨网络安全与信息安全的关键方面,包括网络安全漏洞、加密技术以及安全意识的重要性。通过分析这些要素,我们将揭示如何构建一个更加安全的网络环境,并强调个人和组织在维护网络安全中的角色。本文不仅提供技术性的见解,还强调了普及安全意识的必要性,旨在为读者提供一个全面的网络安全知识框架。
42 3
|
1月前
|
SQL 安全 网络安全
网络安全的盾牌与矛:漏洞防护与加密技术解析
【9月更文挑战第20天】在数字化时代的浪潮中,网络安全成了我们不得不面对的严峻话题。本文将深入探讨网络安全中的两个核心要素——漏洞防护和加密技术,以及它们如何共同构建起保护信息安全的坚固防线。通过分析最新的网络攻击案例、介绍常见的安全漏洞类型、阐述加密技术的原理及其应用,并强调安全意识的重要性,本文旨在为读者提供一场关于网络安全知识的精彩分享,帮助大家更好地理解并应对日益复杂的网络威胁。
42 7
|
1月前
|
SQL 安全 网络安全
网络安全的屏障与钥匙:漏洞防护与加密技术解析
【9月更文挑战第22天】在数字时代的浪潮中,网络安全和信息安全成为维护个人隐私与企业资产的重要防线。本文将深入探讨网络安全漏洞的成因与防范措施,分析加密技术在信息安全中的应用,并强调提升安全意识的必要性。通过实例分析,我们将了解如何构建坚固的网络防御体系,以及在日益复杂的网络环境中保持警觉的重要性。
|
1月前
|
运维 监控 安全
网络管理:防火墙和安全组配置详解
网络管理:防火墙和安全组配置详解
49 1
|
1月前
|
存储 安全 算法
网络安全之盾:漏洞防护与加密技术的现代演绎
【9月更文挑战第16天】在数字化浪潮中,网络安全成为守护个人隐私与企业数据的核心防线。本文将深入探讨网络安全的两大支柱——漏洞防护和加密技术,揭示它们如何共同构筑起一道坚固的信息安全屏障。从最新的网络攻击案例出发,我们将分析常见的安全漏洞及其防御策略,并透过代码示例,展示加密技术在保护数据传输和存储中的关键作用。最后,文章强调了提升个人和组织的安全意识对于构建安全文化的重要性。
44 2
|
2月前
|
安全 网络安全 数据安全/隐私保护
网络安全的盾牌与矛:漏洞防护与加密技术的较量
【8月更文挑战第27天】在数字世界的棋盘上,网络安全是王与后的较量——漏洞与攻击手段不断进化,而防御策略必须更为精妙。本文将深入探讨网络安全的两大支柱:漏洞防护和加密技术。我们将从基础概念出发,逐步揭示它们的重要性、工作原理以及如何实施有效策略来保护信息安全。通过生动的比喻和直观的解释,即使非专业人士也能获得必要的知识武装,共同构建更安全的网络环境。