Website-Suche

Richten Sie unter Ubuntu ein automatisches Sicherheitsupdate (unbeaufsichtigte Upgrades) ein


Dieses Tutorial zeigt Ihnen, wie Sie automatische Sicherheitsupdates, auch bekannt als unbeaufsichtigte Upgrades, unter Ubuntu einrichten. Wenn Sie nicht in einer Höhle leben, kennen Sie wahrscheinlich die massive Datenpanne bei Equifax. Zwischen Mai und Juli 2017 wurden 143 Millionen Equifax-Kundendaten gestohlen, darunter Name, Sozialversicherungsnummer, Geburtsdatum, Führerschein und 200.000 Kreditkartennummern.

Im März 2017 wurde eine kritische Schwachstelle in Apache Structs entdeckt und die Apache Foundation veröffentlichte einen Fix dafür, als sie die Existenz der Schwachstelle bekannt gab. Allerdings hat Equifax die Schwachstelle zwei Monate lang nicht behoben, was zu einer massiven Datenpanne führte. Unternehmen, die komplexe Anwendungen ausführen, müssen möglicherweise umfangreiche Tests durchführen, bevor sie Updates installieren. Wenn Sie jedoch einen einfachen Linux-Server für den persönlichen Gebrauch haben, können Sie automatische Sicherheitsupdates aktivieren, um Schwachstellen so schnell wie möglich zu beheben.

Konfigurieren Sie das automatische Sicherheitsupdate (unbeaufsichtigte Upgrades) auf dem Ubuntu-Server

Installieren Sie zunächst das Paket unattended-upgrades.

sudo apt update

sudo apt install unattended-upgrades

Sie müssen das Paket update-notifier-common installieren, um den automatischen Neustart einzurichten.

sudo apt install update-notifier-common

Bearbeiten Sie dann die Datei 50unattended-upgrades.

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

In dieser Datei können Sie konfigurieren, welche Pakete automatisch aktualisiert werden sollen. Standardmäßig werden nur Sicherheitsupdates automatisch installiert, wie die folgenden Zeilen zeigen. Es besteht also keine Notwendigkeit, diesen Abschnitt zu ändern.

Unattended-Upgrade::Allowed-Origins {
        "${distro_id}:${distro_codename}";
        "${distro_id}:${distro_codename}-security";
        // Extended Security Maintenance; doesn't necessarily exist for
        // every release and this system may not have it installed, but if
        // available, the policy for updates is such that unattended-upgrades
        // should also install from here by default.
        "${distro_id}ESMApps:${distro_codename}-apps-security";
        "${distro_id}ESM:${distro_codename}-infra-security";
//      "${distro_id}:${distro_codename}-updates";
//      "${distro_id}:${distro_codename}-proposed";
//      "${distro_id}:${distro_codename}-backports";
};

  • Der erste Ursprung "$ {distro_id}:$ {distro_codename}" ist erforderlich, da Sicherheitsupdates möglicherweise neue Abhängigkeiten von nicht sicherheitsrelevanten Quellen mit sich bringen. Dieser Ursprung stellt keine Software-Updates bereit.
  • Der zweite Ursprung sind regelmäßige Sicherheitsupdates.
  • Der dritte und vierte Ursprung (ESMApps und ESM) dienen der erweiterten Sicherheitswartung, d. h. für diejenigen, die eine Ubuntu-Version ausführen, die das Ende ihrer Lebensdauer erreicht hat. Sie können es so lassen, wie es ist.

Email Benachrichtigung

Manchmal gelingt es Ubuntu nicht, Sicherheitsupdates zu installieren, sodass ein manuelles Update erforderlich ist. Wenn Sie nach jedem Sicherheitsupdate E-Mail-Benachrichtigungen erhalten möchten, suchen Sie die folgende Zeile und kommentieren Sie sie aus. (Entfernen Sie die doppelten Schrägstriche am Anfang.)

Ubuntu 18.04

//Unattended-Upgrade::Mail "root";

Ubuntu 20.04/22.04

//Unattended-Upgrade::Mail "";

