Prijeđite na sadržaj

Postavke kolačića

Za svaku vrstu odaberite koje kolačiće dopuštate. Svoj odabir uvijek možete promijeniti putem poveznice Postavke kolačića na dnu svake stranice. Izjava o privatnosti

Nužni

Uvijek uključeni

Potrebni za prijavu, čuvanje košarice i pamćenje Vaših odabira. Uvijek su uključeni.

Koji kolačići?
  • weboke_sessie, weboke_klant, weboke_remember: Vaša sesija i to da ostanete prijavljeni
  • weboke_basket: Vaša košarica
  • wkBtwIncl: prikaz cijena s PDV-om ili bez njega
  • wok_cookies: Vaš odabir kolačića, 12 mjeseci

Mjeri koji oglas dovodi do posjeta ili narudžbe, kako ne bismo plaćali oglase koji ništa ne donose.

Koji kolačići?
  • Google Ads putem Google Tag Managera (_gcl_au, _gcl_aw), do 90 dana
  • OpenAI Ads, oglasi u ChatGPT-u
  • wok_aff: preko kojeg ste partnera došli k nama (partnerski program), 60 dana

4,6

Država i jezik

Svaka država ima vlastitu stranicu, s cijenama i PDV-om te države.

Pogledajte

Hardening i CIS načela

Modul 10: Ostanite sigurni · Vrijeme čitanja: 11 minuta

Cilj učenja: Nakon ove lekcije moći ćete objasniti što je hardening i koja načela stoje iza njega, znat ćete što su CIS Benchmarks i kako ih razumno koristiti te ćete moći sustavno provjeriti svoj poslužitelj alatom Lynis.

Ključni pojmovi: hardening, površina napada, minimalna instalacija, minimalna prava (least privilege), slojevita obrana (defense in depth), CIS Benchmarks, Level 1 i Level 2, CIS Controls, Lynis, hardening index, AppArmor, SELinux, sysctl, sinkronizacija vremena

Što je hardening?

Svježa instalacija Debiana ili Ubuntua prilično je sigurna, ali je napravljena tako da radi na što više mjesta. Hardening (ojačavanje) znači prilagođavanje poslužitelja točno Vašoj namjeni: uklonite sve što Vam ne treba, postrožite sve što se može postrožiti, a da pritom Vaši vlastiti servisi ne prestanu raditi.

U prethodnim modulima to ste već radili dio po dio: SSH s ključevima (modul 2), običan korisnik sa sudo ovlastima (modul 3), automatska ažuriranja (modul 4), vatrozid i fail2ban (modul 5), servisi pod vlastitim korisnicima (modul 6). Ova lekcija stavlja te pojedinačne mjere u okvir, tako da vidite što još nedostaje.

Četiri načela

1. Mala površina napada. Ono čega nema, ne može se pokvariti. Svaki instalirani servis, svaki otvoreni priključak, svaki korisnički račun moguć je ulaz (lekcija 5.1). Instalirajte minimalno i uklonite ono što više ne koristite:

anna@web1:~$ systemctl list-units --type=service --state=running
anna@web1:~$ sudo ss -tulpn
anna@web1:~$ apt list --installed | wc -l

Ako radi servis koji ne poznajete, istražite što radi (lekcija 6.1). Ako Vam ne treba, uklonite paket.

2. Minimalna prava. Svaki korisnik i svaki program dobiva samo ona prava koja su mu potrebna (lekcija 3.2). Nema svakodnevnog rada kao root, servisi rade pod vlastitim korisnicima, korisnici baze podataka imaju prava samo na vlastitu bazu, nema chmod 777.

3. Slojevita obrana. Pođite od pretpostavke da će jedna mjera zakazati. Baza podataka koja sluša samo na 127.0.0.1 i nalazi se iza vatrozida i ima jaku lozinku ostaje sigurna i ako jedna od te tri mjere slučajno otpadne. To se zove defense in depth.

4. Znati što se događa. Hardening nije samo zatvaranje, nego i uvid: zapisi koji se čuvaju (lekcija 6.2), nadzor koji javlja (lekcija 8.3) i sigurnosne kopije pomoću kojih se možete vratiti (modul 8). Bez toga provalu primijetite tek kad je prekasno.

