栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

firewalld防火墙基础

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

firewalld防火墙基础

目录

一、安全技术

1、不同的安全技术

二、Linux防火墙的介绍

1、Netfilter

2、防火墙的工具

三、firewalld服务

1、什么是firewalld

2、firewalld支持划分区域zone,每个zone可以设置独立的防火墙规则

3、firewalld中zone 分类

四、命令行配置

1、基础命令

2、区域管理

3、服务管理

4、端口管理


一、安全技术

1、不同的安全技术

·入侵检测系统(Intrusion Detection Systems)︰特点是不阻断任何网络访问,量化、定位来自内外网络的威胁情况,主要以提供报警和事后监督为主,提供有针对性的指导措施和安全决策依据,类似于监控系统一般采用旁路部署(默默的看着你)方式。

·入侵防御系统〈(Intrusion Prevention System):以透明模式工作,分析数据包的内容如:溢出攻击、拒绝服务攻击、木马、蠕虫、系统漏洞等进行准确的分析判断,在判定为攻击行为后立即予以阻断,主动而有效的保护网络的安全,一般采用在线部署方式。(必经之路)

·防火墙(FireWall )︰隔离功能,工作在网络或主机边缘,对进出网络或主机的数据包基于一定的规则检查,并在匹配某规则时由规则定义的行为进行处理的一组功能的组件,基本上的实现都是默认情况下关闭所有的通过型访问,只开放允许访问的策略,会将希望外网访问的主机放在DMZ(demi

·防水墙:广泛意义上的防水墙:防水墙(waterwa11),与防火墙相对,是一种防止内部信息泄漏的安全产品。网络、外设接口、存储介质和打印机构成信息泄漏的全部途径。防水墙针对这四种泄密途径,在事前、事﹐中、事后进行全面防护。其与防病毒产品、外部安全产品一起构成完整的网络安全体系。

2、防火墙的分类方法

主要有以下6种:

1、软、硬件形式分类:软件防火墙、硬件防火墙、芯片级防火墙。

2、防火墙技术分类:包过滤型防火墙、应用代理型防火墙 。

3、防火墙结构分类:单一主机防火墙、路由器集成式防火墙、分布式防火墙。

4、防火墙的应用部署位置分类:边界防火墙、个人防火墙、混合防火墙。

5、防火墙性能分类:百兆级防火墙、千兆级防火墙。

6、防火墙使用方法分类:网络层防火墙、物理层防火墙、链路层防火墙。

----------------------------------------------------------------------------------------------------

1、按保护范围分:

·主机防火墙:服务范围为当前一台主机

·网络防火墙:服务范围为防火墙一侧的局域网

2、按实现方式划分:

·硬件防火墙:在专用硬件级别实现部分功能的防火墙;另一个部分功能基于软件实现,如:华为,山石hillstone,天融信,启明星辰,绿盟,深信服, PaloAlto , fortinet, Cisco, Checkpoint,

NetScreen(luniper2004年40亿美元收购)等

·软件防火墙:运行于通用硬件平台之上的防火墙的应用软件,Windows防火墙ISA -->ForefrontTMG

3、按网络协议划分:

·网络层防火墙:OSI模型下四层,又称为包过滤防火墙

·应用层防火墙/代理服务器: proxy代理网关,OSl模型七层

二、Linux防火墙的介绍

1、Netfilter

Linux防火墙是由Netfilter组件提供的,Netfilter工作在内核空间,集成在linux内核中

Netfilter 是Linux 2.4.x之后新一代的Linux防火墙机制,是linux内核的一个子系统。Netfilter采用模块化设计,具有良好的可扩充性,提供扩展各种网络服务的结构化底层框架。Netfilter与IP协议栈是无缝契合,并允许对数据报进行过滤、地址转换、处理等操作

Netfilter官网文档: https://netfilter.org/documentation/

2、防火墙的工具

1、Iptables

由软件包iptables提供的命令行工具,工作在用户空间,用来编写规则,写好的规则被送往netfilter,告诉内核如何去处理信息包

2、firewalld

从CentOS 7 版开始引入了新的前端管理工具

软件包:

firewalld

firewalld-config

管理工具:

firewall-cmd 命令行工具

firewall-config 图形工作

3、nftables

此软件是CentOS 8新特性,Nftables最初在法国巴黎的Netfilter Workshop 2008上发表,然后由长期的netfilter核心团队成员和项目负责人Patrick McHardy于2009年3月发布。它在2013年末合并到Linux内核中,自2014年以来已在内核3.13中可用。

它重用了netfilter框架的许多部分,例如连接跟踪和NAT功能。它还保留了命名法和基本iptables设计的几个部分,例如表,链和规则。就像iptables一样,表充当链的容器,并且链包含单独的规则,这些规则可以执行操作,例如丢弃数据包,移至下一个规则或跳至新链。

从用户的角度来看,nftables添加了一个名为nft的新工具,该工具替代了iptables,arptables和

ebtables中的所有其他工具。从体系结构的角度来看,它还替换了内核中处理数据包过滤规则集运行时评估的那些部分。

3、netfilter中五个勾子函数和报文流向

Netfilter在内核中选取五个位置放了五个hook(勾子)function(INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING),而这五个hook function向用户开放,用户可以通过一个命令工具(iptables)向其写入规则 由信息过滤表(table)组成,包含控制IP包处理的规则集(rules),规则被分组放在链(chain)上

 

三种报文流向

·流入本机:PREROUTING –> INPUT–>用户空间进程(访问我的服务)

·流出本机:用户空间进程 –>OUTPUT–> POSTROUTING(穿过我)

·转发:PREROUTING –> FORWARD –> POSTROUTING(分摊流量)

链chain:

内置链:每个内置链对应于一个钩子函数

自定义链:用于对内置链进行扩展或补充,可实现更灵活的规则组织管理机制;只有Hook钩子调用自定义链时,才生效。

INPUT,OUTPUT,FORWARD , PREROUTING,POSTROUTING

五个表tble: filter、nat、mangle、raw、security

filter:过滤规则表,根据预定义的规则过滤符合条件的数据包,默认表

nat: network address translation地址转换规则表

mangle:修改数据标记位规则表

raw:关闭启用的连接跟踪机制,加快封包穿越防火墙速度

security:用于强制访问控制(MAC)网络规则,由Linux安全模块(如SELinux)实现

security -->raw-->mangle-->nat-->filter

三、firewalld服务

1、什么是firewalld

firewalld是CentOS 7.0新推出的管理netfilter的用户空间软件工具,也被ubuntu18.04版以上所支持(apt install firewalld安装即可)

firewalld是配置和监控防火墙规则的系统守护进程。可以实iptables,ip6tables,ebtables的功能firewalld服务由firewalld包提供

2、firewalld支持划分区域zone,每个zone可以设置独立的防火墙规则

1. 已经存在了zone区域

2. 使用firewall,就是将特定的流量关联到某个zone中

-  通过源网段关联zone

-  通过网卡关联zone区域

-  如果两者都没有关联的数据报文,那就会去default zone

3.进入到zone以后,开始匹配zone内的规则 

3、firewalld中zone 分类

 

四、命令行配置

1、基础命令

firewall-cmd [OPTIONS...]
firewall-cmd  
#基础命令
--permanent
#设置永久生效
--add-port=端口号/协议(tcp/udp)
设置端口号和协议
--reload
#重新加载防火墙设置
--remove
#移除规则
--get-zones 列出所有可用区域
--get-default-zone 查询默认区域
--set-default-zone= 设置默认区域
--get-active-zones 列出当前正使用的区域
--add-source=[--zone=] 添加源地址的流量到指定区域,如果无--zone= 选项,使用
默认区域
--remove-source= [--zone=] 从指定区域删除源地址的流量,如无--zone= 选项,
使用默认区域
--add-interface=[--zone=] 添加来自于指定接口的流量到特定区域,如果无--
zone= 选项,使用默认区域
--change-interface=[--zone=] 改变指定接口至新的区域,如果无--zone=
选项,使用默认区域
--add-service= [--zone=] 允许服务的流量通过,如果无--zone= 选项,使用默
认区域
--add-port=[--zone=] 允许指定端口和协议的流量,如果无--zone= 选
项,使用默认区域
--remove-service= [--zone=] 从区域中删除指定服务,禁止该服务流量,如果
无--zone= 选项,使用默认区域
--remove-port=[--zone=] 从区域中删除指定端口和协议,禁止该端口
的流量,如果无--zone= 选项,使用默认区域
--reload 删除当前运行时配置,应用加载永久配置
--list-services 查看开放的服务
--list-ports   查看开放的端口
--list-all [--zone=] 列出指定区域的所有配置信息,包括接口,源地址,端口,服务等,如
果无--zone= 选项,使用默认区域

2、区域管理

(1)显示当前系统中的默认区域

   firewall-cmd --get-default-zone

(2)显示默认区域的所有规则

   firewall-cmd --list-all

(3)显示当前正在使用的区域及其对应的网卡接口

   firewall-cmd --get-active-zones

(4)设置默认区域

   firewall-cmd --set-default-zone=home

   firewall-cmd --get-default-zone

3、服务管理

(1)查看默认区域内允许访问的所有服务

   firewall-cmd --list-service

(2)添加httpd 服务到public 区域

   firewall-cmd --add-service=http --zone=public

(3)查看public区域已配置规则

   firewall-cmd --list-all --zone=public

(4)删除public区域的httpd服务

   firewall-cmd --remove-service=http --zone=public

(5)同时添加httpd、https服务到默认区域,设置成永久生效

   firewall-cmd --add-service=http --add-service=https --permanent

   firewall-cmd --reload

   firewall-cmd --list-al1

#添加使用--permanent选项表示设置成永久生效,需要重新启动firewalld服务或执行firewall-cmd --reload命令

重新加载防火墙规则时才会生效。若不带有此选项,表示用于设置运行时规则,但是这些规则在系统或firewalld服务重启、停止时配置将失效。

--runtime-to-permanent   :将当前的运行时配置写入规则配置文件中,使之成为永久性配置。

4、端口管理
(1)允许TCP的443端口到internal区域
   firewall-cmd --zone=internal --add-port=443/tcp
   firewall-cmd --list-all --zone=internal
(2)从internal区域将TCP的443端口移除
   firewall-cmd --zone=internal --remove-port=443/tcp
(3)允许UDP的2048-2050端口到默认区域
   firewall-cmd --add-port=2048-2050/udp
   firewall-cmd --list-all

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/642142.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号