Siirry suoraan sisältöön

Evästeasetukset

Valitse, mitä evästetyyppejä sallit. Voit muuttaa valintaasi milloin tahansa jokaisen sivun alareunassa olevasta kohdasta Evästeasetukset. Tietosuojaseloste

Välttämättömät

Aina käytössä

Tarvitaan sisäänkirjautumiseen, ostoskorin säilyttämiseen ja valintojesi muistamiseen. Nämä ovat aina käytössä.

Mitkä evästeet?
  • weboke_sessie, weboke_klant, weboke_remember: istuntosi ja sisäänkirjautuneena pysyminen
  • weboke_basket: ostoskorisi
  • wkBtwIncl: hintojen näyttäminen verollisina tai verottomina
  • wok_cookies: evästevalintasi, 12 kuukautta

Mittaa, mikä mainos johtaa käyntiin tai tilaukseen, jotta emme maksa mainoksista, joista ei ole hyötyä.

Mitkä evästeet?
  • Google Ads Google Tag Managerin kautta (_gcl_au, _gcl_aw), enintään 90 päivää
  • OpenAI Ads, mainokset ChatGPT-palvelussa
  • wok_aff: minkä kumppanin kautta tulit meille (kumppaniohjelma), 60 päivää

4,6

Maa ja kieli

Jokaisella maalla on oma sivustonsa, jossa on kyseisen maan hinnat ja ALV.

Näytä

Kovennus ja CIS-periaatteet

Moduuli 10: Pysy turvassa · Lukuaika: 11 minuuttia

Tavoite: Tämän oppitunnin jälkeen osaat selittää, mitä kovennus on ja mitä periaatteita sen taustalla on. Tiedät myös, mitä CIS Benchmarkit ovat ja miten niitä käytetään järkevästi, ja osaat käydä palvelimesi järjestelmällisesti läpi Lynisillä.

Keskeiset käsitteet: kovennus (hardening), hyökkäyspinta, minimaalinen asennus, vähimmät oikeudet (least privilege), kerroksellinen puolustus (defense in depth), CIS Benchmarks, Level 1 ja Level 2, CIS Controls, Lynis, hardening index, AppArmor, SELinux, sysctl, ajan synkronointi

Mitä kovennus on?

Tuore Debian- tai Ubuntu-asennus on kohtuullisen turvallinen, mutta se on tehty toimimaan mahdollisimman monessa ympäristössä. Kovennus (hardening) tarkoittaa palvelimen sovittamista juuri omaan käyttöösi: poistat kaiken, mitä et tarvitse, ja tiukennat kaiken, minkä voi tiukentaa, ilman että omat palvelusi menevät rikki.

Edellisissä moduuleissa olet jo tehnyt tätä pala kerrallaan: SSH avaimilla (moduuli 2), tavallinen käyttäjä sudolla (moduuli 3), automaattiset päivitykset (moduuli 4), palomuuri ja fail2ban (moduuli 5) sekä palvelut omien käyttäjiensä alla (moduuli 6). Tämä oppitunti kokoaa nämä erilliset toimet yhteen kehykseen, jotta näet, mitä vielä puuttuu.

Neljä periaatetta

1. Pieni hyökkäyspinta. Mitä ei ole, se ei voi hajota. Jokainen asennettu palvelu, jokainen avoin portti ja jokainen tili on mahdollinen sisäänpääsy (oppitunti 5.1). Asenna mahdollisimman vähän ja siivoa pois se, mitä et enää käytä:

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

Jos palvelimella on käynnissä palvelu, jota et tunne, selvitä mitä se tekee (oppitunti 6.1). Jos et tarvitse sitä, poista paketti.

2. Vähimmät oikeudet. Jokainen käyttäjä ja ohjelma saa vain ne oikeudet, joita se tarvitsee (oppitunti 3.2). Ei päivittäistä työtä rootina, palvelut omien käyttäjiensä alla, tietokantakäyttäjille oikeudet vain omaan tietokantaansa, ei chmod 777.

3. Kerroksellinen puolustus. Oleta, että yksi toimenpide pettää. Tietokanta, joka kuuntelee vain osoitteessa 127.0.0.1 ja on palomuurin takana ja jolla on vahva salasana, on turvassa silloinkin, kun yksi näistä kolmesta vahingossa pettää. Tätä kutsutaan nimellä defense in depth.

4. Tiedä, mitä tapahtuu. Kovennus ei ole pelkkää sulkemista vaan myös näkemistä: lokit, jotka säilytetään (oppitunti 6.2), valvonta, joka hälyttää (oppitunti 8.3), ja varmuuskopiot, joilla pääset takaisin (moduuli 8). Ilman näitä huomaat murron vasta, kun on liian myöhäistä.

