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

服务器购买后,设置防火墙是保障网络安全的第一步。防火墙可以控制流量的进出,防止未经授权的访问,同时保护服务器免受攻击。以下是服务器防火墙的设置步骤,包括常见的防火墙工具(如 UFW、firewalld 和 iptables)的配置方法。
一、准备工作
-
确认服务器环境
- 服务器操作系统:如 Ubuntu、Debian、CentOS 或 Windows Server。
- 确认服务器的 SSH 端口(默认是 22),避免被误封。
-
检查防火墙工具
- 常见的防火墙工具:
- UFW(适用于 Ubuntu/Debian 系统)
- firewalld(适用于 CentOS/RHEL 系统)
- iptables(传统防火墙工具,支持所有 Linux 系统)
- 常见的防火墙工具:
-
备份当前配置
- 在配置防火墙之前,确保备份服务器的重要数据或防火墙规则,避免配置错误导致服务中断。
-
开放 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 访问特定端口:
例如,只允许 IP192.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 访问特定端口:
例如,允许 IP192.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 访问特定端口:
例如,允许 IP192.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 地址或网段。
-
拒绝所有其他流量:
- 在默认规则中设置为 阻止连接,只允许特定规则。
四、防火墙规则的最佳实践
-
开放必要端口
- 例如:SSH (22)、HTTP (80)、HTTPS (443)、数据库端口(如 MySQL 的 3306)。
-
限制 IP 访问
- 对管理端口(如 SSH 或远程桌面)设置特定 IP 或网段的访问规则。
-
启用日志
- 配置防火墙日志以监控异常流量和攻击行为。
-
测试规则
- 在应用规则前,逐一测试端口的连通性,避免误封。
-
定期检查和更新规则
- 定期审查防火墙规则,移除不必要的端口或服务。
通过以上步骤,你可以在服务器上成功设置防火墙,大幅提高服务器的安全性。无论是 Linux 还是 Windows Server,都可以根据需求灵活配置防火墙规则。
更多推荐
所有评论(0)