【Linux安全管理】Firewalld详解

这篇具有很好参考价值的文章主要介绍了【Linux安全管理】Firewalld详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1、与iptables不同

2、配置防火墙

3、firewalld区域概念

4、filewalld 配置生效

5、firewalld服务

firewalld 端口映射

富规则 rich-rule


1、与iptables不同

  • firewalld采用区域和服务管理,而不是链式规则
  • 动态管理规则,允许更新规则而不破坏原有会话与连接

2、配置防火墙

  • firewall-cmd 命令行模式 推荐使用
  • firewall-config(如果没装图形化界面就不行)
  • vi /etc/firewalld/firewalld.conf
# (查看状态)
#  firewall-cmd --state

#(更新配置)
# firewall-cmd --reload

3、firewalld区域概念

zone

  1. trusted 信任区域     默认允许所有流量传入
  2. public 公共区域    (默认区域)默认允许ssh 服务 dhcp 
  3. external 外部区域   默认允许ssh其余均拒绝
  4. home 家庭区域       有ssh, 预定于服务等
  5. internal 内部区域     默认允许ssh 服务 dhcp服务等
  6. work 工作区域         默认ssh
  7. dmz 隔离区              
  8. block 限制区域          默认拒绝所有流量传入
  9. drop 丢弃区域            默认丢弃所有流量传入

        工作原理

        管理数据包时:

         1、先根据数据包的源IP进行相应区域的防火墙规则匹配; 如果源地址关联到特定的区域,则按特定区域的规则执行;  如果未关联到特定的区域,则按默认区域的规则执行。

        2、根据传入的网络接口,进行相应区域的防火墙规则匹配; 如果源地址关联到特定的区域,则按特定区域的规则执行;  如果未关联到特定的区域,则按默认区域的规则执行。

        绑定源地址的区域规则> 网卡绑定的区域规则> 默认区域规则

4、filewalld 配置生效

运行时配置:

  • 不中断现有连接
  • 不能修改服务配置

永久配置

  • 不立即生效,除非重启或者重新加载配置
  • 不中断现有连接
  • 可以修改服务配置
  •  注意:添加--permanent选项,表示永久配置,但是需要重启firewalld或者重新加载--reload,如果 不带这个选项,则表示用于设置运行时配置,这些规则在系统重启,firewalld重启,或者重新加载后失 效,需要将运行时配置永久生效,则需要将运行时配置规则写入配置文件中,执行firewall-cmd -- runtime-to-permanent。

5、firewalld服务

# systemctl status firewalld

# systemctl start firewalld

# systemctl enable firewalld
# 显示所有可用区域
# firewall-cmd --get-zones

# 显示当前默认区域
# firewall-cmd --get-default-zone

# 设置默认区域
# firewall-cmd --set-default-zone=public

# 显示当前使用的区域和对应网卡
# firewall-cmd --get-active-zones

# 显示指定接口绑定的区域
# firewall-cmd --get-zone-of-interface=ens33

# 为指定接口绑定区域
# firewall-cmd --zone=dmz --add-interface=ens37

# 为指定的区域更改绑定的网络接口
# firewall-cmd --zone=dmz --change-interface=ens33

# 为指定的区域删除绑定的网络接口
# firewall-cmd --zone=dmz --remove-interface=ens37

# 查看默认区域设置
# firewall-cmd --list-all

# 查看指定的区域设置
# firewall-cmd --zone=dmz --list-all

# 显示指定区域可以访问的服务
# firewall-cmd --zone=public --list-services

# 显示系统预定义的服务名
# firewall-cmd --get-service

# 为指定区域添加允许访问的服务
# firewall-cmd --zone=public --add-service=http

# 为指定区域删除允许访问的服务
# firewall-cmd --zone=public --remove-service=http

# 添加多个服务
# firewall-cmd --zone=public --add-services={http,https,redis,ssh}

# 永久生效,运行时配置结束后统一执行
# firewall-cmd --runtime-to-permanent