CIS Benchmarkit

Center for Internet Security (CIS) on yhdysvaltalainen voittoa tavoittelematon järjestö, joka tekee CIS Benchmarkit: laajoja tuotekohtaisia listoja suositelluista asetuksista. Ne laativat tietoturva-alan vapaaehtoiset. Niitä on yli sata, myös Debian Linuxille ja Ubuntu Linuxille, versiokohtaisesti. Voit ladata pdf-tiedostot ilmaiseksi ei-kaupalliseen käyttöön, kun olet luonut tilin.

Linuxin benchmark sisältää satoja suosituksia, joista jokaisessa on selitys, tapa tarkistaa asia ja tapa ottaa se käyttöön. Ne on jaettu profiileihin:

  • Level 1: perustoimet, jotka voit ottaa käyttöön melko nopeasti ja joista on selvä tietoturvahyöty, ilman että palvelimen käytettävyys kärsii paljon. Useimmille palvelimille tämä on tavoite.
  • Level 2: lisätoimet ympäristöihin, joissa tietoturva on etusijalla (kerroksellinen puolustus). Ne voivat maksaa toimintoja tai nopeutta, ja CIS:n itsensä mukaan ne voivat aiheuttaa vahinkoa, jos otat ne käyttöön huolimattomasti.

Linuxille on erilliset profiilit palvelimille ja työasemille.

Esimerkkejä Linux-benchmarkin aiheista: erilliset osiot hakemistoille /tmp ja /var/log, käyttämättömien tiedostojärjestelmien ja verkkoprotokollien poistaminen käytöstä, ajan synkronointi, auditointiloki, SSH:n asetukset (monet niistä tunnet oppitunnista 2.2), salasanakäytäntö, tärkeiden tiedostojen oikeudet ja palomuuri.

Benchmarkien lisäksi on olemassa CIS Controls (nyt versio 8.1): ne eivät ole tuotekohtaisia asetuksia vaan koko organisaatiolle tarkoitettu kahdeksantoista toimenpideryhmän lista, kuten "ohjelmistojen inventaario", "haavoittuvuuksien hallinta" ja "tietojen palautus". Yksittäiselle palvelimelle Benchmarkit ovat hyödyllisempiä; Controls auttaa, kun mietit koko yritystäsi.

Käytä benchmarkia järkevästi

Benchmark ei ole nappi, jota painetaan. Muutama sääntö:

  • Ymmärrä ensin, ota käyttöön vasta sitten. Jokaisella suosituksella on selitys. Jos et ymmärrä, miksi, älä ota sitä vielä käyttöön.
  • Yksi asia kerrallaan, ja testaa. Tiukka ytimen tai verkon asetus voi rikkoa sovelluksesi. Ota tilannevedos, muuta yksi asia ja tarkista, että kaikki toimii yhä.
  • Kaikki ei ole sinua varten. Suositus erillisestä /var/log-osiosta on olemassa olevalla VPS:llä hankala ja hyödyttää vähän. Valitse tietoisesti ja kirjaa ylös, miksi jätät jotain tekemättä.
  • Varo valmiita kovennusskriptejä internetistä, jotka ottavat "kaiken CIS:stä" käyttöön kerralla. Ne voivat muuttaa SSH:ta, palomuuria tai lokeja niin, että lukitset itsesi ulos, etkä jälkikäteen enää tiedä, mitä muuttui.

Lynis: auditointi sisältäpäin

Lynis on CISOfyn ilmainen avoimen lähdekoodin ohjelma (GPL), joka käy palvelimesi läpi sisältäpäin ja antaa aiheittain varoituksia ja ehdotuksia. Se ei itse muuta mitään, vaan ainoastaan raportoi.

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

Näin luet tuloksia:

  • Warnings ovat asioita, jotka sinun pitää todella tarkistaa, kuten paketit, joissa on tunnettuja haavoittuvuuksia (silloin sinulla on asentamattomia päivityksiä, oppitunti 4.1).
  • Suggestions ovat neuvoja. Monet ovat hyödyllisiä, osa ei sovi palvelimellesi. Esimerkiksi ehdotus poistaa AllowTcpForwarding käytöstä rikkoo SSH-tunnelisi (oppitunti 2.3). Valitse tietoisesti.
  • Jokaisella ilmoituksella on koodi hakasulkeissa, kuten [SSH-7408]. Sen avulla etsit lokista /var/log/lynis.log, mitä tarkalleen testattiin.
  • Hardening index on luku, joka on enintään 100. Se on suuntaa antava mittari, ei arvosana, jota kannattaa jahdata. Nousu muutosten jälkeen näyttää, että edistyt; 100 ei ole tavoite.

