使用iptables与firewall来配置防火墙

防火墙位于内网与外网之间,相较于内网,外网的安全和环境都十分恶劣,时不时都会受到攻击。所以可以用防火墙来设置策略,阻断影响安全的因素。防火墙策略可以基于流量的源目地址、端口号、协议、应用等信息来定制,然后防火墙使用预先定制的策略规则监控出入的流量,若流量与某一条策略规则相匹配,则执行相应的处理,反之则丢弃。这样一来,就能够保证仅有合法的流量在企业内网和外部公网之间流动。
在这里插入图片描述

iptables与firewalld都不是真正的防火墙,它们都只是用来定义防火墙策略的防火墙管理工具而已;或者说,它们只是一种服务。早期的Linux系统采用的是IPtables来定义防火墙,后面渐渐的引入了firewall,不过大部分还是在使用iptable。
防火墙会按照从上到下的顺序来读取配置的策略规则,在找到匹配项后就立即结束匹配工作并去执行匹配项中定义的行为(即放行或阻止)。如果在读取完所有的策略规则之后没有匹配项,就去执行默认的策略。一般而言,防火墙策略规则的设置有两种:“通”(即放行)和“堵”(即阻止)。当防火墙的默认策略为拒绝时(堵),就要设置允许规则(通),否则谁都进不来;如果防火墙的默认策略为允许,就要设置拒绝规则,否则谁都能进来,防火墙也就失去了防范的作用。简单来说就是一个数据包符合这条策略就会执行这个策略,不符合就会阻止它通过,直接丢弃,只不过这条策略是允许通过还是拒绝通过就要看这条策略的作用和目的了。
iptables服务把用于处理或过滤流量的策略条目称之为规则,多条规则可以组成一个规则链,而规则链则依据数据包处理位置的不同进行分类,具体如下:
在这里插入图片描述

一般来说,从内网向外网发送的流量一般都是可控且良性的,因此使用最多的就是INPUT规则链,该规则链可以增大黑客人员从外网入侵内网的难度。
但是仅有规则链,还不足以保护用户安全,还应该和一些动作联合起来。比如允许、拒绝、记录、不记录,这些动作在iptables里面分别对应ACCEPT(允许流量通过)、REJECT(拒绝流量通过)、LOG(记录日志信息)、DROP(拒绝流量通过。LOG和ACCPT都是字面意思,但是REJECT和DROP都是拒绝流量通过,两者有不同之处。就DROP来说,它是直接将流量丢弃而且不响应;REJECT则会在拒绝流量后再回复一条“信息已经收到,但是被扔掉了”信息,从而让流量发送方清晰地看到数据被拒绝的响应信息。简单来说,流量传送失败一个会告诉你已经失败,另一个不会告诉你。现实中多用DROP,真的好用深有体会。
iptables:
iptables属于数据链路层的服务,所以可以根据流量的源地址、目的地址、传输协议、服务类型等信息进行匹配;一旦匹配成功,iptables就会根据策略规则所预设的动作来处理这些流量。另外,防火墙策略规则的匹配顺序是从上到下的,因此要把较为严格、优先级较高的策略规则放到前面,以免发生错误。就是最重要的写到最前面。
iptables的参数很多,如下所示:
在这里插入图片描述

具体策略需要根据实际情况进行编写,不过配置完策略需要iptables-save来保存配置的策略命令。

firewall
firewalld(Dynamic Firewall Manager of Linux systems,Linux系统的动态防火墙管理器)服务是默认的防火墙配置管理工具,它拥有基于CLI(命令行界面)和基于GUI(图形用户界面)的两种管理方式。
相较于传统的防火墙管理配置工具,firewalld支持动态更新技术并加入了区域(zone)的概念。区域的形成是因为不同地方,所需要的安全强度不同。
常见的区域如下:
在这里插入图片描述
CLI(命令行界面)就是采用firewall-cmd配置工具。
常见参数如下:
在这里插入图片描述

与Linux系统中其他的防火墙策略配置工具一样,使用firewalld配置的防火墙策略默认为运行时(Runtime)模式,又称为当前生效模式,而且会随着系统的重启而失效。如果想让配置策略一直存在,就需要使用永久(Permanent)模式了,方法就是在用firewall-cmd命令正常设置防火墙策略时添加–permanent参数,这样配置的防火墙策略就可以永久生效了。但是,永久生效模式有一个“不近人情”的特点,就是使用它设置的策略只有在系统重启之后才能自动生效。如果想让配置的策略立即生效,需要手动执行firewall-cmd --reload命令。
即:
firewall-cmd --Runtime:当前立即生效,重启后失效。
firewall-cmd reload:当前生效,重启不会失效。
firewall-cmd --Permanent:当前不生效,重启后生效。

需要永久生效的策略配置时,需要加上–permanent参数,如果是当时生效就不用。
firewall-cmd命令实现端口转发的格式:
firewall-cmd --permanent --zone=<区域> --add-forward-port=port=<源端口号>:proto=<协议>:toport=<目标端口号>:toaddr=<目标IP地址>

firewall图形化配置
需要在本地的yum源上下载firewall-config工具。
下载完后是这样的:
在这里插入图片描述
具体有的功能如下:
在这里插入图片描述

功能图解如下:
在这里插入图片描述

图形化就是全英文,比CLI模式好的是不用去tab那么多的命令。还有一款更加方便,更加容易上手的工具。

Cockpit驾驶舱管理工具
Cockpit是一个基于Web的图形化服务管理工具,对用户相当友好,即便是新手也可以轻松上手。而且它天然具备很好的跨平台性,因此被广泛应用于服务器、容器、虚拟机等多种管理场景。
需要在yum仓库中下载cockpit,并且启动它systemctl start cockpit systemctl enable cockpit
然后再系统自带的浏览器(我则合理是火狐)用本机地址加上端口号9090就可以登输入账号名和密码就登录了。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值