Lühidalt: Kas DDoS või häkkimisrünnak, näitavad jäljed. DDoS tekitab väga palju päringuid ja muudab veebisaidi aeglaseks või kättesaamatuks, kuid ei muuda midagi. Ärakasutus (exploit) vajab sageli vaid mõnda päringut ja jätab maha uusi faile, kontosid, protsesse või ühendusi. Õige hinnang otsustab, kas peate koormust tõrjuma või intsidenti piirama.
Erinevus lihtsate sõnadega
DDoS-rünnak (Distributed Denial of Service) on nagu rahvahulk, mis blokeerib kaupluse sissepääsu. Keegi ei pääse sisse, kuid poes midagi ei varastata. Eesmärk on teie veebisaiti või serverit üle koormata, et päris kliendid enam läbi ei pääse.
Ärakasutus (exploit) on seevastu sissemurdmine läbi lahtise ukse. Ründaja kasutab nõrkust, näiteks PHP-s, sisuhaldussüsteemis või laienduses, et käivitada teie serveris koodi. See võib toimuda vaikselt, ilma et veebisait aeglasemaks muutuks. Tagajärjed ulatuvad rämpslehtedest andmevarguse ja serveri ülevõtmiseni.
Juhatuse jaoks on vahe otsustav: DDoS on kättesaadavuse probleem, mis lõpeb rünnakuga. Õnnestunud ärakasutus on turvaintsident, mis jääb, kuni see on leitud, puhastatud ja dokumenteeritud.
DDoS või häkkimisrünnak: tunnused võrdluses
Järgmine tabel aitab esmasel hindamisel. See ei asenda analüüsi, kuid näitab, kuhu esmalt vaadata.
| Tunnus | Pigem DDoS | Pigem ärakasutus või sissemurdmine |
|---|---|---|
| Kättesaadavus | aeglane või maas | sageli normaalne |
| Päringud logis | väga palju, sageli ühtlased | vähe, sihipärased päringud |
| Failid | muutmata | uued või muudetud PHP failid |
| Kontod | muutmata | uued administraatorid, muudetud paroolid |
| Protsessid | veebiserver ja PHP täiskoormusel | tundmatud protsessid, kaevandus, rämpsposti saatmine |
| Võrk | palju sissetulevat liiklust | ebatavalised väljaminevad ühendused |
| Pärast lõppu | kõik nagu enne | jäljed jäävad alles |
Ettevaatust kattuvuste puhul: massiline turvaaugu skaneerimine võib välja näha nagu väike DDoS. Just seda oli PHP2Shelli ümber oodata, kui ründajad otsisid haavatavaid servereid. Kõrge koormus võib seega tähendada ka seda, et keegi parajasti üritab sisse murda.
Esimesed kontrollid serveris
Järgmised käsud ei muuda süsteemis midagi ja annavad kiire ülevaate. Sissemurdmise kahtluse korral turvake logid enne suuremaid sekkumisi.
# Koormus ja tööaeg
uptime
# Ühendused kokkuvõtlikult ja sagedasemad vastaspooled
ss -s
ss -tn state established | awk 'NR>1 {print $4}' | cut -d: -f1 | sort | uniq -c | sort -rn | head
# Sagedasemad kliendiaadressid juurdepääsulogis (kohandage teed)
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -20
# PHP failid, mida on viimase 7 päeva jooksul muudetud
find /var/www -type f -name '*.php' -mtime -7 -printf '%TY-%Tm-%Td %TH:%TM %p\n' | sort
# Protsessid kõrgeima CPU koormusega
ps aux --sort=-%cpu | head -15
Ühenduste ülevaates näitab neljas veerg vastaspoolt. Palju ühendusi väheste aadressidega või normaalväärtuse mitmekordseks kasv viitab ülekoormusele. Uued PHP failid üleslaadimis- või vahemälukataloogides, veebiserveri kasutaja protsessid võõraste nimedega või väljaminevad ühendused tundmatute sihtkohtadega viitavad pigem sissemurdmisele. Põhjaliku nimekirja leiate lehelt Kompromiteerimise tunnused pärast PHP2Shelli.
Miks kõrge koormus võib olla ka tähelepanu kõrvalejuhtimine
Juhtub, et ründajad tekitavad ülekoormuse, murdes samal ajal sihipäraselt sisse. Meeskond tegeleb siis kättesaadavusega ja tegelikud jäljed upuvad logimüras. Seetõttu kehtib: ka siis, kui DDoS on ilmselge, kontrollige pärast selle lõppu faile, kontosid ja väljaminevaid ühendusi.
PHP2Shelli puhul lisandub, et php.net-i ja turvafirmade andmetel ei ole avaldatud kinnitatud kompromiteerimisnäitajaid (Indicators of Compromise). Tuvastamine tugineb käitumisanalüüsile. Server, mis oli oktoobri keskpaigast alanud skaneerimisperioodil paigata, tuleks seetõttu jälgitavast koormusest sõltumata üle kontrollida.
Veel üks variant on väljapressimiskirjad, kus ähvardatakse DDoS-rünnakuga, kui ei maksta. Hoidke sellised teated alles, ärge makske ilma spetsialistidega kooskõlastamata ja kaaluge avaldust ZAC-ile (Saksamaa küberkuritegevuse keskne kontaktpunkt). Teavitage samal ajal oma veebimajutajat, et kaitsemeetmeid saaks ette valmistada. Kuidas selleks logisid analüüsida, on kirjas juhendis Veebiserveri logide analüüs pärast rünnakut.
Mida esimestel tundidel teha
DDoS-i kahtluse korral:
- Teavitage veebimajutajat või andmekeskust; seal on sageli filtrid serveri ees.
- Aktiveerige või karmistage eelnev kaitseteenus või WAF virtuaalse paikamisega.
- Seadke veebiserveris rate-limitid ja kaitske eriti kulukaid lehti, nagu otsing või ostukorv.
- Hoidke logid alles, et rünnak oleks hiljem jälgitav.
Sissemurdmise kahtluse korral:
- Ärge kustutage midagi ega seadke serverit uuesti üles enne, kui logid ja mõjutatud failid on turvatud.
- Uuendage PHP parandatud versioonile ja taaskäivitage kõik töötajad, kui see ei ole veel tehtud.
- Kui uuendus ei ole kohe võimalik, võtke veebisait ajutiselt võrgust maha, nagu BSI soovitab.
- Uuendage ligipääsuandmed puhtalt seadmelt, mitte võimalikult mõjutatud serverist.
- Laske kontrollida, kas isikuandmed võisid olla mõjutatud; siis võivad teavitustähtajad kulgeda.
Mõlemal juhul aitab lühike, asjalik märge veebimajutajale ja teenusepakkujatele: millest alates probleem on, millised veebisaidid on mõjutatud, mida olete täheldanud ja mida on juba muudetud. Fikseerige lisaks, kes millise otsuse tegi. See ajajoon säästab analüüsis aega ja on hiljem väärtuslik kindlustuse, andmekaitse ja sisemise järelanalüüsi jaoks. Kui on ebaselge, kas rünnak üldse toimub, käsitlege olukorda ettevaatusabinõuna intsidendina, kuni vastupidine on tõendatud.
Kuidas PHP SOS konkreetselt aitab?
- Hindame olukorda kaugtööna koormuse, logide, failide ja ühenduste põhjal ning ütleme teile, millega tõenäoliselt tegemist on.
- Ülekoormuse korral seame filtrid, rate-limitid ja eelnevad kaitsereeglid, kuni rünnak vaibub.
- Sissemurdmise kahtluse korral võtame üle struktureeritud intsidendile reageerimise: turvata, piirata, leida põhjus, puhastada.
- Lõpuks dokumenteerime, mis juhtus ja millised meetmed rakendati, kuni intsident on lõpetatud.
Korduma kippuvad küsimused
Kas DDoS-rünnak võib andmeid varastada?
Puhas DDoS-rünnak on suunatud kättesaadavusele, mitte andmetele. See ei muuda faile ega loe andmebaase. Kuid see võib esineda samal ajal sissemurdmiskatsega, seetõttu tasub siiski vaadata faile ja kontosid.
Millest ma tean, et mu veebisaiti on häkitud?
Tüüpilised vihjed on uued või muudetud PHP failid, tundmatud administraatorikontod, ümbersuunamised võõrastele lehtedele, ootamatud väljaminevad ühendused ja protsessid, mis teie rakendusega kokku ei sobi. Üksik tunnus ei ole tõend, mitu koos on tõsine signaal.
Kas CDN või WAF aitab mõlema ründeliigi vastu?
Mahupõhiste rünnakute vastu aitab eelnev teenus enamasti hästi. Ärakasutuste (exploit) vastu toimivad reeglid ainult siis, kui nad mustri ära tunnevad. PHP2Shelli puhul juhib Cloudflare ise tähelepanu, et pelgalt päringuandmete põhjal koostatud reeglitest ei piisa.
Kas pean DDoS-rünnakust teatama?
See sõltub üksikjuhtumist ja teie sektorist. Ilma isikuandmetele ligipääsuta IKÜM-i teavitamiskohustus üldjuhul ei rakendu, kuid sektoripõhised kohustused võivad olla. Selgitage seda oma andmekaitsespetsialisti või advokaadiga.