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

服务器购买后如何设置防火墙?_第1张图片

服务器购买后,设置防火墙是保障网络安全的第一步。防火墙可以控制流量的进出,防止未经授权的访问,同时保护服务器免受攻击。以下是服务器防火墙的设置步骤,包括常见的防火墙工具(如 UFWfirewalldiptables)的配置方法。


一、准备工作

  1. 确认服务器环境

    • 服务器操作系统:如 UbuntuDebianCentOSWindows Server
    • 确认服务器的 SSH 端口(默认是 22),避免被误封。
  2. 检查防火墙工具

    • 常见的防火墙工具:
      • UFW(适用于 Ubuntu/Debian 系统)
      • firewalld(适用于 CentOS/RHEL 系统)
      • iptables(传统防火墙工具,支持所有 Linux 系统)
  3. 备份当前配置

    • 在配置防火墙之前,确保备份服务器的重要数据或防火墙规则,避免配置错误导致服务中断。
  4. 开放 SSH 端口

    • 在配置防火墙前,确保 SSH 端口(默认是 22)已开放,否则可能无法远程连接服务器。

二、设置防火墙(Linux 系统)

1. 使用 UFW(适用于 Ubuntu/Debian)

1.1 安装 UFW
  • 检查是否已安装:

    bash

    复制

    sudo ufw status
    
  • 如果未安装:

    bash

    复制

    sudo apt update
    sudo apt install ufw
    
1.2 配置基本规则
  • 允许 SSH 端口(默认22):

    bash

    复制

    sudo ufw allow 22
    

    如果 SSH 使用自定义端口(如 2222),需替换为对应端口:

    bash

    复制

    sudo ufw allow 2222
    
  • 允许 HTTP 和 HTTPS 端口(80 和 443):

    bash

    复制

    sudo ufw allow 80
    sudo ufw allow 443
    
  • 允许特定 IP 访问特定端口:
    例如,只允许 IP 192.168.1.100 访问 SSH:

    bash

    复制

    sudo ufw allow from 192.168.1.100 to any port 22
    
  • 拒绝所有其他流量:

    bash

    复制

    sudo ufw default deny incoming
    sudo ufw default allow outgoing
    
1.3 启用防火墙
  • 启用 UFW:

    bash

    复制

    sudo ufw enable
    
  • 查看当前状态和规则:

    bash

    复制

    sudo ufw status verbose
    
1.4 删除规则
  • 删除某个规则,例如关闭 SSH:

    bash

    复制

    sudo ufw delete allow 22
    

2. 使用 firewalld(适用于 CentOS/RHEL)

2.1 安装 firewalld
  • 检查是否已安装:

    bash

    复制

    sudo firewall-cmd --state
    
  • 如果未安装:

    bash

    复制

    sudo yum install firewalld -y
    sudo systemctl start firewalld
    sudo systemctl enable firewalld
    
2.2 配置基本规则
  • 允许 SSH 端口(默认22):

    bash

    复制

    sudo firewall-cmd --permanent --add-service=ssh
    

    如果使用自定义端口(如 2222):

    bash

    复制

    sudo firewall-cmd --permanent --add-port=2222/tcp
    
  • 允许 HTTP 和 HTTPS 服务:

    bash

    复制

    sudo firewall-cmd --permanent --add-service=http
    sudo firewall-cmd --permanent --add-service=https
    
  • 允许特定 IP 访问特定端口:
    例如,允许 IP 192.168.1.100 访问端口 3306(MySQL):

    bash

    复制

    sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.100' port protocol='tcp' port='3306' accept"
    
  • 拒绝所有其他流量:
    默认规则通常已拒绝其他流量,但可以手动设置:

    bash

    复制

    sudo firewall-cmd --set-default-zone=drop
    
2.3 重新加载防火墙
  • 使规则生效:

    bash

    复制

    sudo firewall-cmd --reload
    
2.4 查看规则
  • 列出当前所有规则:

    bash

    复制

    sudo firewall-cmd --list-all
    
  • 查看所有已开放的端口:

    bash

    复制

    sudo firewall-cmd --list-ports
    
2.5 删除规则
  • 关闭特定端口:

    bash

    复制

    sudo firewall-cmd --permanent --remove-port=3306/tcp
    sudo firewall-cmd --reload
    

3. 使用 iptables(适用于所有 Linux 系统)

3.1 查看当前规则
  • 显示当前 iptables 规则:

    bash

    复制

    sudo iptables -L -v -n
    
3.2 配置基本规则
  • 允许 SSH 流量(默认22):

    bash

    复制

    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    
  • 允许 HTTP 和 HTTPS 流量(80 和 443):

    bash

    复制

    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    
  • 允许特定 IP 访问特定端口:
    例如,允许 IP 192.168.1.100 访问端口 3306:

    bash

    复制

    sudo iptables -A INPUT -p tcp -s 192.168.1.100 --dport 3306 -j ACCEPT
    
  • 拒绝所有其他流量:

    bash

    复制

    sudo iptables -P INPUT DROP
    sudo iptables -P FORWARD DROP
    sudo iptables -P OUTPUT ACCEPT
    
3.3 保存规则
  • 保存规则以防重启丢失:

    bash

    复制

    sudo iptables-save > /etc/iptables/rules.v4
    
3.4 删除规则
  • 删除某条规则:

    bash

    复制

    sudo iptables -D INPUT -p tcp --dport 22 -j ACCEPT
    

三、设置防火墙(Windows Server)

1. 打开防火墙

  • 服务器管理器工具高级安全 Windows 防火墙 中打开防火墙设置。

2. 配置规则

  • 允许特定端口(如 3389 远程桌面):

    • 入站规则 中,选择 新建规则端口 → 输入端口号(如 3389) → 允许连接。
  • 允许特定 IP 段访问:

    • 新建规则时,在 作用域 设置中指定允许的 IP 地址或网段。
  • 拒绝所有其他流量:

    • 在默认规则中设置为 阻止连接,只允许特定规则。

四、防火墙规则的最佳实践

  1. 开放必要端口

    • 例如:SSH (22)、HTTP (80)、HTTPS (443)、数据库端口(如 MySQL 的 3306)。
  2. 限制 IP 访问

    • 对管理端口(如 SSH 或远程桌面)设置特定 IP 或网段的访问规则。
  3. 启用日志

    • 配置防火墙日志以监控异常流量和攻击行为。
  4. 测试规则

    • 在应用规则前,逐一测试端口的连通性,避免误封。
  5. 定期检查和更新规则

    • 定期审查防火墙规则,移除不必要的端口或服务。

通过以上步骤,你可以在服务器上成功设置防火墙,大幅提高服务器的安全性。无论是 Linux 还是 Windows Server,都可以根据需求灵活配置防火墙规则。

你可能感兴趣的:(服务器,运维,windows,linux,云计算,防火墙)