Ajankohtainen tilanne: PHP2Shell. Kaksi kriittistä PHP-haavoittuvuutta (CVSS 9.2) sallii haittakoodin suorittamisen ilman kirjautumista. Korjaukset 21.10.2026 alkaen.Mitä nyt on tehtävä →

Automaattiset tietoturvapäivitykset Linux-palvelimilla

Raporttien mukaan jakelut toimittivat PHP-backportteja osin jo 21. lokakuuta 2026, korjausten julkaisupäivänä. Joka käyttää automaattisia tietoturvapäivityksiä, sai ne nopeasti palvelimelleen. Jotta ne tehoavat, tarvitaan uudelleenkäynnistyksiä, kolmannen osapuolen lähteitä ja valvontaa.

Tilanne Lukuaika 4 minKoventaminen ja asetukset

Lyhyesti: Työkalulla unattended-upgrades Debianilla ja Ubuntulla sekä dnf-automatic RHEL-perheessä Linux-palvelimet asentavat tietoturvapäivitykset itsenäisesti. Jotta päivitys tehoaa, vaikutuksen alaisten palvelujen kuten PHP-FPM:n on käynnistyttävä sen jälkeen uudelleen; tarkistakaa se needrestartilla tai prosessien käynnistysajoilla. Kolmannen osapuolen lähteet kuten sury.org on sallittava nimenomaisesti, kontteja ja pääversioiden vaihtoja automatiikka ei kata.

Korjauksesta palvelimelle: automatiikka säästää aikaa

Kun php.net julkaisi 21. lokakuuta 2026 klo 16.00 Saksan aikaa korjaukset PHP2Shelliä vastaan, ylläpitäjille alkoi kilpajuoksu. Raporttien mukaan jakelut toimittivat backporttinsa osin saman päivän aikana. Automaattisilla tietoturvapäivityksillä varustetut palvelimet pystyivät asentamaan uudet paketit seuraavassa aikataulutetussa ajossa ilman, että kenenkään tarvitsi puuttua asiaan.

Se on hyvä uutinen. Vähemmän hyvä: asennettu ei tarkoita tehokasta. PHP-FPM-palvelu, joka on pyörinyt viikkoja, jatkaa vanhalla koodilla muistissa, kunnes se käynnistetään uudelleen. Ja kolmannen osapuolen lähteiden paketit, kontit tai hosting-paneelit omalla PHP-hallinnallaan jäävät automatiikalta usein koskematta.

Tämä kirjoitus näyttää, miten otatte automaattiset tietoturvapäivitykset käyttöön ja täydennätte niitä niin, että ne todella suojaavat hätätilanteessa.

unattended-upgrades Debianilla ja Ubuntulla

Ubuntulla paketti unattended-upgrades on oletuksena asennettu ja asentaa tietoturvapäivitykset. Debianilla asennatte sen tarvittaessa jälkikäteen. Sitä ohjataan kahdella tiedostolla hakemistossa /etc/apt/apt.conf.d/.

sudo apt install unattended-upgrades apt-listchanges
sudo dpkg-reconfigure -plow unattended-upgrades

Tiedosto 20auto-upgrades määrää, päivitetäänkö pakettiluetteloita ja asennetaanko päivityksiä ja kuinka usein. Arvo on päivien lukumäärä, "1" tarkoittaa päivittäin:

// /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

Tiedostossa 50unattended-upgrades määritellään, mistä lähteistä päivityksiä saa tulla, käynnistetäänkö sen jälkeen uudelleen ja kuka saa ilmoituksen. Oletuksena vain jakelun viralliset tietoturvalähteet on sallittu. Ubuntun dokumentaation mukaan ei riitä, että liitätte toisen repositorion: sen on oltava lisäksi tässä listassa, muuten automatiikka ohittaa sen. Se koskee esimerkiksi kolmannen osapuolen repositoriota sury.org, joka on raporttien mukaan tarjonnut PHP-versioita kaikille haaroille 5.6:sta 8.5:een. Taustat ovat kirjoituksessa sury.org-repositorio.

Toimiiko kaikki oikein, näyttää koeajo, joka ei muuta mitään:

