前言

在服务器管理中,防火墙规则的设置是确保服务器安全性的关键步骤。CentOS作为一款广泛使用的Linux发行版,内置了Firewalld防火墙,它提供了一套灵活且强大的工具来管理网络流量。本文将详细介绍如何在CentOS上设置防火墙规则,以确保服务器安全。

Firewalld基础概念

区域(Zone)

Firewalld将网络接口分组到不同的区域中。每个区域可以定义一组预定义的安全规则,例如:

  • public:默认区域,通常用于公共网络。
  • trusted:信任区域,通常用于内部网络。
  • internal:内部区域,适用于企业内部网络。
  • dmz:隔离区域,用于将服务器放置在非信任和非受信任网络之间。

服务(Service)

服务是一组预定义的规则集合,可以通过名称来指代一组特定的端口和协议。例如:

  • HTTP:通常使用端口80。
  • HTTPS:通常使用端口443。
  • SSH:通常使用端口22。

端口(Port)

端口是网络通信的端点,每个服务通常使用一个或多个端口。

常用命令

以下是一些设置Firewalld防火墙规则的常用命令:

查看指定区域的规则

firewall-cmd --get-active-zones

开放端口

firewall-cmd --zone=public --add-port=80/tcp

添加服务

firewall-cmd --zone=public --add-service=http

删除端口/服务

firewall-cmd --zone=public --remove-port=80/tcp
firewall-cmd --zone=public --remove-service=http

Firewalld实例操作

开放SSH访问(端口22)

firewall-cmd --zone=public --add-port=22/tcp

开放HTTP和HTTPS服务

firewall-cmd --zone=public --add-service=http
firewall-cmd --zone=public --add-service=https

将网络接口从默认的public区域移动到trusted区域

firewall-cmd --zone=public --change-interface=eth0 --to-zone=trusted

禁止Ping请求

firewall-cmd --zone=public --add-masquerade

允许特定IP访问SSH端口

firewall-cmd --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept"

Firewalld配置文件路径

Firewalld的配置文件通常位于/etc/firewalld/zones/目录下。

结语

通过以上指南,您可以轻松地在CentOS上设置Firewalld防火墙规则,以增强服务器的安全性。定期审查和更新防火墙规则是维护服务器安全的重要步骤。记住,安全配置是一个持续的过程,需要不断适应新的威胁和需求。