Na kratko: Po opozorilu pred PHP2Shell so v Nemčiji izklopili spletne strani, med njimi po poročanju medijev spletni portal mesta Mainz ter strani hessenske deželne vlade in BKA (nemški zvezni kriminalistični urad). Šlo je za preventivo po priporočilu BSI (nemški zvezni urad za informacijsko varnost), ne za potrjene napade. Podjetja se lahko iz tega naučijo: izklop je legitimna možnost, kadar popravek ni takoj mogoč, in najbolje uspe, če je pripravljen vnaprej.
Spletne strani izklopljene zaradi PHP: kaj se je zgodilo 21. oktobra
Na dan varnostnih posodobitev PHP je bilo v Nemčiji več javnih spletnih strani nedosegljivih. Po medijskih poročilih je mesto Mainz svoj osrednji spletni portal preventivno izklopilo. Uradi so ostali dosegljivi po telefonu in e-pošti.
V Hessnu so bile po poročanju hessenschau med drugim začasno brez povezave strani deželne vlade, zveznega kriminalističnega urada ter mest Kassel in Wiesbaden. Deželna kancelarija je govorila o tehničnih prilagoditvah in ni javila napada. Deželne strani so bile zvečer spet dosegljive. Po poročilih so tudi druge občine, visoke šole in klinike svoje ponudbe preventivno umaknile z omrežja.
Ozadje je priporočilo BSI za PHP2Shell: takoj posodobiti in, če to ni takoj mogoče, prizadete spletne strežnike začasno umakniti z omrežja. Kaj BSI svetuje v podrobnostih, povzema stran Kaj BSI priporoča glede PHP2Shell.
Izklopljeno ne pomeni vdrto
V komentarjih in družbenih omrežjih je iz „brez povezave“ hitro nastalo „vdrto“. Po vsem, kar je znano, to ni res. Izklopi so bili zaščitni ukrep v trenutku, ko mnogi upravljavci stanja popravkov svojih strežnikov še niso zanesljivo poznali.
Za podjetja je ta razlika pomembna dvakrat. Prvič navzven: kdor sam preventivno izklopi, naj to tako tudi poimenuje in ne molči. Drugič navznoter: izklop ne odgovori na vprašanje, ali je bil strežnik prej napaden. Zaustavi le nadaljnje poskuse. Preverjanje znakov ostane potrebno.
Tretjo točko pogosto spregledajo: izklop ne sme uničiti sledi. Kdor strežnik za izklop preprosto znova namesti ali izbriše loge, da pridobi prostor, si odvzame možnost, da pozneje razjasni, kaj se je dogajalo pred izklopom. Bolje je spletni strežnik preusmeriti na zasilno stran ali zunanji dostop zapreti, strežnik sam pa z vsemi logi pustiti nespremenjen.
Zakaj so se javne ustanove tako odzvale
Uradi pogosto upravljajo veliko spletnih strani hkrati: glavni portal, specializirane portale, obrazce, strani posameznih uradov in ustanov. Pogosto je vključenih več izvajalcev. Na dan opozorila marsikatera uprava preprosto ni mogla v nekaj urah dobiti dokazanega stanja popravkov za vsak sistem. Preventivni izklop je bil v tem položaju najhitrejša pot, da sledijo priporočilu BSI.
Za podjetja z zraslo IT-krajino je stanje pogosto podobno. Vprašanje „Je vse popravljeno?“ ne spodleti zaradi tehnike, ampak zaradi manjkajočega pregleda.
Opazno je tudi, kako hitro so se hessenske deželne strani po poročilih vrnile: še isti večer. To kaže, da preventivni izklop ne mora trajati več dni. Kdor svoje sisteme pozna in obvlada pot posodobitve, lahko v nekaj urah posodobi, preveri in spet gre na splet. Izklop potem premosti le čas do jasnosti.
Kdaj je preventivni izklop za podjetja smiseln
Uradi so v posebnem položaju: veliko spletnih strani, pogosto porazdeljeno vzdrževanje in velika javna vidnost. Tehtanje, pred katerim so stali, pa je enako kot v vsakem podjetju. Naslednji pregled pomaga pri odločitvi:
| Položaj | Raje izklopiti | Raje pustiti na spletu |
|---|---|---|
| Stanje popravkov | nejasno ali nepotrjeno | odpravljeno in dokazano, procesi znova zagnani |
| Različica PHP | 8.1 ali starejša brez potrjenega backporta | podprta veja na aktualnem stanju |
| Način delovanja | Apache z mod_php | popravljen PHP-FPM z uvedenimi prehodnimi ukrepi |
| Podatki na strežniku | podatki strank, prijave, plačilni podatki | povsem statične vsebine |
| Dosegljivost izvajalca | popravek možen šele čez dneve | popravek terminiran v kratkem |
Tehtanje med popravljanjem, izklopom in čakanjem poglablja prispevek Posodobiti, izklopiti ali počakati?. Kaj je tehnično mogoče kot prehod, dokler posodobitve še ni, je opisano pod Takojšnji ukrepi brez popravka.
Začasen izklop spletne trgovine ali portala za stranke stane promet. Kompromitiran strežnik s podatki strank lahko stane bistveno več, vse do obveznosti obveščanja. Odločitev sprejmite zavestno in jo zapišite.
Tako pripravite izklop
Mainz je pokazal, kaj šteje: uprava je ostala dosegljiva po drugih kanalih. To uspe le, če je pripravljeno. Ti koraki se izplačajo, preden pride naslednji resni primer:
- Pripravite zasilno stran: statična stran HTML brez PHP, s kratkim pojasnilom, telefonskim in e-poštnim stikom ter po potrebi opombami o tekočih naročilih ali terminih.
- Določite pot preklopa: Kdo lahko spletno stran preusmeri na zasilno stran, prek spletnega strežnika, DNS ali predhodnega storitvenega sloja? Kako dolgo to traja?
- Razjasnite pooblastilo za odločitev: Kdo sme odrediti izklop, tudi zunaj poslovnega časa?
- Poznajte odvisne storitve: Ali so na spletno stran vezani vmesniki, aplikacije ali partnerji? Koga je treba vnaprej obvestiti?
- Določite merila za vrnitev: popravek dokazan, ponovni zagon izveden, prvi pregled znakov brez najdb.
- Vnaprej oblikujte sporočilo: dva do trije stavki za stranke, partnerje in tisk.
Kako v takem položaju komunicirati navzven, opisuje vodnik o krizni komunikaciji.
Kako konkretno pomaga PHP SOS?
- Podlaga za odločitev: Ugotovimo stanje popravkov, način delovanja in podatkovni položaj vaših strežnikov ter vam jasno ocenimo, ali je izklop smiseln.
- Urejen izklop: Preklopimo na statično zasilno stran, ne da bi izgubili loge ali sledi.
- Popravek in pregled: Posodobimo PHP, znova zaženemo vse procese in preverimo nepravilnosti.
- Nadzorovana vrnitev: Spletno stran spet postavimo na splet šele, ko so dogovorjena merila izpolnjena in dokumentirana.
Potek opisuje takojšnja pomoč PHP2Shell.
Sklep
Izklopi uradov niso bili znak izgube nadzora, ampak zavesten previdnostni ukrep. Za podjetja je to pravi nauk: umik z omrežja je legitimna odločitev, kadar je stanje popravkov nejasno. Kdor ima pripravljene zasilno stran, odgovornost in merila za vrnitev, jo sprejme v minutah namesto v urah.
Pogosta vprašanja
Zakaj so bile spletne strani uradov izklopljene zaradi PHP?
BSI (nemški zvezni urad za informacijsko varnost) pri PHP2Shell priporoča takojšnjo posodobitev in, če ta ni takoj mogoča, začasen umik spletnih strežnikov z omrežja. Več uradov je temu priporočilu preventivno sledilo, dokler njihovi sistemi niso bili pregledani in posodobljeni.
Ali izklopljena spletna stran pomeni, da je bila vdrta?
Ne. Preventivni izklop je zaščitni ukrep. Hessenska deželna kancelarija na primer po poročanju hessenschau izrecno ni javila napada. Ali je bil strežnik pred izklopom prizadet, razjasni šele preverjanje.
Kako dolgo naj bo spletna stran izklopljena?
Dokler PHP ni na odpravljenem stanju, vsi procesi PHP niso znova zagnani in prvi pregled znakov ni pokazal nobenih nepravilnosti. Fiksnega trajanja ni; hessenske deželne strani so bile po poročilih spet dosegljive še isti večer.
Kaj naj obiskovalcem pokažem, medtem ko je spletna stran izklopljena?
Najbolje preprosto statično zasilno stran brez PHP s kratkim pojasnilom in kontaktnimi potmi, prek katerih ostajate dosegljivi. Pripravljena naj bo, preden jo potrebujete.