sudo unattended-upgrade -v --dry-run
# Varsinaisten ajojen lokit
ls -l /var/log/unattended-upgrades/

dnf-automatic RHEL:llä, AlmaLinuxilla ja Rocky Linuxilla

RHEL-perheessä dnf-automatic hoitaa saman tehtävän. Asetukset ovat tiedostossa /etc/dnf/automatic.conf. Dokumentaation mukaan upgrade_type = security tarkistaa vain päivitykset, joihin liittyy tietoturvailmoitus, ja apply_updates on oletuksena pois päältä.

# /etc/dnf/automatic.conf (ote)
[commands]
upgrade_type = security
download_updates = yes
apply_updates = yes
reboot = never
sudo dnf install dnf-automatic
sudo systemctl enable --now dnf-automatic.timer
systemctl list-timers 'dnf-automatic*'

Asetustiedostoa noudattavan dnf-automatic.timer-ajastimen lisäksi on ajastimia, jotka vain ilmoittavat, vain lataavat tai asentavat aina. Alkuun asetustiedostolla varustettu ajastin on helpoimmin jäljitettävissä.

Aliarvostettu osa: palvelujen uudelleenkäynnistys

Pakettienhallinta korvaa tiedostoja levyllä. Käynnissä olevat prosessit säilyttävät vanhan koodin muistissa. PHP:n kohdalla se tarkoittaa: niin kauan kuin PHP-FPM tai Apache mod_php:n kanssa ei ole käynnistetty uudelleen, aukko pysyy auki.

Työkalu Järjestelmä Mitä se tekee
needrestart Debian, Ubuntu tunnistaa palvelut vanhentuneilla tiedostoilla; käynnistää ne Ubuntulla versiosta 24.04 alkaen oletuksena automaattisesti uudelleen
dnf needs-restarting -s RHEL-perhe luettelee palvelut, jotka pitäisi käynnistää uudelleen
Automatic-Reboot unattended-upgrades käynnistää palvelimen uudelleen, jos päivitys sitä vaatii; oletuksena pois
reboot dnf-automatic never, when-changed tai when-needed

Ubuntun dokumentaation mukaan palvelut, jotka needrestart on rajannut pois, jatkavat vanhoilla tiedostoilla käsin tehtyyn uudelleenkäynnistykseen asti. Tarkistakaa siksi jokaisen PHP-päivityksen jälkeen prosessien käynnistysaika, kuten kuvataan kohdassa PHP-FPM ja kaikkien workerien uudelleenkäynnistys.

Tärkeää

Backporttien kohdalla näytetty PHP-versionumero pysyy usein samana. Korjauksen todistatte paketin muutoslokista CVE-numeroineen, esimerkiksi komennolla apt-get changelog tai rpm -q --changelog. Miten se tehdään yksityiskohtaisesti, näyttää Debian ja Ubuntu: onko PHP-pakettini korjattu?.

Mitä automatiikka ei kata

Automaattiset päivitykset ovat rakennuspalikka, eivät täydellistä päivityshallintaa. Jotkin alueet tarvitsevat omat kulkunsa:

  1. Kontit: Docker-imagejen PHP:tä ei päivitetä isännän päivityksillä. Rakentakaa imaget uudelleen, luokaa kontit uudelleen.
  2. Hosting-paneelit: Plesk, cPanel ja vastaavat paneelit hallinnoivat PHP:tä osin omilla paketeillaan ja mekanismeillaan.
  3. Pääversiot: Siirtyminen esimerkiksi PHP 8.2:sta, jonka tuki päättyy 31.12.2026, uudempaan versioon ei tapahdu automaattisesti.
  4. Sovellukset: CMS:illä, liitännäisillä ja Composer-riippuvuuksilla on omat päivitystiensä.
  5. Valvonta: Jonkun on luettava automatiikan lokit ja virheilmoitukset. Hiljaa epäonnistuva ajo on pahempi kuin ei ajoa lainkaan, koska se luo näennäisen turvallisuuden.

Miten nämä osat kasvavat prosessiksi, kuvaa Päivityshallinta prosessina palokunnan sijaan.

