Terraformin suurimmat tietoturvariskit liittyvät siihen, että tuotantoonvientiautomaatiolla on osin erittäin laajat oikeudet tehdä tarvittavia toimintaympäristöön (infrastructure) liittyviä muutoksia. Toteutettaessa infrastruktuuri koodina -periaatetta (Infrastructure-as-a-Code), toimintaympäristö on yhtä tietoturvallinen kuin tuotantoonviennissä käytettävä prosessi. Tuotantoonviennin prosessi tuleekin määritellä siten, että jopa toimintaympäristöön kohdistuvat muutokset testaan testiympäristössä ennen julkaisua. Ideaalitilanteessa eri ympäristöt eroavat toisistaan vain muuttujien arvojen osalta. Mitä useampi ympäristö vastaa toisiaan arkkitehtuuri- ja resurssitasoiltaan sitä paremmin toimintaympäristöön liittyvät muutokset pystytään testaamaan.

Terraform tallentaa toimintaympäristön vallitsevan tilan tilatiedostoon (state file). Terraform tukee tilatiedoston tallentamista jaettuun paikkaan, esimerkiksi AWS:n S3-ämpäriin. Jotta tilatiedostojen eheys voidaan taata, pitää niiden pääsynhallinnasta varmistua, jotta niiden oikeudeton muuttaminen ei ole mahdollista. Kun RDS-tietokantainstanssi luodaan Terraformia käyttämällä, Terraform tallentaa tietokannan master-salasanan tilatiedostoon. Tämän vuoksi tilatiedostojen pitää olla salassa pidettäviä.

Terraformissa on riippuvuuksien lukitustiedostot -toiminnallisuus (dependency lock file), joka lukitsee käytettävien moduulien versiot ja tarkastaa niiden tarkistussummat (checksum). Tiimien tulee lisätä lukitustiedostot versionhallintaan, vastaavasti kuten npm. Lähtökohtaisesti Terraformista suositellaan käytettäväksi uusimpia julkaistuja versioita.




Lähde: