我的阿里云服务器原先使用 Fedora 为服务器操作系统,意在与我个人电脑保持一致。但是 Fedora 不存在 lts 概念,为了服务器的易维护,决定重装成同为 dnf 系的 Alibaba Cloud Linux。本文主要介绍我对阿里云服务器的重建 以及维护方案。
更换操作系统
选择更换操作系统

选择 Alibaba Cloud Linux

无须密码和密钥对
我们准备通过 Workbench 走 会话管理 进行远程连接,不需要 密码 和 密钥对。

阿里云安全组
阿里云安全组 仅允许 443 和 80 端口的访问,其余全部移出。

Workbench 登录
开启会话管理
会话管理 相比于传统的SSH或RDP直连的方式更加安全方便。而 Workbench 默认通过 会话管理 方式进行连接。

后续使用 Workbench 的 立即登录,也会自动走 会话管理。
安全设置
重置密码
给 root 设置30位强密码 并妥善保管(我自己使用 KeepassXC 和离线 key 文件),供后续关闭 ssh 后 vnc 登录兜底用。
注意 ssh 选择 保持原有设置。

重置完成后,通过 vnc 进行登录测试,成功后执行 exit 退出账户。
关闭 ssh
查看哪些服务会拉起 sshd.service
systemctl list-dependencies --reverse sshd.service
输出:
sshd.service
● └─cloud-init.service
查看依赖关系是 Wants 还是 Requires
systemctl show cloud-init.service -p Wants -p Requires
输出:
Requires=system.slice
Wants=sshd-keygen.service sshd.service cloud-init-local.service
说明 cloud-init.service 会拉起 sshd.service,不过关系是 Wants。
关闭 sshd
sudo systemctl disable --now sshd.service
sudo systemctl mask sshd.service
重启服务器后检查服务运行情况
systemctl is-enabled sshd.service
systemctl is-active sshd.service
输出:
masked
inactive
检查端口监听情况
sudo ss -lntup
不再有 sshd 进程,剩余进程均只监听 本地回环地址。

总结
当前服务器状态
当前服务器仅 root 设置了强密码,用作 vnc 登录兜底,日常不作使用。
日常使用 Workbench 走 会话管理 进行服务器访问,关闭 sshd 服务减少攻击面。
安全组仅允许 443 和 80 端口对公网暴露。
日常维护
日常定期保证系统和软件更新。
新增软件 或 配置 docker 等行为后,使用 sudo ss -lntup 检查监听端口,如需监听优先使用 本地回环 或 docker 内网。
对于用户数据备份,阿里云赠送了文件备份(免费100 GB),但是,数据库应用及类似的应用 直接备份原始文件无法保证数据完整性,应当使用定时 dump 脚本备份到 home 目录下,借助 阿里云的文件备份,进行数据备份。