今天开始我们学习安全管理模块Linux防火墙

发布于:2025-09-13 ⋅ 阅读:(16) ⋅ 点赞:(0)

首先复习一下学过的命令find并添加新的选项

选项 作用
-amin<分钟> 查找在指定时间曾被存取过的文件或目录,单位以分钟计算;
- atime<24小时数> 查找在指定时间曾被存取过的文件或目录,单位以24小时计算;
- cmin<分钟> 查找在指定时间之时被更改过的文件或目录;
- ctime<24小时数> 查找在指定时间之时被更改的文件或目录,单位以24小时计算;
- mmin<分钟> 查找在指定时间曾被更改过的文件或目录,单位以分钟计算;
- mtime<24小时数> 查找在指定时间曾被更改过的文件或目录,单位以24小时计算;
  1. 示例:查找大于1MB的文件

    [root@localhost ~]# find /boot -type f -size +1M
    /boot/initramfs-6.6.0-72.0.0.76.oe2403sp1.x86_64.img
    /boot/vmlinuz-6.6.0-72.0.0.76.oe2403sp1.x86_64
    /boot/efi/EFI/openEuler/grubx64.efi
    /boot/initramfs-0-rescue-5a44ea1f344449c0863349ae24820f72.img
    /boot/System.map-6.6.0-72.0.0.76.oe2403sp1.x86_64
    /boot/vmlinuz-0-rescue-5a44ea1f344449c0863349ae24820f72
    /boot/initramfs-6.6.0-72.0.0.76.oe2403sp1.x86_64kdump.img

  2. 示例:查找最近7天内修改过的文件(注-7为7天内,+7则为7天前)

    [root@localhost ~]# find /home -mtime -7
    /home
    /home/user9
    /home/user8
    /home/lynn
    /home/lynn/.bash_history
    /home/user6
    /home/user10
    /home/user1
    /home/user3
    /home/tom
    /home/tom/.bash_history
    /home/user4
    /home/user2
    /home/user5
    /home/user7

  3. 示例:查找属主为user1的文件

    [root@localhost ~]# find /home -user user1
    /home/user1
    /home/user1/.bash_logout
    /home/user1/.bash_profile
    /home/user1/.bashrc

Linux防火墙


防火墙结构
用户态:
iptables使用iptables命令对防火墙规则进行管理,必须深度理解网络技术和四表五链,对
于初学者或者网络技术不达标的人员不友好
firewalld使用firewall-cmd命令对防火墙进行管理,采用的是区域划分的形式。不需要连接
底层的四表五链,对于初学者比较友好
ufw使用ufw命令对防火墙进行管理,命令简单易懂。
内核态:
四表: 从内核->用户的顺序: raw -> mangle -> nat -> filter
五链: inputoutputforwardpreroutingpostrouting

Linux防火墙-Firewalld


查看当前防火墙状态

[root@localhost ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
     Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled>
     Active: active (running) since Mon 2025-09-08 15:45:07 CST; 15h ago
       Docs: man:firewalld(1)
   Main PID: 1094 (firewalld)
      Tasks: 2 (limit: 21355)
     Memory: 61.1M ()
     CGroup: /system.slice/firewalld.service
             └─1094 /usr/bin/python3 -s /usr/sbin/firewalld --nofork -->

如关闭则开启防火墙

[root@localhost ~]# systemctl enable --now firewalld

查看firewalld里放行了22号端口的ssh服务

[root@localhost ~]# firewall-cmd --list-all --zone=public
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens160
  sources: 
  services: dhcpv6-client mdns ssh
  ports: 
  protocols: 
  forward: yes
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules:

区域分类

九大区域: blockdmzdropexternalhomeinternalpublictrustedwork
区域功能:
  • public 公共区域,默认区域
public (active)
target: default #区域类型规则
icmp-block-inversion: no
interfaces: ens33 #属于该区域的接口
sources: #来源
services: dhcpv6-client ssh #放行服务的名称
ports: #放行端口号
protocols: #放行协议
masquerade: no #NAT地址转换
forward-ports: #转发端口
source-ports: #源端口
icmp-blocks: #ICMP的阻塞类型,ping的阻塞
rich rules: #富规则
  • home: 家庭区域
home
target: default
icmp-block-inversion: no
interfaces:
sources:
services: dhcpv6-client mdns samba-client ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
  • work: 工作区域
work
target: default
icmp-block-inversion: no
interfaces:
sources:
services: dhcpv6-client ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
  • trusted: 完全信任区域
trusted
target: ACCEPT #不采用默认规则,放行一切
icmp-block-inversion: no
interfaces:
sources:
services:
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
internal: 内部区域 (连接内部网络)
internal
target: default
icmp-block-inversion: no
interfaces:
sources:
services: dhcpv6-client mdns samba-client ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
external: 外部区域 (连接外部网络,例如: internet网络)
ternal
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh
ports:
protocols:
masquerade: yes #默认进行NAT地址转换
forward-ports:
source-ports:
icmp-blocks:
rich rules:
dmz: 非军事化管理区域(内部的服务器放于该区域)
dmz
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
drop: 丢弃区域 (丢弃一切流量,不给出任何回应)
drop
target: DROP
icmp-block-inversion: no
interfaces:
sources:
services:
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
block: 阻塞区域 (拒绝任何流量,但给出回应)
block
target: %%REJECT%%
icmp-block-inversion: no
interfaces:
sources:
services:
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

firewall-cmd命令用法


选项

--list-
--get-
--set-
--add-
--remove-
--change-
--zone=