服务器云服务器安全设置:零基础也能搞定的云服务器安全设置指南
为什么云服务器安全设置如此重要
买完云服务器(比如阿里云、腾讯云、华为云)后,默认的配置往往存在安全风险:22端口全局开放、root密码登录、防火墙未开启。
如果直接上线业务,很容易被扫描工具盯上,甚至被植入挖矿程序。
本文把整套安全设置拆成几个具体步骤,你跟着做就能把服务器的攻击面缩小一大半。
登录服务器前的准备工作
- 一台云服务器(系统推荐 CentOS 7/8 或 Ubuntu 20.04+)
- 本地电脑安装 SSH 客户端(Windows 用 PuTTY,macOS/Linux 直接用终端)
- 知道服务器的公网 IP 和 root 密码(或初始密钥)
- 如果使用宝塔面板,提前在面板后台打开“SSH管理”功能
注意:首次登录后建议立即修改密码,不要用默认的复杂密码,直接使用“密码生成器”生成一个 16 位以上的随机字符串。
核心安全设置步骤
1. 修改默认 SSH 端口
默认的 22 端口是扫描器最爱。
改成高位端口(比如 22222)可以过滤掉大量自动扫描。
# 用 root 登录服务器
ssh root@你的服务器IP
# 修改 sshd 配置文件
vi /etc/ssh/sshd_config
找到 #Port 22 这一行,改成 Port 22222(去掉前面的 #)。
然后执行 systemctl restart sshd 重启服务。记得先在云控制台的安全组或防火墙里放行新端口,否则你会把自己锁在外面。
2. 禁止 root 直接登录
root 账户权限太高,改用普通用户 + sudo 更安全。
# 创建新用户(比如 admin)
useradd admin
passwd admin # 设置强密码
# 把 admin 加入 sudo 组(CentOS 用 wheel,Ubuntu 用 sudo)
usermod -aG wheel admin
# 修改 sshd_config,找到 PermitRootLogin 改为 no
vi /etc/ssh/sshd_config
PermitRootLogin no
# 重启 sshd
systemctl restart sshd
之后只能用 ssh admin@你的服务器IP -p 22222 登录,再用 sudo -i 提权。
3. 配置云安全组 + 系统防火墙
云安全组是云商提供的白名单(在控制台操作):只放行你需要使用的端口(如 80、443、22222、数据库端口等),其他全部拒绝。
比如阿里云控制台 -> 安全组 -> 配置规则 -> 添加入方向规则:
- 授权对象(源)填写具体 IP 或 0.0.0.0/0(仅对 Web 端口)
- 端口范围:22222/22222,授权对象填你的本地公网 IP(避免所有人可访问 SSH)
系统防火墙则用 firewalld(CentOS)或 ufw(Ubuntu):
# CentOS 7/8 使用 firewalld
systemctl start firewalld
systemctl enable firewalld
firewall-cmd --permanent --add-port=22222/tcp
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
Ubuntu 用户:
ufw allow 22222/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
常见问题与避坑
Q:修改端口后连不上 SSH 怎么办?
A:检查云安全组是否放行了新端口;如果忘了放行,使用云商的 VNC 控制台(网页版)登录服务器,改回原配置。
Q:禁止 root 登录后 sudo 报错?
A:确认用户已加入 sudo 组(CentOS 是 wheel 组),并且 /etc/sudoers 中 %wheel ALL=(ALL) ALL 没有被注释。
Q:防火墙和云安全组都要配吗?
A:都要配。云安全组是第一道防线(外部网络层面),系统防火墙是第二道(服务器内部)。两张网叠加更保险。
避坑提醒:不要在 /etc/ssh/sshd_config 中同时打开多个端口,除非你清楚自己在做什么。
另外,修改配置后一定要先测试新的连接,再关闭旧终端。
验证你的安全设置是否生效
- 用新用户名和端口登录:
ssh admin@你的IP -p 22222,登录成功且不能用 root 直接登录。 - 在本地电脑上试试 telnet 你的服务器 22,应该连接超时或被拒绝(表示旧端口已关闭)。
- 执行
sudo iptables -L -n或者firewall-cmd --list-all,确认只有你允许的端口开放。 - 使用在线端口扫描工具(如站长工具)扫一下公网 IP,看暴露的端口是否符合预期。
完成以上步骤后,你的云服务器已经具备基本的安全防护能力。
后续还可以加上 Fail2ban 防暴力破解、定期更新系统补丁等,但先把地基打好最重要。
如果你在操作中遇到卡住的地方,建议回看本文的避坑和问答部分,或者直接在云商的控制台 VNC 中排查。