Centos7 防火墙策略rich-rule 限制ip访问-----图文详解

简介: Centos7 防火墙策略rich-rule 限制ip访问-----图文详解



一、常用命令 这是通用的使用方案

1.查看下防火墙的状态:systemctl status firewalld      
  systemctl stop firewalld 关闭   
  systemctl disable firewalld  开机不启永久关闭   
2.查看已开放的端口
firewall-cmd --zone=public --list-ports      
firewall-cmd --permanent --zone=public --add-port=8484/tcp
3.重启防火墙 firewall-cmd --reload

二 、需求和-----策略rich-rule 重点

需求:正常情况是服务开启3306端口,但是现在是 只想让某个ip访问3306,也就是3306只给固定的IP开放,然后别的ip就访问不到。

这是在public中作策略,单独放开某个ip某个访问某个端口。

1、添加允许规则:add-rich-rule accept

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.11.8" port protocol="tcp" port="3306" accept"

2、移除规则

firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.11.8" port protocol="tcp" port="3306" accept"

3、添加拒绝策略:reject

firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=192.168.200.113 reject"

4重启

firewall-cmd  --reload

5.查看

firewall-cmd --list-all --zone=public

这就是允许某个ip访问指定的端口。如果要放下端口还是原来的firewall-cmd --permanent --zone=public --add-port=8484/tcp 这个命令。

三、使用说明

简单介绍一下,Firewalld 一般已经默认内置了 9 个区域(zone),每个区域有不同的规则,加入你是服务器,ok你只需配一个区域,如果是公司和家,你就可以在公司是一个区域,在家是一个区域设置不同的策略。

1.查看当前所有区域的规则 firewall-cmd --list-all-zones

2.查看当前默认区域 firewall-cmd --get-default-zone

firewall-cmd --get-default-zone

 3.查看单个区域public的规则    firewall-cmd --list-all --zone=public    

firewall-cmd --list-all --zone=public

4.切换区域

查看当前活跃的区域

[root@kylin network-scripts]# firewall-cmd --get-active-zone
public
  interfaces: ens33

切换网卡接口到默认区域

firewall-cmd --permanent --change-interface=ens33 --zone=drop
 或
firewall-cmd --permanent --add-interface=ens33 --zone=drop
firewall-cmd --reload   #修改后需要重启

查看 firewall-cmd --get-active-zone

说完策略这下就要往策略里面添加规则了。

四、策略说明

Firewalld 中的基本概念 区域(zone)

区域(zone)基本上是一组规则,它们决定了允许哪些流量,具体取决于你对计算机所连接的网络的信任程度。为网络接口分配了一个区域,以指示防火墙应允许的行为。

Firewalld 一般已经默认内置了 9 个区域(zone),大部分情况下,这些已经足够使用,按从最不信任到最受信任的顺序为:

drop:最低信任级别。所有传入的连接都将被丢弃而不会回复,并且只能进行传出连接。

block:与上述类似,但不是简单地删除连接,而是使用 icmp-host-prohibitedor 和 icmp6-adm-prohibited 消息拒绝传入的请求。

public:表示不信任的公共网络。您不信任其他计算机,但可能会视情况允许选择的传入连接。默认情况下,此区域为激活状态。

external:如果你使用防火墙作为网关,则为外部网络。将其配置为 NAT 转发,以便你的内部网络保持私有但可访问。

internal:external 区域的另一侧,用于网关的内部。这些计算机值得信赖,并且可以使用一些其他服务。

dmz:用于 DMZ (DeMilitarized Zone) 中的计算机(将无法访问网络其余部分的隔离计算机),仅允许某些传入连接。

work:用于工作机。信任网络中的大多数计算机。可能还允许其他一些服务。

home:家庭环境。通常,这意味着您信任其他大多数计算机,并且将接受其他一些服务。

trusted:信任网络中的所有计算机。可用选项中最开放的,应谨慎使用。

五、更高级用法

严格:默认区域设置为drop区域,允许的放入trusted区域

通过将当前默认区域pubilc切换到drop区,拒绝所有,然后在trusted区域中在添加白名单

宽松:默认区域设置为trusted区域,拒绝的单独放入drop区域

1.切换为drop区域

firewall-cmd --set-default-zone=drop
firewall-cmd --get-active-zone
firewall-cmd --permanent  --change-interface=ens33 --zone=drop

查看

2. 将允许的IP或者IP段加入trusted白名单

