补丁管理
补丁(/patches)显示哪些服务器有待装的系统更新,并能直接安装。它作用于SSH资产,用资产上保存的账号操作,支持Windows和Linux,不需要在服务器上装任何东西。这个页面只有管理员能用。
列表
组织里的每个SSH资产都会列出来,包括:
- 状态:未扫描、已是最新、上次扫描的错误,或者正在它上面运行的任务(正在扫描、正在安装、正在重启);
- 待装更新的数量、其中安全更新的数量,资产在等待重启时显示需要重启。
页面上方的卡片统计有待装更新的资产、安全更新和需要重启的资产。
什么都没选时,全部扫描和全部安装作用于列表里的所有资产。勾选资产后它们变成扫描所选和安装所选,重启所选也只对勾选的资产可用。每一行也有自己的扫描和安装。
点资产可以看它的更新:
- Windows:每个更新的KB编号、分类(例如安全更新、关键更新)、严重程度,安装后可能需要重启的标可能要重启。
- Linux:每个软件包的来源仓库或套件、包管理器知道时的安全严重程度,以及当前版本和新版本。
在这个页面上可以勾选单个更新只装它们,也可以全部安装。下面是这个资产上的任务历史:谁启动的(自动扫描显示定时)、结果、消息和完整输出。
资产上需要什么
Casvisor每次都会自己判断资产运行的系统:先执行uname -s,不是Linux再执行cmd /c ver;不看资产的操作系统字段。
Linux需要apt、dnf或yum。任何账号都能扫描,不过apt只有root才会刷新软件包列表。安装和重启需要root,或者能免密执行sudo的账号。
Windows需要一个支持SFTP的SSH服务端,例如Windows自带的OpenSSH服务端,以及管理员账号。Casvisor通过SFTP把PowerShell脚本传到C:\ProgramData\Casvisor下再运行。
扫描
- Windows:向Windows Update Agent查询未安装、未隐藏的软件更新。是否等待重启从注册表读取。
- Linux:apt执行
apt-get update(root时)和apt list --upgradable;dnf和yum列出可升级的包和它们的安全公告。是否等待重启看/var/run/reboot-required、needs-restarting -r,或者比较正在运行的内核和最新安装的内核。
安装
安装在资产上独立运行,和SSH连接脱钩,所以连接断了也不会中断。Casvisor持续读取它的输出,需要时重新连接;Casvisor自己在这期间重启了,也会接着跟进。
- Windows:Windows Update不允许从SSH登录下载安装更新,所以Casvisor注册一个名为Casvisor Patch、以SYSTEM身份运行的计划任务,由它下载并安装更新,完成后删掉这个任务。有任何更新装失败,或超过6小时,任务就算失败。
- Linux:
apt-get upgrade --with-new-pkgs(只装选中的包时是install --only-upgrade,保留现有配置文件)、dnf upgrade或yum update,全程不提问。输出保存在资产的/var/tmp/casvisor-patch/里。
安装完不会自动重启资产。安装结束后,Casvisor会重新扫描一次。
一个资产上同时只运行一个任务,全部加起来最多同时运行8个。
重启
重启会重启资产(Windows上是shutdown /r,Linux上是systemctl reboot),然后等它恢复,最多等30分钟,再重新扫描。是否重启过是看资产的启动时间或boot ID判断的,所以关机慢的主机不会被误当成已经重启回来。
定时扫描
扫描过一次的资产,如果patchScanInterval小时(默认24)内没有运行过任务,会自动重新扫描;设为0关闭。从没扫描过的资产在有人扫描它之前不会自动扫描。见配置。