# Gadījumi uzdevumam Z10.2 (kurss VPS un Linux serveru pārvaldība) Katram gadījumam izvēlieties, kura kļūda tā ir un kāds ir labākais pirmais solis. Visi nosaukumi un adreses ir piemēri. **Kļūdas (no 10.2. nodarbības):** A. Root pieteikšanās ar paroli B. Datubāze, kešatmiņa vai meklēšanas klasteris atvērts internetam C. Atvērts Docker API vai `docker.sock` konteinerā D. `chmod 777`, lai atbrīvotos no kļūdas paziņojuma E. `curl ... | bash` un programmatūra no jebkurienes F. Nav atjauninājumu vai atjauninājumi "vēlāk" G. Nav rezerves kopijas vai rezerves kopija, kas nekad nav pārbaudīta H. Pārvaldības panelis atvērts visiem, bez divpakāpju verifikācijas I. Noslēpumi Git vai Jūsu compose failā J. "Uz brīdi" izslēgts ugunsmūris, viss kā root, nekādu piezīmju --- **1. gadījums.** Serverī `web1.example.com` failā `compose.yaml` pie servisa `redis` ir: `ports: - "6379:6379"`. `ufw status` rāda tikai 22, 80 un 443. Skenēšana no ārpuses atrod atvērtu 6379. Pirmais solis: (a) restartēt ufw (b) noņemt porta noteikumu vai mainīt to uz `"127.0.0.1:6379:6379"` un vēlreiz `docker compose up -d` (c) piešķirt Redis citu porta numuru (d) restartēt serveri **2. gadījums.** Tīmekļa lietotnes izstrādātājs serverī `app.example.net` ziņo, ka augšupielādes nedarbojās. Viņš to ir "atrisinājis", un tagad visiem failiem mapē `/var/www/app` ir `-rwxrwxrwx`. Pirmais solis: (a) atstāt tā, tagad darbojas (b) piešķirt tīmekļa servera lietotājam rakstīšanas tiesības tikai augšupielāžu mapei, pārējam atjaunot 644/755 ar citu īpašnieku (c) palaist tīmekļa serveri kā root (d) izslēgt AppArmor **3. gadījums.** Publiskā repozitorijā kopš vakardienas ir fails `.env` ar `MAIL_API_KEY=...` no servera `web2.example.org`. Pirmais solis: (a) izdzēst failu no repozitorija (b) atsaukt atslēgu pasta servisā un izveidot jaunu, kā arī ievietot `.env` failā `.gitignore` (c) pārdēvēt repozitoriju (d) neko nedarīt **4. gadījums.** `sudo sshd -T | grep -E "permitrootlogin|passwordauthentication"` dod `permitrootlogin yes` un `passwordauthentication yes`. Žurnālā ik minūti ir pieteikšanās mēģinājumi kā root. Pirmais solis: (a) instalēt fail2ban un neko vairāk (b) ievietot atslēgu parastam administratoram ar sudo, pārbaudīt un tad izslēgt pieteikšanos ar paroli un root pieteikšanos ar paroli (c) pārcelt SSH uz portu 2222 (d) glabāt root paroli teksta failā **5. gadījums.** `cat /etc/os-release` rāda Ubuntu laidienu, kura standarta atbalsts beidzās pirms trim gadiem, bez ESM. `apt list --upgradable` ir tukšs. Pirmais solis: (a) priecāties, atjauninājumu nav (b) plānot jaunināšanu vai jaunu serveri ar atbalstītu LTS, ar momentuzņēmumu un rezerves kopiju (c) pārinstalēt unattended-upgrades (d) restartēt serveri **6. gadījums.** Konteineram `portainer` ir sējums `/var/run/docker.sock:/var/run/docker.sock`, un tas ir pieejams adresē `https://beheer.example.com` ar paroli `admin123`, bez divpakāpju verifikācijas. Izvēlieties kļūdu, kas pieļauj vislielāko kaitējumu, ja parole tiek uzminēta. Pirmais solis: (a) novietot paneli aiz SSH tuneļa vai fiksētas adreses un iestatīt stipru paroli ar divpakāpju verifikāciju (b) restartēt konteineru (c) izvēlēties citu apakšdomēnu (d) pārinstalēt Docker **7. gadījums.** Pēc neizdevušās datubāzes atjaunināšanas atklājas, ka vienīgā rezerves kopija ir divus mēnešus vecs momentuzņēmums tajā pašā krātuvē, kur serveris. Neviens nekad nav mēģinājis atjaunošanu. Pirmais solis nākotnei: (a) veidot vairāk momentuzņēmumu (b) iestatīt šifrētas rezerves kopijas ārpus servera (piemēram, restic) ar uzraudzību un atjaunošanas testu (c) nekad vairs neatjaunināt datubāzi (d) otrs disks tajā pašā serverī **8. gadījums.** Serverī ir `/usr/local/bin/tool` un nezināms pakotņu avots `extra.list` ar opciju `[trusted=yes]`. Neviens nezina, no kurienes tie radušies; iepriekšējais administrators instalēja "visu ar vienu rindu no kādas vietnes". Pirmais solis: (a) atstāt, tas darbojas (b) noskaidrot, kas ir avots un programma, izslēgt avotu ar `trusted=yes` un turpmāk instalēt tikai no distribūcijas vai izstrādātāja oficiālā avota ar `Signed-By` (c) restartēt serveri (d) noņemt visas pakotnes Katram gadījumam norādiet: kļūdu (A-J) un pirmo soli (a-d).