Yhteenveto: automatiikka kyllä, sokea luottamus ei

Automaattisten tietoturvapäivitysten kuuluu olla jokaisella internetistä tavoitettavissa olevalla Linux-palvelimella. PHP2Shell on osoittanut, kuinka niukaksi aika voi käydä: mediaraporttien mukaan ensimmäinen hyökkäysyritys havaittiin jo 17. lokakuuta, neljä päivää ennen korjauksia. Joka odottaa sen jälkeen vielä käsin tehtävää huoltoikkunaa, menettää arvokasta aikaa.

Automatiikka ottaa kuitenkin hoitaakseen vain asentamisen. Palvelujen uudelleenkäynnistys, päivitystilan todistaminen, kontit, paneelit ja ajoissa tehtävä siirtyminen tuettuihin versioihin ovat tehtäviä, joista jonkun on oltava vastuussa. Määrittäkää vastuu kirjallisesti ja tarkistakaa otantana, luetaanko automatiikan lokeja todella. Vasta automatiikan ja valvonnan yhdistelmä tekee päivityksistä luotettavia.

Miten PHP SOS auttaa konkreettisesti?

  • Käyttöönotto: Määritämme unattended-upgradesin tai dnf-automaticin palvelimiinne sopivaksi, sallitut kolmannen osapuolen lähteet mukaan lukien.
  • Uudelleenkäynnistysten varmistus: Perustamme needrestartin tai vastaavat tarkistukset ja valvomme PHP-päivitysten jälkeen prosessien käynnistysaikoja.
  • Aukkojen sulkeminen: Liitämme kontit, paneelit ja pääversioiden vaihdot kiinteään huoltokulkuun.
  • Valvonta: Tietoturvahuoltosopimuksessa tarkistamme automatiikan lokit ja ilmoitamme poikkeamista.

Usein kysytyt kysymykset

Eivätkö automaattiset päivitykset ole liian riskialttiita tuotantopalvelimilla?

Jakelun tietoturvapäivityksiin rajattuna riski on yleensä pienempi kuin avoimen aukon riski. Näiden päivitysten ei ole tarkoitus tuoda uusia toimintoja vaan korjata virheitä. Kriittisissä järjestelmissä kuuluvat mukaan varmuuskopiot, valvonta ja testijärjestelmä.

Käynnistääkö unattended-upgrades PHP-FPM:n uudelleen päivityksen jälkeen?

Ei välttämättä itse. Ubuntussa versiosta 24.04 alkaen needrestart-työkalu käynnistää vaikutuksen alaiset palvelut oletuksena automaattisesti uudelleen, mutta poissuljetut palvelut jatkavat vanhoilla tiedostoilla. Tarkistakaa jokaisen PHP-päivityksen jälkeen kaikkien PHP-prosessien käynnistysaika.

Päivittyvätkö sury.org-lähteen tai muiden kolmannen osapuolen lähteiden paketit automaattisesti?

Vain jos sallitte lähteen nimenomaisesti. Ubuntun dokumentaation mukaan ei riitä, että repositorio lisätään; sen on oltava lisäksi unattended-upgrades-työkalun sallittujen lähteiden listalla.

Nostaako automatiikka myös PHP 8.2:n versioon 8.3?

Ei. Automaattiset tietoturvapäivitykset pysyvät asennettujen pakettiversioiden sisällä. PHP:n pääversion vaihto, esimerkiksi ennen PHP 8.2:n tuen päättymistä 31.12.2026, pysyy suunniteltuna projektina testeineen.

Entä Docker-kontit?

Isännän päivitykset eivät päivitä konttien PHP-versiota. Konttikuvat on rakennettava tai haettava uudelleen ja kontit luotava uudelleen.

Lähteet

Pikayhteys

Jokainen tunti on tärkeä. Kirjoittakaa meille nyt.

Kuvatkaa lyhyesti järjestelmä, PHP-versio ja havainnot. Otamme yhteyttä, selvitämme tilanteen ja työskentelemme etänä, kunnes tapaus on käsitelty loppuun ja dokumentoitu.

Pikaapu