首页主机资讯CentOS防火墙安全策略如何制定

CentOS防火墙安全策略如何制定

时间2025-10-11 13:14:04发布访客分类主机资讯浏览784
导读:CentOS防火墙安全策略制定指南 CentOS系统中,firewalld是默认的防火墙管理工具(CentOS 7及以上版本),其通过“区域(Zone)”概念组织规则,实现分级流量控制。以下是制定安全策略的具体步骤: 1. 基础准备:安装与...

CentOS防火墙安全策略制定指南
CentOS系统中,firewalld是默认的防火墙管理工具(CentOS 7及以上版本),其通过“区域(Zone)”概念组织规则,实现分级流量控制。以下是制定安全策略的具体步骤:

1. 基础准备:安装与启动firewalld

确保firewalld已安装并运行:

# 安装firewalld(若未安装)
sudo yum install firewalld -y  

# 启动服务并设置开机自启
sudo systemctl start firewalld  
sudo systemctl enable firewalld  

验证状态:

sudo firewall-cmd --state  # 应返回“running”

2. 配置默认区域策略(第一道防线)

firewalld预定义了public(公共)、home(家庭)、work(工作)等区域,其中public为默认区域(适用于对外提供服务的主机)。核心原则:默认拒绝所有未明确允许的流量

  • 查看当前默认区域:
    sudo firewall-cmd --get-default-zone  
    
  • 修改默认区域(如设为public,更严格):
    sudo firewall-cmd --set-default-zone=public  
    
  • 将网络接口绑定到对应区域(如eth0绑定到public):
    sudo firewall-cmd --zone=public --add-interface=eth0 --permanent  
    sudo firewall-cmd --reload  
    

3. 最小化开放端口(减少攻击面)

仅开放业务必需的端口,避免不必要的服务暴露:

  • 开放单个端口(如HTTP的80/tcp、SSH的22/tcp):
    sudo firewall-cmd --zone=public --add-port=80/tcp --permanent  
    sudo firewall-cmd --zone=public --add-port=22/tcp --permanent  
    
  • 开放服务(更便捷,自动关联端口)(如httphttpsssh):
    sudo firewall-cmd --zone=public --add-service=http --permanent  
    sudo firewall-cmd --zone=public --add-service=https --permanent  
    
  • 移除不必要的端口(如关闭闲置的9001/tcp):
    sudo firewall-cmd --zone=public --remove-port=9001/tcp --permanent  
    
  • 重新加载配置使更改生效:
    sudo firewall-cmd --reload  
    
  • 查看当前开放的端口和服务:
    sudo firewall-cmd --zone=public --list-ports  # 查看开放端口
    sudo firewall-cmd --zone=public --list-services  # 查看开放服务
    

4. 使用富规则(Rich Rules)实现精细化控制

富规则支持基于IP地址、协议、时间段、用户等条件的复杂过滤,提升安全性:

  • 允许特定IP访问SSH(如仅允许公司IP 192.168.1.100访问22端口):
    sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'  
    
  • 拒绝特定IP段访问Web服务(如拒绝192.168.2.0/24访问80端口):
    sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.2.0/24" port protocol="tcp" port="80" reject'  
    
  • 限制时间段访问(如仅允许上班时间(9:00-18:00)访问80端口):
    sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="80" accept time start="09:00" end="18:00"'  
    
  • 重新加载配置:
    sudo firewall-cmd --reload  
    

5. 配置日志记录(监控与审计)

启用日志记录可追踪防火墙活动,便于排查异常:

  • 设置日志前缀(如“Firewall:”):
    sudo firewall-cmd --permanent --add-log-prefix="Firewall: "  
    
  • 调整日志级别(如记录拒绝的流量):
    sudo firewall-cmd --permanent --set-log-denied=all  # 记录所有拒绝的流量(可选:all/unicast/broadcast/multicast)
    
  • 查看实时日志(过滤firewalld相关记录):
    sudo tail -f /var/log/messages | grep firewalld  
    

6. 结合SELinux增强安全(深度防御)

SELinux是CentOS的安全增强模块,可与firewalld协同工作:

  • 启用SELinux(临时生效):
    sudo setenforce 1  
    
  • 永久生效:编辑/etc/selinux/config,将SELINUX=enforcing(强制模式,推荐)。
  • 配置SELinux端口标签(如允许SSH使用非标准端口2222):
    sudo semanage port -a -t ssh_port_t -p tcp 2222  
    

7. 定期维护与优化

  • 定期审查规则:每月检查一次firewall-cmd --list-all,移除不再需要的端口或规则。
  • 更新firewalld:及时升级firewalld以修复安全漏洞:
    sudo yum update firewalld -y  
    
  • 备份规则:定期备份配置文件(/etc/firewalld/目录),便于恢复:
    sudo tar -czvf firewalld_backup.tar.gz /etc/firewalld/  
    

通过以上步骤,可构建一个最小化开放、精细化控制、可监控审计的CentOS防火墙安全策略,有效降低服务器遭受攻击的风险。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS防火墙安全策略如何制定
本文地址: https://pptw.com/jishu/723526.html
CentOS防火墙限制访问IP方法 centos下nodejs如何性能测试

游客 回复需填写必要信息