什么是firewalld,简介、策略及规则(Centos7防⽕墙)
防⽕墙策略与规则
⼀、linux防⽕墙简介
- 防⽕墙技术种类:
(1)包过滤防⽕墙 packet filtering
(2)应⽤代理防⽕墙 application proxy
(3)状态检测防⽕墙 stateful inspection
(firewalld是包过滤防⽕墙,所以这⾥只讲包过滤防⽕墙)
- 包过滤防⽕墙概述:
(1)netfilter: 位于Linux内核中的包过滤功能体系,成为Linux防⽕墙的“内核态”
(2)firewalld: CentOS7默认的管理防⽕墙规则的⼯具,成为Linux防⽕墙的“⽤户态”
—
———上⾯的两种称呼都可以表⽰为Linux防⽕墙
- 包过滤的⼯作层次:
(1)主要是⽹络层,针对IP数据包、检查源IP
(2)体现在对包内的IP地址、端⼝等信息的处理上
————Linux服务器主要⽤于对互联⽹提供某种服务或作为内部局域⽹的⽹关服务器
⼆、firewalld简介
- 概述:
防⽕墙是Linux系统的 主要的安全⼯具 ,可以提供基本的安全防护,在Linux历史上已经使⽤过的防⽕墙⼯具包括:ipfwadm、ipchains、iptables (即Centos6就是使⽤的iptables) ,⽽在firewalld中新引⼊了 区域(Zone) 这个概念
- 特点:
以前的iptables防⽕墙是静态的,每次修改都要求防⽕墙完全重启,这个过程包括内核netfilter防⽕墙模块的卸载和新配置所需模块的装载等,⽽模块的卸载将会破坏状态防⽕墙和确⽴建⽴的连接,现在firewalld可以动态管理防⽕墙,firewalld把netfilter的过滤功能集于⼀⾝
总结成⼏个⼩点:
firewalld提供了⽀持 ⽹络/防⽕墙区域(zone)定义⽹络链接以及接⼝安全等级的动态防⽕墙管理⼯具。
网络上xml是什么意思⽀持 IPv4,IPv6 的防⽕墙设置以及以太⽹桥接
⽀持服务或者应⽤程序直接添加防⽕墙规则的接⼝
拥有运⾏时配置和永久配置两种选项。
运⾏时配置——服务或系统重启后失效
永久配置——服务或系统关机、重启后⽣效
- ⽹络区域:
firewalld预定义的九种⽹络区域:
trusted、public、work、home、internal、external、dmz、block、drop
————默认情况就有⼀些有效的区域,由firewalld提供的区域按照从不信任到信任的顺序排序
(1)丢弃区域(Drop Zone): 如果使⽤丢弃区域,任何进⼊的数据包将被丢弃,这个类似于Centos6上的 iptables -j drop ,使⽤丢弃规则意味着将不存在相应。
(2)阻塞区域(Block Zone): 阻塞区域会拒绝进⼊的⽹络连接,返回icmp-host-prohibited,只有服务器已经建⽴的连接会被通过,即只允许由该系统初始化的⽹络连接。
(3)公共区域(Public Zone): 只接受那些被选中的连接,默认只允许ssh和dhcpv6-client,这个zo
ne是缺省zone (缺省就是默认的意思,所以公共区域也是默认区域,在没有任何配置的情况下⾛的是公共区域)
(4)外部区域(External Zone): 这个区域相当于路由器的启动伪装(masquerading)选项,只有指定的连接会被接受,即ssh,⽽其他的连接将被丢弃或者不被接受
(5)隔离区域(DMZ Zone): 如果想要只允许给部分服务能被外部访问,可以在DMZ区域中定义,它也拥有只通过被选中连接的特性,即ssh, 这个区域⼜叫做⾮军事化区域
(6)⼯作区域(Work Zone): 在这个区域中,我们只能定义内部⽹络,⽐如私有⽹络通信才被允许, 只允许ssh、ipp-client和dhcpv6-client
(7)家庭区域(Home Zone): 这个区域专门⽤于家庭环境,它同样只允许被选中的连接, 即ssh、ipp-client、mdns、samba-client和dhcpv6-client
(8)内部区域(Internal Zone): 这个区域和 ⼯作区域(Work Zone) 类似,只允许通过被选中的连接,与 家庭区域(Home Zone) 相同
(9)信任区域(Trusted Zone): 信任区域允许所有⽹络通信通过,因为 信任区域(Trusted Zone)是最被信任的,即使没有设置任何的服务,那么也是被允许的,因为 信任区域(Trusted Zone)
是允许所有连接的
————以上是系统定义的所有的区域(Zone),但是,不是所有的区域(Zone)都在使⽤,只有活跃的区域(Zone)才有实际操作意义
注意:因为默认区域只允许ssh和dhcp,所以在没有任何配置的情况下默认是拒绝ping包的
- 检查原则:
如果⼀个客户端访问服务器,服务器根据以下原则决定使⽤哪个区域(zone)的策略去匹配:
(1)如果⼀个客户端数据包的源IP地址匹配Zone的 来源(sources) 也就是匹配区域的规则,那么该 Zone的规则就适⽤这个客户端,⼀个源只能属于⼀个 Zone,不能同时属于多个区域(Zone)
(2)如果⼀个客户端数据包进⼊服务器的某⼀个接⼝(如ens33⽹卡接⼝)匹配了 Zone的 接⼝(interfaces),则该Zone的规则就适⽤这个客户端,⼀个接⼝只能属于⼀个 Zone ,不能同时属于多个Zone
(3)如果上述两个原则都不满⾜,那么默认的 Zone将被应⽤ firewalld数据处理流程 ,检查数据来源的源地址,
- firewalld数据处理流程:
检查数据来源的源地址:
(1)若源地址关联到特定的区域,则执⾏该区域所制定的规则
(2)若源地址未关联到特定的区域,则使⽤关联⽹络接⼝的区域并执⾏该区域所制定的规则
(3)若⽹络接⼝未关联到特定的区域,则使⽤默认区域并执⾏该区域所制定的规则
- 数据包处理原则:
检查源地址的处理规则:
匹配源地址所在区域
匹配⼊站接⼝所在区域
匹配默认区域
- firewalld防⽕墙的配置⽅法:
有三种配置⽅法,分别是:
firewall-config图⾏化⼯具
firewall-cmd命令⾏⼯具
/etc/firewalld/中的配置⽂件
三、配置firewalld防⽕墙
(1)使⽤firewall-config图形化⼯具配置
打开⽅式: 应⽤程序——杂项——防⽕墙 记得先在终端⾥打开防⽕墙
主菜单: ⽂件、选项、查看、帮助
配置: 运⾏时和永久 (运⾏时的是服务重启失效,永久的是服务重启⽣效)
区域:
服务 :哪些服务可信
端⼝ :允许访问的端⼝范围
协议 :可访问的协议
源端⼝ :额外的源端⼝或范围
伪装 :私有地址映射为公有ip
端⼝转发 :指定端⼝映射为其他端⼝ (本机或者其他主机)
ICMP过滤器 :设置具体的icmp类型
服务: (只适⽤于永久模式)
模块 :设置⽹络过滤的辅助模块
⽬标 :如果指定了⽬的地址,服务则仅限于⽬的地址和类型,默认没有限制
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论