Jakelusi pakettilähteessä oleva Lynis-versio voi olla hieman jäljessä. Ensimmäisessä auditoinnissa se ei haittaa.

Vielä kolme aihetta lyhyesti

  • AppArmor ja SELinux ovat ytimen lisäsuojakerroksia, jotka määrittävät ohjelmakohtaisesti, mitä ohjelma saa tehdä. Debian ja Ubuntu käyttävät AppArmoria, joka on oletuksena päällä; AlmaLinux ja Rocky käyttävät SELinuxia. Älä poista niitä käytöstä "koska jokin ei toimi": etsi ilmoitus journalista ja korjaa ongelma kohdennetusti.
  • sysctl asettaa ytimen asetuksia, esimerkiksi verkon osalta. Debianin ja Ubuntun oletusarvot ovat kohtuulliset. Jos haluat muuttaa jotain, laita muutos omaan tiedostoon hakemistossa /etc/sysctl.d/ (Debian 13 ei enää lue tiedostoa /etc/sysctl.conf).
  • Aika: palvelin, jonka aika on väärä, tekee lokeista käyttökelvottomia ja voi pitää varmenteita virheellisinä. Tarkista komennolla timedatectl, että tulosteessa lukee "System clock synchronized: yes".

Käytännössä

WebOkéllä, kuten muillakin VPS-palveluiden tarjoajilla, hallinnoit palvelimesi sisäistä tietoturvaa itse: palveluntarjoaja huolehtii laitteistosta, verkosta ja virtualisointialustasta. Tämä kurssi on itseopiskelua: kukaan ei valvo palvelintasi kanssasi. Ota ennen kovennuskierrosta tilannevedos paneelissa ja varmista, että tiedät miten konsoli avataan, jos lukitset itsesi silti ulos.

Yhteenveto

  • Kovennus on palvelimen sovittamista omaan käyttöön: pois se, mitä ei tarvita, ja tiukemmaksi se, mikä voi olla tiukempaa.
  • Neljä periaatetta: pieni hyökkäyspinta, vähimmät oikeudet, kerroksellinen puolustus ja tieto siitä, mitä tapahtuu.
  • CIS Benchmarkit antavat tuotekohtaisesti satoja suosituksia profiileissa Level 1 (perus) ja Level 2 (tiukka); käytä niitä ymmärtäen, yksi askel kerrallaan.
  • Lynis käy palvelimesi läpi sisältäpäin ja antaa varoituksia, ehdotuksia ja hardening indexin; se ei itse muuta mitään.
  • Älä poista AppArmoria tai SELinuxia käytöstä; omat ytimen asetukset hakemistoon /etc/sysctl.d/; tarkista ajan synkronointi.

Tietovisa (quiz)

1. Mikä on kerroksellisen puolustuksen (defense in depth) ajatus?



2. Mikä on ero CIS Benchmarkien tasojen Level 1 ja Level 2 välillä?



3. Lynis ehdottaa, että poistat SSH:ssa AllowTcpForwarding käytöstä. Käytät SSH-tunneleita päästäksesi tietokantaasi. Mitä teet?



4. Kollega löytää internetistä skriptin, joka ottaa palvelimellasi käyttöön "kaikki CIS-suositukset kerralla". Mikä on suurin riski?



5. Sovelluksesi ei toimi, ja journalissa on AppArmorin esto. Mikä on oikea tapa toimia?



Tehtävä

Tehtävä O10.1: Auditointi Lynisillä. Ota tilannevedos, asenna Lynis palvelimellesi ja aja sudo lynis audit system. Kirjaa ylös hardening index, kaikki varoitukset ja viisi ehdotusta. Valitse kolme ehdotusta, jotka toteutat, ja yksi, jonka jätät tietoisesti toteuttamatta, perusteluineen. Aja sen jälkeen auditointi uudelleen ja kirjaa uusi indeksi.

Tehtävä O10.1: Auditointi Lynisillä

Tämän tehtävän teet itse, kukaan ei tarkista sitä. Merkitse tekemäsi kohdat ja merkitse tehtävä tehdyksi.




Merkintäsi ja muistiinpanosi pysyvät vain tässä selaimessa, emme lähetä niitä minnekään. Jos olet kirjautunut sisään, tallennamme kohtaan Omat kurssit vain sen, että olet tehnyt tehtävän.

Lue lisää

Hetkinen…

Määritä verkkotunnuksesi

Määritä kullekin verkkotunnukselle nimipalvelimet, liitos webhotelliin ja se, kuka tulee omistajaksi.

Ladataan verkkotunnuksia…