Hyppää sisältöön

Docs CSC now features an automatic Finnish translation. Click here for more information.

Warning!

Puhti and Mahti will be decommissioned after Roihu becomes available. Users should clean up unnecessary files and move any required data by the end of August 2026. See the Roihu data preparation instructions for details.

Puhti scratch is very full: keep only active data there and move or delete everything else. No new Puhti scratch quota will be granted.

Tietoturvaopas

Rahti-sovellukset ovat alttiina internetille, ja niiden tietoturvaan tulee suhtautua asianmukaisella huolellisuudella. Käyttäjä, jonka tunnuksella palvelu toimii Rahdissa, on vastuussa sen tietoturvasta. Katso lisätietoja vastuista käyttöehdoista.

Tätä opasta tulee pitää lähtötasona, joka on otettava huomioon, eikä täydellisen tietoturvan tarkistuslistana.

Rahdissa toimivien palveluiden tietoturvaa parantavat toimenpiteet voidaan karkeasti jakaa kahteen luokkaan.

Klusterin ehdot

Oletuksena klusterissamme käytetään oletustietoturvakäytäntöjä:

  • Root-käyttö estetty: Tämä tarkoittaa, että et voi ajaa konttia root-oikeuksilla. Se epäonnistuu.

  • Satunnainen UID/GID: Kun podisi otetaan käyttöön klusterissamme, sille luodaan satunnainen UID. Et voi määrittää UID/GID:tä tämän alueen ulkopuolelta (esimerkiksi 1001), sillä se vaatii erityisoikeuksia. Yleensä numero on esimerkiksi 1000620000.

  • Restricted-v2-käytäntö: OpenShift 4.11:stä alkaen uudet SCC-käytännöt on otettu käyttöön Pod Security Standards-standardin mukaisesti.

  • Mitä eroa on v1- ja v2-SCC (Security Context Constraints) -käytännöillä?

    • V2 ei salli asetusta allowPrivilegeEscalation=true
      • Tyhjä tai false on yhteensopiva v1-SCC:n kanssa ja toimii siksi OCP-versioissa < 4.11
    • V2 edellyttää, että poistettavat capabilityt jätetään tyhjiksi, asetetaan arvoon ALL tai lisätään vain NET_BIND_SERVICE
      • Kun SCC hyväksytään v2:na, se poistaa aina ALL. V1 poisti vain capabilityt KILL, MKNOD, SETUID ja SETGID.
      • V2 sallii edelleen capabilityn NET_BIND_SERVICE nimenomaisen lisäämisen
    • V2 edellyttää, että joko jätät SeccompProfile-asetuksen tyhjäksi tai asetat sen arvoon runtime/default
      • Tyhjä on yhteensopiva v1:n kanssa ja toimii OCP-versioissa < 4.11
  • Podien oletusresurssirajat

Reittien suojaaminen

Ota käyttöön reittien TLS-salaus. Reititin tukee moderneja ja turvallisia TLS-versioita, TLS v1.3:a ja TLS v1.2:ta. TLS v1.3 on tällä hetkellä uusin versio. TLS v1.1:tä ja sitä vanhempia versioita ei enää pidetä turvallisina. Jos palvelusi DNS-nimi on aliverkkotunnuksen *.2.rahtiapp.fi alla (esim. coolservice.2.rahtiapp.fi), Rahdin tarjoamaa oletusarvoista wildcard-TLS-varmennetta voidaan käyttää suoraan. Muussa tapauksessa sinun täytyy lisätä varmenteesi tiedot route-objektiin.

Pääsy palveluihin tulisi rajoittaa valittuihin verkkoihin sallittujen listojen avulla aina kun se on sovellettavissa (katso luku Reitit). Tämä on olennaista silloin, kun pääsyä voidaan rajoittaa IP-osoitteiden perusteella.

Suojatut reitit estävät salakuunteluhyökkäyksiä, jotka kohdistuvat esimerkiksi palvelun salasanoihin ja käyttäjätunnuksiin sekä muuhun internetin yli lähetettävään kriittiseen dataan.

