插件窝 干货文章 如何使用防火墙设置CentOS服务器的网络传输安全

如何使用防火墙设置CentOS服务器的网络传输安全

firewall sudo 端口 permanent 216    来源:    2025-04-15

CentOS服务器防火墙配置指南:增强网络传输安全

一、防火墙基础配置

1. 检查防火墙状态

sudo systemctl status firewalld

2. 启动/停止防火墙服务

# 启动防火墙
sudo systemctl start firewalld

# 停止防火墙
sudo systemctl stop firewalld

# 设置开机自启
sudo systemctl enable firewalld

二、基本安全规则配置

1. 查看当前规则

sudo firewall-cmd --list-all

2. 允许/拒绝特定服务

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

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

# 允许SSH服务(建议修改默认端口后再开放)
sudo firewall-cmd --permanent --add-service=ssh

# 拒绝FTP服务
sudo firewall-cmd --permanent --remove-service=ftp

3. 允许/拒绝特定端口

# 允许自定义端口(例如8080)
sudo firewall-cmd --permanent --add-port=8080/tcp

# 拒绝危险端口(例如telnet的23端口)
sudo firewall-cmd --permanent --remove-port=23/tcp

三、高级安全配置

1. 区域管理

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

# 设置默认区域(推荐使用dmz或work)
sudo firewall-cmd --set-default-zone=dmz

2. IP地址限制

# 仅允许特定IP访问SSH(替换为你的IP)
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" service name="ssh" accept'

# 拒绝特定IP访问
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.0.0.5" drop'

3. 速率限制(防止DDoS)

# 限制每个IP每分钟最多20个新连接
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="0.0.0.0/0" service name="http" limit value="20/m" accept'

四、网络地址转换(NAT)

1. 端口转发

# 将外部8080端口转发到内部80端口
sudo firewall-cmd --permanent --add-forward-port=port=8080:proto=tcp:toport=80

2. IP伪装(用于网关服务器)

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

五、应用配置并测试

1. 重载防火墙配置

sudo firewall-cmd --reload

2. 测试规则是否生效

# 测试端口是否开放(从另一台机器)
telnet your_server_ip 22
# 或使用
nc -zv your_server_ip 80

六、安全建议

  1. 最小权限原则:只开放必要的端口和服务
  2. 定期审查规则:使用firewall-cmd --list-all检查当前规则
  3. 日志监控:配置并监控/var/log/firewalld日志
  4. 结合其他安全措施

    • 使用fail2ban防止暴力破解
    • 配置SELinux增强安全性
    • 定期更新系统和防火墙规则
  5. 备份配置

sudo cp /etc/firewalld/zones/public.xml /etc/firewalld/zones/public.xml.bak

通过以上配置,您可以有效增强CentOS服务器的网络传输安全性,防止未经授权的访问和常见网络攻击。