目录:一、防火墙作用二、防火墙分类1、逻辑上划分:大体分为主机防火墙和网络防火墙2、物理上划分:硬件防火墙 和 软件防火墙三、硬件防火墙四、软件防火墙五、iptables1、iptables的介绍2、netfilter/iptables功能3、iptables中链的概念4、iptables中表的概念5、iptables中表链之间的关系6、iptables中表的优先级7、iptables基础语法结构8、显式匹配使用选项及功能9、iptables应用设置服务开启设置开机自启动查看配置文件保存规则重载基本配置案例:白名单案例:黑名单案例:通过lo访问本机数据案例:允许连接态产生衍生态iptables filter表应用案例案例1:iptables标准流程案例2:本机无法访问本机例如:ping 127.0.0.1案例3:本机无法访问其它主机例如:ssh remote_host案例4:FTP无法访问案例5:扩展匹配案例6:扩展动作案例7:转发功能的实现开启路由转发功能实现转发(重点)六、firewalld1、FireWalld中zone概念及作用FireWalld中zone分类FireWalld文件2、Firewalld语法3、Firewall的状态4、FireWalld中动作4.1、动作中查看操作4.2、更改区域操作4.3、新建规则,新建 --add4.4、删除规则,删除 --remove4.5、改变规则,改变 change4.6、端口转发4.7、Rich规则4.7.1、Rich规则帮助4.7.2、Rich规则选项4.7.3、Rich规则案例一、防火墙作用在计算机领域,防火墙是用于保护信息安全的设备,其会依照用户定义的规则,允许或限制数据的传输。用于保护内网安全的一种设备依据规则进行防护用户定义规则允许或拒绝外部用户访问二、防火墙分类1、逻辑上划分:大体分为主机防火墙和网络防火墙主机防火墙:针对于单个主机进行防护网络防火墙:针对网络进行防护,处于网络边缘,防火墙背后是本地局域网,网络防火墙主外(服务集体),主机防火墙主内(服务个人)2、物理上划分:硬件防火墙和软件防火墙硬件防火墙:在硬件级别实现防火墙功能,另一部分基于软件实现,其性能高,硬件成本高软件防火墙:应用软件处理逻辑运行于通用硬件平台之上的防火墙,其性能相较于硬件防火墙低,成本较低,对于Linux系统已自带,直接使用即可。补充:防火墙性能——吞吐量、并发连接、新建连接、时延、抖动、硬件防火墙三、硬件防火墙硬件防火墙是指把具备配置数据包通过规则的软件嵌入硬件设备中,为网络提供安全防护的硬件设备。多见于网络边缘。硬件防火墙作用:过滤网络流量:硬件防火墙可以监控网络流量,根据预先设定的规则过滤流经防火墙的数据包,阻止恶意流量进入网络。防止未经授权的访问:硬件防火墙可以设置访问控制规则,限制网络用户对特定资源的访问,防止未经授权的用户进入网络。提高网络安全性:硬件防火墙可以检测和阻止网络中的恶意软件、病毒、木马等恶意代码,保护网络和系统不受攻击。日志记录和审计:硬件防火墙可以记录网络流量和安全事件的日志,方便网络管理员进行安全审计和排查安全事件。硬件防火墙品牌:Juniper、cisco 思科ASA、华为、天融信。四、软件防火墙单独使用具备配置数据包通过规则的软件来实现数据包过滤。多见于单主机系统或个人计算机。扩展:Web应用防火墙(WAF)Web应用防火墙是对web防护(网页保护)的安全防护设备(软件),主要用于截获所有HTTP数据或仅仅满足某些规则的会话。多见于云平台中。扩充:硬件防火墙与软件防火墙比较硬件防火墙有独立的硬件设备,运算效率较高,价格略高,可为计算机网络提供安全防护。软件防火墙必须部署在主机系统之上,相较于硬件防火墙运算效率低,在一定程度上会影响到主机系统性能,一般用于单机系统或个人计算机中,不直接用于计算机网络中。五、iptables1、iptables的介绍netfilter/iptables可简称为iptables,为Linux平台下的包过滤防火墙,是开源的,内核自带的,可以代替成本较高的企业级硬件防火墙。即使在如今的Linux操作系统中已经引入了firewalld,但是在企业中目前主流的还是应用的iptables比较多。iptables工作依据------规则(rules),iptables是按照规则(rules)来办事的,而规则就是运维人员所定义的条件;规则一般定义为 “如果数据包头符合这样的条件,就这样处理这个数据包” 。规则存储在内核空间的 数据包过滤表 中,这些规则分别指定了源地址、目的地址、传输协议(TCP、UDP、ICMP)和服务类型(HTTP、FTP)等。当数据包与规则匹配时,iptables 就根据规则所定义的方法来处理这些数据包,比如 放行(ACCEPT)、拒绝(REJECT)、丢弃(DROP) 等。配置防火墙 主要工作就是对iptables规则进行添加、修改、删除等。iptables不是防火墙,是防火墙用户代理。用于把用户的安全设置添加到“安全框架”中。“安全框架”是防火墙,即就是netfilter。netfilter位于内核空间中,是Linux操作系统核心层内部的一个数据包处理模块。iptables是用于在用户空间对内核空间的netfilter进行操作的命令行工具2、netfilter/iptables功能数据包过滤,即防火墙数据包重定向,即转发网络地址转换,即可NAT注:平常我们使用iptables并不是防火墙的“服务”,而服务是由内核提供的。3、iptables中链的概念举例说明:当客户端访问服务器端的web服务时,客户端发送访问请求报文至网卡,而tcp/ip协议栈是属于内核的一部分,所以,客户端的请求报文会通过内核的TCP协议传输到用户空间的web服务,而客户端报文的目标地址为web服务器所监听的套接字(ip:port)上,当web服务器响应客户端请求时,web服务所回应的响应报文的目标地址为客户端地址,我们说过,netfilter才是真正的防火墙,属于内核的一部分,所以,我们要想让netfilter起到作用,我们就需要在内核中设置“关口”,所有进出的数据报文都要通过这些关口,经检查,符合放行条件的准允放行,符合阻拦条件的则被阻止,于是就出现了input和output关口,然而在iptables中我们把关口叫做“链”。 上面的举例中,如果客户端发到本机的报文中包含的服务器地址并不是本机,而是其他服务器,此时本机就应该能够进行转发,那么这个转发就是本机内核所支持的IP_FORWARD功能,此时我们的主机类似于路由器功能,所以我们会看到在iptables中,所谓的关口并非只有上面所提到的input及output这两个,应该还有“路由前”,“转发”,“路由后”,它们所对应的英文名称分别为“PREROUTING”,“FORWARD”,“POSTROUTING”,这就是我们说到的5链。 通过上图可以看出,当我们在本地启动了防火墙功能时,数据报文需要经过以上关口,根据各报文情况,各报文经过的“链”可能不同,如果报文目标地址是本机,则会经input链发往本机用户空间,如果报文目标不是本机,则会直接在内核空间中经常forward链和postrouting链转发出去。有的时候我们也经常听到人们在称呼input为“规则链”,这又是怎么回事呢?我们知道,防火墙的作用在于对经过的数据报文进行规则匹配,然后执行对应的“动作”,所以数据包经过这些关口时,必须匹配这个关口规则,但是关口规则可能不止一条,可能会有很多,当我们把众多规则放在一个关口上时,所有的数据包经常都要进行匹配,那么就形成了一个要匹配的规则链条,因此我们也把“链”称作“规则链”。INPUT:处理入站数据包。OUTPUT:处理出站数据包。FORWARD:处理转发数据包(主要是将数据包转发至本机其它网卡)当数据报文经过本机时,网卡接收数据报文至缓冲区,内核读取报文ip首部,发现报文不是送到本机时(目的ip不是本机),由内核直接送到forward链做匹配,匹配之后若符合forward的规则,再经由postrouting送往下一跳或目的主机。PREROUTING:在进行路由选择前处理数据包,修改到达防火墙数据包的目的IP地址,用于判断目标主机。POSTROUTING:在进行路由选择后处理数据包,修改要离开防火墙数据包的源IP地址,判断经由哪一接口送往下一跳。4、iptables中表的概念每个“规则链”上都设置了一串规则,这样的话,我们就可以把不同的“规则链”组合成能够完成某一特定功能集合分类,而这个集合分类我们就称为表,iptables中共有5张表,学习iptables需要搞明白每种表的作用。filter: 过滤功能,确定是否放行该数据包,属于真正防火墙,内核模块:iptables_filternat: 网络地址转换功能,修改数据包中的源、目标IP地址或端口;内核模块:iptable_natmangle: 对数据包进行重新封装功能,为数据包设置标记;内核模块:iptable_mangleraw: 确定是否对数据包进行跟踪;内核模块:iptables_rawsecurity:是否定义强制访问控制规则;后加上的5、iptables中表链之间的关系我们在应用防火墙时是以表为操作入口的,只要在相应的表中的规则链上添加规则即可实现某一功能。那么我们就应该知道哪张表包括哪些规则链,然后在规则链上操作即可。filter表可以使用哪些链定义规则:INPUT,FORWARD,OUTPUTnat表中可以使用哪些链定义规则:PREROUTING,OUTPUT ,POSTROUTING,INPUTmangle 表中可以使用哪些链定义规则:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTINGraw表中可以使用哪些链定义规则:PREROUTING,OUTPUTsecurity表可以使用哪些链定义规则:INPUT,FORWARD,OUTPUT6、iptables中表的优先级security-raw-mangle-nat-filter(由高至低)数据包流经iptables流程7、iptables基础语法结构iptables规则匹配及动作规则:根据指定的匹配条件来尝试匹配每个流经此处的数据包,匹配成功,则由规则指定的处理动作进行处理。规则是由匹配条件和动作组成的,那么动作是什么呢?举例说明:两个同学,一个白头发,一个黑头发,同时进教室,而进教室的条件是只有黑头发可以进入,白头发拒绝进入,黑头发和白头发就是匹配条件,在这里可以进入和拒绝进入就是动作。iptables规则匹配条件分类基本匹配条件:源地址,目标地址,源端口,目标端口等基本匹配使用选项及功能基本匹配的特点:无需加载扩展模块,匹配规则生效。扩展匹配条件: *扩展匹配又分为显示匹配和隐式匹配。
Linux之彻底掌握防火墙-----安全管理详解
目录:一、防火墙作用二、防火墙分类1、逻辑上划分:大体分为主机防火墙和网络防火墙2、物理上划分:硬件防火墙 和 软件防火墙三、硬件防火墙四、软件防火墙五、iptables1、iptables的介绍2、netfilter/iptables功能3、iptables中链的概念4、iptables中表的概念5、iptables中表链之间的关系6、iptables中表的优先级7、iptables基础语法结构8、显式匹配使用选项及功能9、iptables应用设置服务开启设置开机自启动查看配置文件保存规则重载基本配置案例:白名单案例:黑名单案例:通过lo访问本机数据案例:允许连接态产生衍生态iptables filter表应用案例案例1:iptables标准流程案例2:本机无法访问本机例如:ping 127.0.0.1案例3:本机无法访问其它主机例如:ssh remote_host案例4:FTP无法访问案例5:扩展匹配案例6:扩展动作案例7:转发功能的实现开启路由转发功能实现转发(重点)六、firewalld1、FireWalld中zone概念及作用FireWalld中zone分类FireWalld文件2、Firewalld语法3、Firewall的状态4、FireWalld中动作4.1、动作中查看操作4.2、更改区域操作4.3、新建规则,新建 --add4.4、删除规则,删除 --remove4.5、改变规则,改变 change4.6、端口转发4.7、Rich规则4.7.1、Rich规则帮助4.7.2、Rich规则选项4.7.3、Rich规则案例一、防火墙作用在计算机领域,防火墙是用于保护信息安全的设备,其会依照用户定义的规则,允许或限制数据的传输。用于保护内网安全的一种设备依据规则进行防护用户定义规则允许或拒绝外部用户访问二、防火墙分类1、逻辑上划分:大体分为主机防火墙和网络防火墙主机防火墙:针对于单个主机进行防护网络防火墙:针对网络进行防护,处于网络边缘,防火墙背后是本地局域网,网络防火墙主外(服务集体),主机防火墙主内(服务个人)2、物理上划分:硬件防火墙和软件防火墙硬件防火墙:在硬件级别实现防火墙功能,另一部分基于软件实现,其性能高,硬件成本高软件防火墙:应用软件处理逻辑运行于通用硬件平台之上的防火墙,其性能相较于硬件防火墙低,成本较低,对于Linux系统已自带,直接使用即可。补充:防火墙性能——吞吐量、并发连接、新建连接、时延、抖动、硬件防火墙三、硬件防火墙硬件防火墙是指把具备配置数据包通过规则的软件嵌入硬件设备中,为网络提供安全防护的硬件设备。多见于网络边缘。硬件防火墙作用:过滤网络流量:硬件防火墙可以监控网络流量,根据预先设定的规则过滤流经防火墙的数据包,阻止恶意流量进入网络。防止未经授权的访问:硬件防火墙可以设置访问控制规则,限制网络用户对特定资源的访问,防止未经授权的用户进入网络。提高网络安全性:硬件防火墙可以检测和阻止网络中的恶意软件、病毒、木马等恶意代码,保护网络和系统不受攻击。日志记录和审计:硬件防火墙可以记录网络流量和安全事件的日志,方便网络管理员进行安全审计和排查安全事件。硬件防火墙品牌:Juniper、cisco 思科ASA、华为、天融信。四、软件防火墙单独使用具备配置数据包通过规则的软件来实现数据包过滤。多见于单主机系统或个人计算机。扩展:Web应用防火墙(WAF)Web应用防火墙是对web防护(网页保护)的安全防护设备(软件),主要用于截获所有HTTP数据或仅仅满足某些规则的会话。多见于云平台中。扩充:硬件防火墙与软件防火墙比较硬件防火墙有独立的硬件设备,运算效率较高,价格略高,可为计算机网络提供安全防护。软件防火墙必须部署在主机系统之上,相较于硬件防火墙运算效率低,在一定程度上会影响到主机系统性能,一般用于单机系统或个人计算机中,不直接用于计算机网络中。五、iptables1、iptables的介绍netfilter/iptables可简称为iptables,为Linux平台下的包过滤防火墙,是开源的,内核自带的,可以代替成本较高的企业级硬件防火墙。即使在如今的Linux操作系统中已经引入了firewalld,但是在企业中目前主流的还是应用的iptables比较多。iptables工作依据------规则(rules),iptables是按照规则(rules)来办事的,而规则就是运维人员所定义的条件;规则一般定义为 “如果数据包头符合这样的条件,就这样处理这个数据包” 。规则存储在内核空间的 数据包过滤表 中,这些规则分别指定了源地址、目的地址、传输协议(TCP、UDP、ICMP)和服务类型(HTTP、FTP)等。当数据包与规则匹配时,iptables 就根据规则所定义的方法来处理这些数据包,比如 放行(ACCEPT)、拒绝(REJECT)、丢弃(DROP) 等。配置防火墙 主要工作就是对iptables规则进行添加、修改、删除等。iptables不是防火墙,是防火墙用户代理。用于把用户的安全设置添加到“安全框架”中。“安全框架”是防火墙,即就是netfilter。netfilter位于内核空间中,是Linux操作系统核心层内部的一个数据包处理模块。iptables是用于在用户空间对内核空间的netfilter进行操作的命令行工具2、netfilter/iptables功能数据包过滤,即防火墙数据包重定向,即转发网络地址转换,即可NAT注:平常我们使用iptables并不是防火墙的“服务”,而服务是由内核提供的。3、iptables中链的概念举例说明:当客户端访问服务器端的web服务时,客户端发送访问请求报文至网卡,而tcp/ip协议栈是属于内核的一部分,所以,客户端的请求报文会通过内核的TCP协议传输到用户空间的web服务,而客户端报文的目标地址为web服务器所监听的套接字(ip:port)上,当web服务器响应客户端请求时,web服务所回应的响应报文的目标地址为客户端地址,我们说过,netfilter才是真正的防火墙,属于内核的一部分,所以,我们要想让netfilter起到作用,我们就需要在内核中设置“关口”,所有进出的数据报文都要通过这些关口,经检查,符合放行条件的准允放行,符合阻拦条件的则被阻止,于是就出现了input和output关口,然而在iptables中我们把关口叫做“链”。 上面的举例中,如果客户端发到本机的报文中包含的服务器地址并不是本机,而是其他服务器,此时本机就应该能够进行转发,那么这个转发就是本机内核所支持的IP_FORWARD功能,此时我们的主机类似于路由器功能,所以我们会看到在iptables中,所谓的关口并非只有上面所提到的input及output这两个,应该还有“路由前”,“转发”,“路由后”,它们所对应的英文名称分别为“PREROUTING”,“FORWARD”,“POSTROUTING”,这就是我们说到的5链。 通过上图可以看出,当我们在本地启动了防火墙功能时,数据报文需要经过以上关口,根据各报文情况,各报文经过的“链”可能不同,如果报文目标地址是本机,则会经input链发往本机用户空间,如果报文目标不是本机,则会直接在内核空间中经常forward链和postrouting链转发出去。有的时候我们也经常听到人们在称呼input为“规则链”,这又是怎么回事呢?我们知道,防火墙的作用在于对经过的数据报文进行规则匹配,然后执行对应的“动作”,所以数据包经过这些关口时,必须匹配这个关口规则,但是关口规则可能不止一条,可能会有很多,当我们把众多规则放在一个关口上时,所有的数据包经常都要进行匹配,那么就形成了一个要匹配的规则链条,因此我们也把“链”称作“规则链”。INPUT:处理入站数据包。OUTPUT:处理出站数据包。FORWARD:处理转发数据包(主要是将数据包转发至本机其它网卡)当数据报文经过本机时,网卡接收数据报文至缓冲区,内核读取报文ip首部,发现报文不是送到本机时(目的ip不是本机),由内核直接送到forward链做匹配,匹配之后若符合forward的规则,再经由postrouting送往下一跳或目的主机。PREROUTING:在进行路由选择前处理数据包,修改到达防火墙数据包的目的IP地址,用于判断目标主机。POSTROUTING:在进行路由选择后处理数据包,修改要离开防火墙数据包的源IP地址,判断经由哪一接口送往下一跳。4、iptables中表的概念每个“规则链”上都设置了一串规则,这样的话,我们就可以把不同的“规则链”组合成能够完成某一特定功能集合分类,而这个集合分类我们就称为表,iptables中共有5张表,学习iptables需要搞明白每种表的作用。filter: 过滤功能,确定是否放行该数据包,属于真正防火墙,内核模块:iptables_filternat: 网络地址转换功能,修改数据包中的源、目标IP地址或端口;内核模块:iptable_natmangle: 对数据包进行重新封装功能,为数据包设置标记;内核模块:iptable_mangleraw: 确定是否对数据包进行跟踪;内核模块:iptables_rawsecurity:是否定义强制访问控制规则;后加上的5、iptables中表链之间的关系我们在应用防火墙时是以表为操作入口的,只要在相应的表中的规则链上添加规则即可实现某一功能。那么我们就应该知道哪张表包括哪些规则链,然后在规则链上操作即可。filter表可以使用哪些链定义规则:INPUT,FORWARD,OUTPUTnat表中可以使用哪些链定义规则:PREROUTING,OUTPUT ,POSTROUTING,INPUTmangle 表中可以使用哪些链定义规则:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTINGraw表中可以使用哪些链定义规则:PREROUTING,OUTPUTsecurity表可以使用哪些链定义规则:INPUT,FORWARD,OUTPUT6、iptables中表的优先级security-raw-mangle-nat-filter(由高至低)数据包流经iptables流程7、iptables基础语法结构iptables规则匹配及动作规则:根据指定的匹配条件来尝试匹配每个流经此处的数据包,匹配成功,则由规则指定的处理动作进行处理。规则是由匹配条件和动作组成的,那么动作是什么呢?举例说明:两个同学,一个白头发,一个黑头发,同时进教室,而进教室的条件是只有黑头发可以进入,白头发拒绝进入,黑头发和白头发就是匹配条件,在这里可以进入和拒绝进入就是动作。iptables规则匹配条件分类基本匹配条件:源地址,目标地址,源端口,目标端口等基本匹配使用选项及功能基本匹配的特点:无需加载扩展模块,匹配规则生效。扩展匹配条件: *扩展匹配又分为显示匹配和隐式匹配。