CentOS设置安全组,防火墙规则与安全组怎么协同配置?

在CentOS系统中,安全组是保障服务器安全的重要屏障,它通过控制网络流量进出服务器的规则,有效防止未授权访问和潜在攻击,合理配置安全组不仅能提升服务器安全性,还能确保必要服务的正常访问,本文将详细介绍CentOS系统中安全组的设置方法、最佳实践及注意事项,帮助用户构建可靠的安全防护体系。

CentOS设置安全组,防火墙规则与安全组怎么协同配置?

安全组的基本概念与作用

安全组(Security Group)是一种虚拟防火墙,通过定义入站(Inbound)和出站(Outbound)规则来控制服务器的网络流量,在CentOS中,安全组通常与云服务提供商(如阿里云、腾讯云)的网络服务集成,也可通过系统自带的防火墙工具(如firewalld、iptables)实现,其核心作用包括:限制特定端口的访问、阻止恶意IP地址、允许合法服务流量(如SSH、HTTP)等。

使用firewalld配置安全组

CentOS 7及以上版本默认使用firewalld作为防火墙管理工具,其动态规则管理功能更适合云环境下的安全组配置,以下是具体操作步骤:

启动并启用firewalld服务

sudo systemctl start firewalld  
sudo systemctl enable firewalld  

通过firewall-cmd --state命令确认服务状态为“running”。

添加安全规则

以允许SSH(默认端口22)和HTTP(端口80)为例,执行以下命令:

sudo firewall-cmd --permanent --add-service=ssh  
sudo firewall-cmd --permanent --add-service=http  

--permanent参数确保规则重启后仍生效,若需临时测试可省略该参数。

CentOS设置安全组,防火墙规则与安全组怎么协同配置?

限制特定IP访问SSH

为增强安全性,仅允许指定IP(如192.168.1.100)访问SSH:

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" service name="ssh" accept'  

禁用危险端口

默认情况下,CentOS可能开放不必要的端口(如Telnet的23端口),需手动关闭:

sudo firewall-cmd --permanent --remove-service=telnet  

重新加载防火墙配置

sudo firewall-cmd --reload  

通过sudo firewall-cmd --list-all查看当前生效的规则。

使用iptables配置安全组

对于CentOS 6或习惯使用iptables的用户,可通过以下步骤配置:

安装iptables服务

sudo yum install iptables-services -y  
sudo systemctl start iptables  
sudo systemctl enable iptables  

添加规则

允许本地回环和已建立的连接:

CentOS设置安全组,防火墙规则与安全组怎么协同配置?

sudo iptables -A INPUT -i lo -j ACCEPT  
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT  

允许SSH和HTTP访问:

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT  
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT  

拒绝其他所有入站流量:

sudo iptables -P INPUT DROP  

保存规则

sudo service iptables save  

安全组配置的最佳实践

  1. 最小权限原则:仅开放必要的端口和服务,避免全通规则。
  2. 定期审计规则:通过firewall-cmd --list-alliptables -L检查冗余规则,及时清理无用配置。
  3. 使用默认拒绝策略:将默认入站策略设置为“拒绝”(DROP),仅明确允许的流量可通过。
  4. 限制管理端口访问:将SSH等管理端口限制为内网IP或特定IP段,避免公网直接暴露。
  5. 结合云平台安全组:若使用云服务器,需同时配置云平台安全组与系统防火墙,避免规则冲突。

常见问题与注意事项

  1. 配置后无法远程连接:检查是否误放行了SSH端口或防火墙规则未正确加载,可通过控制台VNC登录排查。
  2. 规则冲突:firewalld与iptables不可同时运行,需禁用未使用的服务(sudo systemctl disable iptables)。

FAQs

Q1: 如何在CentOS中查看当前生效的安全组规则?
A1: 使用firewalld时,执行sudo firewall-cmd --list-all;若使用iptables,运行sudo iptables -L -n -v,其中-n避免域名解析,-v显示详细信息。

Q2: 误操作导致无法SSH登录服务器,如何紧急恢复?
A2: 若通过云平台,可控制台VNC登录后临时关闭防火墙(sudo systemctl stop firewalldsudo iptables -F);若本地服务器,直接连接物理终端,检查并修正规则后重启防火墙服务。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-11-12 19:37
下一篇 2025-11-12 19:43

相关推荐

  • CentOS SSHd Root权限配置中,是否存在安全风险及如何规避?

    CentOS SSHd 配置与 root 权限管理SSH 简介SSH(Secure Shell)是一种网络协议,用于计算机之间的安全通信和数据传输,SSH协议支持多种加密算法,能够确保数据传输的安全性,在CentOS系统中,SSHd是负责实现SSH协议的服务器端程序,CentOS SSHd 配置安装SSH服务在……

    2026-01-10
    004
  • 如何设置CentOS服务器永不休眠,防止自动挂起?

    在许多应用场景中,例如运行关键服务的服务器、执行长时间计算任务的工作站,或是需要随时进行远程访问的设备,确保CentOS系统不会自动进入休眠或睡眠状态是至关重要的,系统意外休眠可能导致服务中断、任务失败或远程连接断开,本文将详细介绍如何在CentOS系统中,通过命令行和图形界面两种方式,彻底禁用休眠与睡眠功能……

    2025-10-10
    0028
  • CentOS版本众多,如何准确看 centos 版本并选择合适的版本?

    CentOS版本概览CentOS简介CentOS(Community Enterprise Operating System)是一个基于Red Hat Enterprise Linux(RHEL)源代码构建的免费操作系统,它提供了稳定、可靠的Linux环境,广泛应用于服务器、桌面等领域,本文将详细介绍CentO……

    2026-02-01
    006
  • CentOS如何查看和清除DNS缓存?命令有哪些?

    在CentOS系统中,DNS缓存扮演着重要角色,它能够加速域名解析过程,减少对外部DNS服务器的依赖,有时我们需要查看DNS缓存的内容,以便排查网络问题或验证解析结果,本文将详细介绍在CentOS系统中查看DNS缓存的方法、相关工具的使用以及注意事项,查看DNS缓存的重要性DNS缓存记录了用户近期访问过的域名及……

    2025-12-03
    008

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信