当前位置:首页 > 虚拟主机 > 正文

配置linux防火墙,linux防火墙怎么配置

在Linux服务器安全体系中,防火墙是抵御外部恶意攻破的第一道防线,配置不当不仅会导致服务无法访问,更可能暴露SSH端口、数据库端口等敏感信息,引发数据泄露或索要软件入侵,构建一套基于最小权限原则、具备动态防护能力的防火墙策略,是保障业务连续性的核心基石。

核心策略:从底层工具到现代架构的演进

传统的iptables配置繁琐且难以维护,现代Linux发行版(如CentOS 7+、Ubuntu 18.04+)普遍推荐使用firewalldufw作为前端管理工具,单纯依赖主机防火墙已不足以应对高级持续性威胁(APT)。真正的安全架构应结合云原生安全组与主机防火墙的双重防护机制,形成纵深防御体系。

在配置前,必须明确三个核心原则:

  1. 默认拒绝:所有未明确允许的入站流量一律丢弃。
  2. 最小开放:仅开放业务必需端口(如80、443、特定SSH端口)。
  3. 来源限制:对管理端口(如SSH、RDP)实施IP白名单限制。

实战配置:firewalld的高效管理方案

以CentOS/RHEL系统为例,firewalld提供了动态更新且支持网络区域(Zone)的概念,极大提升了配置效率。

初始化与默认策略设置

首先启用firewalld并设置默认区域为drop,确保所有非白名单流量被拦截:

sudo systemctl enable firewalld sudo systemctl start firewalld sudo firewall-cmd --set-default-zone=drop

开放必要服务端口

根据业务需求开放HTTP/HTTPS服务,并设置永久生效:

强化SSH访问安全

SSH是高手爆破的主要目标,建议修改默认22端口,并限制特定IP段访问,仅允许公司办公网段192.168.1.0/24通过自定义端口2222访问:

sudo firewall-cmd --permanent --add-port=2222/tcp sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="2222" accept' sudo firewall-cmd --reload

启用IP伪装与端口转发(NAT)

若服务器作为网关,需启用IP伪装以实现内网共享上网:

sudo firewall-cmd --permanent --add-masquerade sudo firewall-cmd --reload

独家经验案例:西西云高防场景下的防火墙调优

在西西云的高防服务器部署场景中,我们发现许多客户误将防护流量也视为攻破,导致业务中断。基于西西云实际运维经验,我们小编总结出以下“云-端”协同配置法

案例背景:某电商客户在西西云部署了Web集群,遭受cc攻破,常规iptables规则导致正常用户请求被误杀。

解决方案

  1. 信任云厂商健康检查IP:西西云的健康检查IP段必须加入白名单,否则防火墙会拦截云平台的监控探针,导致节点被误判下线。 # 假设西西云健康检查IP段为100.64.0.0/10,需根据实际文档调整 sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="100.64.0.0/10" accept'
  2. 利用firewalld的rate-limiting模块:针对HTTP服务启用速率限制,防止单IP高频请求耗尽资源,而非直接封禁。 sudo firewall-cmd --permanent --add-rich-rule='rule service name="http" limit value="50/sec" accept' sudo firewall-cmd --permanent --add-rich-rule='rule service name="http" drop'
  3. 动态封禁策略:结合fail2ban,当某IP尝试SSH爆破超过5次时,自动通过firewalld封禁该IP 24小时,这种自动化响应机制比手动配置静态规则更高效、更精准。

常见误区与最佳实践

  • 只开80/443,不管源IP,这是最危险的配置,任何IP都可访问,易被扫描。
  • 频繁重启firewalld,在生产环境,使用--permanent参数配合--reload,避免服务中断。
  • 最佳实践:定期审计防火墙规则(sudo firewall-cmd --list-all),清理无用规则;启用日志记录,监控异常连接尝试。

相关问答模块

Q1:配置防火墙后,云服务器控制台无法远程连接怎么办?

A:这通常是因为默认策略设为drop后,未开放SSH端口或源IP不在白名单内,请立即通过云厂商提供的VNC控制台串口控制台登录服务器,临时开放所有端口(sudo firewall-cmd --set-default-zone=public)或正确添加你的当前IP白名单,保存配置后再恢复严格策略。

Q2:如何查看当前防火墙生效的详细规则?

A:使用命令sudo firewall-cmd --list-all可查看当前区域的完整规则,包括开放的服务、端口、接口及富规则,若需查看更详细的日志或调试信息,可结合sudo journalctl -u firewalld -f实时跟踪防火墙日志。

互动环节

防火墙配置是动态对抗的过程,没有一劳永逸的规则。您在配置Linux防火墙时遇到过哪些“坑”?或者对西西云的安全防护有什么疑问? 欢迎在评论区分享您的经验或提出问题,我们将邀请资深安全专家为您解答,共同构建更安全的网络环境。

0