Tags: Amazon EC2, Linux, Patch-Management
Nach dem Erzeugen einer Instanz aus einem Linux-AMI muss der virtuelle Server regelmäßig mit Updates versorgt werden. Amazon stellt zu diesem Zweck für seine beiden Linux-Varianten zwei vorkonfigurierte Yum-Repositories bereit. Die weitgehend automatisierte Aktualisierung des AMI lässt sich manuell anpassen.
Beim Erzeugen einer Amazon-Linux-Instanz aus dem AMI werden Sicherheits-Updates automatisch aus den konfigurierten Repos eingespielt, und zwar vor dem Start von Diensten wie SSH. Bei der Anmeldung zeigt die Meldung des Tages (/etc/motd) an, ob zusätzliche Aktualisierungen verfügbar sind.
yum-Konfiguration anzeigen
Die Paketquellenliste ist unter /etc/yum.repos.d verfügbar. Ein Blick in amzn-main-repo offenbart die repo-Details und ob das Repo aktiv ist ("enabled=1"). Wie die URL für mirrorlist zeigt, benötigt die Instanz einen Internetzugang für den Zugriff auf das Repo.
Der Zugriff auf die Repos erfolgt wie bei RHEL, CentOS und Fedora üblich, mithilfe des Aktualisierungs-Tools yum. Da die Repositories in jeder Region gehostet sind, kann AWS Updates schnell und ohne zusätzliche Datenübertragungskosten bereitstellen.
Die Verwandtschaft zur Red-Hat-Familie zeigt sich auch am vorbereiteten Epl-Repo, das allerdings nicht per Default aktiviert ist (enabled = 0). Dies lässt sich aber durch Bearbeiten mit einen Editor wie nano, vim oder vi (vorinstalliert) schnell beheben.
Kontinuierliche Updates
AWS erstellt und wartet das Linux-AMI als Rolling Release, so dass Nutzer kontinuierlich von einer Version zur nächsten übergehen können. Unter diesem Verfahren kann man sich einen "Fluss von Paketen" vorstellen, wobei die Images immer ein Snapshot zu einer bestimmten Zeit sind.
Der obligatorische erste Befehl in jedem User-Daten-Script
yum update -y
bleibt aber trotzdem sinnvoll, auch wenn sich die Benutzer um Sicherheits-Patches praktisch nicht kümmern müssen.
AWS lädt Paketaktualisierungen per Push-Verfahren in die Repositories hoch und macht sie auch in jeder neuen Version von Amazon Linux AMI verfügbar. yum ist dabei so konfiguriert ist, dass es auf das jeweils letzte Release verweist, was ein Blick auf die Variable
releasever=latest
in /etc/yum.conf zeigt.
Allerdings können Nutzer bei Bedarf mit der Funktion Lock and Launch eine bestimmte Version ihrer AMIs beibehalten, so dass diese keine Paketaktualisierung erhalten, wenn AWS neue Hauptversionen von Amazon Linux AMI freigibt.
Dies kann man etwa beim Instanziieren erreichen, indem man in den User-Daten etwa repo_releasever: 2015.09 verwendet. Außerdem kann man sich, sofern gewünscht, fest auf eine bestimmte Version festlegen, indem man diese in /etc/system-release einträgt, dann in /etc/yum.conf die Zeile releasever=latest auskommentiert. Zum Abschluss führt man
yum clean all
aus, um den Cache zu löschen.
Deaktivieren von automatischen Sicherheits-Updates
Kann die Instanz nicht auf die konfigurierten yum-Paketquellen zugreifen, dann wird die Aktualisierung nach mehreren Wiederholversuchen abgebrochen. Mögliche Gründe dafür können einschränkende Security-Group- oder VPC-Einstellungen (Route Tables, Subnets) sein, die einen Zugriff auf die Paket-Repositories verhindern.
Auch Instanzen in einem privaten Subnetz sollten sich zum Beispiel über einen NAT-Dienst oder eine NAT-Instanz beim ersten Start mit Aktualisierungen und später mit Updates versorgen können. Man kann aber eine Sicherheitsaktualisierung beim Systemstart auch bewusst unterbinden, indem man den User-Daten
#cloud-config
repo_upgrade: none
mitgibt. Andernfalls kann man nach dem Provisionieren der Instanz an der Konsole die Datei /etc/cloud/cloud.cfg bearbeiten und den Eintrag
repo_upgrade: security
zu
repo_upgrade: none
ändern.
Täglich Know-how für IT-Pros mit unserem Newsletter
Thomas Drilling arbeitet ist seit fast 30 Jahren selbständig in der IT-Welt sowohl als Consultant, als auch als Redakteur, Buchautor und Journalist für viele ehemalige und aktuelle IT-Magazine sowie Blogs.
Aktuell bestätigt sich Thomas schwerpunktmäßig als IT-Trainer für Cloud-Computing in den Bereichen Microsoft Azure, Amazon Web Services und VMware.
Thomas ist zertifizierter Microsoft-Trainer für nahe das gesamte Portfolio an Microsoft Azure Trainings. Thomas ist außerdem zertifizierter Microsoft Azure Solutions Architect Expert sowie VMware Certified Professional und wurde von VMware in den Jahren 2016 bis 2022 mit dem Blogger-Status vExpert ausgezeichnet.
Thomas führt aktuell jeden Monat zwei selbstkonziperte 4-tägigen Grundlagenkurse in Cloud Computing mit Azure durch, die sich inhaltlich bewusst von den Microsft-Kursen abheben und vorzuweise als Bootcamp in eine besonderen Lokation stattfinden. Optional kann aber aber auch remote via Microsoft Teams teilgenommen werden.
Das aktuelle Trainingsprogramm findet sich unter Azure-Trainings. Weitere Informationen und Anmeldung über sein Azure-Blog.
Verwandte Beiträge
- Update-Methoden für Azure Virtual Machines im Überblick
- AWS Systems Manager: EC2-Instanzen patchen, Wartungsaufgaben automatisieren
- AWS EC2: Benutzer und Netzwerk in Amazon Linux konfigurieren
- EC2: Amazon Machine Images nutzen, AMI selbst erstellen
- Updates für vCenter Server Appliance (vCSA) 6.0 installieren
Weitere Links