# 永久生效,需要在设置时加--permanent选项,但是并不是运行时生效,需要重启启动firewalld或者重
新reload
# firewall-cmd --permanent --zone=public --add-services=http
# firewall-cmd --reload 或者 systemctl restart firewalld

# 显示指定域中允许访问的端口
# firewall-cmd --zone=public --list-port

# 位指定域中添加允许访问的端口
# firewall-cmd --zone=public --add-port=22/tcp --add-port=80-100/tcp

#位指定域中删除允许访问的端口
# firewall-cmd --zone=public --remove-port=22/tcp --remove-port=80-100/tcp

如果执行命令显示success但是效果没有出现,使用firewall-cmd --reload

firewalld,Linux安全管理,linux,服务器,运维

firewalld,Linux安全管理,linux,服务器,运维

firewalld,Linux安全管理,linux,服务器,运维

firewalld,Linux安全管理,linux,服务器,运维

firewalld,Linux安全管理,linux,服务器,运维

firewalld,Linux安全管理,linux,服务器,运维

firewalld 端口映射

# 设置禁止来源IP为192.168.100.134的ip地址访问
# firewall-cmd --add-source=192.168.100.134/24 --zone=drop --类似于iptables中
DROP
# firewall-cmd --add-source=192.168.100.134/24 --zone=block --类似于iptables中
REJECT

# 设置允许来源IP为192.168.100.134的ip地址访问
# firewall-cmd --add-source=192.168.100.134/24 --zone=trusted

# 地址转发端口映射
# firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080


# firewall-cmd --zone=public --remove-forward-port=port=80:proto=tcp:toport=80:toaddr=192.168.100.134
(在访问添加了这个规则的ip的数据包会转发到192.168.100.134的80端口)

firewalld,Linux安全管理,linux,服务器,运维

firewalld,Linux安全管理,linux,服务器,运维

        当你修改了http配置文件(改端口为8080,并且重启了httpd),也添加了转发端口映射,查看服务也有http服务,为什么curl还是不通?

          因为没对外没有提供相应的8080端口;


firewalld,Linux安全管理,linux,服务器,运维

            虽然系统起的是8080端口,但是对外来说我们的端口是80端口,必须通过80端口连进来,在、才能经过映射访问到8080端口;

        所以没添加8080端口,却访问了8080端口是不行的;firewalld,Linux安全管理,linux,服务器,运维firewalld,Linux安全管理,linux,服务器,运维


firewalld,Linux安全管理,linux,服务器,运维   firewalld,Linux安全管理,linux,服务器,运维

         如果添加了8080端口,直接用8080端口进行httpd访问,而不是通过连接80端口再经端口映射转发从8080端口进行访问;

富规则 rich-rule

        只用firewalld的服务以及端口进行配置的时候限制比较多;为了解决这一问题,所以用富规则;

# 查看帮助手册
# man 5 firewalld.richlanguage


# 列出富规则
# firewall-cmd --list-rich-rule


# 添加富规则
# firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source
address="192.168.100.134" accept'
(添加富规则,允许192.168.100.134访问)

# firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source
address="192.168.100.134" port port=22 protocol=tcp reject'
(拒绝来自这个ip的22端口的访问)


# 删除富规则
# firewall-cmd --zone=public --remove-rich-rule 'rule family="ipv4" source
address="192.168.100.134" forward-port port=80 protocol=tcp to-port=8080 '

firewalld,Linux安全管理,linux,服务器,运维

firewalld,Linux安全管理,linux,服务器,运维 请求连接时被拒绝;文章来源地址https://www.toymoban.com/news/detail-528756.html

