二十四、Linux的防火墙策略管理

文章目录

  • 二十四、Linux的防火墙策略管理
    • 实验环境
    • 24.1 防火墙介绍
      • 24.1.1 防火墙介绍
      • 24.1.2 防火墙管理工具
      • 24.1.3 防火墙管理工具的安装以及切换
    • 24.2 防火墙策略的永久保存
    • 24.3 iptables的使用
      • 24.3.1 三表五链
      • 24.3.2 iptables的基本命令
      • 24.3.3 state模块
      • 24.3.4 iptables-NAT表的地址转换
        • 24.3.4.1 SNAT源地址转换
        • 24.3.4.2 DNAT目的地址转化
    • 24.4 firewalld
      • 24.4.1 firewalld的域
      • 24.4.2 firewalld的基本管理命令
      • 24.4.3 firewalld的高级规则
      • 24.4.4 firewalld的NAT规则
        • 24.4.4.1 SNAT源地址转换
        • 24.4.4.2 DNAT目的地址转换

二十四、Linux的防火墙策略管理

实验环境

主机A :IP 172.254.0.11 白色框
主机B: 内网:IP:172.254.0.10 外网:192.254.0.109 黑色框
主机C :IP 192.168.0.110 黑色框

24.1 防火墙介绍

24.1.1 防火墙介绍

防火墙是一组规则。当数据包进出受保护的网络区域时,进出内容(特别是关于其来源、目标和使用的协议等信息)会根据防火墙规则进行检测,以确定是否允许其通过。

24.1.2 防火墙管理工具

iptables 是 Linux 系统上管理防火墙规则的工具。另一方面,firewalld 也是 Linux 机器上管理防火墙规则的工具。
iptables和firewalld将用户的安全设定执行到内核的netfilter中,他们的作用都是用于维护规则,而真正使用规则干活的是netfilter。
二十四、Linux的防火墙策略管理_第1张图片

24.1.3 防火墙管理工具的安装以及切换

  • 防火墙管理工具的安装
    二十四、Linux的防火墙策略管理_第2张图片
    二十四、Linux的防火墙策略管理_第3张图片
  • 防火墙管理工具的切换
    二十四、Linux的防火墙策略管理_第4张图片
    二十四、Linux的防火墙策略管理_第5张图片

24.2 防火墙策略的永久保存

  • 方法一:修改配置文件iptables-save > /etc/sysconfig/iptables
    二十四、Linux的防火墙策略管理_第6张图片
    当做实验时可将原来的文件保存
  • 方法二:直接保存:service iptables save
    二十四、Linux的防火墙策略管理_第7张图片

24.3 iptables的使用

24.3.1 三表五链

  • 三表:链的集合
标的名称 存放的链
filter INPUT;OUTPUT;FORWARD (过滤数据包)
nat PREROUTING;POSTOUTING ;INPUT ;OUTPUT(用于网络地址转换)
mangle INPUT ; OUTPUT;FORWARD ;POSTROUTING ;PREROUTING

表的含义:
二十四、Linux的防火墙策略管理_第8张图片
二十四、Linux的防火墙策略管理_第9张图片

查看三表:
二十四、Linux的防火墙策略管理_第10张图片
二十四、Linux的防火墙策略管理_第11张图片
二十四、Linux的防火墙策略管理_第12张图片

  • 五链:规则的集合
链的名称 解释
PREROUTING 数据包进入路由表之前,对数据包做路由选择前应用此链路中的规则
INPUT 进来的数据包应用此规则链中的规则
FORWARD 转达数据包应用此条数据包的规则
OUTPUT 外出的数据包应用此规则链中的规则
POSTROUTING 数据包做路由选择后发送到网卡接口之前应用此条链中的规则

24.3.2 iptables的基本命令

  • iptables策略记录文件 :/etc/sysconfig/iptables
  • iptables常用命令
iptables的常用命令 意义
-t 指定表名(默认的表名为filter表)
-n 不做解释
-L 查看
-A 添加策略(策略顺序依次叠加)
-P 指定协议
–dport 指定目的端口号
-s 源地址
-j 指定动作“ACCEPT允许”“DROP 丢弃”“REJECT 拒绝”“SNAT 源地址转换”“DNAT ,目的地址转换”
-N 新建链
-E 更改链的名称
-X 删除链
-D 删除指定规则
-I 插入规则(可指定具体的位置,默认在第一条插入)
-R 更改规则
-P 更改默认规则(只能设定为ACCEPT以及DROP)
-F 清除所有规则
-m 扩展各种模块
  • 举例
    二十四、Linux的防火墙策略管理_第13张图片
    二十四、Linux的防火墙策略管理_第14张图片
    二十四、Linux的防火墙策略管理_第15张图片

24.3.3 state模块

state模块是iptables的扩展模块,可以让iptables实现 连接追踪机制 ,它把’‘连接’'分为四种状态。通过state模块判断报文是为了回应我们之前发出的报文还是主动向我们发送的报文,可以防止恶意攻击主动连接到你的主机;还可对RELATED,ESTABLISHED,我们所信任的数据包,指定防火墙规则,避免多条规则检测等待,提高数据传输效率。

