SSM-Befehlsdokument zum Patchen: AWS-RunPatchBaseline
AWS Systems Manager unterstützt AWS-RunPatchBaseline
, ein Systems Manager-Dokument (SSM-Dokument) für Patch Manager, eine Funktion von AWS Systems Manager. Dieses SSM-Dokument führt Patch-Operationen auf verwaltete Knoten sowohl für sicherheitsrelevante als auch für andere Arten von Updates durch. Wenn das Dokument ausgeführt wird, verwendet es die Patch-Baseline, die der „Standard“ für einen Betriebssystemtyp ist, wenn keine Patch-Gruppe angegeben ist. Andernfalls wird die Patch-Baseline verwendet, die der Patch-Gruppe zugeordnet ist. Informationen zu Patch-Gruppen finden Sie unter Patch-Gruppen.
Sie können das Dokument AWS-RunPatchBaseline
verwenden, um Patches sowohl für Betriebssysteme als auch für Anwendungen durchzuführen. (Unter Windows Server ist der Anwendungssupport auf Updates für Microsoft-Anwendungen beschränkt.)
Dieses Dokument unterstützt von Linux, macOS und Windows Server verwaltete Knoten. Das Dokument führt die entsprechenden Aktionen für jede Plattform durch.
Anmerkung
Patch Manager unterstützt auch das veraltete SSM-Dokument AWS-ApplyPatchBaseline
. Dieses Dokument unterstützt jedoch nur das Patchen von Windows-verwalteten Knoten. Wir empfehlen Ihnen, stattdessen AWS-RunPatchBaseline
zu verwenden, da es das Patchen auf Linux-, macOS- und Windows Server-verwaltete Knoten unterstützt. Version 2.0.834.0 oder höher von SSM Agent ist erforderlich, um das Dokument AWS-RunPatchBaseline
zu verwenden.
Jeder Snapshot ist spezifisch für ein AWS-Konto, eine Patch-Gruppe, ein Betriebssystem und eine Snapshot-ID. Der Snapshot wird über eine vorsignierte Amazon Simple Storage Service (Amazon S3)-URL bereitgestellt, die 24 Stunden nach Erstellung des Snapshots abläuft. Wenn Sie jedoch denselben Snapshot-Inhalt auf andere verwaltete Knoten anwenden möchten, können Sie nach Ablauf der URL bis zu drei Tage nach Erstellung des Snapshots eine neue vorsignierte Amazon-S3-URL generieren. Verwenden Sie dazu den Befehl get-deployable-patch-snapshot-for-instance.
Nachdem alle genehmigten und zutreffenden Updates installiert und je nach Bedarf Neustarts durchgeführt wurden, werden Patch-Compliance-Informationen auf einem verwalteten Knoten generiert und wieder an Patch Manager gemeldet.
Anmerkung
Wenn der Parameter RebootOption
im Dokument AWS-RunPatchBaseline
auf NoReboot
gesetzt ist, wird der verwaltete Knoten nach dem Ausführen von Patch Manager nicht neu gestartet. Weitere Informationen finden Sie unter Parametername: RebootOption.
Weitere Informationen zum Anzeigen von Patch-Compliance-Daten finden Sie unter Info zu Patch Compliance.
AWS-RunPatchBaseline
-Parameter
AWS-RunPatchBaseline
unterstützt fünf Parameter. Der Parameter Operation
muss angegeben werden. Die Parameter InstallOverrideList
, BaselineOverride
und RebootOption
sind optional. Snapshot-ID
ist technisch optional, wir empfehlen allerdings, dass Sie einen benutzerdefinierten Wert dafür angeben, wenn Sie AWS-RunPatchBaseline
außerhalb von einem Wartungsfenster ausführen, und Patch Manager den Wert benutzerdefinierten automatisch angeben lassen, wenn das Dokument als Teil eines Wartungsfenstervorgangs ausgeführt wird.
Parameter
Parametername: Operation
Nutzung: erforderlich.
Optionen: Scan
| Install
.
- Scan
-
Wenn Sie die Option
Scan
wählen, bestimmtAWS-RunPatchBaseline
den Patch-Compliance-Status des verwalteten Knoten und meldet diese Informationen an Patch Manager.Scan
fordert nicht zum Installieren von Updates oder zum Neustarten von verwalteten Knoten auf. Stattdessen erkennt die Operation, wo für den Knoten genehmigte und geeignete Updates fehlen. - Installieren
-
Bei Auswahl der Option
Install
versuchtAWS-RunPatchBaseline
, die genehmigten und geeigneten Updates zu installieren, die auf dem verwalteten Knoten fehlen. Patch-Compliance-Informationen, die als Teil einesInstall
-Vorgangs generiert wurden, enthalten keine fehlenden Updates, melden allerdings möglicherweise Updates im Fehlerzustand, wenn die Installation des Updates aus einem beliebigen Grund nicht erfolgreich war. Immer wenn ein Update auf einem verwalteten Knoten installiert wird, wird der Knoten neu gestartet, um sicherzustellen, dass das Update installiert und aktiviert ist. (Ausnahme: Wenn derRebootOption
-Parameter imNoReboot
-Dokument aufAWS-RunPatchBaseline
gesetzt ist, wird der verwaltete Knoten nach der Ausführung von Patch Manager nicht neu gestartet. Weitere Informationen finden Sie unter Parametername: RebootOption.)Anmerkung
Wenn ein von den Basisregeln festgelegter Patch installiert wird, bevor der Patch Manager den verwalteten Knoten aktualisiert, wird das System möglicherweise nicht wie erwartet neu gestartet. Dies kann passieren, wenn ein Patch manuell von einem Benutzer oder automatisch von einem anderen Programm, z. B. dem
unattended-upgrades
-Paket auf Ubuntu Server, installiert wird.
Parametername: AssociationId
Nutzung: optional.
AssociationId
ist die ID einer vorhandenen Zuordnung in State Manager, einer Funktion von AWS Systems Manager. Es wird von Patch Manager verwendet, um einer angegebenen Zuordnung Compliance-Daten hinzuzufügen. Diese Zuordnung bezieht sich auf einen Patching-Vorgang, der in einer Patch-Richtlinie in Quick Setup eingerichtet ist.
Anmerkung
Wenn mit der AWS-RunPatchBaseline
ein AssociationId
-Wert zusammen mit einer Baseline-Überschreibung der Patch-Richtlinie bereitgestellt wird, wird das Patchen als eine PatchPolicy
-Operation durchgeführt und der ExecutionType
-Wert, der in AWS:ComplianceItem
gemeldet wird, ist ebenfalls PatchPolicy
. Wenn kein AssociationId
-Wert angegeben wird, wird das Patchen als eine Command
-Operation durchgeführt, und der ExecutionType
-Wert, der in AWS:ComplianceItem
übermittelt wird, ist ebenfalls Command
.
Wenn Sie noch keine Zuordnung erstellt haben, die Sie verwenden möchten, können Sie eine erstellen, indem Sie den Befehl create-association ausführen.
Parametername: Snapshot ID
Nutzung: optional.
Snapshot ID
ist eine eindeutige ID (GUID), die von Patch Manager verwendet wird, um sicherzustellen, dass ein Satz von verwalteten Knoten, für die in einer einzelnen Operation Patches durchgeführt werden, den genau gleichen Satz genehmigter Patches aufweist. Auch wenn der Parameter als optional definiert ist, hängen unsere Empfehlungen für bewährte Methoden davon ab, ob Sie AWS-RunPatchBaseline
in einem Wartungsfenster, wie in der folgenden Tabelle beschrieben, ausführen.
Mode | Bewährte Methode | Details |
---|---|---|
Ausführen von AWS-RunPatchBaseline innerhalb eines Wartungsfensters |
Geben Sie keine Snapshot ID an. Patch Manager wird sie für Sie bereitstellen. |
Falls Sie ein Wartungsfenster zum Ausführen von Wenn Sie einen Wert in diesem Szenario angeben, beachten Sie, dass der Snapshot der Patch-Baseline möglicherweise nicht länger als drei Tagen erhalten bleibt. Danach wird ein neuer Snapshot erstellt, auch wenn Sie dieselbe ID angeben, nachdem der Snapshot abgelaufen ist. |
Ausführen von AWS-RunPatchBaseline außerhalb eines Wartungsfensters |
Generieren Sie einen benutzerdefinierten GUID-Wert für die Snapshot-ID und geben Sie ihn an.¹ |
Wenn Sie kein Wartungsfenster zum Ausführen von Nehmen wir an, Sie führen das Dokument |
¹ Sie können jedes beliebige Tool zum Generieren eines Werts für den Snapshot-ID-Parameter verwenden, das eine GUID generieren kann. Beispiel: In PowerShell können Sie das |
Parametername: InstallOverrideList
Nutzung: optional.
Mit InstallOverrideList
können Sie eine https-URL oder eine Amazon S3-PathStyle-URL zu einer Liste mit zu installierenden Patches angeben. Diese im YAML-Format geführte Patch-Installationsliste überschreibt die von der Standard-Patch-Baseline angegebenen Patches. Dies bietet Ihnen eine detalliertere Kontrolle darüber, welche Patches auf Ihren verwalteten Knoten installiert sind.
Wichtig
Der InstallOverrideList
-Dateiname darf die folgenden Zeichen nicht enthalten: Backtick (`), einfaches Anführungszeichen ('), doppeltes Anführungszeichen („) und Dollarzeichen ($).
Das Verhalten des Patch-Vorgangs bei Verwendung des InstallOverrideList
-Parameters unterscheidet sich zwischen Linux- und macOS-verwalteten Knoten und Windows Server-verwalteten Knoten. Unter Linux und macOS versucht Patch Manager, Patches aus der Patchliste InstallOverrideList
anzuwenden, die in einem auf dem Knoten aktivierten Repository vorhanden sind, unabhängig davon, ob die Patches den Patch-Baseline-Regeln entsprechen oder nicht. Auf Windows Server-Knoten werden Patches in der InstallOverrideList
-Patch-Liste jedoch nur angewendet, wenn sie auch den Patch-Baseline-Regeln entsprechen.
Beachten Sie, dass Compliance-Berichte Patch-Status entsprechend den Angaben in der Patch-Baseline wiedergeben, nicht entsprechend Ihren Angaben in einer InstallOverrideList
-Liste von Patches. Mit anderen Worten: Scan-Operationen ignorieren den Parameter InstallOverrideList
. Auf diese Weise wird sichergestellt, dass Compliance-Berichte den Patch-Status konsistent entsprechend der Richtlinie wiedergeben und nicht danach, was für eine bestimmte Patching-Operation genehmigt wurde.
Eine Beschreibung, wie Sie den Parameter InstallOverrideList
verwenden können, um verschiedene Patch-Typen in verschiedenen Wartungsfenster-Zeitplänen auf eine Zielgruppe anzuwenden und gleichzeitig eine einzelne Patch-Baseline zu verwenden, finden Sie unter Beispielszenario für die Verwendung des Parameters „InstallOverrideList“ in AWS-RunPatchBaseline oder AWS-RunPatchBaselineAssociation.
Gültige URL-Formate
Anmerkung
Wenn Ihre Datei in einem öffentlich zugänglichen Bucket gespeichert ist, können Sie entweder ein HTTPS-URL-Format oder eine URL im Amazon S3-Pfadstil angeben. Wenn Ihre Datei in einem privaten Bucket gespeichert ist, müssen Sie eine URL im Amazon S3-Pfadstil angeben.
-
HTTPS-URL-Format:
https://s3.
aws-api-domain
/amzn-s3-demo-bucket/my-windows-override-list.yaml -
URL im Amazon S3-Pfadstil:
s3://amzn-s3-demo-bucket/my-windows-override-list.yaml
Gültige YAML-Inhaltsformate
Die Formate, die Sie verwenden, um Patches in Ihrer Liste anzugeben, hängen von dem Betriebssystem Ihres verwalteten Knoten ab. Das allgemeine Format lautet jedoch folgendermaßen:
patches: - id: '{patch-d}' title: '{patch-title}' {
additional-fields
}:{values
}
Sie können zwar zusätzliche Felder in der YAML-Datei bereitstellen, diese werden jedoch während der Patch-Operationen ignoriert.
Darüber hinaus empfehlen wir zu überprüfen, ob das Format Ihrer YAML-Datei gültig ist, bevor Sie die Liste in Ihrem S3-Bucket hinzufügen oder aktualisieren. Weitere Informationen zum YAML-Format finden Sie unter yaml.org
Patch-Beispiellisten
-
Amazon Linux
patches: - id: 'kernel.x86_64' - id: 'bind*.x86_64' title: '32:9.8.2-0.62.rc1.57.amzn1' - id: 'glibc*' - id: 'dhclient*' title: '*12:4.1.1-53.P1.28.amzn1' - id: 'dhcp*' title: '*10:3.1.1-50.P1.26.amzn1'
-
CentOS
patches: - id: 'kernel.x86_64' - id: 'bind*.x86_64' title: '32:9.8.2-0.62.rc1.57.amzn1' - id: 'glibc*' - id: 'dhclient*' title: '*12:4.1.1-53.P1.28.amzn1' - id: 'dhcp*' title: '*10:3.1.1-50.P1.26.amzn1'
-
Debian Server
patches: - id: 'apparmor.amd64' title: '2.10.95-0ubuntu2.9' - id: 'cryptsetup.amd64' title: '*2:1.6.6-5ubuntu2.1' - id: 'cryptsetup-bin.*' title: '*2:1.6.6-5ubuntu2.1' - id: 'apt.amd64' title: '*1.2.27' - id: 'apt-utils.amd64' title: '*1.2.25'
-
macOS
patches: - id: 'XProtectPlistConfigData' - id: 'MRTConfigData.1.61' - id: 'Command Line Tools for Xcode.11.5' - id: 'Gatekeeper Configuration Data'
-
Oracle Linux
patches: - id: 'audit-libs.x86_64' title: '*2.8.5-4.el7' - id: 'curl.x86_64' title: '*.el7' - id: 'grub2.x86_64' title: 'grub2.x86_64:1:2.02-0.81.0.1.el7' - id: 'grub2.x86_64' title: 'grub2.x86_64:1:*-0.81.0.1.el7'
-
Red Hat Enterprise Linux (RHEL)
patches: - id: 'NetworkManager.x86_64' title: '*1:1.10.2-14.el7_5' - id: 'NetworkManager-*.x86_64' title: '*1:1.10.2-14.el7_5' - id: 'audit.x86_64' title: '*0:2.8.1-3.el7' - id: 'dhclient.x86_64' title: '*.el7_5.1' - id: 'dhcp*.x86_64' title: '*12:5.2.5-68.el7'
-
SUSE Linux Enterprise Server (SLES)
patches: - id: 'amazon-ssm-agent.x86_64' - id: 'binutils' title: '*0:2.26.1-9.12.1' - id: 'glibc*.x86_64' title: '*2.19*' - id: 'dhcp*' title: '0:4.3.3-9.1' - id: 'lib*'
-
Ubuntu Server
patches: - id: 'apparmor.amd64' title: '2.10.95-0ubuntu2.9' - id: 'cryptsetup.amd64' title: '*2:1.6.6-5ubuntu2.1' - id: 'cryptsetup-bin.*' title: '*2:1.6.6-5ubuntu2.1' - id: 'apt.amd64' title: '*1.2.27' - id: 'apt-utils.amd64' title: '*1.2.25'
-
Windows
patches: - id: 'KB4284819' title: '2018-06 Cumulative Update for Windows Server 2016 (1709) for x64-based Systems (KB4284819)' - id: 'KB4284833' - id: 'KB4284835' title: '2018-06 Cumulative Update for Windows Server 2016 (1803) for x64-based Systems (KB4284835)' - id: 'KB4284880' - id: 'KB4338814'
Parametername: RebootOption
Nutzung: optional.
Optionen: RebootIfNeeded
| NoReboot
Standardwert: RebootIfNeeded
Warnung
Die Standardoption ist RebootIfNeeded
. Stellen Sie sicher, dass Sie die richtige Option für Ihren Anwendungsfall auswählen. Wenn Ihre verwalteten Knoten beispielsweise sofort neu gestartet werden müssen, um einen Konfigurationsprozess abzuschließen, wählen Sie RebootIfNeeded
aus. Oder wenn Sie die Verfügbarkeit von verwalteten Knoten bis zu einer geplanten Neustartzeit beibehalten müssen, wählen Sie NoReboot
aus.
Wichtig
Wir raten davon ab, Patch Manager für das Patchen von Cluster-Instances in Amazon EMR (früher Amazon Elastic MapReduce genannt) zu verwenden. Wählen Sie insbesondere nicht die Option RebootIfNeeded
für den Parameter RebootOption
aus. (Diese Option ist in den SSM-Befehlsdokumenten für das Patchen von AWS-RunPatchBaseline
, AWS-RunPatchBaselineAssociation
und AWS-RunPatchBaselineWithHooks
verfügbar.)
Die zugrunde liegenden Befehle für das Patchen mithilfe von Patch Manager verwenden yum
- und dnf
-Befehle. Daher führen die Operationen aufgrund der Art und Weise, wie Pakete installiert werden, zu Inkompatibilitäten. Informationen zu den bevorzugten Methoden für die Aktualisierung von Software auf Amazon-EMR-Clustern finden Sie unter Verwenden des Standard-AMI für Amazon EMR im Amazon EMR Management Guide.
- RebootIfNeeded
-
Wenn Sie die Option
RebootIfNeeded
auswählen, wird der verwaltete Knoten in einem der folgenden Fälle neu gestartet:-
Patch Manager ist auf einem oder mehreren Patches installiert.
Patch Manager wertet nicht aus, ob ein Neustart vom Patch erfordert wird. Das System wird neu gestartet, auch wenn der Patch keinen Neustart erfordert.
-
Patch Manager erkennt ein oder mehrere Patches mit dem Status
INSTALLED_PENDING_REBOOT
während derInstall
-Operation.Der
INSTALLED_PENDING_REBOOT
-Status kann bedeuten, dass die OptionNoReboot
ausgewählt wurde, als derInstall
-Vorgang das letzte Mal ausgeführt wurde, oder dass ein Patch außerhalb von Patch Manager seit dem letzten Neustart des verwalteten Knotens installiert wurde.
Durch den Neustart von verwalteten Knoten wird in diesen beiden Fällen sichergestellt, dass aktualisierte Pakete aus dem Speicher gelöscht werden und das Patch- und Neustartverhalten über alle Betriebssysteme hinweg konsistent bleibt.
-
- NoReboot
-
Wenn Sie die Option
NoReboot
auswählen, startet Patch Manager einen verwalteten Knoten nicht neu, selbst wenn über ihn während derInstall
-Operation Patches installiert wurden. Diese Option ist nützlich, wenn Sie wissen, dass für Ihre verwalteten Knoten nach dem Anwenden von Patches kein Neustart erforderlich ist oder Anwendungen bzw. Prozesse auf einem Knoten ausgeführt werden, die nicht durch einen Neustart beim Patchen unterbrochen werden sollten. Sie ist auch nützlich, wenn Sie mehr Kontrolle über das Timing von Neustarts von verwalteten Knoten wünschen, z. B. durch die Verwendung eines Wartungsfensters.Anmerkung
Wenn Sie die Option
NoReboot
auswählen und ein Patch installiert ist, wird dem Patch der StatusInstalledPendingReboot
zugewiesen. Der verwaltete Knoten selbst wird jedoch alsNon-Compliant
gekennzeichnet. Nach einem Neustart und Ausführung einerScan
-Operation wird der Status des verwalteten Knoten aufCompliant
aktualisiert.
Datei zum Nachverfolgen der Patch-Installation: Um die Patch-Installation nachzuverfolgen, insbesondere von Patches, die seit dem letzten Neustart des Systems installiert wurden, erstellt Systems Manager eine Datei auf dem verwalteten Knoten.
Wichtig
Löschen oder ändern Sie die Tracking-Datei nicht. Wenn diese Datei gelöscht oder beschädigt wird, ist der Patch-Compliance-Bericht für den verwalteten Knoten ungenau. Starten Sie in diesem Fall den Knoten neu und führen Sie eine Patch-Scan-Operation aus, um die Datei wiederherzustellen.
Diese Tracking-Datei wird an den folgenden Speicherorten auf Ihren verwalteten Knoten gespeichert:
-
Linux-Betriebssysteme:
-
/var/log/amazon/ssm/patch-configuration/patch-states-configuration.json
-
/var/log/amazon/ssm/patch-configuration/patch-inventory-from-last-operation.json
-
-
Windows Server-Betriebssystem:
-
C:\ProgramData\Amazon\PatchBaselineOperations\State\PatchStatesConfiguration.json
-
C:\ProgramData\Amazon\PatchBaselineOperations\State\PatchInventoryFromLastOperation.json
-
Parametername: BaselineOverride
Nutzung: optional.
Sie können Patching-Voreinstellungen zur Laufzeit mit dem BaselineOverride
-Parameter definieren. Diese Baseline-Überschreibung wird als JSON-Objekt in einem S3-Bucket beibehalten. Sie stellt sicher, dass Patchvorgänge die bereitgestellten Baselines verwenden, die dem Host-Betriebssystem entsprechen, anstatt die Regeln aus der Standard-Patch-Baseline anzuwenden
Wichtig
Der BaselineOverride
-Dateiname darf die folgenden Zeichen nicht enthalten: Backtick (`), einfaches Anführungszeichen ('), doppeltes Anführungszeichen („) und Dollarzeichen ($).
Weitere Informationen zur Verwendung des Parameters BaselineOverride
finden Sie unter Verwenden des Parameters BaselineOverride.