一、防火墙的基本知识
1、防火墙的定义
- 防火墙,也称防护墙,是由Check Point创立者Gil Shwed于1993年发明并引入国际互联网,防火墙是一个由软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的边界上构造的保护屏障,它按照系统管理员预先定义好的规则来控制数据包的进出,防火墙是系统的第一道防线,主要由服务访问规则、验证工具、包过滤和应用网关4个部分组成,其作用是防止非法用户的进入。保障内网的安全性、保证内外网之间数据的流通性。
- 在网络中,所谓“防火墙”,是指一种将内部网和公众访问网(如Internet)分开的方法,它实际上是一种隔离技术,防火墙是在两个网络通讯时执行的一种访问控制尺度,它能允许你“同意”的人和数据进入你的网络,同时将你“不同意”的人和数据拒之门外,最大限度地阻止网络中的黑客来访问你的网络,换句话说,如果不通过防火墙,公司内部的人就无法访问Internet,Internet上的人也无法和公司内部的人进行通信,也就是说,如果没有防火墙,内网和外网之间就没办法进行交流。
2、防火墙的分类
- 防火墙从诞生开始,已经历了四个发展阶段:基于路由器的防火墙、用户化的防火墙工具套、建立在通用操作系统上的防火墙、具有安全操作系统的防火墙。常见的防火墙属于具有安全操作系统的防火墙。
- 从结构上来分,防火墙有两种:代理主机结构和路由器+过滤器结构;内部网络过滤器(Filter)路由器(Router)Internet
- 从原理上来分,防火墙则可以分成4种类型:特殊设计的硬件防火墙、数据包过滤型、电路层网关和应用级网关。
3、防火墙的工作机制(三表五链)
- 链: 链就是位置,共有五个 : 数据包进路由之前(PREROUTING)、目的地址为本机,进系统(INPUT) 、转发(FORWARD)、原地址为本机,向外发送,出系统(OUTPUT)、发送到网卡之前,出路由(POSTROUTING); 数据包到了该链处,会去对应表中查询设置的规则,然后决定是否放行、丢弃、转发还是修改等等操作。每个链都是一个规则列表,对对应的包进行匹配。
- 表:具有相同功能的规则的集合叫做表。filter表:负责过滤功能,经过内核的; nat表:网络地址转换,不经过内核的 ,实现数据包转发,修改源地址 端口 目标地址 端口,实现地址转换;mangle表:拆解报文,作出修改,封装报文;raw表: 关闭nat表上启用的链接追踪机制。
- 表链关系: 我们所有自定义的规则都是这四种分类中的规则,或者说,所有的规则都存在于这4张表中。
- filter表格:放的是经过内核的ip input output forward
- nat表格:放的不是经过内核的服务 input output postrouting prerouting
- 备用表格mangle: input output forward postrouting prerouting
二、Firewalld的图形化管理和命令管理
1、firewalld中的区域
- 通过将网络划分成不同的区域,制定出不同区域之间的访问控制策略来控制不同程序区域间传送的数据流,例如,互联网是不可信任的区域,而内部网络是高度信任的区域,网络安全模型可以在安装,初次启动和首次建立网络连接时选择初始化该模型描述了主机所连接的整个网络环境的可信级别,并定义了新连接的处理方式。
- firewalld的默认区域是public
2、 图形界面管理firewalld防火墙和命令管理
(1)打开firewalld,且开机自启动
systemctl start firewalld
systemctl enable firewalld
(2)firewall-config 输入这个命令,firewalld图形化管理
(3) firewall-cmd --state 查看防火墙的状态
(4)firewall-cmd --get-active-zones 查看正在使用的域
(5)firewall-cmd --get-default-zones 查看系统默认使用的域
(6)firewall-cmd --get-zones 查看域
(7)firewall-cmd --zone=public --list-all 列出公共域里面所有可以支持添加的服务
(8)firewall-cmd --get-services 列出所有的服务
(9)firewall-cmd --set-defaults-zone=dmz