CIS Benchmarks

Center for Internet Security (CIS) američka je neprofitna organizacija koja izrađuje CIS Benchmarks: opsežne popise preporučenih postavki za pojedini proizvod, koje sastavljaju volonteri iz svijeta sigurnosti. Ima ih više od stotinu, među ostalim za Debian Linux i Ubuntu Linux, po verzijama. PDF datoteke možete besplatno preuzeti za nekomercijalnu upotrebu nakon izrade korisničkog računa.

Benchmark za Linux sadrži stotine preporuka, svaku s objašnjenjem, načinom provjere i načinom postavljanja. Podijeljene su u profile:

  • Level 1: osnovne mjere koje možete razmjerno brzo uvesti, s jasnom sigurnosnom koristi, a da poslužitelj ne postane znatno manje upotrebljiv. Za većinu poslužitelja to je cilj.
  • Level 2: dodatne mjere za okruženja u kojima je sigurnost na prvom mjestu (slojevita obrana). Mogu Vas stajati funkcija ili brzine, a prema samom CIS-u mogu i naštetiti ako ih primijenite bez opreza.

Za Linux postoje zasebni profili za poslužitelje i za radne stanice.

Primjeri tema u benchmarku za Linux: zasebne particije za /tmp i /var/log, isključivanje nekorištenih datotečnih sustava i mrežnih protokola, sinkronizacija vremena, revizijsko bilježenje (audit logging), postavke SSH-a (mnoge od njih poznajete iz lekcije 2.2), pravila za lozinke, prava pristupa važnim datotekama i vatrozid.

Uz Benchmarks postoje i CIS Controls (trenutačno verzija 8.1): to nisu postavke za pojedini proizvod, nego popis od osamnaest skupina mjera za cijelu organizaciju, poput "popis softvera", "upravljanje ranjivostima" i "oporavak podataka". Za jedan poslužitelj korisniji su Benchmarks; Controls pomažu kad razmišljate o cijeloj tvrtki.

Koristite benchmark razumno

Benchmark nije gumb koji jednostavno pritisnete. Nekoliko pravila:

  • Najprije razumijte, zatim primijenite. Svaka preporuka ima objašnjenje. Ako ne razumijete zašto, nemojte je još primjenjivati.
  • Jedna stvar odjednom, uz testiranje. Stroga postavka jezgre ili mreže može pokvariti Vašu aplikaciju. Napravite snimku (snapshot), promijenite jednu stvar i provjerite radi li sve i dalje.
  • Nije sve za Vas. Preporuku o zasebnoj particiji /var/log teško je provesti na postojećem VPS-u, a donosi malo. Birajte svjesno i zabilježite zašto nešto ne radite.
  • Oprezno s gotovim hardening skriptama s interneta koje "sve iz CIS-a" primjenjuju odjednom. One mogu promijeniti SSH, Vaš vatrozid ili Vaše zapise tako da sami sebi zaključate pristup, a poslije više ne znate što je promijenjeno.

Lynis: revizija iznutra

Lynis je besplatan program otvorenog koda (GPL) tvrtke CISOfy koji Vaš poslužitelj pregledava iznutra i za svaku temu daje upozorenja i prijedloge. Sam ništa ne mijenja; samo izvještava.