Sie können eine E-Mail-Adresse angeben, um Benachrichtigungen wie unten zu erhalten.

Unattended-Upgrade::Mail "[email ";

Wenn Sie lieber nur E-Mail-Benachrichtigungen erhalten möchten, wenn beim Sicherheitsupdate ein Fehler auftritt, entfernen Sie den Kommentar in der folgenden Zeile.

Ubuntu 18.04

//Unattended-Upgrade::MailOnlyOnError "true";

Unter Ubuntu 20.04/22.04 müssen Sie die folgende Zeile finden

//Unattended-Upgrade::MailReport "on-change";

Kommentieren Sie es aus und ändern Sie es bei Änderung in

Unattended-Upgrade::MailReport "only-on-error";

Nicht verwendete Abhängigkeiten automatisch entfernen

Sie müssen wahrscheinlich nach jedem Update sudo apt autoremove ausführen, suchen Sie also die folgende Zeile:

//Unattended-Upgrade::Remove-Unused-Dependencies "false";

Kommentieren Sie diese Zeile aus und ändern Sie false in true.

Unattended-Upgrade::Remove-Unused-Dependencies "true";

Automatischer Neustart

Wenn ein Sicherheitsupdate für den Linux-Kernel installiert ist, müssen Sie den Ubuntu-Server neu starten, um das Kernel-Update anzuwenden. Wenn der Server nur von Ihnen oder einigen wenigen Personen genutzt wird, kann es praktisch sein, den automatischen Neustart zu aktivieren. Suchen Sie die folgende Zeile.

//Unattended-Upgrade::Automatic-Reboot "false";

Kommentieren Sie es aus und ändern Sie false in true, um den automatischen Neustart zu aktivieren

Unattended-Upgrade::Automatic-Reboot "true";

Sie können auch angeben, wann der Neustart durchgeführt werden soll. Standardmäßig erfolgt der Neustart unmittelbar nach der Installation des Kernel-Updates. Ich habe es so eingestellt, dass es um 4 Uhr morgens neu startet. Stellen Sie sicher, dass Sie eine korrekte Zeitzone für Ihren Server einstellen.

Unattended-Upgrade::Automatic-Reboot-Time "04:00";

Speichern und schließen Sie die Datei.

Wenn der Server von vielen Benutzern verwendet wird oder eine hohe Betriebszeit erfordert (wie in diesem Blog), sollten Sie den automatischen Neustart nicht aktivieren. Stattdessen können Sie Canonical Livepatch verwenden, um den Linux-Kernel ohne Neustart zu patchen.

  • Canonical LivePatch Service: Patchen Sie den Linux-Kernel auf Ubuntu ohne Neustart

Aktivieren Sie das automatische Sicherheitsupdate

Nachdem das automatische Sicherheitsupdate nun konfiguriert ist, müssen wir es aktivieren, indem wir die Datei 20auto-upgrades erstellen.

sudo nano /etc/apt/apt.conf.d/20auto-upgrades

Kopieren Sie die folgenden zwei Zeilen und fügen Sie sie in die Datei ein.

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

  • Die erste Zeile bewirkt, dass apt jeden Tag automatisch „apt-get update“ ausführt. Wenn es auf 2 eingestellt ist, dann jeden zweiten Tag. (0=deaktiviert)
  • Die zweite Zeile veranlasst apt, Sicherheitsupdates automatisch zu installieren. (1=aktiviert, 0=deaktiviert)

Speichern und schließen Sie die Datei.

Führen Sie das unbeaufsichtigte Upgrade zu einem bestimmten Zeitpunkt aus

Das unbeaufsichtigte Upgrade wird nach dem Zufallsprinzip zwischen 12:00 und 7:00 Uhr durchgeführt, um Lastspitzen auf den Spiegelservern zu vermeiden, die dadurch entstehen, dass alle gleichzeitig Updates ausführen. Sie können ein unbeaufsichtigtes Upgrade manuell ausführen mit:

sudo unattended-upgrade -v

