Pikkusovelluksen Zero Trust

Sovelluksen uudistaminen nostaa Zero Trust mahdollisuuksia pintaan.

Useimmiten koodauksessa on yksi onnistunut tapaus, ja lukuisia erilaisia virhemahdollisuuksia. Laadukas ja turvallinen koodaus tarkoittaa sitä, että varaudutaan kaikkeen mahdolliseen — ja mahdottomaan.

Tulee mieleen verrata vilkun käyttöön autoillessa. Jos luulet, että olet yksin liikkeellä, on kuitenkin parasta laittaa se vilkku päälle ennen kuin aikoo kääntyä. Sitä on niin kiitollinen, kun se auto toisella kaistalla, jota siinä ei pitänyt olla, kuolleessa kulmassa, sitten vähän jarruttaa ja säästytään peltikolarilta, tai kuolemalta. Vakuutusyhtiöiden korvaushakemuksissa on lukuisia tapauksia, joissa auto peruuttaa pihalla puuhun, joka ”ei ollut siinä.”

Zero trust on pinnalla. Mitä se yhden PHP sovelluksen kannalta voisi merkitä? Suurin merkityshän tuolla puheenaiheella on isomman korporaation sisäverkon kannalta, jossa on saatettu ajatella, että siellähän puuhastellaan turvassa.

Kun sovellusta sitten uudistetaan, niin uudistettaessa asiat muuttuvat. Kun tämän tajuaa, niin sillä on se merkitys, että rajapinta, jonka toisella puolella luulit olevan samassa serverissä pyörivä tietokanta, voikin pienen refaktoroinnin jälkeen olla pilveen hajautettu palvelu. Kun modulaarisuutta edistetään, niin ne modulit voivat myös olla eri paikoissa, ja rajapintoja aukenee ja pitää varmistaa, ja hyökkäysrajapinta ei olekaan siellä kaukana.

Tämä on hyvä pitää mielessä sovelluksia modernisoitaessa. Modulaarisuus on tässä mielessä toisessa vaakakupissa turvallisuuden kannalta. Kun teet sitä hyvää refaktorointia, niin jokainen hyvin määritelty ja siisti rajapinta jakaa sovellusta osiin, ja samalla aukenee mahdollisuus uudistaa ja siirtää yksi niistä osista aivan uuteen paikkaan ja teknologiaan. Virhekäsittelyn ja tarkistusten lisääminen noihin rajapintafunktioihin on pienehkö vaiva tässä vaiheessa, ja on syytä tehdä turvallisuudenkin nimissä.