|
马上注册登陆,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?用户注册
x
1.在命令后添加-L参数查看已有的防火墙规则链。Linux命令大全的最新消息可以到我们平台网站了解一下,也可以咨询客服人员进行详细的解答!
[@ ~]# -L
C INPUT ( ACCEPT)
ACCEPT - :
ACCEPT - :
ACCEPT - :
ACCEPT - :
C FORWARD ( ACCEPT)
ACCEPT - 192168122024 RELATED,ESTABLISHED
ACCEPT -192168122024
ACCEPT -
REJECT - - --
REJECT - - --
C OUTPUT ( ACCEPT)
ACCEPT - :
2.在命令后添加-F参数清空已有的防火墙规则链。
[@ ~]# -F
[@ ~]# -L
C INPUT ( ACCEPT)
C FORWARD ( ACCEPT)
C OUTPUT ( ACCEPT)
3.把INPUT规则链的默认策略设置为拒绝。
[@ ~]# -P INPUT DROP
[@~]# -L
C INPUT ( DROP)
C FORWARD ( ACCEPT)
C OUTPUT ( ACCEPT)
前文提到,防火墙策略规则的设置非有两种方式:“通”和“堵”。当把INPUT链设置为默认拒绝后,就要往里面写入允许策略了,否则所有流入的数据包都会被默认拒绝掉。同学们需要留意的是,规则链的默认策略拒绝动作只能是DROP,而不能是REJECT。
4.向INPUT链中添加允许ICMP流量进入的策略规则。
在日常运维工作中,经常会使用命令来检查对方主机是否在线,而向防火墙的INPUT规则链中添加一条允许ICMP流量进入的策略规则就默认允许了这种命令检测行为。
[@~]#-IINPUT--ACCEPT
[@~]#-41921681010
PING 1921681010 (1921681010) 56(84)
64 1921681010: _=1 =64 =0154
64 1921681010: _=2 =64 =0041
64 1921681010: _=3 =64 =0038
64 1921681010: _=4 =64 =0046
--- 1921681010 ---
4 , 4 , 0% , 104
= 0038006901540049
5.删除INPUT规则链中刚刚加入的那条策略(允许ICMP流量),并把默认策略设置为允许。
使用-F参数会清空已有的所有防火墙策略;使用-D参数可以删除某一条指定的策略,因此更加安全和准确。
[@ ~]# -D INPUT 1
[@ ~]# -P INPUT ACCEPT
[@ ~]# -L
C INPUT ( ACCEPT)
C FORWARD ( ACCEPT)
C OUTPUT ( ACCEPT)
6.将INPUT规则链设置为只允许指定段的主机访问本机的22端口,拒绝来自其他所有主机的流量。
要对某台主机进行匹配,可直接写出它的IP地址;如需对段进行匹配,则需要写为子掩码的形式(比如19216810024)。
[@ ~]# -I INPUT - 19216810024 -- 22 - ACCEPT
[@ ~]# -A INPUT -- 22 - REJECT
[@ ~]# -L
C INPUT ( ACCEPT)
ACCEPT -- 19216810024 :
REJECT - : - --
………………省略部分输出信息………………
再次重申,防火墙策略规则是按照从上到下的顺序匹配的,因此一定要把允许动作放到拒绝动作前面,否则所有的流量就将被拒绝掉,从而导致任何主机都法访问我们的服务。另外,这里提到的22号端口是服务使用的(有关服务,请见第9章),这里先挖个坑,等大家学完第9章后可再验证这个验的效果。
在设置完上述INPUT规则链之后,使用IP地址在19216810024段内的主机访问服务器(即前面提到的设置了INPUT规则链的主机)的22端口,效果如下:
[@C A ~]# 1921681010
T '1921681010 (1921681010)' '
ECDSA SHA256:552Z1FJK44LBZLGJAZME6ZXQ
A ()
W: P '1921681010' (ECDSA)
@1921681010' : 此处输入服务器密码
A : --
L : W J 20 16:30:28 2022 192168101
然后,再使用IP地址在19216820224段内的主机访问服务器的22端口(虽段不同,但已确认可以相互通信),效果如下:
[@C B ~]# 1921681010
C 1921681010:22
C '1921681010' ( 22): C
由上可以看到,提示连接请求被拒绝了(C )。
7.向INPUT规则链中添加拒绝所有人访问本机12345端口的策略规则。
[@ ~]# -I INPUT -- 12345 - REJECT
[@ ~]# -I INPUT -- 12345 - REJECT
[@ ~]# -L
C INPUT ( ACCEPT)
REJECT - : - --
REJECT - : - --
ACCEPT -- 19216810024 :
REJECT - : - --
………………省略部分输出信息………………
8.向INPUT规则链中添加拒绝192168105主机访问本机80端口(W服务)的策略规则。
[@ ~]# -I INPUT - 192168105 -- 80 - REJECT
[@ ~]# -L
C INPUT ( ACCEPT)
REJECT -- 192168105 : - --
REJECT - : - --
REJECT - : - --
ACCEPT -- 19216810024 :
REJECT - : - --
………………省略部分输出信息………………
9.向INPUT规则链中添加拒绝所有主机访问本机1000~1024端口的策略规则。
前面在添加防火墙策略时,使用的是-I参数,它默认会把规则添加到比较上面的位置,因此先级是比较高的。如果工作中需要添加一条比较后“兜底”的规则,那就用-A参数吧。这两个参数的效果差别还是很大的:
[@ ~]# -A INPUT -- 1000:1024 - REJECT
[@ ~]# -A INPUT -- 1000:1024 - REJECT
[@ ~]# -L
C INPUT ( ACCEPT)
REJECT -- 192168105 : - --
REJECT - : - --
REJECT - : - --
ACCEPT -- 19216810024 :
REJECT - : - --
REJECT - :2:1024 - --
REJECT - :2:1024 - --
………………省略部分输出信息………………
有关命令的知识讲解到此就结束了,大家是不是意犹未尽考虑到L防火墙的发展趋势,大家只要能把上面的例吸收消化,就可以完全搞定日常的配置工作了。但是请特别注意,使用命令配置的防火墙规则默认会在系统下一次重启时失效,如果想让配置的防火墙策略长时间生效,还要执行保存命令:
[@ ~]# -
# G - 182 W J 20 16:56:27 2022
………………省略部分输出信息………………
对了,如果服务器是567版本的话,对应的保存命令应该是:
[@ ~]#
: S : [ OK ]
83 F
RHEL 8系统中集成了多款防火墙管理工具,其中(D F M L ,L系统的动态防火墙管理器)服务是默认的防火墙配置管理工具,它拥有基于CLI(命令行界面)和基于GUI(图形用户界面)的两种管理方式。
相较于传统的防火墙管理配置工具,支持动态更新技术并加入了区域()的概念。简单来说,区域就是预先准备了几套防火墙策略集合(策略模板),用户可以根据生产场景的不同而选择合适的策略集合,从而现防火墙策略之间的速切换。例如,我们有一台笔记本电脑,每天都要在办公室、咖啡厅和家里使用。按常理来讲,这者的安全性按照由高到低的顺序来排列,应该是家庭、办公室、咖啡厅。当前,我们希望为这台笔记本电脑制定如下防火墙策略规则:在家中允许访问所有服务;在办公室内仅允许访问文件共享服务;在咖啡厅仅允许上浏览。在以往,我们需要频繁地手动设置防火墙策略规则,而现在只需要预设好区域集合,然后轻点鼠标就可以自动切换了,从而极大地提升了防火墙策略的应用效率。中常见的区域称(默认为)以及相应的策略规则如表8-2所示。
表8-2 中常用的区域称及策略规则
区域
默认规则策略
允许所有的数据包
拒绝流入的流量,除非与流出的流量相关;而如果流量与、、-、-与6-服务相关,则允许流量
等同于区域
拒绝流入的流量,除非与流出的流量相关;而如果流量与、-与6-服务相关,则允许流量
拒绝流入的流量,除非与流出的流量相关;而如果流量与、6-服务相关,则允许流量
拒绝流入的流量,除非与流出的流量相关;而如果流量与服务相关,则允许流量
拒绝流入的流量,除非与流出的流量相关;而如果流量与服务相关,则允许流量
拒绝流入的流量,除非与流出的流量相关
拒绝流入的流量,除非与流出的流量相关
831 终端管理工具
第2章在讲解L命令时曾经提到,命令行终端是一种极富效率的工作方式,-是防火墙配置管理工具的CLI(命令行界面)版本。它的参数一般都是以“长格式”来提供的。大家不要一听到长格式就头大,因为RHEL 8系统支持部分命令的参数补齐,其中就包含这条命令(很酷吧)。也就是说,现在除了能用T键自动补齐命令或文件等内容之外,还可以用T键来补齐表8-3中所示的长格式参数。这太棒了!。
表8-3 -命令中使用的参数以及作用
参数
作用
----
查询默认的区域称
----=
设置默认的区域,使其长时间生效
---
显示可用的区域
---
显示预先定义的服务
----
显示当前正在使用的区域与卡称
---=
将源自此IP或子的流量导向指定的区域
---=
不再将源自此IP或子的流量导向某个指定区域
---=
将源自该卡的所有流量都导向某个指定区域
---=
将某个卡与区域进行关联
---
显示当前区域的卡配置参数、资源、端口以及服务等信息
----
显示所有区域的卡配置参数、资源、端口以及服务等信息
---=
设置默认区域允许该服务的流量
---=
设置默认区域允许该端口的流量
---=
设置默认区域不再允许该服务的流量
---=
设置默认区域不再允许该端口的流量
--
让“长时间生效”的配置规则立即生效,并覆盖当前的配置规则
---
开启应急状况模式
---
关闭应急状况模式
与L系统中其他的防火墙策略配置工具一样,使用配置的防火墙策略默认为运行时(R)模式,又称为当前生效模式,而且会随着系统的重启而失效。如果想让配置策略一直存在,就需要使用长时间(P)模式了,方法就是在用-命令正常设置防火墙策略时添加--参数,这样配置的防火墙策略就可以长时间生效了。但是,长时间生效模式有一个“不近人情”的特点,就是使用它设置的策略只有在系统重启之后才能自动生效。如果想让配置的策略立即生效,需要手动执行- --命令。
T
R:当前立即生效,重启后失效。
P:当前不生效,重启后生效。
接下来的验都很简单,但是提醒大家一定要仔细查看使用的是R模式还是P模式。如果不关注这个细节,就算正确配置了防火墙策略,也可能法达到预期的效果。
1.查看服务当前所使用的区域。
这是一步非常重要的操作。在配置防火墙策略前,必须查看当前生效的是哪个区域,否则配置的防火墙策略将不会立即生效。
[@ ~]#- ----
2.查询指定卡在服务中绑定的区域。
在生产环境中,服务器大多不止有一块卡。一般来说,充当关的服务器有两块卡,一块对公,另外一块对内,那么这两块卡在审查流量时所用的策略肯定也是不一致的。因此,可以根据卡针对的流量来源,为卡绑定不同的区域,现对防火墙策略的灵活管控。
[@ ~]# - -----=160
3.把卡默认区域修改为,并在系统重启后生效。
[@ ~]# - -- --= ---=160
T NM, ''
[@ ~]# - -- -----=160
4.把服务的默认区域设置为。
默认区域也叫全局配置,指的是对所有卡都生效的配置,先级较低。在下面的代码中可以看到,当前默认区域为,而160卡的区域为。此时便是以卡的区域称为准。
通俗来说,默认区域就是一种通用的政策。例如,食堂为所有人准备了一次性餐具,而环保主义者则会自己携带碗筷。如果您自带了碗筷,就可以用自己的;反之就用食堂统一提供的。
[@ ~]# - ----=
W: ZONE_ALREADY_SET:
[@ ~]# - ----
[@ ~]# - -----=160
5.启动和关闭防火墙服务的应急状况模式。
如果想在1的时间内阻断一切络连接,有什么好办法呢大家下意识地会说:“拔掉线!”这是一个物理级别的高招。但是,如果人在北京,服务器在异地呢紧急模式在这个时候就派上用场了。使用---参数会立即切断一切络连接,而使用---则会恢复络连接。切记,紧急模式会切断一切络连接,因此在远程管理服务器时,在按下回车键前一定要思。
[@ ~]# - ---
[@ ~]# - ---
6.查询SSH和HTTPS协议的流量是否允许放行。
在工作中可以不使用--参数指定区域称,-命令会自动依据默认区域进行查询,从而减少用户输入量。但是,如果默认区域与卡所绑定的不一致时,就会发生冲突,因此规范写法的参数是一定要加的。
[@ ~]# - --= ---=
[@ ~]# - --= ---=
7.把HTTPS协议的流量设置为长时间允许放行,并立即生效。
默认情况下进行的修改都属于R模式,即当前生效而重启后失效,因此在工作和考试中尽量避免使用。而在使用--参数时,则是当前不会立即看到效果,而在重启或重新加载后方可生效。于是,在添加了允许放行HTTPS流量的策略后,查询当前模式策略,发现依然是不允许放行HTTPS协议的流量:
[@ ~]# - -- --= ---=
[@ ~]# - --= ---=
不想重启服务器的话,就用--参数吧:
[@ ~]# - --
[@ ~]# - --= ---=
8.把HTTP协议的流量设置为长时间拒绝,并立即生效。
由于在默认情况下HTTP协议的流量就没有被允许,所以会有“W: NOT_ENABLED: ”这样的提示信息,因此对际操作没有影响。
[@ ~]# - -- --= ---=
W: NOT_ENABLED:
[@ ~]# - --
9.把访问8080和8081端口的流量策略设置为允许,但仅限当前生效。
[@ ~]# - --= ---=8080-8081
[@ ~]# - --= ---
8080-8081
10.把原本访问本机888端口的流量转发到22端口,要且求当前和长期均有效。
第9章介绍的SSH远程控制协议是基于TCP22端口传输控制指令的,如果想让用户通过其他端口号也能访问服务,就可以试试端口转发技术了。通过这项技术,新的端口号在收到用户请求后会自动转发到原本服务的端口上,使得用户能够通过新的端口访问到原本的服务。
来举个例子帮助大家理解。假设小强是电子厂的工人,他喜欢上了号流水线上的工人小花,但不好意思表白,于是写了一封情书并交给门卫张大爷,希望由张大爷转交给小花。这样一来,情书(信息)的传输由从小强到小花,变成了小强到张大爷再到小花,情书(信息)依然能顺利送达。
使用-命令现端口转发的格式有点长,这里为大家总结好了: |
|