Sie können diesen Befehl auch zu Ihrem Cron-Job hinzufügen.

sudo crontab -e

Fügen Sie die folgende Zeile am Ende Ihrer Crontab-Datei hinzu, damit das unbeaufsichtigte Upgrade jeden Tag um 2 Uhr morgens ausgeführt wird.

0 2 * * * sudo /usr/bin/unattended-upgrade -v

Einrichten des SMTP-Relays

Um nach jedem Sicherheitsupdate E-Mail-Benachrichtigungen zu erhalten, muss Ihr Server in der Lage sein, E-Mails zu versenden. Wenn dies Ihr E-Mail-Server ist, müssen Sie nur noch das Paket bsd-mailx installieren.

sudo apt install bsd-mailx

Wenn es sich nicht um einen E-Mail-Server handelt, müssen Sie ein SMTP-Relay einrichten. Wir können den Postfix-SMTP-Server installieren und dann E-Mails über E-Mail-Dienstanbieter weiterleiten.

Es gibt mehrere E-Mail-Dienstanbieter (ESP), die als Relay-Host fungieren können. Einige erheben eine geringe Gebühr, andere bieten jeden Monat kostenlose Kontingente an. In diesem Artikel möchte ich Ihnen zeigen, wie Sie Sendinblue nutzen, einen E-Mail-Dienstanbieter, der Ihnen den kostenlosen Versand von 300 E-Mails pro Tag ermöglicht.

Erstellen Sie ein kostenloses Konto bei sendinblue.com. Sobald Sie Ihr Benutzerprofil vervollständigt haben, klicken Sie auf die Registerkarte Transaktional. Sie erhalten Ihre SMTP-Einstellungen. Wenn keine SMTP-Einstellungen vorhanden sind, müssen Sie sich an den Sendinblue-Kundendienst wenden, um den Transaktions-E-Mail-Dienst zu aktivieren.

Jetzt müssen Sie Ihren Postfix-SMTP-Server für die Verwendung der Sendinblue-SMTP-Einstellungen konfigurieren.

Lassen Sie uns den Postfix-SMTP-Server unter Ubuntu mit dem folgenden Befehl installieren.

sudo apt install postfix libsasl2-modules

Wenn Sie die folgende Meldung sehen, drücken Sie die Tab-Taste und drücken Sie die Eingabetaste.

Wählen Sie dann die zweite Option: Internetseite.

Als nächstes legen Sie den System-Mail-Namen fest. Ich gebe zum Beispiel meinen Domainnamen linux-terminal.com ein.

Öffnen Sie nach der Installation von Postfix die Hauptkonfigurationsdatei mit einem Befehlszeilen-Texteditor wie Nano.

sudo nano /etc/postfix/main.cf

Suchen Sie die folgende Zeile.

relayhost =

Standardmäßig ist der Wert leer. Setzen Sie den Wert von relayhost auf [smtp-relay.sendinblue.com]:587.

relayhost = [smtp-relay.sendinblue.com]:587

Fügen Sie dann am Ende dieser Datei die folgenden Zeilen hinzu.

# outbound relay configurations
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = may
header_size_limit = 4096000

Speichern und schließen Sie die Datei. Erstellen Sie dann die Datei /etc/postfix/sasl_passwd.

sudo nano /etc/postfix/sasl_passwd

Fügen Sie dieser Datei wie unten beschrieben den SMTP-Relay-Host und die SMTP-Anmeldeinformationen hinzu. Ersetzen Sie smtp_username und smtp_password durch Ihren eigenen Benutzernamen und Ihr eigenes Passwort, die Sie von SendinBlue erhalten. Beachten Sie, dass zwischen dem Benutzernamen und dem Passwort ein Doppelpunkt steht.

[smtp-relay.sendinblue.com]:587      smtp_username:smtp_passowrd

Speichern und schließen Sie die Datei. Erstellen Sie dann die entsprechende Hash-Datenbankdatei mit postmap.

sudo postmap /etc/postfix/sasl_passwd

