firewalld防火墙

1.1 Firewalld 概述

1. firewalld 简介

firewalld 的作用是为包过滤机制提供匹配规则(或称为策略),通过各种不同的规则,告诉netfilter对来自指定源、前往指定目的或具有某些协议特征的数据包采取何种处理方式。为了更加方便地组织和管理防火墙,firewalld 提供了支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具。它支持IPv4、IPv6防火墙设置以及以太网桥,并且拥有两种配置模式:运行时配置与永久配置。它还支持服务或应用程序直接添加防火墙规则接口。

2. firewalld 和iptables的关系

firewalld 自身并不具备防火墙的功能,而是和iptables一样需要通过内核的netfilter来实现。也就是说firewalld和iptables一样,他们的作用都是用于维护规则,而真正使用规则干活的是内核的netfilter,只不过firewalld和iptables的结构以及使用方法不一样罢了。系统提供了图形化的配置工具firewall-config、system-config-firewall,提供命令行客户端firewall-cmd,用于配置 firewalld 永久性或非永久性运行时间的改变:它依次用 iptables工具与执行数据包筛选的内核中的Netfilter通信。firewalld 和iptables 的逻辑关系如图1.1所示。

从图1.1中可以看到,iptables服务和firewalld都是通过iptables命令与内核的netfilter进行交互的。在centos7中,我们仍然可以使用iptables命令来管理我们的防火墙。唯一不同的是当我们重启服务器或重启firewalld时,iptables命令管理的规则不会自动加载,反而会被firewalld 的规则代替。

3. firewalld与iptables service 的区别

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

1.2 Firewalld 网络区域

firewalld 将所有的网络数据流量划分为多个区域,从而简化防火墙管理。根据数据包的源IP地址或传入网络接口等条件,将数据流量转入相应区域的防火墙规则。对于进入系统的数据包,首先检查的就是其源地址。

>若源地址关联到特定的区域,则执行该区域所制定的规则。

>若源地址未关联到特定的区域,则使用传入网络接口的区域并执行该区域所制定的规则。

>若网络接口未关联到特定的区域,则使用默认区域并执行该区域所制定的规则。

默认区域不是单独的区域,而是指向系统上定义的某个其他区域。默认情况下,默认区域是public,但是系统管理员可以更改默认区域。以上匹配规则,按照先后顺序,第一个匹配的规则胜出。在每个区域中都可以配置其要打开或者关闭的一系列服务或端口,firewalld 的每个预定义的区域都设置了默认打开的服务。表1-1中列出了firewalld的预定义区域说明。

Trusted(信任区域)

允许所有的数据包进出
Home(家庭区域)拒绝进入的流量,除非与出去的流量相关;而如果流量与ssh、mdns、ipp-client、amba-client与dhcpv6-client服务相关,则允许进入

Internal(内部区域)

等同于home区域
Work(工作区域)拒绝进入的流量,除非与出去的流量相关;而如果流量与ssh、ipp-client与dhcpv6-client服务相关,则允许进入
Public(公共区域)        拒绝进入的流量,除非与出去的流量相关;而如果流量与ssh、dhcpv6-client服务相关,则允许进入        
external(外部区域)拒绝进入的流量,除非与出去的流量相关;而如果流量与ssh服务相关,则允许进入
dmz (隔离区域)拒绝进入的流量,除非与出去的流量相关;而如果流量与ssh服务相关,则允许进入
block (限制区域)拒绝进入的流量,除非与出去的流量相关
drop (丢弃区域)拒绝进入的流量,除非与出去的流量相关

1.3 Firewalld 防火墙的配置方法

在CentOS7 系统中,可以使用三种方式配置firewalld 防火墙:
> firewall-config 图形工具。
> firewall-cmd 命令行工具。
> letc/firewalld/中的配置文件。
通常情况下,不建议直接编辑配置文件。所以本章我们只介绍firewall-config图形工具与firewall-cmd命令行工具的配置方法。

1.3.1 firewall-config 图形工具

