# Atvejai užduočiai Z10.2 (kursas „VPS ir Linux serverių administravimas“) Kiekvienam atvejui pasirinkite, kokia tai klaida ir koks yra geriausias pirmas žingsnis. Visi vardai ir adresai yra pavyzdiniai. **Klaidos (iš 10.2 pamokos):** A. Prisijungimas kaip root naudojant slaptažodį B. Duomenų bazė, podėlis arba paieškos klasteris atviras internetui C. Atvira Docker API arba `docker.sock` konteineryje D. `chmod 777`, kad dingtų klaidos pranešimas E. `curl ... | bash` ir programinė įranga iš bet kur F. Jokių atnaujinimų arba atnaujinimai „vėliau“ G. Jokios atsarginės kopijos arba atsarginė kopija, kuri niekada nebuvo išbandyta H. Valdymo skydelis atviras visiems, be dviejų veiksnių autentifikavimo I. Paslaptys Git saugykloje arba Jūsų compose faile J. „Trumpam“ išjungta užkarda, viskas kaip root, jokių užrašų --- **1 atvejis.** Serveryje `web1.example.com` faile `compose.yaml` prie paslaugos `redis` nurodyta: `ports: - "6379:6379"`. `ufw status` rodo tik 22, 80 ir 443. Skenavimas iš išorės randa atvirą prievadą 6379. Pirmas žingsnis: (a) iš naujo paleisti ufw (b) pašalinti prievado taisyklę arba pakeisti ją į `"127.0.0.1:6379:6379"` ir vėl paleisti `docker compose up -d` (c) suteikti Redis kitą prievado numerį (d) perkrauti serverį **2 atvejis.** Žiniatinklio programos serveryje `app.example.net` kūrėjas praneša, kad neveikė įkėlimai. Jis tai „sutvarkė“, ir dabar visiems failams kataloge `/var/www/app` nustatyta `-rwxrwxrwx`. Pirmas žingsnis: (a) palikti taip, dabar veikia (b) suteikti žiniatinklio serverio naudotojui rašymo teises tik įkėlimų aplanke, o visa kita grąžinti į 644/755 su kitu savininku (c) paleisti žiniatinklio serverį kaip root (d) išjungti AppArmor **3 atvejis.** Viešoje saugykloje nuo vakar yra failas `.env` su `MAIL_API_KEY=...` iš serverio `web2.example.org`. Pirmas žingsnis: (a) pašalinti failą iš saugyklos (b) atšaukti raktą pašto paslaugoje ir sukurti naują, o `.env` įrašyti į `.gitignore` (c) pervadinti saugyklą (d) nieko nedaryti **4 atvejis.** `sudo sshd -T | grep -E "permitrootlogin|passwordauthentication"` grąžina `permitrootlogin yes` ir `passwordauthentication yes`. Žurnale kas minutę matyti bandymai prisijungti kaip root. Pirmas žingsnis: (a) įdiegti fail2ban ir daugiau nieko nedaryti (b) įdiegti raktą paprastam administratoriui su sudo, jį išbandyti ir tada išjungti prisijungimą slaptažodžiu bei root prisijungimą slaptažodžiu (c) perkelti SSH į prievadą 2222 (d) laikyti root slaptažodį tekstiniame faile **5 atvejis.** `cat /etc/os-release` rodo Ubuntu leidimą, kurio standartinis palaikymas baigėsi prieš trejus metus, be ESM. `apt list --upgradable` yra tuščias. Pirmas žingsnis: (a) džiaugtis, nes atnaujinimų nėra (b) suplanuoti atnaujinimą arba naują serverį su palaikoma LTS versija, padarius momentinę kopiją ir atsarginę kopiją (c) iš naujo įdiegti unattended-upgrades (d) perkrauti serverį **6 atvejis.** Konteineris `portainer` turi tomą `/var/run/docker.sock:/var/run/docker.sock` ir yra pasiekiamas adresu `https://beheer.example.com` su slaptažodžiu `admin123`, be dviejų veiksnių autentifikavimo. Pasirinkite klaidą, dėl kurios galima didžiausia žala, jei slaptažodis bus atspėtas. Pirmas žingsnis: (a) apsaugoti skydelį SSH tuneliu arba fiksuotu adresu ir nustatyti stiprų slaptažodį su dviejų veiksnių autentifikavimu (b) iš naujo paleisti konteinerį (c) pasirinkti kitą subdomeną (d) iš naujo įdiegti Docker **7 atvejis.** Po nepavykusio duomenų bazės atnaujinimo paaiškėja, kad vienintelė atsarginė kopija yra dviejų mėnesių senumo momentinė kopija toje pačioje saugykloje kaip ir serveris. Niekas niekada nebandė atkurti duomenų. Pirmas žingsnis ateičiai: (a) daryti daugiau momentinių kopijų (b) sukonfigūruoti šifruotas atsargines kopijas už serverio ribų (pavyzdžiui, restic), su stebėsena ir atkūrimo bandymu (c) niekada daugiau neatnaujinti duomenų bazės (d) antras diskas tame pačiame serveryje **8 atvejis.** Serveryje yra `/usr/local/bin/tool` ir nežinomas paketų šaltinis `extra.list` su parinktimi `[trusted=yes]`. Niekas nežino, iš kur jie atsirado; ankstesnis administratorius diegė „viską viena eilute iš svetainės“. Pirmas žingsnis: (a) palikti, nes veikia (b) išsiaiškinti, kas yra šaltinis ir programa, išjungti šaltinį su `trusted=yes` ir toliau diegti tik iš distribucijos arba oficialaus kūrėjo šaltinio su `Signed-By` (c) perkrauti serverį (d) pašalinti visus paketus Kiekvienam atvejui įrašykite: klaidą (A-J) ir pirmą žingsnį (a-d).