数据包状态 意义
NEW 这个数据包是一条接收到的第一个数据包
ESTABLISHED 正在建立的连接,只要一个数据包发送并接到应答,那么这个连接中的其他数据包的状态就为此状态
RELATED 此状态数据包是指被动生产的响应数据包,而且这个数据包不属于现在任何连接的数据包,是和一个已建立的连接相关的
INVALID 一个呗无法识别或者这个包没有任何状态,一般这种数据包都是被拒绝的
  • 让防火墙允许通过ssh访问主机和不能通过ssh访问主机
    设置防火墙使得172.254.0.11不能通过ssh访问172.254.0.10
    二十四、Linux的防火墙策略管理_第16张图片

二十四、Linux的防火墙策略管理_第17张图片
重新设置防火墙可以重新使用ssh访问
二十四、Linux的防火墙策略管理_第18张图片
二十四、Linux的防火墙策略管理_第19张图片

24.3.4 iptables-NAT表的地址转换

24.3.4.1 SNAT源地址转换

  • 在主机A设定网关
    二十四、Linux的防火墙策略管理_第20张图片
    二十四、Linux的防火墙策略管理_第21张图片
  • 设置开启机子的内核路由功能
    二十四、Linux的防火墙策略管理_第22张图片
    二十四、Linux的防火墙策略管理_第23张图片
  • 在主机B设置地址转换
    二十四、Linux的防火墙策略管理_第24张图片
  • 主机A就可以ping通主机C。

24.3.4.2 DNAT目的地址转化

  • 在主机B上设置DNAT
    二十四、Linux的防火墙策略管理_第25张图片

24.4 firewalld

24.4.1 firewalld的域

  • 域的介绍
意义/允许那种服务
trusted 接受所有的网络连接
home 用于家庭网络;允许接受ssh mdns ipp-client samba-client dhcp-client
work 工作网络 ; ssh ipp-client dhcp-cilent
public 公共网络; ssh dhcp-client
dmz 军级网络 ;ssh
block 拒绝所有
drop 丢弃 ;所有数据全部丢弃无任何回复
internal 内部网络; ssh mdns ipp-client samba-client dhcp-client
external ipv4网络地址伪装转发; sshd
libvirt
  • 域的查看:

24.4.2 firewalld的基本管理命令

  • firewalld的配置目录


二十四、Linux的防火墙策略管理_第26张图片

  • firewalld的模块目录
    二十四、Linux的防火墙策略管理_第27张图片
  • 基本命令
命令 意义
irewall-cmd --state 查看火墙状态
firewall-cmd --get-active-zones 查看火墙中生效的域
firewall-cmd --get-default-zone 查看默认域
firewall-cmd --list-all 查看默认域中的火墙策略
firewall-cmd --list-all --zone=work 查看指定域的火墙策略
firewall-cmd --set-default-zone=trusted 设定默认域
firewall-cmd --get-services 查看所有可以设定的服务
firewall-cmd --permanent --remove-service=cockpit 移除服务( --permanent #永久)
firewall-cmd --reload 重新加载火墙的规则配置
firewall-cmd --permanent --add-source=172.25.254.0/24 --zone=block 指定数据来源访问指定域
firewall-cmd --permanent --remove-source=172.25.254.0/24 --zone=block 删除自定域中的数据来源
firewall-cmd --permanent --remove-interface=ens224 --zone=public 删除指定域的网络接口
firewall-cmd --permanent --add-interface=ens224 --zone=block 添加指定域的网络接口
firewall-cmd --permanent --change-interface=ens224 --zone=public 更改网络接口到指定域
  • 设定默认域
    二十四、Linux的防火墙策略管理_第28张图片
  • 查看所有设定服务
    二十四、Linux的防火墙策略管理_第29张图片
  • 指定数据来源访问指定域-将某地址加入拒绝域
    二十四、Linux的防火墙策略管理_第30张图片
    在
  • 删除指定域中的数据来源-删除拒绝域中的某地址实现正常通信
    二十四、Linux的防火墙策略管理_第31张图片

24.4.3 firewalld的高级规则

  • 设定拒绝172.168.0.11 拒绝通过ssh访问

    在述
  • 移除上述设定实现正常访问

在这述

24.4.4 firewalld的NAT规则

24.4.4.1 SNAT源地址转换

  • 在主机B设定地址伪装功能
    二十四、Linux的防火墙策略管理_第32张图片
  • 主机A可以连接主机C
    二十四、Linux的防火墙策略管理_第33张图片
  • 在主机C上查看发现连接地址为主机B
    二十四、Linux的防火墙策略管理_第34张图片

24.4.4.2 DNAT目的地址转换

  • 在主机B上设置端口转发规则,将22端口的数据包目的地址转换为主机A的地址
    二十四、Linux的防火墙策略管理_第35张图片
  • 用主机C连接主机B时,发现地址显示为主机A
    二十四、Linux的防火墙策略管理_第36张图片

你可能感兴趣的:(LINUX)