Linux中的火墙策略优化

防火墙

作用

  1. 极大地提高一个内部网络的安全性,并通过过滤不安全的服务而降低风险。
  2. 对网络存取和访问进行监控审计。
  3. 防止内部信息的外泄。

火墙管理工具的切换(linux)

火墙管理工具:firewalld和iptables

  • firewalld切换iptabels

    1. dnf install iptables-services -y
    2. systemctl stop firewalld
    3. systemctl disable firewalld
    4. systemctl mask firewalld
    5. systemctl enable --now iptables
  • iptables切换firewalld

    1. dnf install firewalld -y
    2. systemctl stop iptables
    3. systemctl disable iptables
    4. systemctl mask iptables
    5. systemctl enable --now firewalld

火墙默认策略

  • 默认策略的5条链

    input 输入
    output 输出
    forward 转发
    postrouting 路由之后
    prerouting 路由之前
  • 默认的3张表

    filter 经过本机内核的数据(input output forward)
    nat 不经过内核的数据(postrouting,prerouting,input,output)
    mangle 当filter和nat表不够用时使用(input output forward postrouting,prerouting,)

firewalld管理工具的使用方法

  • 开启firewalld服务

    1. systemctl stop iptables
    2. systemctl disable iptables
    3. systemctl mask iptables
    4. systemctl unmask firewalld
    5. systemctl enable --now firewalld
  • 关于firewall的域

    firewall-cmd --get-zones 查看所有的域
    firewall-cmd --get-active-zones 查看当前火墙生效的域
    firewall-cmd --list-all-zones 查看所有的域的详细信息
    firewall-cmd --list-all --zone=域名 查看指定域名的详细信息
    firewall-cmd --get-default-zone 查看默认域
    firewall-cmd --set-default-zone=trusted 设定默认域

Linux中的火墙策略优化

firewalld所有的域 用途
trusted 接受所有的网络连接
home 用于家庭网络,允许接受ssh mdns ipp-client samba-client dhcp-client
work 工作网络 ssh ipp-client dhcp-client
public 公共网络 ssh dhcp-client
dmz 军级网络 ssh
block 拒绝所有
drop 丢弃 所有数据全部丢弃无任何回复
internal 内部网络 ssh mdns ipp-client samba-client dhcp-client
external ipv4网络地址伪装转发 sshd
  • 关于firewalld的设定原理及数据存储
    /etc/firewalld ##火墙配置目录
    /lib/firewalld ##火墙模块目录

  • firewalld的管理命令

firewall-cmd --get-services 查看所有可以设定的服务
firewall-cmd --permanent --remove-service=cockpit 永久添加cockpit服务
firewall-cmd --permanent --remove-service=cockpit 永久移除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 更改网络接口到指定域
  1. 添加服务和移除服务
    Linux中的火墙策略优化

  2. 指定数据来源访问指定域Linux中的火墙策略优化

  3. 更改指定域的网络接口Linux中的火墙策略优化

  • firewalld的高级规则
firewall-cmd --direct --get-all-rules 查看高级规则
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -s 172.25.254.103 -p tcp --dport 22 -j REJECT 拒绝ip为172.25.254.103的主机用SSH连接我的主机
firewall-cmd --direct --remove-rule ipv4 filter INPUT 1 -s 172.25.254.103 -p tcp --dport 22 -j REJECT 删除这条规则

Linux中的火墙策略优化

  • firewalld 中的 NAT

    1. SNAT(地址伪装功能)
      作用:能够使在建立过网关的两台主机之间,可以互相的ping通,但是在本访问的主机上,显示的是做地址伪装主机的ip
      firewall-cmd --permanent --add-masquerade
      firewall-cmd --reload
      Linux中的火墙策略优化Linux中的火墙策略优化

    2. DNAT(目的地地址转换)
      作用:当其他主机访问做了DNAT的主机时,会访问到另一个ip地址,
      firewall-cmd --permanent --add-forward-port=port=22:proto=tcp:toaddr=1.1.1.103
      firewall-cmd --reload
      Linux中的火墙策略优化

注: 如果在每条命令后面加入–permanent 指的是永久保存,需要firewall-cmd --reload 重新加载一下,如果命令后不加–permanent则在每次刷新之后,所写的火墙策略就会失效。

iptables工具

  • iptables常用命令

    iptables 后的参数 作用
    -t 指定表名称
    -n 不做解析
    -L 查看
    -F 刷新
    -A 添加策略
    -p 协议
    –dport 目的地端口
    -s 来源
    -j 动作
    -j ACCEPT 允许
    -j DROP 丢弃
    -j REJECT 拒绝
    -j SNAT 源地址转换
    -j DNAT 目的地地址转换
    -N 新建链
    -E 更改链名称
    -X 删除链
    -D 删除规则
    -I 插入规则
    -R 更改规则
    -P 更改默认规则
  1. 查看火墙策略或者刷新火墙策略(-nL 默认显示filter表里面的策略)
    Linux中的火墙策略优化

  2. 新建链,更改链名和删除链以及修改链的默认规则
    Linux中的火墙策略优化Linux中的火墙策略优化Linux中的火墙策略优化Linux中的火墙策略优化

  3. 火墙策略的添加,修改以及删除Linux中的火墙策略优化Linux中的火墙策略优化Linux中的火墙策略优化

  • 数据包状态
RELATED 建立过连接的
ESTABLISHED 正在连接的
NEW 新的

火墙的基本策略:

  1. iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT ##所有建立过连接的或者正在连接的数据包都被接受
  2. iptables -A INPUT -m state --state NEW -i lo -j ACCEPT ##属于自身回环的新数据包都被接受
  3. iptables -A INPUT -m state --state NEW -j REJECT ##其他所有新的数据包会被拒绝(也可以另外写)
  4. 永久保存(如果没有永久保存的话,一重启服务所有写的策略都失效了)
    iptables-save > /etc/sysconfig/intablesLinux中的火墙策略优化
  • nat 表中的dnat 和snat
  1. snat
    iptable -t nat -A POSTROUTING -o enp1s0 -j SNAT --to-source 172.25.254.203Linux中的火墙策略优化

  2. dnat
    iptables -t nat -A PREROUTING -i enp1s0 -j DNAT --to-dest 1.1.1.103
    Linux中的火墙策略优化

相关文章:

  • 2021-11-30
  • 2021-12-07
  • 2022-12-23
  • 2021-08-13
  • 2022-12-23
  • 2022-12-23
  • 2022-01-11
猜你喜欢
  • 2021-11-13
  • 2021-10-26
  • 2021-12-26
  • 2021-10-28
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案