
香港VPS服务器购买后如何设置防火墙?
2025-07-14 15:05
阅读量:10
在购买VPS服务器后,设置防火墙是保护服务器免受恶意攻击和未授权访问的重要步骤。
1. 为什么需要设置防火墙
防火墙可以:
- 控制进入和离开服务器的网络流量。
- 限制对特定端口的访问,防止暴力破解。
- 阻止不必要的服务暴露在互联网上。
2. 准备工作
2.1 收集服务器信息
在配置防火墙前,确保您了解以下信息:
- SSH 端口:通常为
22
,但建议自定义以增强安全性。 - 需要开放的端口:例如:
- HTTP (
80
) 和 HTTPS (443
)。 - 数据库端口(如 MySQL
3306
或 PostgreSQL5432
)。 - 其他自定义服务端口。
- HTTP (
2.2 登录服务器
通过 SSH 登录到您的香港VPS服务器:
bash
ssh root@<服务器IP地址>
3. 使用 UFW 配置防火墙(适用于 Ubuntu/Debian 系统)
3.1 安装 UFW
某些系统可能未预先安装 UFW,您可以手动安装:
bash
sudo apt update
sudo apt install ufw
3.2 设置默认规则
配置默认规则以增强安全性:
bash
# 默认拒绝所有传入流量
sudo ufw default deny incoming
# 默认允许所有传出流量
sudo ufw default allow outgoing
3.3 开放必要的端口
开放以下常见端口:
bash
# 开放 SSH 端口(默认22,或您自定义的端口)
sudo ufw allow 22
# 开放 HTTP 和 HTTPS 端口
sudo ufw allow 80
sudo ufw allow 443
# 如果需要 MySQL:
sudo ufw allow 3306
# 如果需要 PostgreSQL:
sudo ufw allow 5432
3.4 启用防火墙
启用防火墙并查看状态:
bash
sudo ufw enable
sudo ufw status verbose
3.5 防止锁定 SSH
为了避免意外断开 SSH 连接,可以在启用防火墙之前确认开放的 SSH 端口:
bash
sudo ufw allow <SSH自定义端口>
4. 使用 iptables 配置防火墙(适用于所有 Linux 系统)
iptables
是一个功能强大的防火墙工具,适用于需要更细粒度控制的场景。
4.1 查看现有规则
先查看当前的规则:
bash
sudo iptables -L -n -v
4.2 设置基本规则
- 删除现有规则(可选):
bash
sudo iptables -F sudo iptables -X
- 默认规则:
bash
# 拒绝所有传入流量 sudo iptables -P INPUT DROP # 允许所有传出流量 sudo iptables -P OUTPUT ACCEPT # 允许本地环回接口 sudo iptables -A INPUT -i lo -j ACCEPT
- 开放必要端口:
bash
# 开放 SSH sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 开放 HTTP 和 HTTPS sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
- 防止 Ping 攻击(可选):
bash
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
4.3 保存规则
配置完成后,确保规则在重启后生效:
- CentOS/RHEL:
bash
sudo service iptables save
- Debian/Ubuntu:
安装iptables-persistent
:bashsudo apt install iptables-persistent sudo netfilter-persistent save
5. 使用 firewalld 配置防火墙(适用于 CentOS/RHEL 系统)
5.1 安装 firewalld
某些系统可能未安装 firewalld:
bash
sudo yum install firewalld -y
sudo systemctl start firewalld
sudo systemctl enable firewalld
5.2 配置基本规则
- 查看默认区域:
bash
sudo firewall-cmd --get-active-zones
- 开放端口:
bash
# 开放 SSH(默认22) sudo firewall-cmd --permanent --add-port=22/tcp # 开放 HTTP 和 HTTPS sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https # 开放 MySQL sudo firewall-cmd --permanent --add-port=3306/tcp
- 重新加载规则:
bash
sudo firewall-cmd --reload
5.3 查看规则
查看当前配置:
bash
sudo firewall-cmd --list-all
6. 测试防火墙配置
-
从本地测试端口开放情况
- 使用
telnet
或nc
测试端口是否开放:bashtelnet <服务器IP> 22
- 使用
-
在线端口扫描
- 使用工具(如
nmap
)扫描开放的端口:bashnmap -p- <服务器IP>
- 使用工具(如
-
访问网站
- 打开浏览器访问您的网站,确保 HTTP 和 HTTPS 服务正常运行。
7. 防火墙规则的维护和优化
-
定期检查规则
- 每隔一段时间检查防火墙规则:
bash
sudo ufw status sudo iptables -L
- 每隔一段时间检查防火墙规则:
-
限制特定 IP/国家的访问
- 阻止特定 IP:
bash
sudo ufw deny from <IP地址>
- 仅允许特定 IP 访问:
bash
sudo ufw allow from <IP地址> to any port 22
- 阻止特定 IP:
-
启用防暴力破解工具
- 使用工具如 Fail2Ban 防止暴力破解 SSH:
bash
sudo apt install fail2ban
- 使用工具如 Fail2Ban 防止暴力破解 SSH:
8. 总结
香港VPS服务器防火墙配置核心要点:
- 设置默认规则:拒绝所有传入流量,只开放必要端口。
- 开放必要端口:确保服务(如 SSH、HTTP、HTTPS)正常运行。
- 保护 SSH 端口:建议更改默认 SSH 端口,并通过防火墙限制访问。
- 定期检查和优化:根据实际需求更新规则。
- 启用日志监控:记录并分析防火墙拦截的流量。
通过以上步骤,您可以有效保护香港VPS服务器免受攻击,确保网站和服务的安全稳定运行。
上一篇:香港服务器购买后如何配置海外邮件服务器?
下一篇:香港服务器网站如何修复Not Found错误?