10. modulis · 10.3
Ja kaut kas notiek nepareizi
10. modulis: Drošība ilgtermiņā · Lasīšanas laiks: 11 min.
Mācīšanās mērķis: Pēc šīs nodarbības Jūs atpazīsiet uzlauzta servera pazīmes, spersiet pirmos soļus, neiznīcinot pierādījumus vai rezerves kopijas, izvēlēsieties starp tīrīšanu un pārinstalēšanu un zināsiet, kad par datu noplūdi ir jāziņo.
Pamatjēdzieni: incidents, pazīmes, izolēšana, momentuzņēmums kā pierādījums, incidenta žurnāls, pārinstalēšana, atslēgu un paroļu nomaiņa, tīra rezerves kopija, pienākums ziņot par datu noplūdēm (72 stundas), Datu valsts inspekcija, ārkārtas plāns
Incidenta atpazīšana
Ielaušanās reti piesaka sevi. Parasti Jūs pamanāt kaut ko "dīvainu". Pazīmes, kuras jāuztver nopietni:
- Augsta noslodze bez iemesla: procesors nepārtraukti strādā 100% apmērā, piemēram, kriptovalūtas ieguves programmas dēļ. Ar
topvaihtoppārbaudiet, kurš process tas ir un ar kuru lietotāju tas darbojas. - Nezināmi procesi vai pakalpojumi: programma ar dīvainu nosaukumu, bieži mapē
/tmp,/dev/shmvai/var/tmp, vai systemd pakalpojums vai taimeris, ko Jūs paši neesat izveidojuši. - Izejošā datplūsma, kas neiederas: Jūsu pakalpojumu sniedzējs ziņo, ka Jūsu serveris sūta surogātpastu vai uzbrūk citiem serveriem, vai paneļa tīkla grafikos redzami lēcieni.
- Jauni lietotāji vai atslēgas: rinda failā
~/.ssh/authorized_keys, kuru Jūs neatpazīstat, lietotājs failā/etc/passwdar UID 0, jauna rinda failā/etc/sudoers.d/. - Mainīti faili: nezināmi PHP faili Jūsu vietnē, mainīta crontab.
- Žurnāli, kas pazuduši vai ir tukši: uzbrucēji labprāt izdzēš savas pēdas.
Dažas komandas ātrai apskatei:
anna@web1:~$ top -o %CPU
anna@web1:~$ sudo ss -tunap | grep ESTAB
anna@web1:~$ sudo last -n 20
anna@web1:~$ awk -F: '$3 == 0 {print $1}' /etc/passwd
anna@web1:~$ sudo find /etc/systemd/system /etc/cron* -newer /etc/hostname -type f
anna@web1:~$ for u in /root /home/*; do sudo cat $u/.ssh/authorized_keys 2>/dev/null; donelast parāda, kas un kad pieteicies, awk rinda parāda visus kontus ar UID 0 (tam jābūt tikai root), bet find rinda meklē unit failus un cron failus, kas ir jaunāki par failu, kurš izveidots instalēšanas laikā.
Uzmanību: serverī, kas patiešām ir uzlauzts, arī šīs komandas var būt viltotas. Tās palīdz Jums kaut ko nojaust, nevis pierādīt, ka viss ir tīrs.
Pirmie soļi: miers, izolēšana, fiksēšana
Pats svarīgākais pirmajās minūtēs ir panikā neko nedzēst. Rīkojieties šādā secībā.
1. Sāciet žurnālu. Pierakstiet uz papīra vai savā klēpjdatorā (nevis serverī), ko redzat, kad un ko darāt. Tas Jums vēlāk būs vajadzīgs, lai atrastu cēloni, kā arī ziņojumam, iesniegumam policijai vai apdrošināšanai. To iesaka arī Nīderlandes NCSC.
2. Izolējiet serveri. Neļaujiet tam nodarīt papildu kaitējumu (surogātpasts, uzbrukumi, datu nosūtīšana), to neizslēdzot:
- pakalpojumu sniedzēja ugunsmūrī (ja tāds ir) aizveriet visu, izņemot SSH no Jūsu paša adreses; vai
- dariet to pašu serverī, izmantojot konsoli;
- ja citādi nevar: izslēdziet serveri paneļa vadībā. Tad gan tiek zaudēts atmiņas saturs.
3. Izveidojiet momentuzņēmumu. Momentuzņēmums panelī fiksē servera stāvokli tādu, kāds tas ir tagad. Tas ir Jūsu pierādījums un avots, lai vēlāk noskaidrotu, kā uzbrucējs iekļuva, arī tad, ja pēc tam serveri pārinstalējat.
4. Pasargājiet rezerves kopijas. Pārbaudiet, vai rezerves kopijas ārpus servera joprojām ir neskartas, un parūpējieties, lai uzlauztais serveris tām vairs nevarētu piekļūt (piemēram, atsauciet servera piekļuves atslēgu rezerves kopiju krātuvei). Uzbrucēji mēģina arī izdzēst vai šifrēt rezerves kopijas.
Tīrīt vai pārinstalēt?
Kārdinošā atbilde ir: izdzēst aizdomīgo failu, apturēt kriptovalūtas ieguves programmu, un viss. Taču Jūs nezināt, ko vēl uzbrucējs ir izdarījis: otras sētas durvis, mainīta programma, papildu atslēga, taimeris, kas visu atjauno. Serverim, kurā kāds ir ieguvis root tiesības, vairs nevar uzticēties.
Tāpēc administratoru un arī Nīderlandes NCSC ieteikums ir: pārinstalējiet skartās sistēmas un atjaunojiet datus no rezerves kopijas, kas pati nav inficēta. Konkrēti:
- Jauna instalācija (pārinstalēšana panelī vai jauns serveris).
- Uzreiz šī kursa pamati: atjauninājumi, parasts lietotājs ar sudo, SSH ar jaunām atslēgām, ugunsmūris (no 2. līdz 5. modulim).
- Lietotņu pārinstalēšana no oficiāliem avotiem, vēlams ar Jūsu compose failiem vai piezīmēm (nodarbība 10.4).
- Datu (datubāze, augšupielādes) atjaunošana no rezerves kopijas, kas veidota pirms incidenta. Neatjaunojiet kodu vai konfigurāciju akli: tajā var būt sētas durvis. Arī atjaunotos datus aplūkojiet kritiski; uzbrucējs var būt bijis iekšā ilgāk, nekā Jūs domājat.
- Aizveriet caurumu, pa kuru uzbrucējs iekļuva. Citādi tas notiks atkal. 3. soļa momentuzņēmums palīdz to noskaidrot.
Nomainiet visu, kas varētu būt noplūdis
Pieņemiet, ka viss, kas atradās serverī, ir nonācis uzbrucēja rokās:
- SSH atslēgas: visur izņemiet publiskās atslēgas, kas atradās serverī, un izveidojiet jaunus atslēgu pārus, ja serverī glabājās privātās atslēgas.
- Paroles datubāzēm, pārvaldības paneļiem un Jūsu lietotnes lietotājiem.
- API atslēgas un žetoni (pasts, maksājumi, mākoņkrātuve, rezerves kopiju krātuve) no
.envfailiem un konfigurācijas: atsauciet tos attiecīgajā pakalpojumā un nomainiet. - Sertifikāti: Jūsu sertifikāta privātā atslēga atradās serverī. Atsauciet sertifikātu un pieprasiet jaunu (ar Let's Encrypt tas notiek ātri, nodarbība 7.3).
Ziņošana: VDAR (GDPR) un citi
Ja serverī bija personas dati (klientu dati, konti, e-pasta adreses), iespējams, ir notikusi datu noplūde. VDAR (GDPR) 33. pants nosaka, ka pārzinis par datu noplūdi bez nepamatotas kavēšanās un, ja iespējams, 72 stundu laikā pēc tam, kad par to uzzinājis, ziņo uzraudzības iestādei. Latvijā tā ir Datu valsts inspekcija (DVI). Daži svarīgi punti no uzraudzības iestāžu skaidrojumiem:
- ziņot nav jāziņo, ja noplūde, visticamāk, nerada risku datu subjektiem; ja šaubāties, ziņojiet;
- ja Jums vēl nav visas informācijas, tomēr ziņojiet 72 stundu laikā un papildiniet vēlāk;
- cilvēkus, kuru dati ir noplūduši, informējiet, ja viņiem ir augsts risks;
- katru datu noplūdi reģistrējiet savā reģistrā, arī tad, ja par to nav jāziņo.
Ja Jūs pārvaldāt serveri klienta vajadzībām, Jūs parasti esat apstrādātājs: tad Jums bez nepamatotas kavēšanās jāinformē klients (pārzinis), lai tas varētu ziņot. Šī nodarbība nav juridisks padoms; šaubu gadījumā skatiet DVI vietni.
Turklāt: par ļaunprātīgu izmantošanu, kas veikta no Jūsu servera, ziņojiet savam pakalpojumu sniedzējam (tas bieži to jau ir pamanījis), un nopietna uzbrukuma gadījumā iesniedziet iesniegumu Valsts policijai. Ja Jūsu organizācijai ir saistošs Nacionālās kiberdrošības likums (NIS2 pārņemšana), ir spēkā atsevišķi, īsāki ziņošanas termiņi.
Sagatavošanās: ārkārtas plāns
Incidents vienmēr notiek nepiemērotā brīdī. Tas, ko esat sakārtojuši iepriekš, ietaupa stundas:
- Ziniet, kā piekļūt pakalpojumu sniedzēja konsolei un momentuzņēmuma pogai, un glabājiet paneļa pieteikšanās datus (ar divpakāpju verifikāciju) kaut kur ārpus servera.
- Ziniet, kur atrodas Jūsu rezerves kopijas, kā tās atjaunot un ka tās darbojas (nodarbība 8.2).
- Uzturiet sarakstu ar visiem noslēpumiem, kas glabājas serverī, lai zinātu, kas jānomaina.
- Uzturiet kontaktu sarakstu: Jūsu pakalpojumu sniedzējs, kam vēl jāzina par serveri (klients, kolēģis), un kontaktinformācija ziņošanai par datu noplūdi.
Praksē
WebOké VPS ekrānā atradīsiet konsoli, momentuzņēmumus, rezerves kopijas un pogu pārinstalēšanai; pie citiem pakalpojumu sniedzējiem tās sauc līdzīgi (console vai VNC, snapshot, rescue, reinstall). Šis kurss ir pašpalīdzība: neviens neuzrauga Jūsu serveri un neviens neizlabos incidentu Jūsu vietā. Tieši tāpēc ir tik svarīgs ārkārtas plāns, ko varat izpildīt paši.
Kopsavilkums
- Pazīmes: neizskaidrojama noslodze, nezināmi procesi, pakalpojumi vai atslēgas, dīvaina izejošā datplūsma, mainīti vai pazuduši faili un žurnāli.
- Pirmie soļi: vest žurnālu, izolēt serveri, izveidot momentuzņēmumu kā pierādījumu, pasargāt rezerves kopijas.
- Serveri, kurā kādam bija root tiesības, netīra, bet pārinstalē; datus atjauno no tīras rezerves kopijas un aizver caurumu.
- Nomainiet visas atslēgas, paroles, žetonus un sertifikātus, kas atradās serverī.
- Skarti personas dati? Par datu noplūdi, ja iespējams, ziņojiet DVI 72 stundu laikā un reģistrējiet katru noplūdi.
Tests (quiz)
Uzdevums
Uzdevums O10.3: Jūsu ārkārtas plāns uz vienas lapas. Uzrakstiet savam serverim ārkārtas plānu, kas nav garāks par vienu A4 lapu: kā piekļūt panelim, konsolei un momentuzņēmumiem; kur atrodas Jūsu rezerves kopijas un kā tās atjaunot; kuri noslēpumi glabājas serverī; kas jāinformē (un vai par datu noplūdi jāziņo); un kādus pirmos piecus soļus spersiet, ja ir aizdomas par ielaušanos. Glabājiet plānu ārpus servera.
Uzdevums O10.3: Jūsu ārkārtas plāns uz vienas lapas
Šo uzdevumu veicat paši; neviens to nepārbauda. Atzīmējiet, ko esat izdarījuši, un atzīmējiet uzdevumu kā paveiktu.
Vispirms fiksējiet notikumus (žurnāls ārpus servera), tad izolējiet (pakalpojumu sniedzēja ugunsmūris vai konsole), izveidojiet momentuzņēmumu kā pierādījumu, nodrošiniet rezerves kopijas; pēc tam izlemiet par pārinstalēšanu, slepeno datu nomaiņu un paziņošanu (ja ir risks personas datiem, 72 stundu laikā Datu valsts inspekcijai (DVI)). Neievadiet šajā veidlapā īstas paroles.
Jūsu atzīmes un piezīmes paliek tikai šajā pārlūkprogrammā; mēs tās nekur nesūtām. Ja esat pieteikušies, sadaļā Mani kursi saglabājam tikai to, ka uzdevums ir paveikts.
Vairāk lasīt
- Vairs nav piekļuves Jūsu VPS: ko darīt tagad?
- VPS snapshot kopijas un rezerves kopijas
- Sava ISO piesaiste vai VPS pārinstalēšana
- Nīderlandes NCSC, Uzlauzts, ko darīt tagad? (Nīderlandes avots nīderlandiešu valodā): https://www.ncsc.nl/incidenten-en-herstellen/gehackt-wat-nu
- Datu valsts inspekcija (DVI), paziņojums DVI par datu aizsardzības pārkāpumu: https://www.dvi.gov.lv/
