Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Section
bordertrue
Column
width40px

1.

Column
width680px

Ohjelmistokehitykseen käytettävät tietokoneet ja muut päätelaitteet on suojattava

Päätelaitteet, joilla otetaan yhteyksiä ohjelmistokehityksen palvelimiin (kuten versionhallintaan tai tuotantoonvientiautomaatioon) tai joilla tehdään ylläpidollisia toimia, on tuotava organisaation tietotekniikkaylläpidon määrittelemien tietoturvavaatimusten piiriin (vakiointi, päivitykset, haittaohjelmilta suojautuminen, jne.).

Tämä vaatimus ei päde, mikäli päätelaitteella tehdään vain testausta julkisiksi tarkoitettuja käyttöliittymiä tai rajapintoja vasten.



Section
bordertrue
Column
width40px

2.

Column
width680px

Ohjelmistokehitykseen käytettävien palvelinten on oltava lokienhallinnan piirissä

Ohjelmistokehityksessä käytettävät palvelimet, kuten versionhallinta-, integrointi- ja muut palvelimet, on tuotava lokienhallinnan piiriin. Lokienhallinnan vaatimukset sovelletaan kappaleen Auditoitavuuden yleisperiaatteet perusteella.



Section
bordertrue
Column
width40px

3.

Column
width680px

Kehitysympäristöt ja työkalut on suojattava ja niiden saatavuus on taattava

Kehitysympäristöjen ja -työkalujen tietoturvavastuu kuuluu oletusarvoisesti ohjelmistokehittäjille. Vastuu voidaan siirtää erikseen sopimalla tai käyttämällä organisaation toimittamia standardoituja ympäristöjä ja työkaluja. Kehitysympäristöjen ja -työkalujen haavoittuvuuksien seuranta on järjestettävä kuten kappaleessa Tietoturvallisen arkkitehtuurin ja suunnittelun yleisperiaatteet on kuvattu.



Section
bordertrue
Column
width40px

4.

Column
width680px

Kehitys- ja tuotantoinfrastruktuurin käyttöoikeudet on rajoitettava mahdollisuuksien mukaan

Kehitys- ja tuotantoinfrastruktuurissa on vältettävä jaettuja tunnuksia ihmisten käytössä, paitsi jos sitä ei voi teknisesti välttää. Automaation käyttämien tunnusten oikeudet on rajoitettava niihin toimintoihin, jotka automaatio tarvitsee.



Section
bordertrue
Column
width40px

5.

Column
width680px

Ohjelmistokehittäjien käyttöoikeudet on sidottava projektissa työskentelyyn

Ohjelmistokehittäjien oikeudet on poistettava, mikäli he eivät enää työskentele projektissa. Mikäli käytetään jaettua tunnusta, jaetun tunnuksen tunnistustiedot on uusittava aina, kun jokin tunnusta jakanut henkilö ei enää työskentele projektissa.



Section
bordertrue
Column
width40px

6.

Column
width680px

Ihmisten kehitysjärjestelmien käyttäjätunnuksissa on käytettävä kaksivaiheista tunnistusta

Ihmisten käytössä olevilla käyttäjätunnuksilla on oltava käytössä kaksiosainen tunnistus.

Esimerkki: Kaksiosainen tunnistus ei välttämättä ole interaktiivinen. Kaksi vaihetta voivat olla esimerkiksi versionhallintaa kehittäjän koneelta käytettäessä tietokoneen kiintolevyn salausavain ja tällä kiintolevyllä säilytettävä ssh-avain. Interaktiivisen kaksivaiheisen tunnistuksen tulisi mieluiten olla erikseen laskettava aikapohjainen tunniste (TOTP), eikä esimerkiksi tekstiviestitodennus.



Section
bordertrue
Column
width40px

7.

Column
width680px

Salaisuuksien hallinta on järjestettävä

Salaisuudet, esimerkiksi salaus- ja rajapinta-avaimet, on hallittava niin, että ne voidaan tarvittaessa helposti vaihtaa niin testaus- kuin tuotantoympäristöissäkin, ja että pääsy salaisuuksiin on vain nimetyillä henkilöillä. Salaisuudet on vietävä tuotantoon konfiguraationa. Salaisuuksien säilytys osana lähdekoodia on kielletty.



Section
bordertrue
Column
width40px

8.

Column
width680px

Ohjelmistoriippuvuuksien ja koodin versionhallinnan saatavuus on turvattava

Kaikki ohjelmistoriippuvuudet on tunnettava ja tämä koskee myös riippuvuuksien riippuvuuksia. Mikäli järjestelmä on huoltovarmuuskriittinen, ohjelmistoriippuvuuksia (ja näiden riippuvuuksia) on käytettävä Suomessa sijaitsevan kopion välityksellä. Versionhallinnan sekä tuotantoonvientiautomaation on sijaittava kokonaisuudessaan Suomessa.



Section
bordertrue
Column
width40px

9.

Column
width680px

Ohjelmistoriippuvuuksien ja koodin eheys on taattava

Järjestelmän osien on toteutettava sisäinen monitorointirajapinta, tai monitorointi voidaan suorittaa lokeja seuraamalla.

Uusissa monitorointirajapinnoissa tulisi pyrkiä julkaisemaan onnistuneiden pyyntöjen määrä aikayksikköä kohti, epäonnistuneiden pyyntöjen määrä aikayksikössä ja pyynnön käsittelyaika sekunneissa (pienin, isoin, keskimääräinen, mediaani) aikayksikössä (eli nk. RED-tiedot: rate, errors, duration).



Section
bordertrue
Column
width40px

10.

Column
width680px

Ohjelmakoodi katselmoidaan

Ohjelmakoodille tehdään koodikatselmointia (code review tai automaattisena staattista analyysiä, static analysis). Ohjelmistotuotetiimi valitsee heille parhaiten sopivan tavan suorittaa tätä. Suosituksena on nk. pull request -menettelyn käyttö koodikatselmointiin. Erityistä tietoturvakatselmointia tarvittaessa tämä on syytä pyytää ja tiketöidä erikseen.



Section
bordertrue
Column
width40px

11.

Column
width680px

Tuotantoon viedyistä komponenteista tallennetaan kopio forensiikkatarkoituksiin

Luodaan kyky selvittää jälkikäteen, mitä koodia tuotannossa on ollut ajossa. Esimerkiksi kontteja käytettäessä tuotantoon vietävästä kontin kuvasta voidaan tehdä arkistokopio.