Īsi sakot: Vai serveri pēc uzlaušanas uzstādīt no jauna vai iztīrīt, ir atkarīgs no tā, cik droši zināt ielaušanās apjomu. Ja uzbrucējam, iespējams, bija root tiesības, ielaušanās brīdis ir neskaidrs vai trūkst žurnālu, pārbūve no uzticamiem avotiem ir drošāka izvēle. Tīrīšana nāk runā tikai cieši norobežotas, labi pierādītas inficēšanās gadījumā. Abos gadījumos ir spēkā: vispirms nodrošināt pierādījumus un aizvērt nepilnību, tad uzkopt.
Kāpēc šis jautājums pēc PHP2Shell tiek uzdots īpaši bieži
PHP2Shell saskaņā ar php.net ļauj attālināti izpildīt ļaunprātīgu kodu bez pieteikšanās. Kas darbinājis neielāpotu serveri, tam tāpēc jājautā, vai laikā kopš 2026. gada 17. oktobra, pirmā saskaņā ar plašsaziņas līdzekļu ziņām novērotā uzbrukuma mēģinājuma, kaut kas nav noticis. Ielāps uz šo jautājumu neatbild, un nav publicētu, apstiprinātu kompromitācijas indikatoru (Indicators of Compromise).
Ja tad tiek atrasts aizdomīgs fails, nezināms process vai svešs cron uzdevums, jāpieņem lēmums. Impulss bieži ir ātri dzēst vai uzreiz uzstādīt no jauna. Abi var būt pareizi, bet ne kā pirmais solis.
Secība pirms lēmuma
Pirms izvēlaties starp tīrīšanu un uzstādīšanu no jauna, jāpaveic trīs lietas. Tās attiecas uz abiem ceļiem.
- Ierobežot: serveri atslēgt no tīkla vai ierobežot piekļuvi līdz nepieciešamajam minimumam, to neizslēdzot, ja vēl jānodrošina operatīvā atmiņa.
- Nodrošināt pierādījumus: nodrošināt žurnālus, failus, datubāzi un iespējami sistēmas attēlu, ar datumu un kontrolsummu. Kāpēc tas vajadzīgs pirms jebkuras pārinstalēšanas, izskaidro Nodrošiniet pierādījumus, pirms uzstādāt no jauna.
- Iesaistīt apdrošinātāju un datu aizsardzību: daudzas kiberapdrošināšanas polises sagaida, ka būtiskie soļi tiek saskaņoti. Norādes ir sadaļā Kiberapdrošināšana: kas svarīgi zaudējumu gadījumā. Vai pastāv ziņošanas pienākums saskaņā ar VDAR, novērtē datu aizsardzības speciālists vai jurists.
Tikai pēc tam ir vērts veikt pašu svēršanu.
Serveri no jauna pēc uzlaušanas vai tīrīt: kritēriji
| Kritērijs | Tīrīt | Uzstādīt no jauna |
|---|---|---|
| Ielaušanās apjoms | Cieši norobežots, pierādīts, piemēram, viens fails augšupielāžu mapē bez citām pēdām | Neskaidrs vai ar norādēm uz piekļuvi sistēmai |
| Uzbrucēja iespējamās root tiesības | Izslēgtas ar labiem pierādījumiem | Nevar izslēgt |
| Žurnālu pieejamība | Pilni attiecīgajam laika posmam | Nepilni, pārrakstīti vai manipulējami |
| Pūles | Mazākas, ja konstatējums ir skaidrs | Lielākas, bet labāk plānojamas |
| Atlikusī nenoteiktība | Lielāka, slēptas piekļuves ir grūti izslēgt | Mazāka, ja kārtīgi uzbūvēts no uzticamiem avotiem |
| Dīkstāve | Parasti īsāka | Parasti ilgāka, ar sagatavošanos labi vadāma |
| Piemērotība vecām sistēmām | Problemātiska, ja sistēma tāpat ir novecojusi | Laba izdevība pāriet uz atbalstītu PHP versiju |
Kā īkšķa likums: jo mazāk zināt, jo vairāk runā par labu pārbūvei. Nepilnības gadījumā PHP interpretatorā, kas izpilda kodu tīmekļa servera lietotāja kontekstā, uzbrucējs var izmantot citas ievainojamības, lai iegūtu vairāk tiesību. To bez rūpīgas izmeklēšanas gandrīz nevar izslēgt.
Abi ceļi praksē
Ko „uzstādīt no jauna” patiesībā nozīmē
Uzstādīt no jauna nenozīmē veco rezerves kopiju nokopēt uz svaigu serveri. Pārbūve sākas ar tīru operētājsistēmu no oficiāla avota, aktuālām pakotnēm un ielāpotu PHP versiju. Lietojumprogramma tiek uzstādīta no ražotāja oriģināla, spraudņi un tēmas tāpat.
Tikai tad klāt nāk paša saturs, un pārbaudīts. Augšupielādētajos failos nedrīkst būt izpildāmu skriptu, datubāze var saturēt ievadītu saturu, piemēram, slēptus administratora kontus vai skriptus ierakstos. Konfigurācijas faili tiek rakstīti no jauna, nevis kopēti. Visi piekļuves dati tiek atjaunoti: datubāze, CMS administratori, SSH atslēgas, API atslēgas, hostinga panelis.
Rezerves kopijām šeit ir svarīga loma, bet tikai tad, ja to stāvoklis ir pirms ielaušanās un tās pašas nav mainītas. Vairākas paaudzes atsevišķās vietās to padara pārbaudāmu; vairāk sadaļā Rezerves kopijas pēc 3-2-1 noteikuma.
Kad tīrīšana ir pieļaujama
Tīrīšana var būt lietderīga, ja inficēšanās atklāta agri, ir pilni žurnāli un izmeklēšana nedod norādes uz citām piekļuvēm. Tad atrastie faili pēc nodrošināšanas tiek noņemti, tiek pārbaudīti cron uzdevumi, lietotāju konti un SSH atslēgas, un kodola faili tiek salīdzināti ar ražotāja oriģinālu.
Svarīgs ir reālistisks novērtējums: webshell bieži ir neuzkrītoši un paslēpti vairākās vietās. Kā tos atrast, apraksta Webshell atpazīšana un noņemšana. Pēc tīrīšanas serveris jāvēro cieši, lai palaista garām atstāta slēpta piekļuve kļūtu pamanāma.
Nedzēsiet neko, pirms žurnāli un faili nav nodrošināti, un aizveriet nepilnību, pirms serveris atkal tiek pieslēgts tīklam. Citādi zaudēsiet pēdas un uzaicināsiet nākamo ielaušanos.
Kad pakalpojumu sniedzējs nav vajadzīgs
Vienkāršai vietnei koplietošanas hostingā, kur hostinga pakalpojumu sniedzējs pārvalda sistēmu un apstiprina PHP ielāpu, lēmums bieži vien nav jūsu ziņā. Jūs varat lietojumprogrammu uzstādīt no jauna no oriģināla, pārbaudīt saturu un atjaunot piekļuves datus, ar hostinga pakalpojumu sniedzēja atbalstu. Arī pieredzējusi iekšējā komanda var pārbūvi veikt pati, ja pierādījumu nodrošināšana un dokumentācija ir kārtībā.
Ārēja palīdzība atmaksājas, ja root tiesības nevar izslēgt, varētu būt skarti personas dati, iesaistīta apdrošināšana vai savstarpēji saistītas vairākas sistēmas.
Kā PHP SOS palīdz konkrēti?
- Mēs nodrošinām žurnālus, failus un datubāzi pierādījumiem derīgi, pirms kaut kas tiek mainīts.
- Mēs novērtējam ielaušanās apjomu un iesakām tīrīšanu vai pārbūvi ar pamatojumu, nošķirot pierādīto, ticamo un nezināmo.
- Mēs vajadzības gadījumā pārbūvējam serveri no uzticamiem avotiem, ar ielāpotu PHP versiju un atjaunotām piekļuvēm.
- Mēs veicam ļaunprogrammatūras noņemšanu tur, kur tīrīšana ir pieļaujama, un dokumentējam katru soli.
Secinājums
Uz jautājumu „uzstādīt no jauna vai tīrīt?” atbild zināšanas par ielaušanos. Kas apjomu droši nezina, pārbūvē. Kas to var labi pierādīti norobežot, drīkst tīrīt. Abos gadījumos ir tā pati secība: ierobežot, nodrošināt, aizvērt nepilnību, tad uzkopt.
Biežāk uzdotie jautājumi
Vai uzstādīšana no jauna pēc uzlaušanas vienmēr ir labāka?
Ne vienmēr, bet bieži. Ja nav skaidrs, cik tālu uzbrucējs tika, pārbūve no uzticamiem avotiem parasti ir drošāka izvēle. Cieši norobežotas, labi pierādītas inficēšanās gadījumā var pietikt ar tīrīšanu.
Vai varu vienkārši atjaunot vecu rezerves kopiju?
Tikai tad, ja ir drošs, ka rezerves kopija radusies pirms ielaušanās un nesatur slēptu piekļuvi. Turklāt nepilnībai iepriekš jābūt aizvērtai, citādi serveris uzreiz atkal ir uzbrucams. Jaunāku datu pārbaude jāveic atsevišķi.
Ko man jānodrošina pirms uzstādīšanas no jauna?
Žurnālus, failu un datubāzes kopiju un, ja iespējams, sistēmas attēlu. Šie pierādījumi vajadzīgi cēloņu analīzei, apdrošināšanai un iespējamam ziņojumam. Pēc dzēšanas to vairs nav.
Vai pietiek ar atrastā webshell izdzēšanu?
Reti. Uzbrucēji bieži izveido vairākas slēptas piekļuves, piemēram, cron uzdevumus, lietotāju kontus vai SSH atslēgas. Kas dzēš tikai redzamo failu, atstāj citas piekļuves atvērtas.