最近整理了一下防火墙,讲解了一些防火墙的理论知识,希望对你有所帮助。
LINUX防火墙:隔离内部网络和外部网络的隔离技术。
系统安全:
1.第三方监控杀毒软件
2.系统策略
3.文件权限
4.防火墙规则 :原地址 目标地址 端口 协议 mac 数据包中的标志
类似ACL访问控制列表: 过滤
从逻辑上讲。防火墙可以大体分为主机防火墙和网络防火墙。
主机防火墙:针对于单个主机进行防护。
网络防火墙:往往处于网络入口或边缘,针对于网络入口进行防护,服务于防火墙背后的本地局域网。
网络防火和主机防火墙并不中突,可以理解为,网络防火墙主外(集体),主机防火墙主内(个人)。
从物理上讲,防火墙可以分为硬件防火墙和软件防火墙。
硬件防火墙:在硬件级别实现部分防火墙功能,另一部分功能基于软件实现,性能高,成本高。如:思科ASA 华为防火墙 天融信防火墙 等。
软件防火墙:应用软件处理逻辑运行于通用硬件平台之上的防火墙,性能低,成本低。如:iptables firewall(CentOS7独有的)等。
位与/usr/sbin/iptables,用来管理防火墙规则的工具
称为Linux防火墙的 “用户态”
-------上述2种称呼都可以表示Linux防火墙
1:防火墙关联端口----服务 端口开相应的服务就开
2:基于IP----源IP、目标IP
3:协议----TCP、UDP、ICMP
极少数会过滤MAC(局域网)
主要是网络层、针对IP数据包
体现在对包内的IP地址、端口等信息的处理上
规则的作用:对数据包进行过滤或处理
链的作用:容纳各种防火墙规则
链的分类依据:处理数据包的不同时机
(简单来说实际上就是容器,容纳里面多个规则,链就是规则的集合)
硬件防火墙效果大于软件防火墙,软件防火墙只是多了一道防护
FORWARD转发链是INPUT跟OUTPUT中间的过程,如果你想拒绝某个数据包的时候没有处理,FORWARD会处理但是安全方面考虑在INPUT处理
如图所示客户端想要访问web服务器的时候,客户端会请求给防火墙,放火墙在转发给服务器,防火墙在forward做规则,服务端在input做规则
防火墙不仅要信息的转发还要筛选跟过滤,可以直接在forword转发链进行
还有一种情况是是在input链进行过滤
【SNAT地址转换 基于原地址进行转换】
客户机在局域网【私有IP】服务器在外网;客户机访问web服务器,走防火墙会进行NAT地址转换,先查路由表 ,就知道数据包想要发往出口方向 【内部网关 外网接口】 数据包放在外网接口进行转发
转发之前会进行处理 就会动用POSTROUTING链
【DNAT地址转换 基于目标地址进行转换】
服务器在局域网【私有IP】防火墙现在做的是NAT地址转换,外网的客户机想要访问私有局域网的服务器上的网站;正常是访问不到的公有网络看不到私有网络的地址,此刻就应该做个IP地址映射,外网有个外网接口,里面有个内网网关,假设外网地址是12.0.0.1,只要把私有的IP地址映射到外网的接口,对方来访问接口地址就由于访问你的私有IP,这种情况用到的是PREROUTING链,就是先转换IP,相对上面不同的是这边转换的是目标IP,上面那种是转换源IP;把目标IP转换成私有IP 在查询路由表,进行转发(路由选择前)
只有做NAT功能时候POSTROUTING链跟PREROUTING链才会发生作用。
正常进行数据转发时只需用到INPUT链、OUTPUT链、跟FORWARD链就可以 [重要]
表的作用:容纳各种规则链
表的划分依据:防火墙规则的作用相似
【链包含多条规则,表当中包含不同的链;不同的表包含不同种类的链】
【BUG测试、维护、追踪时使用 打标记使用 使用较少】
(只做数据转发时一定经过filter表;在里面定义规则,允许与拒绝源地址访问;防火墙的默认表)重要!!!
●raw→mangle→nat >filter
●入站: PREROUTING→INPUT
●出站: OUTPUT→POSTROUTING
●转发: PREROUTING>FORWARD→POSTROUTING
●五链顺序:PREROUTING— > INPUT— – > FORWARD- - - - >OUTPUT---- >POSTROUT ING
●按顺序依次检查,匹配即停止(LOG策略例外)
●若找不到相匹配的规则,则按该链的默认策略处理
规则链之间的优先顺序(分三种情况):
第一种情况:入站数据流向
从外界到达防火墙的数据包,先被PREROUTING规则链处理(是否修改数据包地址等),之后会进行路由选择(判断该数据包应该发往何处),如果数据包的目标主机是防火墙本机(比如说Internet用户访问防火墙主机中的web服务器的数据包),那么内核将其传给INPUT链进行处理(决定是否允许通过等),通过以后再交给系统上层的应用程序(比如Apache/Nginx服务器)进行响应。
第二种情况:转发数据流向
来自外界的数据包到达防火墙后,首先被PREROUTING规则链处理,之后会进行路由选择,如果数据包的目标地址是其它外部地址(比如局域网用户通过网关访问QQ站点的数据包),则内核将其传递给FORWARD链进行处理(是否转发或拦截),然后再交给POSTROUTING规则链(是否修改数据包的地址等)进行处理。
第三种情况:出站数据流向
来自外界的数据包到达防火墙后,首先被PREROUTING规则链处理,之后会进行路由选择,如果数据包的目标地址是其它外部地址(比如局域网用户通过网关访问QQ站点的数据包),则内核将其传递给FORWARD链进行处理(是否转发或拦截),然后再交给POSTROUTING规则链(是否修改数据包的地址等)进行处理。
第三种情况:出站数据流向
防火墙本机向外部地址发送的数据包(比如在防火墙主机中测试公网DNS服务器时),首先被OUTPUT规则链处理,之后进行路由选择,然后传递给POSTROUTING规则链(是否修改数据包的地址等)进行处理。
感谢观看,留个关注再走吧宝贝。