首页 帮助中心 香港服务器租用 如何配置防火墙仅开发80和443端口?Web服务器安全配置方法
如何配置防火墙仅开发80和443端口?Web服务器安全配置方法
时间 : 2026-04-12 16:21:19
编辑 : 华纳云
阅读量 : 15

Web服务器最担心端口暴露过多、防火墙规则混乱,最核心配置原则是对外开放80HTTP)和443HTTPS)端口,其余端口一律关闭或限制访问。

端口是网络通信的逻辑入口,不同的服务通过不同的端口对外提供能力。端口本身并不等于风险,真正的风险在于“哪些端口对谁开放、在什么条件下开放”。

80端口用于HTTP服务,443端口用于HTTPS服务,这是网站访问的两个核心端口。除此之外,SSH远程管理端口(22)、数据库端口(3306)、Redis端口等都不应直接暴露在公网。很多安全事件的根源,正是管理后台端口直接暴露在公网,给了攻击者可乘之机。

只开放80443端口的核心价值在于遵循“最小权限”原则——仅开放业务必需的端口,其余端口一律关闭,从源头减少攻击面。

三种主流Linux防火墙配置方式

根据您的操作系统不同,可以选择以下三种工具之一进行配置。

1. UFWUbuntu/Debian系统,推荐新手)

UFWUbuntuDebian系统的默认防火墙管理工具,语法简洁、上手快。

第一步:安装与启用

sudo apt update

sudo apt install ufw

关键提醒:在启用UFW之前,务必先放行SSH端口(22),否则您可能会被锁在服务器之外。

sudo ufw allow ssh          # 放行SSH

sudo ufw allow http         # 放行HTTP(80端口)

sudo ufw allow https        # 放行HTTPS(443端口)

第二步:配置默认策略并启用

sudo ufw default deny incoming   # 拒绝所有入站连接

sudo ufw default allow outgoing   # 允许所有出站连接

sudo ufw enable                   # 启用防火墙

第三步:验证规则

sudo ufw status verbose

2. FirewalldCentOS/RHEL系统)

FirewalldCentOS 7及以上版本的默认防火墙管理工具,支持动态调整规则。

第一步:启动firewalld服务

sudo systemctl start firewalld

sudo systemctl enable firewalld

第二步:开放80443端口

推荐按“服务”名称添加规则,更简洁直观:

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

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

如果您还想开放SSH远程管理端口:

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

第三步:重载配置并验证

sudo firewall-cmd --reload

sudo firewall-cmd --list-all

3. Iptables(通用底层工具)

Iptables是所有Linux系统通用的底层防火墙工具,灵活性最高但操作相对复杂。

第一步:设置默认策略

iptables -P INPUT DROP      # 默认拒绝所有入站连接

iptables -P FORWARD DROP    # 默认拒绝转发

iptables -P OUTPUT ACCEPT   # 允许所有出站连接

第二步:添加允许规则

# 允许本地回环接口(必需)

iptables -A INPUT -i lo -j ACCEPT

# 允许已建立的连接(避免中断现有会话)

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# 开放HTTP和HTTPS端口

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

iptables -A INPUT -p tcp --dport 443 -j ACCEPT

第三步:保存规则(防止重启后丢失)

# CentOS/RHEL系统

service iptables save

# Ubuntu/Debian系统

sudo apt install iptables-persistent

sudo netfilter-persistent save

三、云服务器安全组配置(重要补充)

如果您使用的是云服务器,还需要在云控制台中配置安全组。安全组和系统防火墙是叠加关系,两者都放通端口才能正常访问。SSH管理端口(22)的授权对象应限制为运维人员的固定公网IP,切勿开放给0.0.0.0/0,否则极易遭受暴力破解攻击。

配置后的验证方法

完成配置后,建议通过以下方法验证:

验证端口开放状态:

# 查看当前防火墙规则

sudo ufw status verbose      # UFW系统

sudo firewall-cmd --list-all # Firewalld系统

sudo iptables -L -n -v       # Iptables系统

外部端口扫描测试:

使用在线端口扫描工具或`nmap`命令,从外部扫描服务器IP80443端口是否可达,其他端口是否已被屏蔽。

常见错误与避坑指南

错误一:忘记放行SSH端口导致被锁。 这是新手最常犯的错误。在启用防火墙之前,务必先放行SSH端口。

错误二:SSH端口开放给全网段。 生产环境中,22端口应限制为特定IPIP段访问,避免成为暴力破解的攻击入口。

错误三:规则顺序混乱。 Iptables规则按从上到下的顺序匹配,应先写明确的允许规则,再设置统一的拒绝策略。

错误四:配置后忘记保存规则。 Iptables规则在重启后不会自动保存,必须手动保存才能持久化。

错误五:忽略安全组配置。 云服务器需同时配置系统防火墙和安全组,两者缺一不可。

配置防火墙仅开放80443端口,是Web服务器安全加固中最基础也最关键的一步。它遵循“最小权限”原则,只开放业务必需的端口,其余一律拒绝,从源头大幅减少攻击面。

无论您使用UFWFirewalld还是Iptables,核心思路都是一致的:放行HTTP/HTTPS → 设置默认拒绝 → 保存规则 → 验证生效。在云环境中,别忘了同时配置安全组,实现“系统防火墙 + 云安全组”的双重防护。做好这一步,您的Web服务器安全防护已经迈出了最重要的一步。

相关内容
客服咨询
7*24小时技术支持
技术支持
渠道支持