目录
一、防火墙是什么?
二、防火墙类型
三、firewalld防火墙概述
四、firewalld的配置
五、防火墙的工作流程(匹配顺序从1-3)
六、firewalld默认配置文件
七、firewalld富规则
八、firewall-cmd相关配置命令
防火墙是指设置在不同网络之间(企业内网和公网)或不同安全域之间,对外部传入到内部的网络流量进行安全检测、限制等以此来保护企业内网安全,不会被攻击。
1、硬件防火墙:使用专用的硬件和安全操作系统来专门保护网络安全的防火墙设备。
2、软件防火墙:普通的计算机上系统自带的防火墙。
1、包过滤防火墙:根据传入数据包中的5元组来指定一些规则,对其进行丢弃或转发。
2、应用级代理防火墙:根据数据包的应用服务的协议类型(如:http等)来使用指定的数据过滤规则,并对数据包进行分析、统计、登记来形成报告,当检测出有攻击行为是时,将报警给网络管理员。当内部用户访问外网服务时,数据包经过防火墙时会对其进行分析,如果规则允许用户访问外网站点,则由代理防火墙做为原用户访问外网站点,并将返回的包转发给内网用户。
说明:只对传入的流量进行过滤,本机主动传出的流量或回流不做限制。
一.linux内核中包含netfilter功能模块,用于数据包过滤、网络地址转换、端口转发,其iptables命令是此功能模块的管理工具。到了红帽7引用了nftfilter防火墙内核模块(兼容netfilter),更快的数据包处理、规则集更新、相同规则同时处理ipv4和ipv6,其命令行管理工具是firewalld。
1、使用旧版的iptables指定规则时,会先删除正在使用的之前的旧规则,然后在添加新的规则,之后再从/etc/syscoonfig/iptables配置文件中读取所有规则并重新载入,导致在使用iptables指定规则时,先前使用的规则会临时消失,导致系统服务连接受阻,等配置好规则后,其它服务才能正常工作。
2、使用firewalld时任何规则 的变化都不会对防火墙的整个规则进行重新加载,因此可以在服务运行过程中改变设置而不丢失现有连接。
1、firewalld的区域
防火墙中的一些区域其实就是firewalld防火墙安装后,自动预先生成的一些规则策略集合。用户可以通过把计算机中的不同网卡接口和来自不同网络的IP主机绑定到不同的区域下,来应用此区域内预先制定好的规则,来对传入本机的数据包进行过滤,限制。
说明:
@firewalld防墙安装后,默认系统内所有物理网卡接口都使用(绑定)的是public区域策略规则。因此public区域是firewalld的默认区域。
@firewall有2种模式:
runtime临时模式:修改规则临时有效,重启服务失效
permanent持久模式:永久有效,需重启服务
default:不做任何事情。
drop:进入到此区域的流量都将被拒绝,无响应
reject:也是拒绝,会告诉来源者,拒绝理由
accep: 表示允许流量放行
1.检查传入数据包的源地址,若其关联到指定区域,则使用关联区域内的规则
2.若源地址未进行关联则数据包从本机哪个网卡接口进入的,就使用那个接口所在区域的策略规则。
3.若网络接口未划分到某个区域,则使用默认区域(初始化状态使用的区域)内制定的规则进行匹配。
说明:区域下优先级最高的策略规则----用于制定详细规则
实验拓扑:
firewall端:
1、查看防火墙当面所使用的默认区域
2、查看主机内网卡所使用的策略区域
3、把ens160网卡的默认区域改为internal,并在系统重启后生效。分别查看当前和永久模式下的此网卡所在区域。
*在更改网卡所属区域时,不管是永久配置模式还是实时模式都会立即生效。
4、把firewall的当前默认区域设置为work
5、开启和关闭防火墙服务的应急模式
6、查看public策略区域是否放行了ssh服务。
7、在默认区域中,把firewalld服务中请求http协议的流量设置为永久允许,并立即生效。
8、移除public策略区域中的放行的http协议流量,使系统拒绝用户访问系统的http站点。
注意:在不使用“--permanent”选项编辑策略规则时,在系统重启或使用“--reload”选项重新加载/etcc/firewalld/zones配置文件中的永久策略规则时,系统当前实时模式创建的规则会删除掉,仅保留加载文件中制定的策略规则。
9、把访问系统8080和8081的服务端口的外来流入流量设置为允许访问,并立即生效。
10、把访问本机80端口的流量转发到本机的22端口,并永久立即有效(端口转发)。
客户机测试:
*防火墙主机在响应客户端的请求数据包时,所使用的源端口号并不是22端口,而是用户访问的80端口。
11、将公网用户访问防火墙主机的22端口的流量转发给内网主机,使外网用户在通过ssh远程登录防火墙主机时,实则登录的是内网用户的主机(端口转发DNAT)。
防火墙操作:
公网客户端测试:
原理:
总结:
公网到内网(请求):公网客户机(S_ip是公网客户端 ,D_ip是请求IP地址)------>firewalld防火墙(S_ip不变,D_ip由客户端请求的ip,改为防火墙规则指定的ip)---->内网客户机(S_ip公网客户机,D_ip是自己本地接口ip)。
内网到公网(回复):内网客户端(S_ip地址是内网主机IP,D_ip保持公网客户机ip)
------->firewalld防火墙(S_ip由内网客户机ip改为出接口公网ip,D_ip保持公网客户机)
------>公网客户机(S_ip是firewalld公网ip,目的ip是自己不变)。
12、在public默认策略区域下制定富规则,来禁止源地址为10.0.1.0/24的远程主机使用ssh登录到本地防火墙主机。
使用公网客户机登录到防火墙进行测试,看是否被拒绝远程登录:
@声明:“山月润无声”博主知识水平有限,以上文章如有不妥之处,欢迎广大IT爱好者指正,小弟定当虚心受教!