插件窝 干货文章 如何使用网络防火墙保护CentOS服务器的网络安全

如何使用网络防火墙保护CentOS服务器的网络安全

firewall sudo 防火墙 cmd 166    来源:    2025-04-16

使用网络防火墙保护CentOS服务器的网络安全指南

1. 防火墙基础概念

网络防火墙是保护CentOS服务器安全的第一道防线,它可以控制进出服务器的网络流量。CentOS系统默认使用firewalld作为防火墙管理工具(CentOS 7及以上版本)。

2. 检查防火墙状态

# 检查firewalld服务状态
sudo systemctl status firewalld

# 如果未运行,启动并设置开机自启
sudo systemctl start firewalld
sudo systemctl enable firewalld

3. 基本防火墙配置

查看当前配置

sudo firewall-cmd --state
sudo firewall-cmd --list-all

常用服务管理

# 列出预定义服务
sudo firewall-cmd --get-services

# 允许HTTP服务
sudo firewall-cmd --permanent --add-service=http

# 允许HTTPS服务
sudo firewall-cmd --permanent --add-service=https

# 允许SSH服务(默认端口22)
sudo firewall-cmd --permanent --add-service=ssh

# 重载防火墙配置
sudo firewall-cmd --reload

4. 端口管理

开放特定端口

# 开放TCP端口8080
sudo firewall-cmd --permanent --add-port=8080/tcp

# 开放UDP端口53(DNS)
sudo firewall-cmd --permanent --add-port=53/udp

# 重载配置
sudo firewall-cmd --reload

关闭端口

sudo firewall-cmd --permanent --remove-port=8080/tcp
sudo firewall-cmd --reload

5. 高级配置

区域管理

# 查看所有区域
sudo firewall-cmd --get-zones

# 查看默认区域
sudo firewall-cmd --get-default-zone

# 更改默认区域(例如改为dmz)
sudo firewall-cmd --set-default-zone=dmz

源IP限制

# 只允许特定IP访问SSH
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" service name="ssh" accept'

# 拒绝特定IP
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="10.0.0.5" reject'

6. 应急处理

完全禁用防火墙(不推荐,仅紧急使用)

sudo systemctl stop firewalld
sudo systemctl disable firewalld

清空所有规则

sudo firewall-cmd --panic-on
sudo firewall-cmd --panic-off

7. 日志监控

启用防火墙日志

# 临时启用日志
sudo firewall-cmd --set-log-denied=all

# 永久启用
sudo firewall-cmd --permanent --set-log-denied=all
sudo firewall-cmd --reload

查看日志

sudo journalctl -u firewalld -f

8. 最佳实践建议

  1. 最小权限原则:只开放必要的端口和服务
  2. 定期审查规则:删除不再需要的规则
  3. 使用区域隔离:不同服务使用不同安全区域
  4. 结合其他安全措施:防火墙应与SELinux、fail2ban等工具配合使用
  5. 测试规则:应用新规则前在非生产环境测试
  6. 备份配置:定期备份防火墙配置

通过合理配置防火墙,您可以显著提高CentOS服务器的网络安全性,有效阻止未经授权的访问和潜在的网络攻击。