到了这里,关于【Linux安全管理】Firewalld详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux系统防火墙Firewalld

    目录 Firewalld概述 Firewalld和iptables的区别 Firewalld网络区域 区域介绍与概念 9个预定义区域 Firewalld数据处理流程 firewalld检查数据包的源地址的规则 Firewalld防火墙的配置方式 常用的firewall-cmd命令选项 服务管理 端口管理  Firewalld防火墙是Centos7系统默认的防火墙管理工具,取代了

    2024年02月14日
    浏览(43)
  • Linux 之 firewalld 防火墙

    firewalld防火墙是Centos7系统默认的防火墙管理工具,取代了之前的iptables防火墙,也是工作在网络层,属于包过滤防火墙。 firewalld和iptables都是用来管理防火墙的工具(属于用户态)来定义防火墙的各种规则功能,内部结构都指向netfilter网络过过滤子系统(属于内核态)来实现

    2024年02月06日
    浏览(41)
  • Linux中的防火墙————Firewalld

    firewalld是一个服务,这个服务提供了防火墙配置的工具 只要开启了firewalld服务,那么就可以通过firewall服务提供的工具来配置防火墙 Linux本身不具备防火墙功能,而是通过内核的net_filter模块来实现软防火墙功能,而且你必须通过iptables才能和net_filter进行交互 默认在rhel7和fe

    2024年04月10日
    浏览(44)
  • Linux CentOS stream 9 firewalld

    随着互联网行业快速发展,服务器成为用户部署网络业务重要的网络工具,但随之而来的就是更密集的网络攻击,这给网站带来了很大的阻碍。防火墙作为保障网络安全的主要设备,可以很好的抵御网络攻击。 防火墙基本上使用硬件和软件两种机制来限制流量。可以使用硬件

    2024年02月20日
    浏览(36)
  • Linux操作系统:Firewalld防火墙

    Linux操作系统:Firewalld 防火墙 课堂引入: Linux防火墙是通过netfilter来处理的,它是内核级别的框架。iptables被作为netfilter的用户态抽象层,iptables将包通过一系列的规则进行检查,如果包与特定的IP/端口/协议的组合匹配,规则就会被应用到这个包上,以决定包是被通过、拒绝

    2024年02月07日
    浏览(52)
  • linux-firewalld防火墙端口转发

    目的:通过统一地址实现对外同一地址暴露 1.系统配置文件开启 ipv4 端口转发 2.查看防火墙配置端口转发之前的状态 3.开启 IP 伪装 4.添加端口转发 5.重新加载防火墙并进行测试 附:删除端口转发 删除 IP 伪装

    2024年02月20日
    浏览(45)
  • Linux网络——shell编程之firewalld防火墙

    firewalld防火墙是Centos7系统默认的防火墙管理工具,取代了之前的iptables防火墙,也是工作在网络层,属于包过滤防火墙。 firewalld和iptables都是用来管理防火墙的工具(属于用户态)来定义防火墙的各种规则功能,内部结构都指向netfilter网络过过滤子系统(属于内核态)来实现

    2024年02月07日
    浏览(42)
  • Linux 服务器 Firewalld 防火墙配置端口转发

    业务应用系统的web容器无法更改IP地址,例如临时SSH端口,但是不想修改SSH配置;例如某些服务web服务需要通过公共IP进行统一访问;例如外网访问内网资源等;例如快速调整web容器的端口而不需要更改服务的任何配置等。 流量转发命令语法为: firewalld-cmd --permanent --zone=区域

    2024年02月06日
    浏览(50)
  • Linux防火墙firewalld不生效,无法拦截Docker映射端口

    今天出现了一个奇怪的现象,centos服务器上的防火墙(firewall)没有开放8103端口,但是依然可以访问 服务器开放的端口如下: 可以看出并没有开放8103端口 开放的服务如下: 也没有开放某三维系统,但可以正常访问 重启过防火墙,重启过服务器,仍未解决此现象。真是脑阔疼

    2024年02月04日
    浏览(97)
  • Linux:firewalld防火墙-(实验2)-IP伪装与端口转发(4)

    本章实验环境要建立在上一章之上,ip等都是继承上一章,完全在上一章之下的操作 Linux:firewalld防火墙-小环境实验(3)-CSDN博客 https://blog.csdn.net/w14768855/article/details/133996151?spm=1001.2014.3001.5501 👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆

    2024年02月08日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包