Linux VPS/服务器安全第五课:定期更新,别让漏洞成为突破口

Linux VPS/服务器安全第五课:定期更新,别让漏洞成为突破口

配置完就不管了?那是最大的隐患

前面四期,我们配置了SSH密钥fail2ban防火墙禁用root登录——五道防线已经把服务器保护得很好了。

小王按照教程一步步配置完,觉得终于可以高枕无忧了。半年后的某天,他发现服务器异常卡顿,登录一看,竟然被植入了挖矿程序。

"不可能啊!我所有安全措施都配置了,怎么还会被攻击?"

仔细排查后发现:攻击者利用了Nginx的一个已知漏洞。而这个漏洞的补丁,早在3个月前就已经发布了。

问题出在哪?小王配置完服务器后,半年没更新过系统。

今天我们要讲的,就是最容易被忽视、但却最重要的安全措施:定期更新系统

为什么必须定期更新?

一个残酷的真相

想象一下:你家的门锁有个已知的缺陷,锁厂已经发布了免费的修复方案,但你没去更换。小偷恰好知道这个缺陷,轻松就破解了你的门锁。

不更新系统,就是这种情况。

三个不得不更新的理由

理由1:漏洞每天都在被发现

软件都是人写的,必然有bug。Linux、SSH、Nginx、MySQL等所有软件都可能存在安全漏洞。开发者发现漏洞后会发布补丁,你需要通过更新系统来安装这些补丁。

理由2:漏洞公开后,攻击会暴增

一旦漏洞细节公开,全世界的攻击者都会立即编写攻击脚本,扫描还没打补丁的服务器。不更新的服务器会成为"活靶子"。

理由3:防御已知漏洞是最低要求

虽然我们无法防御未知的0day漏洞,但至少要把已知漏洞修复。及时更新能大幅降低被攻击的风险。

真实案例

2017年WannaCry勒索病毒爆发,感染了全球30万台电脑。这个病毒利用的Windows漏洞,微软早在两个月前就发布了补丁。很多被攻击的机构,只是因为没有及时更新系统。

如何手动更新系统

Ubuntu/Debian系统

完整更新流程(一键复制):

sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y

如果想分步操作,理解每一步的含义:

第一步:更新软件包列表

sudo apt update

这一步从软件源获取最新的软件包信息,但不安装任何东西。就像去超市前先看看有什么新商品。

第二步:查看可更新的软件包

apt list --upgradable

可以看到哪些软件有新版本,心里有个数。

第三步:升级所有软件包

sudo apt upgrade -y

-y 参数表示自动确认,不需要手动输入y。

第四步:清理不需要的软件包

sudo apt autoremove -y

删除更新后不再需要的旧依赖包,释放磁盘空间。

CentOS/RHEL系统

更新所有软件包:

sudo yum update -y

或者(CentOS 8+使用dnf):

sudo dnf update -y

查看可更新的软件包:

sudo yum check-update

清理缓存:

sudo yum clean all

更新后的重要提示

⚠️ 如果更新了Linux内核,必须重启服务器才能生效

检查是否需要重启:

# Ubuntu/Debian系统
cat /var/run/reboot-required
# 如果这个文件存在,说明需要重启

# 查看当前运行的内核版本
uname -r

重启服务器:

sudo reboot

重启前确保保存了所有工作,并选择业务低峰期操作。

配置自动更新

为什么需要自动更新?

人会忘记,但系统不会。配置自动更新后:

  • 安全补丁能第一时间安装
  • 不用担心自己忘记更新
  • 减少人工维护成本

Ubuntu/Debian自动更新

安装自动更新工具:

sudo apt install unattended-upgrades -y

启用自动更新:

sudo dpkg-reconfigure --priority=low unattended-upgrades

会弹出一个蓝色界面,选择 Yes 启用。

验证配置:

sudo systemctl status unattended-upgrades

看到 active (running) 就说明配置成功了。

默认配置说明:

  • 自动安装安全更新
  • 不自动安装普通软件更新
  • 不会自动重启服务器

这个配置非常保守和安全,适合大部分服务器。

CentOS/RHEL自动更新

安装yum-cron:

sudo yum install yum-cron -y

启动并设置开机自启:

sudo systemctl start yum-cron
sudo systemctl enable yum-cron

编辑配置(确保自动安装):

sudo nano /etc/yum/yum-cron.conf

找到这一行,确保设置为 yes

apply_updates = yes

保存退出,配置完成。

自动更新的注意事项

优点:

  • 及时修复安全漏洞
  • 省心省力

需要注意:

  • 默认配置很安全,只会安装安全补丁
  • 极少数情况下可能有兼容性问题
  • 重要生产服务器建议先在测试环境验证

更新的最佳实践

更新前检查清单

  • [ ] 确认当前系统运行正常
  • [ ] 有完整的数据备份
  • [ ] 查看即将更新的软件包列表
  • [ ] 选择业务低峰期更新
  • [ ] 保持SSH连接,观察更新过程

更新后验证

  • [ ] 检查关键服务是否正常运行
  • [ ] 测试网站/应用是否正常访问
  • [ ] 查看系统日志有无异常

常见问题

Q:多久更新一次比较合适?
A:建议每周检查一次更新。安全补丁出来后立即安装,其他更新可以适当延后。配置了自动更新后,安全补丁会自动安装。

