Lyhyesti: PHP2Shell-varoituksen jälkeen Saksassa suljettiin verkkosivustoja, muun muassa median mukaan Mainzin kaupungin verkkoportaali sekä Hessenin osavaltion hallituksen ja BKA:n (Saksan liittovaltion rikospoliisi) sivut. Kyse oli BSI:n (Saksan liittovaltion tietoturvavirasto) suosituksen mukaisesta varotoimesta, ei vahvistetuista hyökkäyksistä. Yritykset voivat oppia tästä: sulkeminen on perusteltu vaihtoehto, kun päivitys ei ole heti mahdollinen, ja se onnistuu parhaiten, kun se on valmisteltu.
Verkkosivuja suljettu PHP:n vuoksi: mitä 21. lokakuuta tapahtui
PHP-tietoturvapäivitysten päivänä Saksassa monet julkiset verkkosivustot eivät olleet tavoitettavissa. Mediaraporttien mukaan Mainzin kaupunki sulki keskeisen verkkoportaalinsa varotoimena. Virastot pysyivät tavoitettavissa puhelimitse ja sähköpostilla.
Hessenissä olivat hessenschaun mukaan muun muassa osavaltion hallituksen, liittovaltion rikospoliisin sekä Kasselin ja Wiesbadenin kaupunkien sivut tilapäisesti pois käytöstä. Osavaltion kanslia puhui teknisistä säädöistä eikä ilmoittanut hyökkäyksestä. Osavaltion sivut olivat illalla jälleen tavoitettavissa. Raporttien mukaan myös muut kunnat, korkeakoulut ja sairaalat ottivat palveluita varotoimena pois verkosta.
Taustalla on BSI:n suositus PHP2Shellistä: päivittäkää heti ja, jos se ei onnistu heti, ottakaa alttiit verkkopalvelimet väliaikaisesti pois verkosta. Mitä BSI suosittelee yksityiskohtaisesti, tiivistää sivu Mitä BSI suosittelee PHP2Shellistä.
Suljettu ei tarkoita murrettua
Kommenteissa ja sosiaalisessa mediassa ”offline” muuttui nopeasti ”murretuksi”. Kaiken tiedossa olevan perusteella se on väärin. Sulkemiset olivat suojatoimi hetkellä, jolloin monet ylläpitäjät eivät vielä varmasti tienneet palvelintensa korjaustilaa.
Yrityksille tämä ero on tärkeä kahdesta syystä. Ensinnäkin ulospäin: joka sulkee itse varotoimena, kannattaa kertoa se eikä vaieta. Toiseksi sisäänpäin: sulkeminen ei vastaa kysymykseen, onko palvelinta hyökätty aiemmin. Se vain pysäyttää lisäyritykset. Jälkien tarkistus on edelleen tarpeen.
Kolmas seikka jää usein huomaamatta: sulkeminen ei saa tuhota jälkiä. Joka asentaa palvelimen sulkemista varten yksinkertaisesti uudelleen tai poistaa lokeja tilan vapauttamiseksi, menettää mahdollisuuden selvittää myöhemmin, mitä ennen sulkemista tapahtui. Parempi on ohjata verkkopalvelin hätäsivulle tai estää pääsy ulkoa ja jättää itse palvelin kaikkine lokeineen muuttumattomaksi.
Miksi juuri julkiset tahot reagoivat näin
Viranomaiset ylläpitävät usein monia verkkosivustoja rinnakkain: pääportaali, aihekohtaiset portaalit, lomakepalvelut, yksittäisten virastojen ja laitosten sivut. Usein mukana on useita palveluntarjoajia. Varoituksen päivänä monelle hallinnolle ei yksinkertaisesti ollut mahdollista saada tunneissa jokaisen järjestelmän todennettua korjaustilaa. Varotoimena tehty sulkeminen oli tässä tilanteessa nopein tapa noudattaa BSI:n suositusta.
Yrityksille, joilla on vuosien mittaan kasvanut IT-ympäristö, tilanne on usein samanlainen. Kysymys ”Onko kaikki päivitetty?” ei kaadu tekniikkaan vaan puuttuvaan yleiskuvaan.
Huomionarvoista on myös, kuinka nopeasti Hessenin osavaltion sivut palasivat raporttien mukaan: jo saman päivän iltana. Se osoittaa, ettei varotoimena tehty sulkeminen tarvitse kestää päiväkausia. Joka tuntee järjestelmänsä ja hallitsee päivitystien, voi päivittää, tarkistaa ja palata verkkoon muutamassa tunnissa. Sulkeminen silloin vain ylittää ajan, kunnes tilanne on selvä.
Milloin varotoimena tehty sulkeminen on järkevää yritykselle
Viranomaisilla on erityinen tilanne: monta verkkosivustoa, usein hajautetusti ylläpidettynä, ja suuri julkinen näkyvyys. Punninta, jonka edessä he olivat, on kuitenkin sama kuin jokaisessa yrityksessä. Seuraava yleiskatsaus auttaa päätöksessä:
| Tilanne | Pikemmin sulkea | Pikemmin pitää verkossa |
|---|---|---|
| Korjaustila | epäselvä tai vahvistamaton | korjattu ja todistettu, prosessit käynnistetty uudelleen |
| PHP-versio | 8.1 tai vanhempi ilman vahvistettua backportia | tuettu haara ajan tasalla |
| Ajotapa | Apache mod_php:lla | korjattu PHP-FPM ja väliaikaistoimet käytössä |
| Palvelimella olevat tiedot | asiakastiedot, kirjautumiset, maksutiedot | pelkkä staattinen sisältö |
| Palveluntarjoajan tavoitettavuus | päivitys mahdollinen vasta päivien päästä | päivitys ajoitettu pian |
Punnintaa päivittämisen, sulkemisen ja odottamisen välillä syventää artikkeli Päivittää, sulkea vai odottaa?. Mikä on teknisesti mahdollista siirtymävaiheessa, kun päivitystä ei vielä ole, kerrotaan kohdassa Pikatoimet ilman päivitystä.
Verkkokaupan tai asiakasportaalin väliaikainen sulkeminen maksaa liikevaihtoa. Murrettu palvelin, jolla on asiakastietoja, voi maksaa selvästi enemmän, aina ilmoitusvelvollisuuksiin asti. Tehkää päätös tietoisesti ja kirjatkaa se.
Näin valmistelette sulkemisen
Mainz osoitti, mikä on olennaista: hallinto pysyi tavoitettavissa muita kanavia pitkin. Se onnistuu vain, jos se on valmisteltu. Nämä vaiheet kannattaa tehdä ennen seuraavaa hätätilannetta:
- Pitäkää hätäsivu valmiina: staattinen HTML-sivu ilman PHP:tä, lyhyt selitys, puhelin- ja sähköpostiyhteystiedot ja tarvittaessa ohjeet käynnissä oleviin tilauksiin tai ajanvarauksiin.
- Määritelkää kytkentäreitti: Kuka voi ohjata verkkosivuston hätäsivulle verkkopalvelimen, DNS:n tai etuvälityspalvelun kautta? Kuinka kauan se kestää?
- Selvittäkää päätösvalta: Kuka saa määrätä sulkemisen, myös työajan ulkopuolella?
- Tuntekaa riippuvaiset palvelut: Riippuvatko rajapinnat, sovellukset tai kumppanit verkkosivustosta? Keitä on tiedotettava etukäteen?
- Määritelkää paluun ehdot: korjaus todistettu, uudelleenkäynnistys tehty, ensimmäinen jälkien tarkistus ilman löydöksiä.
- Muotoilkaa viesti valmiiksi: kaksi tai kolme lausetta asiakkaille, kumppaneille ja lehdistölle.
Miten viestitte ulospäin tällaisessa tilanteessa, kuvaa kriisiviestinnän opas.
Miten PHP SOS auttaa konkreettisesti?
- Päätöksenteon pohja: Selvitämme palvelintenne korjaustilan, ajotavan ja tietotilanteen ja annamme selkeän arvion siitä, onko sulkeminen aiheellista.
- Hallittu sulkeminen: Vaihdamme staattiseen hätäsivuun kadottamatta lokeja tai jälkiä.
- Päivitys ja tarkistus: Päivitämme PHP:n, käynnistämme kaikki prosessit uudelleen ja tarkistamme poikkeavuudet.
- Hallittu paluu: Palautamme verkkosivuston verkkoon vasta, kun sovitut ehdot täyttyvät ja on dokumentoitu.
Toimintatavan kuvaa PHP2Shell-pikaapu.
Yhteenveto
Viranomaisten sulkemiset eivät olleet merkki hallinnan menettämisestä vaan tietoinen varotoimi. Yrityksille oppi on juuri tämä: offline-tilaan siirtyminen on perusteltu päätös, kun korjaustila on epäselvä. Joka on valmistellut hätäsivun, vastuut ja paluun ehdot, tekee päätöksen minuuteissa tuntien sijaan.
Usein kysytyt kysymykset
Miksi viranomaisten verkkosivuja suljettiin PHP:n vuoksi?
BSI (Saksan liittovaltion tietoturvavirasto) suosittelee PHP2Shellin kohdalla välitöntä päivitystä ja, jos se ei ole heti mahdollista, verkkopalvelinten väliaikaista ottamista pois verkosta. Useat viranomaiset noudattivat tätä suositusta varotoimena, kunnes niiden järjestelmät oli tarkistettu ja päivitetty.
Tarkoittaako suljettu verkkosivusto, että se on murrettu?
Ei. Varotoimena tehty sulkeminen on suojatoimi. Hessenin osavaltion kanslia ilmoitti hessenschaun mukaan nimenomaisesti, ettei hyökkäystä ollut. Oliko palvelin kohteena ennen sulkemista, selviää vasta tarkistuksella.
Kuinka kauan verkkosivuston tulisi olla pois verkosta?
Siihen asti, kunnes PHP on korjatussa tilassa, kaikki PHP-prosessit on käynnistetty uudelleen ja ensimmäinen jälkien tarkistus ei ole paljastanut poikkeavaa. Kiinteää kestoa ei ole; Hessenin osavaltion sivut olivat raporttien mukaan jälleen tavoitettavissa saman päivän iltana.
Mitä näytän kävijöille, kun verkkosivusto on pois verkosta?
Parhaiten yksinkertaisen, staattisen hätäsivun ilman PHP:tä, jolla on lyhyt selitys ja yhteystiedot, joista olette tavoitettavissa. Se tulee valmistella ennen kuin sitä tarvitaan.