redhat7.x 实验指南
之firewall的应用
实验目的:
永久开启firewalld防火墙
修改默认的区域为work
修改当前连接区域为work
添加防火墙策略(图形化+命令行)
允许172.16.30.0/24访问172.16.30.30的80端口
拒绝192.168.1.0/24 访问本机FTP服务器
拒绝任何人ping本服务器
拒绝任何人通过SSH连接本机
技术原理:
什么是防火墙:
使用防火墙是一种非常有效的网络安全模式,通过它可以隔离风险区域与安全区域的连接,同时不会妨碍对风险区域的访问
防火墙的分类:
软件防火墙:iptables、ISAserver、Checkpoint
硬件防火墙:Unix、Linux、FreeBSD
芯片防火墙:NetScreen、fortiNet、Cisco
从防火墙技术上又分为:包过滤防火墙、代理防火墙和状态监视器
netfilter模块
在linux下面的防火墙并不是一个服务,而是一个加载到内核中的模块。这个模块就是netfilter模块(网络过滤模块)。
路径:
/usr/lib/modules/3.10.0-514.el7.x86_64/kernel/net/netfilter
netfilter模块管理工具:
Iptables Firewall Ebtables
注:这三个工具是相互冲突的,在Linux7中默认使用firewalld
firewalld图形化配置:
firewall-config
配置中有两种状态,一种是默认的“运行时(runtime)”,即只在本次生效;另一种是“永久(permanent)”,表示配置的防火墙永久生效
区域:区域,可以理解为场景。场景不一样,行为约束不同。系统默认做了9个区域。这些区域都是系统自带的,也可以自己手动创建
bolck:拒绝所有,跟drop的区别是触犯策略时有回应包,提醒是这个策略阻挡
dmz:
drop:拒绝所有,为最强策略。打勾或不打勾也无意义,都是拒绝所有,且触犯策略时无回应包。
external
home:相当于window中的 家庭组
internal
public:默认的防火墙区域。打勾的即为允许,不打勾的则不被允许
trusted:白名单,允许所有。不管打勾的或没打勾的都是允许
work:
区域属性:
服务:
一个区域中可以对不同的服务进行配置防火墙规则。默认的只有dhcpv6-client和ssh是默认允许访问的,其他的默认不允许访问。
端口:
根据端口来配置防火墙的规则,默认是什么端口也没有,即不允许任何端口访问(区域服务中被勾选的服务对应的端口除外),如果添加了某个端口,则可以访问端口
伪装:
IPV4的IP转发,并在公网上隐藏自己私网的IP地址,外网看到的是内网到外网出口的IP地址。不适用于ipv6.
端口转发:
端口转发可以是本地到本地,也可以是本地到外系统(伪装开启),也是只适用于IPV4
ICMP过滤器:
互联网控制信息,用来发送错误信息。ICMP过滤器主要就是过滤勾上的ICMP类型消息。如果勾上echorequest,那么表示不允许主机发起连接请求
富规则:
可以根据富规则详细地对防火墙进行设置,包括来源、目的、类型等等
接口:
接口就是网卡接口,一个网卡只能在一个区域中存在,一个区域可以存在多个接口。每个接口可以设置自己的默认区域。
来源:
指定数据包的来源,比如说来自192.168.1.0/24的IP地址被允许或拒绝。配合其他属性使用
firewalld命令行配置
add:创建
get:查看
query:查询
set:设置
change:修改
remove:移除
permanent:永久生效
reload :重新加载防火墙
示例:
firewall-cmd--get-zones:查看当前已存在的区域
firewall-cmd--get-active-zones:查看当前活跃的区域
firewall-cmd--get-default-zone:查看当前防火墙的默认区域
firewall-cmd--list-services --zone=hom:查看home区域下的可用服务
firewall-cmd--set-default-zone=home:设置默认区域为home
firewall-cmd--change-zone=work:修改当前连接区域
注:具体使用方法可以直接help获取帮助信息
firewalld配置文件
/etc/firewalld/zones
区域模板文件
/usr/lib/firewalld/zones
服务相关的模板文件
/usr/lib/firewalld/services
注:由于防火墙的富规则格式太过复杂,所以在图形化配置富规则完成后,通过“firewall-cmd --zone=work --list-all”命令可以直接查看命令行模式的富规则,等同于图形化的配置
实验场景:
1台redhat7.x系统的虚拟机 1台本机,
实验步骤:
1 永久开启fiewalld
查看防火墙状态
2,修改默认的区域为work
3,修改当前连接区域为work
4,添加防火墙策略(图形化+命令行)
允许172.16.30.0/24访问172.16.30.30的80端口
拒绝192.168.1.0/24 访问本机FTP服务器
拒绝任何人ping本服务器
拒绝任何人通过SSH连接本机
辅导人员:飞姐 ,
参考文案:飞姐出品的服务文档,千影出品的文档