Q:更新会导致服务中断吗?
A:大部分软件更新不需要重启服务。只有内核更新需要重启服务器,可以选择业务低峰期进行。

Q:更新失败了怎么办?
A:通常重新执行更新命令即可。如果持续失败,检查磁盘空间(用df -h查看)和网络连接。

Q:自动更新会不会导致服务器出问题?
A:概率很低。默认配置只安装安全更新,这些补丁都经过充分测试。但对于特别重要的生产服务器,建议手动更新。

完整的安全体系

至此,Linux服务器安全系列完结。让我们回顾一下你现在拥有的完整防护体系:

  1. SSH密钥认证 - 用"指纹锁"替代密码
  2. 修改默认端口 - 让机器人找不到门
  3. fail2ban自动封禁 - 24小时智能保安
  4. UFW防火墙 - 只开必要的窗户
  5. 禁用root登录 - 把万能钥匙锁进保险柜
  6. 定期更新系统 - 及时修补墙上的裂缝

这六道防线,每一道都很重要,缺一不可。

现在就行动

系统更新是最简单但也最重要的安全措施:

手动更新(每周一次):

# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y

# CentOS/RHEL
sudo yum update -y

自动更新(一次配置,长期有效):

# Ubuntu/Debian
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades

# CentOS/RHEL
sudo yum install yum-cron -y
sudo systemctl enable --now yum-cron

照着这个系列的六篇文章配置下来,你的服务器安全性能超过90%的同行。


这是服务器安全系列的最后一篇文章。感谢你的阅读和支持!如果觉得有用,请转发给更多需要的朋友。如有问题,欢迎在评论区留言讨论。

Read more

fnm + uv + rustup:打造 Debian/Ubuntu 下最丝滑的开发环境“三剑客”,彻底告别 Linux 权限地狱

fnm + uv + rustup:打造 Debian/Ubuntu 下最丝滑的开发环境“三剑客”,彻底告别 Linux 权限地狱

作为一名长期在 Linux 服务器上工作的开发者,我见过不少因权限管理不当导致的问题:有人为了装最新的 Node.js 强行添加了来源不明的 PPA,结果导致 apt 依赖损坏,系统无法正常更新;有人习惯了 sudo pip install,直到某天发现系统自带的工具因为 Python 库版本冲突而无法运行;还有的人在 npm i -g 时遇到 Permission denied,最后执行了 sudo chmod -R 777 /usr/lib。 今天这篇文章,介绍如何用普通用户权限在 Debian/Ubuntu 下配置 Node.js、Python 和 Rust 开发环境,彻底避免上述问题。 为什么要坚持非 root 安装? 保护系统稳定性。

By serverinf
除了 127.0.0.1,你电脑里其实还住着 1600 万个“自己”

除了 127.0.0.1,你电脑里其实还住着 1600 万个“自己”

身为开发者,你一定每天都在和 127.0.0.1 打交道。 启动后端服务、连接 Redis、调试 API…… 在我们的潜意识里: 127.0.0.1 = localhost = 本机。 但你有没有想过: 为什么偏偏是 127? 既然 127.0.0.1 代表自己,那 127.0.0.2 又是谁? 甚至,为什么 Linux 里还有一个诡异的 127.0.1.1? 今天,我们拆开这个被用了 40 年的“回环地址”包裹,看看里面藏着哪些你不知道的秘密。 一、

By serverinf
全球机房探秘:第 5 期:韩国机房:全球网速最快国家的真相,北方用户的隐藏福利

全球机房探秘:第 5 期:韩国机房:全球网速最快国家的真相,北方用户的隐藏福利

摘要:千兆入户的"网速天堂",为什么连回国内却经常卡顿?KT、SK、LG 怎么选?韩国 VPS 到底适合谁? 在上一篇日本机房的文章里,我们聊了"白天法拉利,晚上拖拉机"的线路选择难题。今天,我们把目光投向一个自带光环的地方——韩国机房。 经常关注科技新闻的朋友都知道,在各类全球网速排行榜上,韩国经常霸占榜首,千兆(1Gbps)甚至万兆网络入户简直是家常便饭。 很多新手就会想:"既然韩国网速全球第一,那我买个韩国 VPS,速度岂不是原地起飞?" 先别急着掏钱! 理想很丰满,现实往往有点骨感。欢迎来到《全球机房探秘》第六站,今天我们来扒一扒"全球最快网速"背后的真相。 01 真相一:内网&

By serverinf
拒绝"挤爆"内存:部署 OpenClaw 到底需要多高配置的 VPS /云服务器?

拒绝"挤爆"内存:部署 OpenClaw 到底需要多高配置的 VPS /云服务器?

最近 AI 圈最火的开源项目,莫过于被称为“大龙虾”的 OpenClaw 了。 如果你还没听说过它,简单解释一下:它不是那种只能陪你聊天的机器人,而是一个真正的“数字员工”。它能自己查资料、写代码、操作你的服务器终端、甚至在浏览器里帮你下单购物。这种“自主性”让无数开发者直呼:AI 终于从“只会动嘴”进化到“能动手干活”了。目前 OpenClaw 在 GitHub 上已积累超过 68,000 个 Star,是目前增速最快的开源项目。 然而,很多新手兴冲冲地在自己吃灰多年的“1核 1G”入门级 VPS 上部署后,迎来的不是效率的飞跃,而是没完没了的断连、报错、卡死。 今天,我们就来拆解一下:想要稳稳地跑起

By serverinf