On suositeltavaa aktivoida HSTS-otsake, ja sen voi aktivoida suorittamalla tämän komennon:

$ oc annotate route test-route haproxy.router.openshift.io/hsts_header='true'

HTTP Strict-Transport-Security -vastausotsake (eli lyhyesti HSTS) kertoo selaimelle, että tämän routen kohdalla tulee aina käyttää HTTPS:ää eikä koskaan HTTP:tä.

Nopeusrajoitus

On myös mahdollista käyttää annotaatioita suojaamaan sovelluksesi DDoS-hyökkäyksiltä

Konttikuvien tietoturva

Vanhentuneet konttikuvat ovat alttiita tietoturvahaavoittuvuuksien hyväksikäytölle, ja tuntemattomat kuvat voivat sisältää haitallista koodia. Näistä syistä tiettyä konttikuvaa tulisi käyttää vain, jos:

  1. Se on peräisin tunnetusta ja luotetusta lähteestä, jolloin tunnetut tietoturva- haavoittuvuudet on paikattu ja voit luottaa siihen, ettei se sisällä haitallista koodia.
  2. Olet tarkistanut sen Dockerfile-rakennusmäärityksen ja peruskerros täyttää säännön #1 tai #2.

Muita huomioitavia asioita:

  • Käytä kuratoituja kuvia.
  • Suosi kuvia, jotka saavat säännöllisesti tietoturvapäivityksiä.
  • Käytä staattisia konttikuvien analysointityökaluja, jos niitä on saatavilla. Tukea varten ota yhteyttä paikalliseen IT-tukeen.
  • Mitä pienempi kuva, sitä vähemmän siinä on hyökkäyspinta-alaa:
  • Hyödynnä kuvissasi builder-mallia, jos käytät käännettyjä ohjelmointikieliä: Rakenna binaari eri kuvassa kuin siinä, jossa sovellus otetaan käyttöön. Dockerissa tämä voidaan toteuttaa multi-stage buildien avulla, ja OpenShiftissä muiden kuvien hakemistoja voidaan liittää rakennusprosessin aikana ketjutetuilla buildeilla. Näin lopullisessa kuvassa on mukana vain ohjelmiston olennaiset osat.
  • Jos sovellus on kirjoitettu tulkattavalla kielellä, käytä kieleen perustuvia kuvia. Sen sijaan, että asentaisit Node.js:n Alpine-kuvan päälle, käytä esimerkiksi node:21-alpine.

IP-osoitteet palomuurin avauksia varten

Kaiken ulospäin suuntautuvan asiakasliikenteen IP-osoite on 86.50.229.150. Avaamalla palomuurin tälle IP-osoitteelle sallit kaiken liikenteen, joka tulee mistä tahansa Rahti-projektista. On suositeltavaa, ettei tietoturva perustu pelkästään IP-suodatukseen, vaan että tätä käytetään toissijaisena toimenpiteenä, kuten esimerkiksi OAuth-todennusjärjestelmän rinnalla.

Tätä IP-osoitetta ei ole tarkoitus muuttaa, mutta emme voi antaa 100 %:n varmuutta siitä, ettei jokin ennalta arvaamaton tapahtuma koskaan pakottaisi meitä muuttamaan sitä. Jos tämä IP-osoite joskus muuttuu, siitä tiedotetaan asianmukaisesti etukäteen.

Valituille nimiavaruuksille, jotka sitä tarvitsevat, on mahdollista määrittää oma erillinen IP-osoite. Jokainen pyyntö arvioidaan erikseen, koska käytettävissä on rajallinen määrä virtuaalisia IP-osoitteita. Lisätietoja saat tekemällä tukipyynnön osoitteeseen servicedesk@csc.fi.

Suomenkielinen tekoälykäännös

Sisällössä voi esiintyä virheellistä tietoa tekoälykäännöksestä johtuen.

Klikkaa tästä antaaksesi palautetta