系统与软件更新:及时修补漏洞
及时打补丁是成本最低、收益最高的安全措施:学会手动更新、开启自动安全更新、处理内核重启,并在更新前做好备份。
服务器一旦联网,就持续暴露在漏洞扫描之下。绝大多数入侵并非"高级黑客",而是攻击者利用了早已有补丁、但你没打的已知漏洞。及时更新,是投入最小、回报最高的一项安全工作。
为什么要及时更新
- 修补已知漏洞:公开漏洞(CVE)一旦披露,自动化扫描与攻击工具几天内就会满互联网跑,未打补丁的服务器是首要目标。
- 稳定与兼容:更新同时修复崩溃、内存泄漏和兼容性问题。
- 越拖越贵:长期不更新会积累大量变更,某天被迫升级时风险和工作量都成倍增加。
手动更新:先区分发行版
命令因发行版而异,别混用。
Ubuntu / Debian 系(apt):
sudo apt update # 刷新软件包索引
sudo apt upgrade # 升级已安装的包
sudo apt full-upgrade # 允许为升级而增删依赖(原 dist-upgrade)
sudo apt autoremove # 清理不再需要的旧依赖
RHEL / CentOS / Rocky / AlmaLinux / Fedora 系(dnf):
sudo dnf upgrade # 升级全部包(dnf update 是其别名)
sudo dnf upgrade --security # 只装安全更新
sudo dnf updateinfo list security # 查看有哪些安全更新
自动安全更新
安全补丁往往等不起。可以让系统自动只安装安全更新,功能更新仍手动控制。
Ubuntu / Debian:
sudo apt install unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades
策略文件在 /etc/apt/apt.conf.d/50unattended-upgrades(可配置是否自动重启、白名单等)。
RHEL 系:
sudo dnf install dnf-automatic
# 编辑 /etc/dnf/automatic.conf,建议 apply_updates = yes、只启用 security
sudo systemctl enable --now dnf-automatic.timer
> 建议:自动安全更新可以放心开;大版本或内核类更新则留给手动、在可控时间窗内执行。
内核更新与重启
多数软件更新后重启对应服务即可,但内核、glibc、systemd 等核心组件更新后必须重启整机才能生效。
Ubuntu / Debian: 安装 needrestart 后,升级时会自动提示哪些服务需要重启,并判断内核是否需要重启:
sudo apt install needrestart
sudo needrestart
# 若存在此文件,说明需要重启
cat /var/run/reboot-required
RHEL 系:
sudo dnf install dnf-utils
needs-restarting -r # 返回是否需要重启整机
needs-restarting -s # 列出需要重启的服务
确实需要时,选低峰期 sudo reboot。若追求内核热补丁(不停机),可了解 kpatch(RHEL)/ Ubuntu Livepatch,但仍建议定期彻底重启。
更新前:备份与先行测试
自动化再好,也要留退路。
- 先快照/备份:更新前对 VPS 做一次快照,或备份关键配置(/etc)与数据。出问题可秒回滚。
- 生产环境先测试:重要变更先在测试机或预发环境跑通,再上生产。
- 可回退:apt 的 /var/log/apt/history.log、dnf 的 dnf history 可查看并回退最近一次事务。
- 分批发布:多台服务器时先更新一小部分,观察无异常再铺开。
订阅安全公告
主动获知比被动挨打好:订阅发行版安全公告(如 Ubuntu Security Notices、Red Hat / Rocky / Debian security 邮件列表),关注所用软件(数据库、Web 服务器、语言运行时)的官方安全渠道,做到高危漏洞第一时间响应。
小结
- 补丁不是可选项:未打补丁的已知漏洞是入侵的头号入口。
- 记牢两套命令:apt update && apt upgrade(Debian 系)与 dnf upgrade(RHEL 系),别混用。
- 开启自动安全更新(unattended-upgrades / dnf-automatic),把补丁窗口压到最短。
- 内核类更新后用 needrestart / needs-restarting -r 判断,择机重启。
- 更新前必做快照/备份,重要变更生产前先测试,分批发布。
- 订阅安全公告,让响应跑在攻击前面。