香港VPS服务器购买后如何设置防火墙?

购买VPS服务器后,设置防火墙是保护服务器免受恶意攻击和未授权访问的重要步骤。


1. 为什么需要设置防火墙

防火墙可以:

  • 控制进入和离开服务器的网络流量。
  • 限制对特定端口的访问,防止暴力破解。
  • 阻止不必要的服务暴露在互联网上。

2. 准备工作

2.1 收集服务器信息

在配置防火墙前,确保您了解以下信息:

  • SSH 端口:通常为 22,但建议自定义以增强安全性。
  • 需要开放的端口:例如:
    • HTTP (80) 和 HTTPS (443)。
    • 数据库端口(如 MySQL 3306 或 PostgreSQL 5432)。
    • 其他自定义服务端口。

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 设置基本规则

  1. 删除现有规则(可选):
    bash
    sudo iptables -F
    sudo iptables -X
    
  2. 默认规则:
    bash
    # 拒绝所有传入流量
    sudo iptables -P INPUT DROP
    # 允许所有传出流量
    sudo iptables -P OUTPUT ACCEPT
    # 允许本地环回接口
    sudo iptables -A INPUT -i lo -j ACCEPT
    
  3. 开放必要端口:
    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
    
  4. 防止 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
    bash
    sudo 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 配置基本规则

  1. 查看默认区域:
    bash
    sudo firewall-cmd --get-active-zones
    
  2. 开放端口:
    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
    
  3. 重新加载规则:
    bash
    sudo firewall-cmd --reload
    

5.3 查看规则

查看当前配置:

bash
sudo firewall-cmd --list-all

6. 测试防火墙配置

  1. 从本地测试端口开放情况

    • 使用 telnetnc 测试端口是否开放:
      bash
      telnet <服务器IP> 22
      
  2. 在线端口扫描

    • 使用工具(如 nmap)扫描开放的端口:
      bash
      nmap -p- <服务器IP>
      
  3. 访问网站

    • 打开浏览器访问您的网站,确保 HTTP 和 HTTPS 服务正常运行。

7. 防火墙规则的维护和优化

  1. 定期检查规则

    • 每隔一段时间检查防火墙规则:
      bash
      sudo ufw status
      sudo iptables -L
      
  2. 限制特定 IP/国家的访问

    • 阻止特定 IP:
      bash
      sudo ufw deny from <IP地址>
      
    • 仅允许特定 IP 访问:
      bash
      sudo ufw allow from <IP地址> to any port 22
      
  3. 启用防暴力破解工具

    • 使用工具如 Fail2Ban 防止暴力破解 SSH:
      bash
      sudo apt install fail2ban
      

8. 总结

香港VPS服务器防火墙配置核心要点:

  1. 设置默认规则:拒绝所有传入流量,只开放必要端口。
  2. 开放必要端口:确保服务(如 SSH、HTTP、HTTPS)正常运行。
  3. 保护 SSH 端口:建议更改默认 SSH 端口,并通过防火墙限制访问。
  4. 定期检查和优化:根据实际需求更新规则。
  5. 启用日志监控:记录并分析防火墙拦截的流量。

 

通过以上步骤,您可以有效保护香港VPS服务器免受攻击,确保网站和服务的安全稳定运行。

超过 50,000 人的信任 网硕互联期待你加入我们的会员。