云服务器防火墙怎么配置,保障服务器安全

云服务器防火墙怎么配置,保障服务器安全

核心原则:云安全组(云厂商侧)+ 系统内防火墙(主机侧)双层防护,默认拒绝、最小开放,管理端口严格绑定可信IP,禁止 0.0.0.0/0 放行 22/3389/3306/6379

一、优先级顺序(非常重要)

前提:先购买云服务器https://act.tag.org.cn

  1. 云控制台安全组(第一层,推荐优先配置):阿里云/腾讯云/华为云等,属于VPC网络层,在流量进入服务器前拦截,即使主机防火墙没开也生效。轻量服务器一般叫「防火墙」,本质就是安全组。
  2. 系统主机防火墙(第二层)
    • CentOS/RHEL:firewalld
    • Debian/Ubuntu:ufw / iptables / nftables
    • Windows:高级安全 Windows 防火墙
  3. 可选增强:云厂商「云防火墙」(互联网边界防火墙)、WAF

⚠️ 高危提醒:先放行 SSH 再改默认拒绝!否则直接锁机,只能去控制台救机。

QQ20261108-014918

二、安全组(云侧)标准配置方案

通用规则思路(白名单模式)

  • 入方向:默认拒绝所有,只添加允许条目
  • 出方向:一般默认全部允许;高安全场景改为白名单放行出站
  • 分层隔离:Web、数据库、缓存、管理机分开安全组,数据库不绑定公网IP,只允许 Web 安全组内网访问数据库端口

常用入方向示例

用途 协议端口 源地址(重点)
SSH 远程(Linux) TCP:22 你的固定公网IP,不要 0.0.0.0/0
网站 HTTP TCP:80 0.0.0.0/0(公网网站)
网站 HTTPS TCP:443 0.0.0.0/0
Windows RDP TCP:3389 你的固定公网IP
MySQL TCP:3306 Web服务器内网IP / Web安全组,禁止公网
Redis TCP:6379 内网可信主机,严禁暴露公网

数据库、Redis、Mongo、宝塔面板这类,尽量不要直接放公网;必须远程管理就用跳板机、VPN、端口隧道。

三、Linux 主机防火墙实操

① CentOS / Rocky / AlmaLinux(firewalld)

# 开机自启、启动
systemctl enable --now firewalld

# 查看状态
firewall-cmd --state
firewall-cmd --list-all

# 放行 SSH(先做!防止锁机)
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="你的公网IP/32" port protocol="tcp" port="22" accept'

# 放行网站端口(公网)
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp

# 重载生效
firewall-cmd --reload

# 查看永久规则
firewall-cmd --list-all --permanent

② Debian / Ubuntu(ufw,简单好用)

apt install ufw -y
ufw reset
# 默认策略:拒绝入站、允许出站
ufw default deny incoming
ufw default allow outgoing

# 放行你的IP访问22
ufw allow from 你的公网IP to any port 22 proto tcp
# 网站端口
ufw allow 80/tcp
ufw allow 443/tcp

ufw enable
ufw status numbered

③ iptables(通用,适合老系统)

# 备份旧规则
iptables-save > /root/ipt.bak

# 设置默认策略(拒绝所有入)
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# 放行已建立连接(非常关键,不然上网断)
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# 放行本地回环 lo
iptables -A INPUT -i lo -j ACCEPT

# 放行你的IP SSH
iptables -A INPUT -s 你的公网IP/32 -p tcp --dport 22 -j ACCEPT
# 网站
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# 保存规则(不同发行版不一样)
# Debian/Ubuntu
apt install iptables-persistent
netfilter-persistent save
# CentOS
service iptables save

QQ20261104-070958

四、Windows 云服务器防火墙

  1. 远程登录服务器 → Windows 防火墙 → 高级设置
  2. 入站规则 → 新建规则,类型选端口
  3. RDP 3389:作用域里,将远程IP限制为你的固定IP,不要任意地址
  4. 80/443:允许任意地址
  5. 不需要的端口直接禁用;关闭不需要的服务

五、配套安全加固(防火墙之外,缺一不可)

  1. SSH 加固:禁用密码登录,只使用密钥登录;修改默认 22 端口只是辅助,不能替代IP白名单
  2. 封禁恶意IP:fail2ban,自动拦截爆破 SSH、网站后台
# CentOS
yum install fail2ban
# Ubuntu
apt install fail2ban
  1. 关闭不必要服务:FTP、Telnet、SMB 等高危服务,不用就停
  2. 日志审计:开启安全组日志、系统登录日志,定期看异常登录
  3. 不要长期保留默认安全组,默认组很多厂商是全放通,裸奔风险极高
  4. 不需要公网访问的机器,不要分配公网EIP,内网互通依靠内网安全组授权

六、排查思路(不通/被拦截)

流量顺序:公网 → 云安全组 → 主机防火墙 → 应用本身监听

  • 先看安全组有没有放行端口、源IP是否匹配
  • 再进服务器看 ss -tulnp 确认程序监听在 0.0.0.0,而不是 127.0.0.1
  • 主机防火墙规则是否加载成功

七、最简推荐生产模板(网站服务器)

  • ✅ 安全组:入方向只放:固定IP→22;全部→80、443;其余全部拒绝
  • ✅ 主机防火墙:同样复刻白名单,二次兜底
  • ✅ MySQL/Redis:无公网IP,只允许 Web 内网IP访问
  • ✅ SSH:密钥登录 + fail2ban
posted @ 2026-11-08 01:51  BLOGAME  阅读(16)  评论(0)    收藏  举报