Jetzt sollten Sie eine Datei /etc/postfix/sasl_passwd.db haben. Starten Sie Postfix neu, damit die Änderungen wirksam werden.

sudo systemctl restart postfix

Standardmäßig können die Dateien sasl_passwd und sasl_passwd.db von jedem Benutzer auf dem Server gelesen werden. Ändern Sie die Berechtigung auf 600, sodass nur Root diese beiden Dateien lesen und schreiben kann.

sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db

Ab sofort versendet Postfix E-Mails über Sendinblue.

Absenderadressen hinzufügen

Klicken Sie auf das Dropdown-Menü in der oberen rechten Ecke Ihres Sendinblue-Konto-Dashboards und wählen Sie die Registerkarte Absender & IPs aus, um Ihre Domain und Absenderadresse hinzuzufügen.

Test-E-Mail senden

Jetzt können wir wie unten beschrieben eine Test-E-Mail mit dem Befehl mailx senden.

sudo apt install bsd-mailx

echo "this is a test email." | mailx -r from-address -s hello to-address

Wenn die SMTP-Konfigurationen korrekt sind, erhalten Sie eine E-Mail.

E-Mail wird nicht gesendet?

Sie können das E-Mail-Protokoll (/var/log/mail.log) überprüfen, um herauszufinden, warum E-Mails nicht gesendet werden.

Wenn Sie den Relay-Host mit Klammern in die Datei /etc/postfix/main.cf einschließen.

relayhost = [smtp-relay.sendinblue.com]:587

Dann müssen Sie auch den Hostnamen in die Datei /etc/postfix/sasl_passwd einbinden.

[smtp-relay.sendinblue.com]:587  [email :YourGmailPassword

Denken Sie daran, die Hash-DB-Datei neu zu generieren.

sudo postmap /etc/postfix/sasl_passwd

Starten Sie Postfix neu, damit die Änderungen wirksam werden.

sudo systemctl restart postfix

Deaktivieren Sie den Empfang von E-Mails

Standardmäßig ist Postfix so konfiguriert, dass es eingehende E-Mails akzeptiert. Wenn dies nicht Ihr E-Mail-Server ist, können Sie Postfix so konfigurieren, dass es nur E-Mails sendet, aber keine eingehenden E-Mails akzeptiert. Suchen Sie die folgende Zeile in der Datei /etc/postfix/main.cf.

inet_interfaces = all

Ändern Sie es in den folgenden Text, damit Postfix nur auf localhost lauscht.

inet_interfaces = loopback-only

E-Mail-Bericht

Es gibt drei mögliche E-Mails, die bei einem unbeaufsichtigten Upgrade gesendet werden:

  • Unbeaufsichtigtes Upgrade zurückgegeben: True. Dies bedeutet, dass Pakete erfolgreich installiert wurden.
  • Unbeaufsichtigtes Upgrade zurückgegeben: Falsch. Dies bedeutet, dass bei der Installation von Updates ein Fehler aufgetreten ist. Normalerweise ist ein menschliches Eingreifen erforderlich. Wenn Sie diese E-Mail erhalten, müssen Sie sudo apt upgrade manuell ausführen.
  • Unbeaufsichtigtes Upgrade zurückgegeben: Keine. Es sind Updates verfügbar, aber das System weigerte sich, diese zu installieren.

Protokolle

Protokolle finden Sie im Verzeichnis /var/log/unattended-upgrades/.

Aktivieren Sie „Neustart“.

Mit dem Befehl checkrestart können Sie herausfinden, welche Prozesse nach einem Upgrade neu gestartet werden müssen. Es ist im Paket debian-goodies verfügbar.

sudo apt install debian-goodies

sudo checkrestart

Zusammenfassung

Ich hoffe, dieses Tutorial hat Ihnen dabei geholfen, unbeaufsichtigte Upgrades auf dem Ubuntu-Server einzurichten. Wenn Sie diesen Beitrag nützlich fanden, abonnieren Sie wie immer unseren kostenlosen Newsletter, um weitere Tipps und Tricks zu erhalten 🙂

Verwandte Artikel