腾讯云支付卡绑定 腾讯云国际站服务器防火墙设置
腾讯云国际站服务器防火墙设置:别让黑客当你的‘不请自来室友’
刚买完腾讯云国际站(Tencent Cloud International)的香港/新加坡/法兰克福服务器,兴冲冲部署好网站,结果第二天发现后台被扫了37次弱口令、登录日志里冒出一串俄罗斯IP、连curl -I http://your-site.com都开始超时?别慌——不是你代码有毒,大概率是防火墙还穿着睡衣没起床。
腾讯云国际站的防火墙,不是单个开关,而是两道门:一道在云平台层(叫「安全组」),像小区大门保安;另一道在操作系统层(比如Linux的iptables或nftables),像你家防盗门+猫眼+智能锁三合一。只开一道?等于给黑客发了张‘自由出入卡’。
第一步:先搞定‘小区保安’——安全组配置(最优先!)
登录 腾讯云国际站控制台 → 左侧导航栏「Compute」→「CVM」→ 找到你的实例 → 点击实例ID进入详情页 → 左侧选「Security Group」→ 点击右侧「Manage Security Group Rules」。
⚠️重点来了:国际站默认安全组是「全放行」!没错,它真的会把22、80、443、3306甚至Redis的6379全给你敞开——这不叫友好,这叫裸奔。
点击「Edit Inbound Rules」,删掉所有默认规则(别怕,删了不会断网,只是禁止入站)。然后手动加3条黄金规则:
- SSH访问:类型选「SSH」,源IP填你自己的公网IP(不是192.168.x.x!去百度搜‘我的IP’),协议TCP,端口22。如果在家/公司IP不固定?写成
你的IP/32(如203.123.45.67/32),千万别填0.0.0.0/0——那是邀请全世界来敲门。 - 网站服务:类型「HTTP」+「HTTPS」,源IP填
0.0.0.0/0(必须放,不然用户打不开),端口80和443。注意:HTTPS必须配SSL证书才生效,光开443端口不装证书,浏览器照样报红叉。 - 出站不限:Inbound管进来,Outbound管出去。一般保持默认「全部允许」即可。服务器要更新系统、下载包、连微信支付API,都靠它呼吸。
保存后,规则秒生效。此时,只有你的IP能SSH,全球用户能访问网页,其他端口(比如MySQL的3306)彻底隐身——黑客扫端口只会得到一片静默。
第二步:再锁死‘自家防盗门’——系统级防火墙(iptables实战)
安全组是第一道过滤网,但万一哪天你误操作开了3306给所有人?或者黑客绕过云平台直接攻击内核?这时候,系统防火墙就是你的最后底裤。
登录服务器,执行:sudo iptables -L -n -v
如果返回空或一堆ACCEPT,说明还没设防。我们不用复杂脚本,就用5条命令建个「清醒型防火墙」:
sudo iptables -P INPUT DROP—— 默认拒绝所有入站(先立规矩,再开绿灯)sudo iptables -A INPUT -i lo -j ACCEPT—— 允许本地回环(127.0.0.1),否则MySQL、Redis自己都连不上自己sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT—— 允许已建立连接的响应流量(比如你wget下载完,服务器能回传数据)- 腾讯云支付卡绑定
sudo iptables -A INPUT -p tcp --dport 22 -s 你的IP/32 -j ACCEPT—— 只让你的IP连SSH(这里必须和安全组IP一致!) sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPTsudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT—— 放行网站端口(不用限制IP,毕竟用户IP千变万化)
检查:sudo iptables -L -n --line-numbers,看到5条规则按顺序排好,就成功了。但别关终端!先测试:
- 新开一个终端窗口,
ssh -p 22 用户名@你的服务器IP,能登进去?✅ - 浏览器打开
http://你的IP,显示Nginx欢迎页?✅ - 用另一台手机/电脑试SSH?应该直接timeout——这才是你要的。
✅ 没问题就永久保存:sudo apt install iptables-persistent -y(Ubuntu/Debian)sudo netfilter-persistent save
CentOS系用:sudo service iptables save(需先yum install iptables-services)
避坑指南:那些让人抓狂的‘我以为’
- ‘我开了80端口,为啥网站打不开?’→ 检查Nginx/Apache是否运行:
sudo systemctl status nginx;检查是否监听0.0.0.0:80:sudo ss -tlnp | grep :80;再确认安全组和iptables都没拦。 - ‘SSH连着连着突然断了?’→ 很可能你改iptables时手抖写了
-P OUTPUT DROP,导致服务器自己发不出ACK包。紧急恢复:用腾讯云控制台「VNC远程登录」(不用网络),删掉错误规则。 - ‘安全组改了,为啥还是被扫?’→ 黑客扫的是IP,不是域名。只要你的IP暴露在搜索引擎或GitHub历史记录里,扫描器天天打卡。建议:新服务器别用默认主机名,
hostnamectl set-hostname web-prod-2024,并禁用ServerTokens On隐藏Apache/Nginx版本。
附:高频端口速查表(按需开放,别贪多)
| 用途 | 端口 | 是否推荐开放 | 备注 |
|---|---|---|---|
| SSH管理 | 22 | ✅(严格限IP) | 务必改默认端口(如2222)+密钥登录,比密码安全10倍 |
| HTTP网站 | 80 | ✅ | 用于自动跳转HTTPS,不可省 |
| HTTPS网站 | 443 | ✅ | 必须配合SSL证书,腾讯云免费证书可一键部署 |
| MySQL数据库 | 3306 | ❌(除非必要) | 应仅限内网(如Docker容器间通信),公网暴露=送钥匙 |
| Redis缓存 | 6379 | ❌ | 同上,改bind 127.0.0.1 + 加requirepass |
| FTP文件传输 | 21 | ❌ | 用SFTP(走SSH通道)更安全,无需开新端口 |
终极建议:防火墙不是终点,而是起点
设好防火墙,就像给房子装好防盗门。但小偷还会盯上窗户(弱密码)、阳台(未更新漏洞)、甚至假装快递员(钓鱼邮件)。所以:
- 立刻改SSH端口(
/etc/ssh/sshd_config里改Port 2222,重启sudo systemctl restart sshd) - 禁用root密码登录,只用SSH密钥:
PermitRootLogin no+PasswordAuthentication no - 每周
sudo apt update && sudo apt upgrade -y(Ubuntu)或sudo yum update -y(CentOS),堵住内核级漏洞 - 用
fail2ban自动封扫端口的IP:sudo apt install fail2ban,默认就防SSH暴力破解
最后说句实在话:腾讯云国际站的文档英文居多,界面按钮藏得深,但防火墙逻辑其实极简——就三句话:安全组管‘谁可以敲门’,iptables管‘敲门后问什么问题’,而你的脑子得管‘要不要开门’。现在,去你的控制台,删掉那条0.0.0.0/0的SSH规则吧。你值得拥有一个安静的凌晨三点,而不是被黑客扫端口的提示音吵醒。