anna@web1:~$ sudo apt install lynis
anna@web1:~$ sudo lynis audit system
...
  -[ Lynis 3.x Results ]-

  Warnings (1):
  ----------------------------
  ! Found one or more vulnerable packages. [PKGS-7392]

  Suggestions (34):
  ----------------------------
  * Consider hardening SSH configuration [SSH-7408]
      - Details  : AllowTcpForwarding (set YES to NO)
  ...
  Lynis security scan details:

  Hardening index : 66 [#############       ]
  Tests performed : 262

Kako čitati rezultat:

  • Warnings su stvari koje svakako trebate pogledati, primjerice paketi s poznatim ranjivostima (tada imate neinstalirana ažuriranja, lekcija 4.1).
  • Suggestions su savjeti. Mnogi su korisni, a neki ne odgovaraju Vašem poslužitelju. Prijedlog da isključite AllowTcpForwarding primjerice prekida Vaše SSH tunele (lekcija 2.3). Birajte svjesno.
  • Svaka poruka ima kod u uglatim zagradama, poput [SSH-7408]. Pomoću njega u zapisniku /var/log/lynis.log potražite što je točno testirano.
  • Hardening index je broj do 100. To je putokaz, a ne ocjena za kojom treba juriti. Porast nakon Vaših izmjena pokazuje da napredujete; 100 nije cilj.

Verzija alata Lynis u repozitoriju paketa Vaše distribucije može malo kasniti. Za prvu reviziju to nije problem.

Još tri teme ukratko

  • AppArmor i SELinux dodatni su sigurnosni slojevi u jezgri koji za svaki program određuju što smije raditi. Debian i Ubuntu koriste AppArmor, standardno uključen; AlmaLinux i Rocky koriste SELinux. Nemojte ih isključivati "zato što nešto ne radi": potražite poruku u journalu i problem riješite ciljano.
  • sysctl postavlja postavke jezgre, primjerice za mrežu. Zadane vrijednosti Debiana i Ubuntua su razumne. Ako želite nešto promijeniti, stavite to u vlastitu datoteku u /etc/sysctl.d/ (Debian 13 više ne čita /etc/sysctl.conf).
  • Vrijeme: poslužitelj s pogrešnim vremenom čini zapise neupotrebljivima i može certifikate smatrati nevaljanima. Naredbom timedatectl provjerite piše li "System clock synchronized: yes".

U praksi

Kod WebOké, kao i kod drugih pružatelja VPS usluga, sigurnošću unutar svog poslužitelja upravljate sami: pružatelj se brine za hardver, mrežu i platformu za virtualizaciju. Ovaj tečaj je samopomoć: nitko ne prati što se događa na Vašem poslužitelju. Prije kruga hardeninga napravite snimku (snapshot) u panelu i znajte kako otvoriti konzolu ako ipak sami sebi zaključate pristup.

Sažetak

  • Hardening znači prilagoditi poslužitelj vlastitoj namjeni: ukloniti ono što nije potrebno, postrožiti ono što se može.
  • Četiri načela: mala površina napada, minimalna prava, slojevita obrana i uvid u ono što se događa.
  • CIS Benchmarks za svaki proizvod daju stotine preporuka u profilima Level 1 (osnovno) i Level 2 (strogo); koristite ih s razumijevanjem, korak po korak.
  • Lynis pregledava Vaš poslužitelj iznutra i daje upozorenja, prijedloge i hardening index; sam ništa ne mijenja.
  • Ne isključujte AppArmor/SELinux; vlastite postavke jezgre stavite u /etc/sysctl.d/; provjerite sinkronizaciju vremena.

Kviz

1. Koja je ideja slojevite obrane (defense in depth)?



2. Koja je razlika između Level 1 i Level 2 u CIS Benchmarks?



3. Lynis predlaže da u SSH-u isključite AllowTcpForwarding. Vi koristite SSH tunele za pristup bazi podataka. Što ćete učiniti?



4. Kolega na internetu pronađe skriptu koja "sve CIS preporuke odjednom" postavlja na Vaš poslužitelj. Koji je najveći rizik?



5. Vaša aplikacija ne radi, a u journalu stoji odbijanje od AppArmora. Koji je pravi pristup?



Zadatak

Zadatak O10.1: Revizija s alatom Lynis. Napravite snimku (snapshot), instalirajte Lynis na svoj poslužitelj i pokrenite sudo lynis audit system. Zabilježite hardening index, sva upozorenja i pet prijedloga. Odaberite tri prijedloga koja ćete provesti i jedan koji svjesno nećete provesti, uz razlog. Zatim ponovno pokrenite reviziju i zabilježite novi indeks.

Zadatak O10.1: Revizija s alatom Lynis

Ovaj zadatak rješavate sami; nitko ga ne provjerava. Označite što ste napravili i označite zadatak kao završen.




Vaše kvačice i bilješke ostaju samo u ovom pregledniku; ne šaljemo ih nikamo. Ako ste prijavljeni, u Moji tečajevi čuvamo samo podatak da ste zadatak završili.

Dodatno štivo

Trenutak…

Postavite svoje domene

Za svaku domenu odredite nameservere, povezivanje s hostingom i tko postaje vlasnik.

Učitavanje Vaših domena…