阿里云 Debian 服务器安全加固与初始化指南
阿里云 Debian 服务器安全加固与初始化指南
手上有个阿里云 ECS 云服务器,今天把系统换成了 Debian,因为它出了名的轻量、纯净且稳定,用来学习 Linux 以及后续搭建 Web 站点的运维服务再合适不过了。
起步先完成最核心的初始账号创建和 SSH 连接加固,以下是我实操的完整步骤记录,方便日后随时查阅:
第一步:初始化时坚持使用 SSH 密钥对登录
在阿里云控制台创建服务器时,强烈建议选择 “SSH 密钥对” 认证,而不是传统的密码登录,这样安全系数直接拉满。
需要特别注意的是:密钥对文件(.pem)在创建时一定要立刻下载并妥善保存,因为阿里云只允许查看和下载这一次! 此时,我们默认以 root 账号第一次连接登录系统。
创建专用的日常运维账号 "ops"
由于日常直接用 root 身份在服务器里横冲直撞非常危险,我通过阿里云的网页端 Workbench 登录 root,第一件事就是创建一个名为 ops 的标准普通用户用于日常维护:
useradd -m -s /bin/bash ops
passwd ops
usermod -aG sudo ops
最后一行命令将 ops 账户加入了 sudo 用户组,这样当它需要临时执行管理员命令时,就拥有了提权的资格。
第三步:为新用户配置 SSH 密钥对登录
为了让 ops 账户能像 root 一样,直接通过我们下载的那枚密钥对进行免密远程登录,我们需要把 root 下的公钥文件复制到 ops 的家目录下,并严格修正权限:
mkdir -p /home/ops/.ssh
cp /root/.ssh/authorized_keys /home/ops/.ssh/
chown -R ops:ops /home/ops/.ssh
chmod 700 /home/ops/.ssh
chmod 600 /home/ops/.ssh/authorized_keys
提示:chown 所有权变更和 chmod 权限降级这两步至关重要!如果保持默认高权限,SSH 服务会因为觉得文件“不安全”而直接拒绝连接。
第四步:在阿里云控制台放行自定义的 SSH 端口
在修改服务器内部配置之前,先登录阿里云控制台,找到该实例的安全组设置,在入方向规则中,添加并允许你准备启用的那个自定义的、非标准的 SSH 端口。
第五步:修改 SSH 核心配置文件
通过终端打开 /etc/ssh/sshd_config 文件,修改以下三处关键配置来锁死服务器的大门:
- 找到
#Port 22,去掉前面的#号,并将 22 改为你刚才在安全组放行的自定义端口号。 - 找到
PermitRootLogin,将其值修改为no(彻底禁止 root 账号进行远程 SSH 登录)。 - 确保
PasswordAuthentication的值设置为no(彻底废除远程密码登录验证,只认密钥对)。
第六步:重启 SSH 服务使配置生效
在当前终端执行以下命令,让刚才的修改立刻生效:
systemctl restart sshd
第七步:新开窗口连接验证
核心安全守则:此时千万不要关闭当前已经连上的 root 窗口!
立刻在本地电脑上打开一个全新的终端窗口,尝试使用 ops 账户、自定义的端口以及对应的 .pem 密钥文件去连接服务器。当确认能够成功登录,且原先的 root 账号被成功拦截后,这次的服务器安全加固便大功告成!