大茂名网

 找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 157|回复: 0

[【编导】] 谈一谈:-第8章 使用Iptables与Firewalld防火墙 2023/2/2 8:18:33

[复制链接]

2万

主题

2万

帖子

9万

积分

钻石元老

Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

积分
98065
发表于 2023-2-2 08:18 | 显示全部楼层 |阅读模式

马上注册登陆,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?用户注册

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端口传输控制指令的,如果想让用户通过其他端口号也能访问服务,就可以试试端口转发技术了。通过这项技术,新的端口号在收到用户请求后会自动转发到原本服务的端口上,使得用户能够通过新的端口访问到原本的服务。

来举个例子帮助大家理解。假设小强是电子厂的工人,他喜欢上了号流水线上的工人小花,但不好意思表白,于是写了一封情书并交给门卫张大爷,希望由张大爷转交给小花。这样一来,情书(信息)的传输由从小强到小花,变成了小强到张大爷再到小花,情书(信息)依然能顺利送达。

使用-命令现端口转发的格式有点长,这里为大家总结好了:
爱上大茂名,喜当大猫友,吃喝玩乐事,天天乐开怀!
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

QQ|客服:0668-2886677QQ:75281068|大茂微博|小黑屋|手机版|Archiver|大茂名网 ( 粤ICP备18149867号 )茂名市大茂科技有限公司 版权所有 

GMT+8, 2025-2-12 08:46 , Processed in 0.084520 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表