firewall-cmd --permanent --add-source=192.168.1.11 --zone=trusted #添加ip
firewall-cmd --reload  #重启
firewall-cmd  --list-all --zone=trusted  查看
[root@ky]# firewall-cmd --permanent --add-source=192.168.1.11 --zone=trusted
success
[root@bogon ~]# firewall-cmd --reload
success
[root@ky]# firewall-cmd  --list-all --zone trusted
trusted (active)
  target: ACCEPT
  icmp-block-inversion: no
  interfaces: 
  sources: 192.168.1.11
  services: 
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules:

这里面也可以添加放行的端口

firewall-cmd --permanent --zone=trusted--add-port=80/tcp   ##添加80端口到白名单 执行

firewall-cmd --reload                                                             ##重启防火墙

firewall-cmd --zone=trusted --list-ports                                   ##查看已开放的端口

ok,这就完成了。

参考:Firewalld - Fedora Project Wiki

firewalld 防火墙策略_firewalld默认规则_可问春风的博客-CSDN博客

目录
相关文章
|
存储 网络协议 安全
【Azure 环境】ARM部署模板大于4MB的解决方案及Linked Template遇见存储账号防火墙无法访问
【Azure 环境】ARM部署模板大于4MB的解决方案及Linked Template遇见存储账号防火墙无法访问
359 0
|
Ubuntu 安全 Linux
CentOS与Ubuntu中防火墙配置命令集汇
有了这些,你就能遨游在 CentOS 和 Ubuntu 的海洋中,频繁地改变你的防火墙设置,快速地应对各种安全威胁,同时也能保证你的系统可以正常工作。出发吧,勇敢的编程者,随着这些命令集的涌动,扬帆起航,走向安全的网络世界!
616 5
|
Ubuntu 安全 网络协议
ubuntu22.04防火墙策略
在Ubuntu 22.04中,配置防火墙策略是保障系统安全的关键。UFW提供了简便的界面,适合大多数用户,而iptables则提供了更为强大的功能,适合高级用户和复杂环境。通过合理设计防火墙策略,可以有效防止未经授权的访问,提升系统的安全性和稳定性。无论是通过UFW还是iptables,定期审查和更新防火墙规则都是必不可少的,以应对不断变化的安全威胁。
1302 3
|
安全 Linux 网络安全
centos7中firewall防火墙的常用命令总结
以上命令集覆盖了 `firewalld`的基本操作,是维护CentOS 7系统安全不可或缺的工具。对于更高级的配置需求或遇到特定问题
913 3
|
网络协议 Linux Python
Python脚本配置Centos静态ip地址
这是一个Python脚本,用于自动化配置CentOS系统的静态IP地址。脚本创建或修改文件,填写接口名(如ens33)、IP地址、子网掩码、网关和DNS。运行时需替换变量值并使用`sudo`以管理员权限执行。完成配置后,它会重启网络服务。注意,用户应根据实际网络环境调整参数。
505 4
Python脚本配置Centos静态ip地址
|
存储 网络安全 数据中心
【Azure 存储服务】App Service 访问开启防火墙的存储账号时遇见 403 (This request is not authorized to perform this operation.)
【Azure 存储服务】App Service 访问开启防火墙的存储账号时遇见 403 (This request is not authorized to perform this operation.)
459 0
【Azure 存储服务】App Service 访问开启防火墙的存储账号时遇见 403 (This request is not authorized to perform this operation.)
|
网络协议 Shell Linux
Shell脚本配置Centos静态ip地址
这是一个用于在CentOS上设置静态IP的Shell脚本摘要: - 脚本交互式获取用户输入的IP地址、子网掩码、网关和DNS。 - 使用`sed`命令动态更新`/etc/sysconfig/network-scripts/ifcfg-ENS33`配置文件。 - 修改`BOOTPROTO`为`static`,并设置IP、NETMASK、GATEWAY和DNS1字段。 - 用`systemctl restart network`重启网络服务。 - 提示用户新配置的静态IP信息。
819 5
|
网络安全 Docker 容器
【Bug修复】秒杀服务器异常,轻松恢复网站访问--从防火墙到Docker服务的全面解析
【Bug修复】秒杀服务器异常,轻松恢复网站访问--从防火墙到Docker服务的全面解析
817 0
|
安全 网络协议 网络安全
防火墙之安全策略
防火墙之安全策略
846 7
|
Shell Linux 应用服务中间件
centos系统内容器部署服务访问不到是因为run后面加了bash
centos系统内容器部署服务访问不到是因为run后面加了bash