本检查单面向需要部署和维护供多用户共享的 Linux 服务器(如实验室、学生社团、小型科研集群等)的系统管理员。
若你按此清单完成配置与排查,即可获得一个基本可用、安全可靠、易于调试的服务器环境,并有效防范常见安全风险。
一、系统安装
✅ 选择稳定发行版
使用 Debian stable 或其他长期支持(LTS)发行版。建议通过 PXE 网络安装 或 U 盘 安装,确保安装过程可控,并预留充足维护时间。✅ 强密码策略
为root用户及所有具有sudo权限的用户设置高强度密码(建议 12 位以上,含大小写字母、数字、符号)。✅ 合理磁盘分区与存储
尽量将系统根文件系统(
/)部署在 SSD 上以提升性能与响应速度。制定合理分区方案(例如:
/、/home、/var分离),避免单个目录填满导致系统瘫痪。若使用 LVM,应提前规划,便于未来扩容。
二、软件安装与管理
✅ 使用本地镜像源(中国大陆)
若服务器位于中国大陆,务必替换默认软件源为国内镜像站(如 USTC、清华、阿里云等),以提升下载速度与安装成功率。✅ 优先使用包管理器
所有系统级软件应优先通过官方包管理器(如
apt)安装。禁止随意使用源码编译、脚本安装等方式将软件部署到
/usr/local、/opt等系统目录,除非确有必要。
✅ 建立非包管理软件台账
对于必须手动安装的系统级软件(如自研工具、特定版本编译器),管理员需建立台账,记录:软件名称、版本、安装路径
安装原因、维护人、更新策略
是否存在安全/兼容性风险
✅ 提供开发环境指引
在系统目录中预装通用版本的编译与开发工具链(如 GCC、Python、CMake)。
为有特殊需求的用户(如需新版编译器、特定 Python 包),提供在自家目录(
~/)中独立配置工具链的文档指引(例如使用pyenv、conda、asdf等)。
💡 必要但易被忽略的调试与稳定性工具(建议默认安装):
earlyoom或systemd-oomd:在内存严重不足时,自动终止占用内存最多的用户进程,防止系统完全卡死。
systemd-coredump:自动捕获程序崩溃时的coredump,便于事后分析。
chrony或systemd-timesyncd:确保系统时间准确同步(对日志、证书、分布式系统至关重要)。
bcc-tools+bpftrace:基于 eBPF 的强大内核/用户态追踪工具,用于性能分析与故障诊断。
rasdaemon:收集 CPU、内存等硬件的底层错误日志(如 ECC 内存纠错记录)。实用监控工具:
htop(进程)、iotop(磁盘 I/O)、iftop/bmon(网络流量)、ncdu(交互式磁盘使用分析)。
三、远程管理
✅ 启用带外管理(如 IPMI)
若服务器支持 IPMI、iDRAC、iLO 等带外管理功能,务必启用并配置固定 IP 地址。
设置强密码,并通过独立管理网络或 VLAN 接入。
带外管理可在系统崩溃、内核 panic、网络中断等极端情况下提供远程开关机、控制台访问能力,大幅提升节假日或无人值守期间的可用性。
✅ 正确配置 SSH
SSH 是远程管理的主要且应唯一入口。
确保
sshd服务启用、配置合理、日志完整。(详见后续《SSH 安全配置指南》)
四、系统安全
✅ 强制强密码
所有用户(至少包括root和sudo用户)必须使用高强度密码。可配合 PAM 模块(如libpam-pwquality)强制密码复杂度。
✅ 禁用 SSH 密码登录(推荐)
在 /etc/ssh/sshd_config 中设置:
c仅允许通过 SSH 密钥认证登录,这是防范暴力破解的最有效手段。
✅ 若必须启用密码登录
绝对禁止 root 用户通过密码登录:
PermitRootLogin prohibit-password # 或 no如需为个别用户开启密码登录,使用 Match 块精确控制:
Match User alice,bob
PasswordAuthentication yes五、网络安全
✅ 数据库服务仅监听本地
MySQL、PostgreSQL、Redis 等数据库服务默认不应监听公网或局域网 IP,应配置为仅绑定:127.0.0.1(IPv4)::1(IPv6)或使用 Unix socket(如
/var/run/postgresql/.s.PGSQL.5432)
✅ 防火墙兜底防护
即使服务配置正确,也应配置主机防火墙(如 ufw、nftables)或网络层防火墙,明确拒绝外部对敏感端口的访问,例如:
# 阻止所有外部访问数据库端口
ufw deny 3306/tcp # MySQL
ufw deny 5432/tcp # PostgreSQL
ufw deny 6379/tcp # Redis“最小开放原则”:只开放业务必需的端口。
结语
这份检查单不是终点,而是安全、可靠、可维护服务器的起点。
随着服务复杂度提升,你可能还需要考虑:自动备份、日志集中收集、入侵检测、配置管理(如 Ansible)等进阶实践。
但请记住:再复杂的架构,也始于一台配置得当的单机。
从今天开始,用这份清单,打造你值得信赖的服务器环境。