香港VPS服务器如何配置防火墙?

配置防火墙是确保香港VPS服务器安全的关键步骤,可以有效防止未经授权的访问和网络攻击。


一、配置防火墙前的准备工作

1. 确认SSH连接的安全性

  • 避免被锁定在服务器外部:在配置防火墙时,确保允许当前的SSH端口(默认22端口)访问,否则可能会断开与服务器的连接。
  • 修改SSH端口(可选):为了增加安全性,建议将默认的22端口更改为其他不常用的端口,例如 2222。
    • 修改 /etc/ssh/sshd_config
      bash
      Port 2222
      
    • 重启SSH服务:
      bash
      systemctl restart sshd
      

2. 检查防火墙工具

香港VPS服务器通常预装以下防火墙工具之一:

  • iptables:传统防火墙工具,高度可定制。
  • firewalld:现代化的动态防火墙,适合 CentOS 和 RHEL 系列。
  • UFW(Uncomplicated Firewall):Ubuntu 和 Debian 系列常用,操作简单。

通过以下命令检查防火墙工具是否已安装:

bash
iptables --version       # 检查iptables
firewalld --version      # 检查firewalld
ufw --version            # 检查UFW

如果没有安装,可以根据系统类型安装适合的防火墙工具。


二、使用不同防火墙工具配置规则

1. 使用 iptables 配置防火墙

(1)安装和启动 iptables

大多数Linux系统默认安装了 iptables。如果没有,可以通过以下命令安装:

bash
# CentOS
yum install iptables-services -y

# Ubuntu/Debian
apt-get install iptables -y

启动 iptables 并设置开机自启:

bash
systemctl start iptables
systemctl enable iptables

(2)基本防火墙规则

添加防火墙规则以允许常见服务:

bash
# 允许SSH端口(22或自定义端口)
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# 允许HTTP(80端口)和HTTPS(443端口)
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# 允许本地回环接口
iptables -A INPUT -i lo -j ACCEPT

# 允许已建立的和相关的连接
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# 默认拒绝其他所有连接
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

保存规则并重启 iptables:

bash
# 保存规则
service iptables save

# 重启服务
service iptables restart

(3)查看和删除规则

  • 查看所有规则:
    bash
    iptables -L -n --line-numbers
    
  • 删除特定规则(根据行号):
    bash
    iptables -D INPUT <规则行号>
    

2. 使用 firewalld 配置防火墙

(1)安装和启动 firewalld

如果 firewalld 未安装,可以通过以下命令安装:

bash
# CentOS 7/8
yum install firewalld -y

# Ubuntu/Debian
apt-get install firewalld -y

启动 firewalld 并设置开机自启:

bash
systemctl start firewalld
systemctl enable firewalld

(2)基本防火墙规则

添加规则以允许常见服务:

bash
# 允许SSH(默认端口22)
firewall-cmd --permanent --add-service=ssh

# 允许HTTP(80端口)和HTTPS(443端口)
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https

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

# 重新加载规则
firewall-cmd --reload

(3)查看和删除规则

  • 查看所有已添加的规则:
    bash
    firewall-cmd --list-all
    
  • 删除特定规则:
    bash
    firewall-cmd --permanent --remove-service=http
    firewall-cmd --reload
    

(4)区域管理

firewalld 使用区域管理流量,可以将规则分配到特定区域:

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

# 将服务绑定到特定区域(如public)
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --reload

3. 使用 UFW 配置防火墙

(1)安装和启动 UFW

UFW 通常在 Ubuntu/Debian 系统上默认安装。如果没有安装,可以通过以下命令安装:

bash
# 安装UFW
apt-get install ufw -y

启动 UFW:

bash
ufw enable

(2)基本防火墙规则

添加规则以允许常见服务:

bash
# 允许SSH(默认端口22)
ufw allow 22/tcp

# 允许HTTP(80端口)和HTTPS(443端口)
ufw allow 80/tcp
ufw allow 443/tcp

# 允许自定义端口(如2222)
ufw allow 2222/tcp

# 查看规则状态
ufw status

(3)默认策略

设置默认策略:

bash
# 默认拒绝所有传入连接
ufw default deny incoming

# 默认允许所有传出连接
ufw default allow outgoing

(4)禁用规则

  • 禁用特定端口规则:
    bash
    ufw delete allow 80/tcp
    
  • 禁用UFW:
    bash
    ufw disable
    

三、防火墙配置最佳实践

  1. 备份规则和配置

    • 每次更改防火墙规则前,备份当前规则:
      bash
      iptables-save > /root/iptables-backup.rules
      
    • 还原规则:
      bash
      iptables-restore < /root/iptables-backup.rules
      
  2. 限制SSH访问

    • 限制SSH访问到特定IP地址(如你的本地IP):
      bash
      iptables -A INPUT -p tcp -s <你的IP地址> --dport 22 -j ACCEPT
      
  3. 防止DDoS攻击

    • 限制单个IP的连接速率:
      bash
      iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 10 -j DROP
      
  4. 启用日志记录

    • 记录被拒绝的连接尝试:
      bash
      iptables -A INPUT -j LOG --log-prefix "iptables-dropped: "
      
  5. 定期检查规则

    • 定期检查防火墙规则是否符合当前的业务需求,并及时清理无用规则。

四、总结

通过配置防火墙,香港VPS服务器可以显著提高安全性,保护服务器免受网络攻击和未经授权的访问。不同的防火墙工具适用于不同的使用场景:

  • iptables:适合对防火墙有自定义需求的用户。
  • firewalld:适合动态管理防火墙的 CentOS 用户。
  • UFW:简单易用,适合 Ubuntu/Debian 用户。

 

无论选择哪种工具,都应遵循安全最佳实践,定期更新和优化防火墙规则,以确保服务器的长久稳定运行。

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