Konttiteknologia ja tietoturva - 5 tapaa suojata konttiratkaisusi

Konttiteknologiat ovat nyt nousussa, mutta innostuksen keskellä tietoturva-asiat saattavat jäädä vähemmälle huomiolle. Digian ratkaisuarkkitehti Tero Niemistö esittelee 5 tapaa konttiratkaisujen suojaamiseksi.

shutterstock_158439905.jpg

Docker on - vihdoin - rantautunut Suomeen täydellä rytinällä. Kun 2 vuotta sitten kävimme ensimmäisen kerran esittelemässä asiakkaillemme teknologiaa, yleisin reaktio oli joukko hämmentyneitä ja epäuskoisia katseita. Nyt tilanne on toinen: Docker ja konttiteknologiat ovat kaikkien huulilla. Niiden merkitys ja konkreettiset hyödyt on viimein ymmärretty, mutta samalla vauhtisokeus on saanut monet unohtamaan sellaisen perusasian kuten tietoturva. Tämä johtuu siitä, että nopeita protoja ja proof-of-concept -projekteja viedään tuotantoon sellaisenaan ”koska kontithan ovat suojattuja”. Vaikka sovelluksen ajaminen kontissa on turvallisempaa, se ei vielä takaa, että tietoturvan taso on riittävä. Mitä asioita sitten tulisi huomioida erityisesti konttiteknologiaan pohjautuvissa hankkeissa?

Tiedä mitä konttisi sisältää

Ensimmäisenä tulisi huomioida konttien sisällön turvallisuus. Jokainen ratkaisussa käytettävä kontti tulisi rakentaa itse, jotta varmistutaan siitä, mitä komponentteja kontti pitää sisällään. Liian usein näkee ratkaisuja, jossa haetaan valmis kontti yleisesti saatavilla olevista palveluista, kuten Docker Hub:sta, tarkistamatta sitä, mitä kontti itse asiassa pitää sisällään.

Tarkista konttisi avoimen lähdekoodin komponentit

Toiseksi tulisi analysoida kaikki avoimen lähdekoodin komponentit ja niiden riippuvuudet mieluiten jollain automatisoidulla työkalulla. Tällä tavalla pyrimme varmistamaan seuraavat asiat: ensinnäkin voimme varmistua, että avoimen lähdekoodin ratkaisut noudattavat ratkaisulle annettua lisenssipolitiikkaa. Esimerkiksi GPL-lisenssit ovat monelle asiakkaalle punainen liina, joten automatisoinnilla varmistamme, että ratkaisun komponentit tai niiden useat kymmenet riippuvuudet eivät sisällä tällaisia lisenssejä. Toiseksi haluamme skannata komponentit mahdollisten raportoitujen uhkien ja haavoittuvuuksien varalta, ja täten välttyä käyttämästä mitään sellaista, jossa on havaittu ongelmia tietoturvallisuuteen liittyen.

Kovenna palvelimesi

Kolmas asia, joka tulee huomioida, on Docker-palvelimien "koventaminen". Tämä vaatimus juontaa juurensa EU:n tietosuojalakiin, jonka 2018 päivittyvässä versiossa pakotetaan tietoturvan olemaan osa järjestelmän suunnittelua. Nykypäivänä valitettavasti riittää, että tietoturva on reaktiivista. Suomeksi tämä tarkoittaa sitä, että tietomurron tapahtuessa siihen reagoidaan toimenpiteillä. Vuonna 2018 reaktiivisuus ei enää riitä, vaan tietoturvan pitää olla proaktiivista, eli se pitää huomioida järjestelmien suunnittelussa ja ylläpidossa. Center of Internet Security (CIS) on julkaissut joukon tietoturvatestejä, joilla voidaan verifioida palvelimien tietoturvan minimitaso. Tietoturvan tilannetta kuvaa hyvin se, että jos otamme maailman yleisimmästä pilvipalvelusta Amazonilta tavallisen Linux-palvelimen ja ajamme sitä vastaan mainitut CIS-testit, niistä 40% jää läpäisemättä.

