服务器防火墙完整配置教程(Linux+Windows)

覆盖 阿里云 / 腾讯云 / 华为云安全组 + 系统防火墙,重点放行 80、443、22(远程 SSH) 必备端口,拒绝暴力破解、关闭无用端口。

一、核心说明

  1. 云服务器有两层防护
    • 第一层:云平台【安全组】(必须配置,不开放就绝对不通)
    • 第二层:服务器【系统防火墙】(系统内部拦截)
  2. 必开端口
    • 22:SSH 远程连接(远程登录服务器)
    • 80:HTTP 网站
    • 443:HTTPS 加密网站
  3. 原则:只放必要端口,其余全部禁止

二、CentOS 7/8/9 防火墙(firewalld)

1. 基础命令

# 查看防火墙状态
systemctl status firewalld

# 开机自启、启动/停止
systemctl start firewalld
systemctl enable firewalld
systemctl stop firewalld

放行常用端口(永久生效)

# 放行SSH 22、HTTP 80、HTTPS 443
firewall-cmd --permanent --add-port=22/tcp
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp

# 放行端口段示例(如 3000-4000)
firewall-cmd --permanent --add-port=3000-4000/tcp

# 重新加载规则(必输,生效)
firewall-cmd --reload

查看 / 删除端口

# 查看已放行端口
firewall-cmd --list-ports

# 关闭某个端口
firewall-cmd --permanent --remove-port=8080/tcp
firewall-cmd --reload

三、Ubuntu/Debian 防火墙(ufw)

1. 基础操作

# 查看状态
ufw status

# 启用防火墙(默认拦截所有入站)
ufw enable

# 关闭防火墙
ufw disable

放行端口

# 放行22、80、443
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp

# 允许指定IP连接SSH(更安全,推荐)
ufw allow from 192.168.1.100 to any port 22

# 删除端口规则
ufw delete allow 8080

重置所有规则

ufw reset

四、Windows Server 防火墙

方式 1:图形化操作

  1. 按下 Win+R 输入 wf.msc 打开高级防火墙
  2. 左侧 → 入站规则 → 右侧【新建规则】
  3. 规则类型选「端口」→ 协议 TCP,输入端口:22,80,443
  4. 选择「允许连接」→ 全选域 / 专用 / 公用
  5. 填写名称:放行网站+远程端口 完成

方式 2:PowerShell 管理员执行

# 放行22、80、443
New-NetFirewallRule -Name Port22 -DisplayName "SSH-22" -LocalPort 22 -Protocol TCP -Action Allow
New-NetFirewallRule -Name Port80 -DisplayName "HTTP-80" -LocalPort 80 -Protocol TCP -Action Allow
New-NetFirewallRule -Name Port443 -DisplayName "HTTPS-443" -LocalPort 443 -Protocol TCP -Action Allow
New-NetFirewallRule -Name Port443 -DisplayName "HTTPS-443" -LocalPort 443 -Protocol TCP -Action Allow

五、云服务器 安全组配置(重中之重)

通用设置(阿里云 / 腾讯云 / 华为云)

  1. 登录云控制台 → 找到【安全组】
  2. 点击入站规则,添加三条规则:
协议端口范围授权对象策略
TCP220.0.0.0/0允许
TCP800.0.0.0/0允许
TCP4430.0.0.0/0允许

安全组提示:

  • 不需要的端口(3306 数据库、21ftp)不要开放
  • 数据库 3306 只允许自己 IP 访问,防止被拖库

六、端口检测(配置完必测)

Linux 检测

# 查看端口是否监听
ss -tulnp

# 本地测试连通
curl 127.0.0.1:80

本地电脑测试

打开电脑 CMD 执行:

telnet 服务器IP 80
telnet 服务器IP 443

能连接 = 防火墙 + 安全组全部配置成功


七、安全优化建议

  1. SSH 22 端口尽量修改为自定义端口,减少被扫描爆破
  2. 数据库、Redis 等内网服务,禁止全网开放
  3. 防火墙默认拒绝所有,按需放行
  4. 定期检查放行端口,关闭闲置端口
本站代码模板仅供学习交流使用请勿商业运营,严禁从事违法,侵权等任何非法活动,否则后果自负!
© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容