Aktuālā situācija: PHP2Shell. Divas kritiskas PHP ievainojamības (CVSS 9.2) ļauj izpildīt ļaunprātīgu kodu bez pieteikšanās. Ielāpi kopš 21.10.2026.Kas jādara tagad →

Masveida skenēšana pēc neielāpota PHP: kā norit automatizēti uzbrukumi

Pēc PHP2Shell uzbrucēji internetu automatizēti pārmeklē, meklējot ievainojamus serverus. Kā tas norit, kāpēc lielums nav svarīgs un kas jūs aizsargā.

Aktuāls uz 5 min lasīšanas laiksSituācija un vērtējums

Īsi sakot: Automatizēti uzbrukumi tīmekļa serveriem norit viļņos: programmas pārmeklē internetu, meklējot sasniedzamus serverus, klasificē tos pēc ārējām pazīmēm un masveidā izmēģina zināmas ievainojamības, piemēram, PHP2Shell. Uzņēmuma lielumam tur nav nozīmes. Aizsardzību dod ielāpots PHP, neliela uzbrukuma virsma un uzraudzība, kas veiksmīgus trāpījumus ātri pamana.

Sākumpunkts: “Kam gan būtu interese par mūsu vietni?”

Šo jautājumu pēc PHP2Shell dzirdam bieži, galvenokārt no mazākiem uzņēmumiem. Godīga atbilde: visticamāk, personiski nevienam. Taču šāda veida ievainojamību gadījumā tas arī nav vajadzīgs. Uzbrukumus izpilda programmas, kas meklē nevis vārdus, bet iespējas.

BSI (Vācijas Federālais informācijas drošības birojs) PHP2Shell gadījumā rēķinājās ar ātru, plašu izmantošanu. Cloudflare ziņoja par uzbrukuma mēģinājumiem un par to, ka uzbrucēji mainīja savus paraugus, lai apietu aizsardzības noteikumus. Abi apgalvojumi atbilst tam, kas kritisku ievainojamību gadījumā plaši izplatītā programmatūrā notiek regulāri.

Kā norit automatizēti uzbrukumi tīmekļa serveriem

Automatizētās kampaņas parasti seko līdzīgam paraugam. Šis pārskats vispārīgi apraksta fāzes, bez uzbrukuma detaļām:

Fāze Kas notiek Kas palīdz pretī
Meklēšana Programmas pārbauda lielus adrešu diapazonus vai publiskus katalogus, piemēram, sertifikātu žurnālus, meklējot sasniedzamus tīmekļa serverus maz publiski sasniedzamu sistēmu, visu adrešu inventārs
Klasificēšana Atbildes tiek izvērtētas: tīmekļa serveris, PHP versija, CMS, tipiski ceļi slēpt versiju norādes, noņemt nevajadzīgus failus
Izmēģināšana zināmas ievainojamības tiek masveidā testētas, bieži bez iepriekšējas klasificēšanas aktuāls PHP, pārstartēšana, WAF kā papildu slānis
Nostiprināšanās veiksmes gadījumā tiek novietots slēpts ieejas punkts, piemēram, webshell vai cronjob ierobežotas rakstīšanas tiesības, nav PHP izpildes augšupielādes mapēs
Izmantošana serveri izmanto, piemēram, surogātpastam, kriptoizrakšanai, novirzīšanai vai datu zādzībai procesu, failu un izejošo savienojumu uzraudzība

Svarīga ir trešā rinda. Daudzas kampaņas pat neuzņemas pūles serverus iepriekš precīzi klasificēt. Tās vienkārši izmēģina visu, kas ir sasniedzams. Tāpēc ar neuzkrītošību vien nepietiek.

Kāpēc uzbrukumi nāk viļņos

