在 Debian 12 上安装和配置一个好的防火墙工具可以帮助你保护服务器安全。根据之前的讨论,我推荐你使用 firewalld
,因为它提供了灵活性,并且能够动态管理防火墙规则,同时保持较高的易用性。
安装 firewalld
以下是安装和配置 firewalld
的步骤:
1. 安装 firewalld
首先,确保你的包列表是最新的,然后安装 firewalld
:
sudo apt update
sudo apt install firewalld
2. 启动并启用 firewalld
安装完成后,启动 firewalld
并设置为开机自动启动:
sudo systemctl start firewalld
sudo systemctl enable firewalld
3. 配置 firewalld
firewalld
使用 "区域" 的概念,每个区域可以有不同的防火墙规则。默认情况下,服务器上的所有网络接口都分配到 "public" 区域。我们将配置允许 SSH、HTTP、HTTPS 和 FTP 流量。
允许 SSH 流量
首先,确保你不会在启用防火墙后失去 SSH 连接:
sudo firewall-cmd --zone=public --permanent --add-service=ssh
允许 HTTP 和 HTTPS 流量
接下来,允许 HTTP 和 HTTPS 流量以确保网站服务正常运行:
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
允许 FTP 流量
如果你需要 FTP 服务,允许 FTP 流量:
sudo firewall-cmd --zone=public --permanent --add-service=ftp
重新加载防火墙规则
在添加或修改规则后,你需要重新加载 firewalld
以使更改生效:
sudo firewall-cmd --reload
4. 验证配置
你可以使用以下命令查看当前配置的规则和允许的服务:
sudo firewall-cmd --zone=public --list-all
5. 配置其他服务(可选)
根据需要,你可以配置其他服务或端口。例如,如果你使用特定端口或服务,可以使用以下命令添加相应规则:
sudo firewall-cmd --zone=public --permanent --add-port=12345/tcp
6. 启用日志记录(可选)
如果你想启用防火墙日志记录,以监控和审查连接情况:
sudo firewall-cmd --set-log-denied=all
sudo systemctl restart firewalld
总结
firewalld
是一个功能强大且灵活的防火墙工具,非常适合在 Debian 12 上使用。通过上述步骤,你可以保护你的服务器免受未经授权的访问,同时确保关键服务的正常运行。如果你有更多问题或需要进一步的帮助,随时告诉我!
停留在世界边缘,与之惜别