DevSecOps: lisää mystisiä kirjainlyhenteitä. Rakettitiedettä? Ei laisinkaan, mutta silti monimutkaista. Voidaanko tähän panostaa liikaa? Ei varmastikaan.
Mitä ”Sec” tarkoittaa tässä yhteydessä? Se on lisäys DevOps-toimintamalliin, jossa tietoturvasuunnittelu ja -käytännöt tuodaan osaksi kehitystyötä heti projektin alusta asti. Näin varmistetaan, että tietoturvaan liittyvä testaus on jatkuvaa ja aiheeseen liittyvää tietoisuutta parannetaan koko projektin elinkaaren ajan. Tämä koskee laaja-alaisesti henkilöstöä, prosesseja, käytännön toimenpiteitä ja työkaluja.
Jatkuva tietoturvatestaus
DevSecOps tuo teknisiä ja täysin automatisoitavissa olevia tietoturvatarkastuksia CI/CD-julkaisuputkiin. Esimerkkejä näistä ovat mm.:
- Mikropalveluiden käyttämien alustakonttien haavoittuvuusskannaus
- Kolmannen osapuolen ohjelmakirjastojen haavoittuvuusskannaus
- OWASP-tarkastukset
- Staattinen koodianalyysi
- Valmisohjelmien automaattiset tietoturvapäivitykset
- Porttiskannaukset
- Virusskannaukset
Jatkuvassa kehitystyössä on tärkeää huomioida ja dokumentoida tietoturvahavainnot, priorisoida ne ja varata aikaa löytyneiden havaintojen nopeaan korjaamiseen.
Sovellusympäristöt ja niiden valvonta
Pilvipalveluiden tarjoajilla on monenlaisia haavoittuvuuksiin ja poikkeavuuksiin liittyviä valvontatyökaluja. Näitä kannattaa hyödyntää ja mahdollisuuksien mukaan automatisoida löydökset jatkokäsittelyyn. Muutamia esimerkkejä näistä:
- Sovelluspalomuuri (WAF)
- DDoS-hyökkäyksiin liittyvät suojaukset
- Audit Trails, lokitukset ja monitorointi
Muita sovellusympäristöihin liittyviä tietoturvatoimenpiteitä ovat esimerkiksi:
- Sensitiivisen datan salaus
- Roolipohjaisten luvitusten käyttö
- Salaisuuksien ja sertifikaattien keskitetty hallintatyökalu (Vault)
- Sovellusrajapintojen salaus (HTTPS, SSH)
Prosessit ja toimintamallit
Hyvätkään prosessi- ja toimintamallit eivät auta, jos niitä ei ole kommunikoitu projektille riittävän hyvin. Tärkeää on kommunikoida ja perehdyttää kaikki projektiin osallistuvat tietoturvaan liittyviin asioihin.
Prosesseihin ja toimintamalleihin liittyviä toimenpiteitä:
- Projektissa tehdään jatkuvaa uhkamallinnusta. Uhkamallinnukseen kutsutaan laaja-alaisesti eri rooleissa olevia henkilöitä.
- Käyttäjähallinta on keskitetty ja kontrolloitu. Oikeuksien hallintamallin perusteena on ”least priviledge”.
- Tietoturvavaatimukset ovat selkeästi kuvattuina ja niille löytyy vastuullinen omistaja.
- Tietoturvavaatimukset huomioidaan toteutusvaiheessa.
- Tietoturvaan liittyvä suunnittelu ja mallinnus on lähtökohtaisesti kiinteä osa koodikatselmointeja.
- Projekteissa on selkeä ja ymmärretty konfiguraationhallintamalli.
- Tekemisessä huomioidaan ja dokumentoidaan eri ympäristöjen tietosuojavaatimukset (esim. GDPR).
- Sensitiivisen datan käsittelyyn on luotu toimintamalli.
Ulkopuolinen tietoturvatestaus
Yllä mainitut asiat ovat vain pintaraapaisua. Vaikka perusasiat päivittäisessä tekemisessä olisivat kunnossa, on vahvasti suositeltavaa testauttaa kokonaisuus riippumattomalla tietoturvatestaukseen erikoistuneella yrityksellä. Projektissa kannattaa huomioida, että tietoturvatestaukseen ja löydösten korjaamiseen varataan riittävästi aikaa ennen tuotannon aloitusta.