firewall-config 图形化配置工具支持防火墙所有的特性,系统管理员可以通过它来改变系统或用户策略。通过firewall-config图形化配置工具,可以实现配置防火墙允许通过的服务、端口、伪装、端口转发、ICMP过滤器等功能。在CentOS 7 系统中单击“应用程序”中的“杂项”,选择“防火墙”即可打开如图1.2所示的firewall-config工作界面,或者直接在终端中输入firewall-config 命令也可以打开此界面。

firewall-config工作界面主要分为三个部分,上面是主菜单,中间是配置选项,下面是区域、服务、IPsets、ICMP类型、直接配置、锁定白名单设置选项卡。其中,ICMP类型、直接配置和锁定白名单选项卡只在从“查看”下拉菜单中选择之后才能看见。最底部是状态栏从左到右显示了四个信息,依次是连接状态、默认区域、锁定状态、应急模式。firewall-config主菜单包括四个菜单项:文件、选项、查看、帮助。其中,“选项”菜单是最重要的,主要包括以下几个选项。

> 重新加载防火墙:重新加载防火墙规则,当前的永久配置将变成新的运行时配置。例如,所有的当前运行的配置规则如果没有在永久配置中操作,系统重新加载后就会丢失。

> 更改连接区域:更改网络连接的所属区域和接口。

> 改变默认区域:更改网络连接的默认区域。

> 应急模式:表示丢弃所有的数据包。

> 锁定:可以对防火墙的配置进行加锁,只允许白名单上的应用程序进行修改。

图1.3中的“配置”选项包括运行时和永久两种。运行时配置为当前使用的配置规则,永
久配置规则在系统或服务重启时生效。在firewall-config界面中主要需要了解的是区域、服
务、ICMP等设置的选项卡。

1.“区域”选项卡

“区域”选项卡是一个主要设置的界面。“区域”选项卡下面还包含服务、端口、协议、源端口、伪装等一系列子选项卡。所以说,区域是服务、端口、协议、IP伪装、ICMP过滤等组合的意思,同时区域也可以绑定到接口和源地址。

(1)“服务”子选项卡

“服务”子选项卡可以定义区域中哪些服务是可信的,可信的服务可以被绑定到该区域的任意连接、接口和源地址访问,如图1.3所示。

(2)“端口”子选项卡

“端口”子选项卡用于设置允许访问的主机或网络访问的端口范围,如图1.4所示。

(3)“协议”子选项卡

“协议”子选项卡用于添加所有主机或网络均可访问的协议,如图1.5所示。

(4)“源端口”子选项卡

“源端口”子选项卡可以添加额外的源端口或范围,连接到这台主机的所有主机或网络均可访问,如图1.6所示。设置源端口时,可以设置某一个端口号或者是端口范围,同时还需要选择对应的TCP或UDP协议。

(5)“伪装”子选项卡

“伪装”子选项卡用于把私有网络地址映射到公有的IP地址,该功能目前只适用于IPv4,如图1.7所示。

(6)“端口转发”子选项卡

“端口转发”子选项卡可以将指定端口映射到另一个端口或其他主机的指定端口,如图1.8所示。在设置端口转发时同样需要选择协议类型,且该功能也仅支持IPv4。

(7)“ICMP过滤器”子选项卡

“ICMP过滤器”子选项卡:ICMP主要用于在联网的计算机间发送出错信息,但也发送类似ping请求以及回应等信息。在“ICMP过滤器”子选项卡中可以选择应该被拒绝的ICMP类型,其他所有的ICMP类型则被允许通过防火墙。默认设置是没有限制,如图1.9所示。

2.“服务”选项卡

服务是端口、协议、模块和目标地址的组合,并且“服务”选项卡只能在“永久”配置视图中修改,“运行时”配置中的服务是不可以修改的。与“区域”选项卡不同,“服务”选项卡仅包含五个子选项卡。其中,“端口”“协议““源端口”这些子选项卡的作用及配置方法与“区域”选项卡中的相同。“模块”子选项卡是用于设置网络过滤的辅助模块,如图1.10所示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值