Automatizētās kampaņas reti notiek vienreiz un tad nekad vairs. Tipisks ir viļņveida paraugs. Pirmais vilnis seko drīz pēc ievainojamības kļūšanas zināmai, bieži ar vēl nenobriedušiem rīkiem. Citi viļņi nāk, kad uzbrucēji uzlabo savus rīkus vai pielāgo tos aizsardzības noteikumiem. Cloudflare PHP2Shell gadījumā novēroja tieši to: mainītus uzbrukuma paraugus, lai apietu noteikumus.

Jums tas nozīmē: serveris, kas pirmo vilni ir pārcietis bez kaitējuma, nav pastāvīgi drošs, kamēr tas ir neielāpots. Un jauns serveris kļūst par mērķi no brīža, kad tas ir sasniedzams. Kas, piemēram, izsniedz jaunu TLS sertifikātu, padara vārdu redzamu publiskos sertifikātu žurnālos, ko izvērtē arī skeneri. Jauna sistēma tāpēc tīklā jāpieslēdz tikai tad, kad tā jau ir atjaunināta.

Kāpēc mazie uzņēmumi ir skarti tāpat

Automatizētiem uzbrukumiem svarīga ir nevis atsevišķa mērķa vērtība, bet daudzums. Maza uzņēmuma serveris piedāvā skaitļošanas jaudu, domēnu ar labu reputāciju, pasta sūtīšanu un dažkārt klientu datus. Uzbrucējiem tas ir pietiekami.

Turklāt mazākiem uzņēmumiem bieži nav savas IT, kas atjauninājumus ievieš uzreiz. Viņu serveri ilgāk paliek ievainojami un tāpēc biežāk nokļūst skeneru rezultātu sarakstos. Kas ielāpo pirmais, tas izkrīt no šiem sarakstiem.

Vēl viens punkts ir piegādes ķēde. Daudzas mazas vietnes atrodas aģentūru vai mazu hostinga sniedzēju serveros, kur blakus darbojas desmitiem klientu projektu. Uzbrucējiem šāds serveris ir īpaši izdevīgs, jo viens trāpījums skar daudzas vietnes vienlaikus. Jūsu risks tad ir atkarīgs ne tikai no jūsu pašu rūpības, bet arī no jūsu pakalpojuma sniedzēja rūpības.

Svarīgi

Skenēšana jūsu žurnālos ir normāla un nav ielaušanās pierādījums. Veiksmīgs uzbrukums izpaužas citās pēdās: jauni faili, sveši procesi, nezināmi konti, neierasti izejošie savienojumi.

Ko varat pārbaudīt paši

Skatiens žurnālos rāda, cik spēcīgi jūsu serveris tiek skenēts. Šīs komandas tikai lasa un neko nemaina:

# Desmit adreses ar visvairāk pieprasījumu pašreizējā piekļuves žurnālā
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -10

# Pieprasījumi, uz kuriem atbildēts ar "nav atrasts", pēc biežuma
awk '$9 == 404 {print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -20

# Vai serveris galvenē izpauž savu PHP versiju?
curl -sI https://www.example.de/ | grep -i "x-powered-by"

Daudzi pieprasījumi uz neesošiem ceļiem ir tipisks skenēšanas troksnis. Uzmanīgākiem jums vajadzētu kļūt, ja uz šādiem pieprasījumiem pēkšņi seko veiksmīgas atbildes, ja augšupielādes mapēs tiek izsaukti faili, kurus nepazīstat, vai ja tīmekļa servera lietotājs startē procesus, ko citādi nekad nestartē. Apstiprinātu atpazīšanas pazīmju speciāli PHP2Shell līdz šim nav, tāpēc vērtējums balstās uz šādām uzvedības novirzēm. Kā žurnālus izvērtēt rūpīgāk, apraksta ceļvedis Tīmekļa servera žurnālu izvērtēšana. Ja trešais vaicājums parāda PHP versiju, vērts iestatīt expose_php = Off; fonu atradīsiet sadaļā Versiju norāžu slēpšana.

