Ubuntu automaatsed turvauuendused — seadistamise juhend

Käivita serveris ühe käsuga (kontrolli enne skripti sisu allpool):

curl -sSL https://cp.lv/scripts/avtomaticheskie-obnovleniya-ubuntu.sh | sudo bash

…või wgetiga:

wget -qO- https://cp.lv/scripts/avtomaticheskie-obnovleniya-ubuntu.sh | sudo bash

Skripti sisu avtomaticheskie-obnovleniya-ubuntu.sh:

#!/usr/bin/env bash
# Set up unattended-upgrades: install, enable, automatic reboot
set -euo pipefail
export DEBIAN_FRONTEND=noninteractive

# 1. Install the package
sudo apt-get update -y
sudo apt-get install -y unattended-upgrades

# 2. Enable the daily check and install (20auto-upgrades file)
sudo tee /etc/apt/apt.conf.d/20auto-upgrades > /dev/null << 'EOF'
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
EOF

# 3. Security patches only, reboot automatically at 04:00
sudo tee /etc/apt/apt.conf.d/51custom-unattended > /dev/null << 'EOF'
Unattended-Upgrade::Allowed-Origins {
    "${distro_id}:${distro_codename}-security";
};
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";
EOF

# 4. Verify the configuration with a dry run
sudo systemctl enable --now unattended-upgrades
sudo unattended-upgrades --dry-run --debug || true
echo "Done: automatic security updates are enabled."

Automaatsed turvauuendused seadistatakse Ubuntus paketiga unattended-upgrades: see kontrollib ja paigaldab turvaparandusi iga päev ilma sinu sekkumiseta. Nii suletakse haavatavused enne, kui keegi neid ära kasutada jõuab. Vaatame seadistuse sammhaaval läbi.

Samm 1. Paigalda pakett

Enamikus Ubuntu tõmmistes on see juba olemas, kuid paigaldamine ei tee halba:

sudo apt update
sudo apt install unattended-upgrades -y

Samm 2. Lülita automaatsed uuendused sisse

Käivita interaktiivne seadistus:

sudo dpkg-reconfigure --priority=low unattended-upgrades

Ilmuvas aknas vali Yes. See loob faili /etc/apt/apt.conf.d/20auto-upgrades järgmise sisuga:

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

Ühed tähendavad „tee iga päev“.

Sama faili saab luua ka kohe ühe käsuga, ilma interaktiivse dialoogita — kopeeri ja kleebi konsooli (heredoc kirjutab kogu faili):

sudo tee /etc/apt/apt.conf.d/20auto-upgrades > /dev/null << 'EOF'
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
EOF

Samm 3. Määra, mida uuendada

Ava põhiline seadistusfail:

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

Vaikimisi on lubatud ainult turvauuendused — serveri jaoks on see optimaalne. Veendu, et plokis Allowed-Origins on aktiivne rida märksõnaga -security:

Unattended-Upgrade::Allowed-Origins {
    "${distro_id}:${distro_codename}-security";
};

Samm 4. Seadista automaatne taaskäivitus

Mõned uuendused (näiteks kernel) rakenduvad alles pärast taaskäivitust. Et server käivituks automaatselt sobival ajal uuesti, eemalda kommentaarimärgid ja määra samas failis parameetrid:

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

Taaskäivitus toimub kell 4 hommikul ainult siis, kui seda tõesti vaja on. Kui serverit ei tohi automaatselt taaskäivitada, jäta väärtuseks false ja tee taaskäivitus käsitsi.

Samm 5. Seadista e-posti teavitused (valikuline)

Et saada kirju rakendatud uuenduste kohta, määra aadress:

Unattended-Upgrade::Mail "[email protected]";
Unattended-Upgrade::MailReport "on-change";

Kirjade saatmiseks on vaja seadistatud MTA-d (näiteks postfix või ssmtp).

Samm 6. Kontrolli tööd

Käivita proovikäivitus ilma tegeliku paigalduseta:

sudo unattended-upgrades --dry-run --debug

Juba rakendatud uuenduste logi vaatamiseks:

cat /var/log/unattended-upgrades/unattended-upgrades.log

Kontrolli, kas taaskäivitus on vajalik:

ls /var/run/reboot-required

Kui fail on olemas, on kernel või teegid uuenenud ja taaskäivitus on vajalik.

Mida tasub ja mida ei tasu automaatselt uuendada

Uuenduste tüüp Automaatselt Kommentaar
Turvaparandused Jah Alati soovitatav
Tavalised paketid Ettevaatlikult Käitumine võib muutuda
OS-i versioonivahetus Ei Ainult käsitsi ja kontrolliga

Korduma kippuvad küsimused

Kas automaatuuendused võivad serveri rikkuda? Turvauuendused sisaldavad ainult tagasiporditud parandusi ega muuda põhifunktsionaalsust, seega on risk minimaalne. Täielikke versiooniuuendusi (release upgrade) automaatselt ei paigaldata.

Kas automaatne taaskäivitus tasub sisse lülitada? Kui lühike öine seisak on lubatav, siis jah, muidu jääb kernel uuendamata. Kui taaskäivitus ei ole soovitav, jäta false ja planeeri see käsitsi lipu reboot-required järgi.

Kuidas automaatuuendused ajutiselt välja lülitada? Määra failis 20auto-upgrades väärtus APT::Periodic::Unattended-Upgrade "0"; või eemalda pakett unattended-upgrades.

Kas automaatuuendused asendavad käsitsi kontrolli? Need sulgevad turvaparandused, kuid serveri seisundil tuleb siiski silma peal hoida: kontrollida logisid, vaba ruumi ja taaskäivituse vajadust.

Kokkuvõte

unattended-upgrades on lihtne viis hoida server kaitstuna ilma igapäevase käsitsi tehtava apt upgrade-ta. Lülita turvauuendused sisse, võimaluse korral seadista automaatne taaskäivitus ja kontrolli aeg-ajalt logisid.

Soovid serverit oma projektile? Võta Linuxi VPS, vali pakett jaotisest VPS-i rent või telli Serverite haldus, kui halduse usaldad pigem spetsialistidele.

Kristaps Bērziņš