Huolehdi myös konttien orkestroinnin tietoturvasta

Neljänneksi muutama sana konttien jakelusta: konttiteknologiassa puhutaan usein konttien "orkestroinnista". Yksinkertaistettuna tällä tarkoitetaan sitä tapaa, miten kontit siirretään niille tarkoitettuun ajoympäristöön. Jotta orkestrointi saadaan toimimaan, tarvitaan suora yhteys tuotantopalvelimille siltä laitteelta, jolla orkestrointi tehdään. Tämä laite saattaa usein olla kehittäjän oma kehityskone tai pilvipalvelusta hankittu Continuous Integration -palvelin. Tämä "orkestrointiputki" luo täysin uudenlaisen hyökkäysvektorin kohdejärjestelmään. Vaikka kohdejärjestelmä olisi tehokkaasti suojattu, niin on mahdollista, että hyökkääjä saa haltuunsa laitteen, jolta hän pystyy orkestroimaan kohdejärjestelmään kontteja. Hyökkääjä voi tällöin viedä kohdejärjestelmään oman konttinsa, jonka sisältö on mitä ilmeisimmin hyvinkin vihamielinen. Ratkaisuissa tuleekin huomioida todella tarkasti se, mistä ja miten kontteja kohdejärjestelmään viedään sekä varmistaa, että kyseisetkin järjestelmät ovat kovennettuja.

Kahdenna järjestelmäsi erillisiin auditoituihin konesaleihin

Viides kohta voi tuntua hyvin tavanomaiselta vaatimukselta, mutta sitä ei välttämättä huomioida tarpeeksi usein. Konttien ajoympäristö tulisi olla kahdennettu eri konesaleihin. Tämä voi tuoda arkkitehtuurillisia haasteita esimerkiksi tietovarastojen replikoinnin suhteen, mutta ikävämpää on, jos palvelusi on alhaalla tuntikausia kriittiseen aikaan vaikkapa yhden tulipalon takia. Lisäksi konesalit tulisi olla jollain tasolla auditoituja tietoturvan varmistamiseksi. Suomessa korotetun tietoturvatason auditointeja ovat mm. VAHTI- ja KATAKRI-auditoinnit. Auditoinneilla varmistetaan konesalin riittävä fyysinen tietoturva sekä konesalia pyörittävän yrityksen ja sen henkilöstön riittävä osaaminen ja ymmärrys tietoturvasta.

 

Tutustu Digian Docker-tarjoamaan

tietoturva   docker   konttiteknologia




Tero Niemistö | Tiimiesimies, teknologiajohtaja

Tero Niemistö | Tiimiesimies, teknologiajohtaja

Tero on ”managerisoitunut” pitkän linjan arkkitehti. Noin 14 teknisen vuoden jälkeen Tero siirtyi esimiesrooliin tahtonaan johtaa alan huippuasiantuntijoita kuten itseään haluaa johdettavan. ”Esimiehen tärkein tehtävä on mahdollistaa alaistensa onnistuminen”, Tero sanoo. Teron johtamisfilosofiassa esimies ei ole perinteisen hierarkisen mallin mukaisesti joukkojen yläpuolella vaan tukee heidän päivittäistä työtä alhaalta. Hän haluaa olla läsnä ja kiinnostunut alaistensa arjesta sekä tukea heitä sparraamalla ja valmentamalla niin usein kuin mahdollista. Kun Tero laittaa ns. haalarit päälle ja kädet saveen, niin hänet löytää usein julistamassa DevOps-kulttuurin ilosanomaa ja rakentamassa sovelluskehityshankkeisiin täysin automatisoitua jatkuvan julkaisun putkea.

Kirjoittajan kaikki blogitekstit

Tilaa blogikirjoitukset sähköpostiisi




Seuraa meitä somessa

LinkedIn Twitter Facebook YouTube