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

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

服务器购买后,设置防火墙是保障网络安全的第一步。防火墙可以控制流量的进出,防止未经授权的访问,同时保护服务器免受攻击。以下是服务器防火墙的设置步骤,包括常见的防火墙工具(如 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 访问特定端口:

例如,只允许 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 地址或网段。

拒绝所有其他流量:

在默认规则中设置为 阻止连接,只允许特定规则。四、防火墙规则的最佳实践

开放必要端口

例如:SSH (22)、HTTP (80)、HTTPS (443)、数据库端口(如 MySQL 的 3306)。

限制 IP 访问

对管理端口(如 SSH 或远程桌面)设置特定 IP 或网段的访问规则。

启用日志

配置防火墙日志以监控异常流量和攻击行为。

测试规则

在应用规则前,逐一测试端口的连通性,避免误封。

定期检查和更新规则

定期审查防火墙规则,移除不必要的端口或服务。通过以上步骤,你可以在服务器上成功设置防火墙,大幅提高服务器的安全性。无论是 Linux 还是 Windows Server,都可以根据需求灵活配置防火墙规则。

相关数据

人间仙境的意思
365bet正网开户

人间仙境的意思

⌛ 07-09 👁️‍🗨️ 6595
汽车之家
365bet正网开户

汽车之家

⌛ 07-06 👁️‍🗨️ 6255