文章总结: 本文是一份关于在隔离网络环境下为Windows和Linux系统手动安装安全补丁的实操指南。它详细介绍了不同操作系统的补丁类型、下载与安装步骤,并针对无法重启的核心业务系统提供了热补丁技术方案,同时分享了七条重要的现场操作建议以规避风险。 综合评分: 85 文章分类: 渗透测试,红队,内网渗透,安全建设,安全工具
安服仔单兵驻场指南——安全补丁
原创
这小子嘴硬 这小子嘴硬
一己之见安全团队
2026年4月1日 08:05 广西
最近同事跑了几趟客户机房,发现几个问题:有些客户内部要求多的很,还不能自己插U盘,得走oa审批,审批过了再放到他们指定的私有源上去拉,更搞笑的是我同事去传补丁的时候根本没人看,甚至没有人去确认,虽说是个小企业,你说他草台班子吧,他流程多的很,你说他严谨吧,机房还没屁股大,规矩像是纸糊的。
这篇就聊聊隔离网里怎么打补丁,Linux和Windows都有,希望对各位有点用。
一、补丁类型
进机房之前,得先知道自己要干什么。如果是漏洞扫描报告上的漏洞需要打补丁才能解决,对应什么补丁?
Windows常见的补丁类型有三种:
①安全累积更新:微软每月发布一次,包含当月所有安全修复,也包含之前月份的更新。一个包解决当月问题,但体积大(几个G),下载慢,安装也慢。如果网络条件允许,这是最省事的选择。
②纯安全更新:只包含当月新的安全修复,体积小。如果你只需要堵特定漏洞,且担心累积更新影响业务兼容性,选这个更稳妥。问题在于它有时不在Microsoft Update Catalog上公开,需要从WSUS渠道获取。
③服务栈更新:这个容易被忽略,但很重要。它更新的是Windows的安装引擎本身。如果安装其他补丁时报错,往往是因为SSU没装。记住:先装SSU,再装其他补丁。
Linux分类相对简单:
Security:安全补丁,必须装
Bugfix:修复非安全性的程序错误,建议装
Enhancement:功能增强,可选装
但Linux真正麻烦的不是分类,是依赖关系。这个后面细说。
二、隔离环境下Windows如何打补丁
核心原则就一条:外网下载,内网安装。
第一步:明确目标
进去之前,先搞清楚目标服务器的系统版本和架构。在目标机上运行 winver 查看具体版本(如Windows Server 2019 Datacenter),确认是x64还是ARM64。
第二步:下载补丁
微软官方补丁下载站是 catalog.update.microsoft.com。搜索对应的KB编号,一定选对架构。x64和ARM64不能混用,混了装不上。
下载完成后,建议记录一下文件的SHA256哈希值,内网安装前校验用。
第三步:内网安装
补丁拷进去之后,推荐使用 DISM 命令安装,比双击稳定:
DISM /Online /Add-Package /PackagePath:D:\patches
把所有补丁放一个文件夹里,DISM会自动处理依赖关系。
如果习惯用独立安装包,可以用 wusa.exe 静默安装:
wusa.exe "D:\patches\update.msu" /quiet /norestart
注意:安装完成后,看清楚是否需要重启。不要在业务高峰期直接重启。一定要注意一定要注意一定要注意!!!!!!!!
关于校验:拷进去之后建议先校验哈希,确保文件完整。用PowerShell:
Get-FileHash-Path "D:\patches\your_update.msu"-Algorithm SHA256
对比外网记录的哈希值,一致再安装。U盘损坏导致文件不完整的情况,确实遇到过。(验md5也行,用哪个其实差别不大,主要是确认文件没损坏、没被替换。)
三、隔离环境下Linux如何打补丁
Linux下离线打补丁,核心难点是依赖。如果你只拷了一个主程序进去,安装时会发现缺少各种 .so 文件。因此,下载时要把依赖包一并带齐。
RPM系(CentOS / RHEL / 欧拉)
在外网找一台与目标服务器同版本、同架构的机器(可以用虚拟机),使用 –downloadonly 下载:
yum install--downloadonly--downloaddir=/opt/offline-packages openssl
这条命令会把openssl及其所有依赖都下载到指定目录。然后把整个目录打包,传到内网。
内网安装时,进入目录执行:
cd /opt/offline-packagesrpm-Uvh *.rpm --nodeps--force
–nodeps 跳过依赖检查,如果下载时依赖带全了,一般没问题。如果内网有多台机器需要打补丁,建议在内网搭建本地YUM源,把下载的包放进去,配置好repo文件后用 yum localinstall。
DEB系(Ubuntu / Debian)
类似,用apt的下载模式:
aptinstall --download-only -o Dir::Cache::Archives=/opt/offline-packages 包名
内网安装:
dpkg -i *.deb
如果提示依赖错误,执行
apt-get install -f
修复。因为依赖包都在本地,一般能解决。
四、特殊场景:无法重启
如果面对的是核心业务系统,不能重启,那么传统的离线补丁方案就不适用了。针对Linux内核,可以考虑热补丁技术。
常用工具:
Ubuntu Pro:Livepatch
RHEL:kpatch
openEuler:SysCare
原理:在不重启的情况下,替换内核内存中的函数代码,在线修复漏洞。
以openEuler的SysCare为例:
syscare build --package kernel-src.rpmsyscare install livepatch_package.rpmsyscare activate livepatch_package
只需要在外网构建好热补丁包,带进去激活即可,业务基本无感知。
注意:热补丁通常需要官方订阅或特定版本支持。Ubuntu Pro和RHEL需要付费,openEuler开源免费。使用前确认甲方的系统版本是否支持。
五、一些实操建议
打补丁这事儿,经验比技术重要。说几条实操中容易踩的坑:
①进去前确认重启窗口。如果是生产系统,先问清楚能不能重启。不能重启就别硬上,跟甲方协调好窗口期再来。
②一定要准备好一个干净的介质专用。
③最好能准备好一个备用介质。准备好U盘坏了的概率比想象中大,多备一个不亏,主包曾经创下一天内干折三个U盘的记录。
④文件拷进去先校验。哈希对不上就别装,省得出问题。
⑤先打测试机,再打生产。这个道理谁都懂,但现场一着急就容易忘。有条件的话先在测试环境验证一遍。(当然,客户如果实在觉得不需要就随他,让他留下纸面记录,证明是他说不用的)
⑥留好回滚方案。装之前确认有备份,或者知道怎么卸载。万一出问题还能兜底,尤其是非云实体服务器,容错率更小,而且据主包从一个小云厂商的兄弟那里了解,不是每一家的超融合、私有云环境都那么有保证的,出问题的时候锅是甩不掉的。
⑦宁可多跑两趟,也别一次性把系统搞出问题,不确定、拿不准的时候就停一停放一放,系统稳定运行是第一位的。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:一己之见安全团队 这小子嘴硬 这小子嘴硬《安服仔单兵驻场指南——安全补丁》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论