Aizsardzības slāņi pareizā secībā

  1. Atjaunināt PHP un pārstartēt: Bez šī soļa visi pārējie pasākumi paliek ielāpiņi.
  2. Samazināt uzbrukuma virsmu: neizmantotas vietnes, testa sistēmas un vecas mikrovietnes atslēgt vai aizsargāt ar pieteikšanos.
  3. Noteikumi pie malas: Web Application Firewall ar uzturētu noteikumu kopu, piemēram, OWASP Core Rule Set ar ModSecurity, noķer daļu mēģinājumu.
  4. Bremzēt atkārtotus mēģinājumus: Rīki, piemēram, Fail2ban, bloķē adreses, kas rada uzkrītoši daudz kļūdu. Pret izkliedētu skenēšanu tas palīdz tikai ierobežoti.
  5. Uzraudzīt: Turēt redzeslokā tīmekļa servera lietotāja procesus, jaunus PHP failus un izejošos savienojumus, lai veiksmīgs trāpījums nepaliktu nemanīts nedēļām.

Kā PHP SOS palīdz konkrēti?

  • Apzināt uzbrukuma virsmu: Mēs noskaidrojam, kuras jūsu sistēmas ir sasniedzamas no ārpuses un ko tās par sevi izpauž.
  • Ielāpot un nostiprināt: Mēs atjauninām PHP, pārstartējam un samazinām versiju norādes, rakstīšanas tiesības un nevajadzīgus pakalpojumus.
  • Noteikumi un bloķēšanas: Mēs ieviešam WAF noteikumus un bloķēšanas mehānismus, kas atbilst jūsu lietojumprogrammai.
  • Pastāvīga uzraudzība: Mēs ziņojam par uzkrītošiem procesiem, failiem un savienojumiem, pirms trāpījums kļūst par incidentu.

Kā tas izskatās ilgstošā darbībā, apraksta Drošības monitorings tīmekļa serveriem.

Secinājums

Automatizēti uzbrukumi nejautā, kam serveris pieder. Tie jautā tikai, vai tas ir ievainojams. Labākā atbilde uz to ir nesenzacionāla: ātri ielāpot, piedāvāt maz, rūpīgi skatīties. Kas to dara, turpina tikt skenēts, bet vairs netiek atrasts.

Biežāk uzdotie jautājumi

Vai mazi uzņēmumi ir automatizētu uzbrukumu mērķis?

Jā. Automatizētā skenēšana pārbauda sasniedzamus serverus, neskatoties uz operatoru. Vai aiz tā ir koncerns vai amatnieku uzņēmums, programmatūrai nav nozīmes. Izšķirošs ir tas, vai serveris šķiet ievainojams.

Pēc kā atpazīt skenēšanu savos žurnālos?

Tipiski ir daudzi pieprasījumi uz ceļiem, kuru jūsu vietnē vispār nav, bieži no mainīgām adresēm un ar uzkrītošiem identifikatoriem. Šādi ieraksti ir normāli un vēl nav veiksmīga uzbrukuma pierādījums, taču rāda, ka jūsu serveris tiek pārbaudīts.

Vai palīdz PHP versijas slēpšana?

Tas skeneriem nedaudz apgrūtina jūsu servera mērķtiecīgu klasificēšanu un ir saprātīgs pamatiestatījums. Taču tas neaizsargā pret uzbrukumiem, kas vienkārši izmēģina katru serveri. Atjauninājums paliek pienākums.

Vai varu skenēšanu pilnībā novērst?

Nē. Katrs publiski sasniedzams serveris tiek regulāri skenēts. Mērķis nav novērst skenēšanu, bet gādāt, lai tā neko neatrod: aktuāla programmatūra, neliela uzbrukuma virsma un uzraudzība, kas ziņo par novirzēm.

Avoti

Tūlītējs kontakts

Katra stunda ir svarīga. Rakstiet mums tūlīt.

Īsi aprakstiet sistēmu, PHP versiju un novēroto. Mēs sazināsimies, noskaidrosim situāciju un strādāsim attālināti, līdz incidents ir slēgts un dokumentēts.

Tūlītēja palīdzība