Īsi: ja vēlaties noņemt ļaunprogrammatūru no savas vietnes, ar atsevišķu failu dzēšanu reti pietiek. Mēs vispirms nodrošinām atradumu, atrodam webshell, slēptās piekļuves un slēptos uzdevumus, atjaunojam no uzticamiem avotiem un aizveram ielaušanās ceļu. Tikai tad attīrīšana ir noturīga.
Kā atpazīt ļaunprogrammatūru vietnē
Ļaunprātīgs kods vietnēs bieži kļūst pamanāms tikai netieši. Tipiski ir pāradresācijas uz svešām lapām, surogātpasta saturs, ko redz tikai meklētājprogrammas vai mobilās ierīces, Google brīdinājums meklēšanas rezultātos, klientu sūdzības vai hostinga sniedzēja bloķēšana surogātpasta sūtīšanas dēļ. Serverī parādās nezināmi PHP faili, jauni administratora konti, mainīti .htaccess faili vai neizskaidrojami cron uzdevumi.
Pēc PHP2Shell klāt nāk vēl viena bažu iemesls: ar CVE-2026-109618 un CVE-2026-109619 uzbrucēji var izpildīt kodu bez pieteikšanās. Nav publicētu, apstiprinātu Indicators of Compromise; atpazīšana balstās uz uzvedības analīzi. Kā webshell parasti izskatās un kur tie atrodas, aprakstīts rakstā Webshell atpazīšana un noņemšana.
Ļaunprogrammatūras noņemšana no vietnes: kāpēc rūpīgums ir svarīgāks par ātrumu
Uzbrucēji reti atstāj tikai vienu failu. Parasti ir vairākas slēptās piekļuves dažādās vietās: augšupielāžu mapēs, spraudņos vai motīvos, Must-Use spraudņos, datubāzē, cron uzdevumos vai papildu lietotāju kontos. Ja tiek izdzēsts tikai visuzkrītošākais fails, ļaunprātīgais kods atgriežas.
Vienlaikus inficētais stāvoklis ir pierādījums. Kas attīra pārsteidzīgi, zaudē iespēju noskaidrot, vai klientu dati ir skarti. Tāpēc pirms jebkādām izmaiņām izveidojam drošu kopiju. Tas prasa maz laika un saglabā jums visas iespējas, arī vēlāku ziņojumu uzraudzības iestādei vai apdrošinātājam.
PHP vai CMS atjauninājums nenoņem ļaunprogrammatūru, kas jau atrodas serverī. Un attīrīta vietne tiks inficēta atkal, kamēr ielaušanās ceļš ir atvērts.
Kur parasti slēpjas ļaunprātīgs kods
Šīs vietas pārbaudām katrā attīrīšanā, jo praksē tās tiek skartas atkal un atkal:
| Vieta | Tipisks atradums |
|---|---|
| Augšupielāžu mapes | PHP faili ar nekaitīgi izskatošiem nosaukumiem vai maskēti kā attēli |
| Spraudņi, motīvi, moduļi | papildu faili vai mainīti oriģinālie faili |
| Konfigurācija | ievadītas rindas .htaccess, .user.ini vai ieejas failos |
| Datubāze | svešas administratora konti, skripti saturā vai opcijās |
| Sistēma | cron uzdevumi, papildu SSH atslēgas, procesi bez saprotama mērķa |
| Kešatmiņas un pagaidu mapes | ļaunprātīga koda kopijas, kas pēc dzēšanas parādās atkal |
Svarīga ir saistība: atsevišķs atradums reti izskaidro visu incidentu. Tikai kopaina parāda, kā uzbrucējs rīkojies un vai viņš paņēmis līdzi piekļuves datus.
Kā PHP SOS palīdz konkrēti?
- Nodrošināt: Mēs izveidojam failu, datubāzes un žurnālu kopiju inficētajā stāvoklī. Tā tiek saglabāta vēlākai izvērtēšanai.
- Meklēt: Mēs salīdzinām programmas failus ar ražotāja oriģināliem, pārbaudām augšupielāžu mapes uz izpildāmu kodu, pārmeklējam datubāzi, cron uzdevumus, lietotāju kontus un servera konfigurāciju. WordPress vidēm rīkojamies, kā aprakstīts rakstā Slēpto piekļuvju atrašana WordPress.
- Attīrīt: Kodolu, paplašinājumus un motīvus instalējam no jauna no uzticamiem avotiem, nevis labojam aizdomīgus failus pa vienam. Pašu saturu un augšupielādes pārbaudām atsevišķi un pārņemam tikai to, kas ir drošs.
- Aizvērt cēloni: Mēs ielāpojam PHP un lietojumprogrammu, noņemam svešus kontus un nomainām visas piekļuves un atslēgas, ko uzbrucējs varēja redzēt.
- Pēckontrole: Mēs novērojam vietni pēc attīrīšanas, vai nerodas jaunas izmaiņas, un palīdzam Google brīdinājumu pārbaudīt caur Search Console. Vairāk lasiet rakstā Google brīdinājuma noņemšana.
Administratoriem nekaitīgs pirmais skats uz nesen mainītajiem PHP failiem:
# PHP faili tīmekļa direktorijā, kas mainīti pēdējās 10 dienās
find /var/www -type f -name "*.php" -mtime -10 -printf "%TY-%Tm-%Td %TH:%TM %p\n" | sort
Rezultāts ir norāde, nevis pierādījums: uzbrucēji var mainīt laika zīmogus.
Ko jūs saņemat un ko mums vajag
Jūs saņemat ziņojumu ar atrastajiem kaitīgajiem komponentiem un to atrašanās vietu, attīrīšanas pasākumiem, nomaināmo piekļuves datu sarakstu un iespējamo ielaušanās ceļu. Mēs skaidri nošķiram, kas ir apliecināts, kas iespējams un kas nezināms.
No jums mums vajag:
- piekļuvi serverim vai hostinga panelim, CMS aizkulisēm un datubāzei
- kontaktpersonu, kas var apstiprināt paroļu maiņu un izslēgšanu
- informāciju par aģentūru, izstrādātāju vai hostinga sniedzēju un par pašu veiktajiem sistēmas pielāgojumiem
- esošās rezerves kopijas ar datumu, lai varētu novērtēt, kurš stāvoklis varētu būt tīrs
- piekļuvi Google Search Console, ja tiek rādīts brīdinājums
Ko mēs nesolām
Mēs nesolām, ka katra slēptā piekļuve katrā sistēmā tiks droši atrasta, ja trūkst žurnālu vai inficēšanās notikusi sen. Neskaidras situācijas gadījumā iesakām jaunu uzbūvi svaigā serverī, uz kuru pārnes tikai pārbaudītu saturu. Tas ir darbietilpīgāk, bet bieži uzticamāk. Mēs arī neprognozējam, kad Google vai citi pakalpojumi noņems brīdinājumu; to izlemj šie sniedzēji.
Ja tiesā izmantojami jānoskaidro, kas tieši noticis un kādi dati ir skarti, piesaistām IT forensiku kopā ar specializētiem partneriem. Akūta, vēl notiekoša uzbrukuma gadījumā darbs sākas ar ārkārtas palīdzību uzlauztas vietnes gadījumā.
Biežāk uzdotie jautājumi
Vai ar ļaunprogrammatūras skenera spraudni pietiek, lai attīrītu manu vietni?
Skeneris atrod zināmus modeļus, bet ne katru slēpto piekļuvi. Webshell bieži ir apmaskoti, atrodas attēlos, kešatmiņās vai datubāzē, vai arī ir nostiprināti kā cron uzdevums. Skeneris ir palīglīdzeklis, nevis pilnīga attīrīšana.
Vai varu vienkārši atjaunot veco rezerves kopiju?
Tikai tad, ja ir droši, ka kopija tapusi pirms ielaušanās, un ja pēc tam ielaušanās ceļš tiek aizvērts. Citādi vietne uz brīdi ir tīra un pa to pašu ceļu tiek inficēta atkal.
Kāpēc ļaunprogrammatūra pēc izdzēšanas parādās atkal un atkal?
Parasti ir otra slēpta piekļuve, cron uzdevums, manipulēts administratora konts vai ievainojamība joprojām ir atvērta. Attīrīšana noturas tikai tad, kad atrasti visi noturības mehānismi un cēlonis ir novērsts.
Vai PHP atjauninājums noņem esošo ļaunprogrammatūru?
Nē. Ielāps aizver ievainojamību, bet nenoņem jau ievadītu ļaunprogrammatūru. Tie ir divi atsevišķi darba soļi.