Fuugin säätiön myöntämän apurahan turvin kehitetty asiakasohjelma acme-dns -sovellukselle on nyt julkaistu MIT-lisenssin alla ja se on saatavilla GitHubista osoitteessa: https://github.com/acme-dns/acme-dns-client.
Ongelmakuvaus ja käytettyjä teknologioita käytiin läpi tämän projektin esittelyssä, joka on luettavissa täällä: https://fuug.fi/2020/fuugin-saatio-edistaa-webin-tietoturvaa-acme-dns-asiakasohjelman-toteutus/
acme-dns-client
Nyt julkaistu asiakasohjelma pyrkii ratkaisemaan haasteita palvelun käyttöönotossa ja opastamaan käyttäjiä tietoturvaa parantavien lisäominaisuuksien käyttöönotossa.
Ohjelma opastaa käyttäjän läpi esikonfiguraatiovaihdeiden, ja tarkastaa käyttäjän tekemät muutokset DNS-tietueisiin varmistaen niiden olevan ajantasaisia. Tyypilliset ongelmatapaukset liittyvät juuri näiden tietueiden virheellisiin asetuksiin. Käyttäjälle myös ehdotetaan CAA-tietueen käyttöä ja ratkaisu pyrkii etsimään järjestelmästä tarvittavat tiedot kyseisen tietueen oikeaoppiseen muodostamiseen.
CAA-tietue
Verkkotunnuksen haltijalla on mahdollisuus rajoittaa x.509 – sertifikaattien allekirjoituksia omalle verkkotunnukselleen hallinnoimalla CAA-nimipalvelintietuetta. Tällä tietueella voidaan sertifikaattien myöntäminen rajata tiettyyn CA:han (esim. Let’s Encrypt), tiettyyn validaatiometodiin (esim. DNS) ja ennaltamääritettyyn ACME-käyttäjätiliin.
Rajoittamalla myöntämisen vain tietylle käyttäjätilille on mahdollista turvallisesti delegoida varsinainen tekninen validaatio kolmannen osapuolen palvelulle koska käyttäjätili on vain verkkotunnuksen omistajan käytettävissä. Tämä on merkityksellistä, koska se mahdollistaa tulevaisuudessa julkisen acme-dns -palvelun käytön ilman huolta julkisen palvelun ylläpitäjälle täten delegoidusta vallasta allekirjoituttaa sertifikaatteja omistajan verkkotunnukselle.
Ikävä kyllä vielä työkalun julkaisun ajankohtana Let’s Encrypt ei ole ottanut näitä CAA-tietueen laajennusominaisuuksia käyttöön tuotantoympäristössään. Let’s Encryptin staging- eli testiympäristössä tätä konfiguraatiota pääsee kuitenkin jo koeponnistamaan.
Ominaisuus on kuitenkin otettu huomioon acme-dns-clientin kehityksessä, ja kun se saadaan tuotantokäyttöön Let’s Encryptin toimesta, saadaan tätä tukevat funktionaalisuudet otettua helposti käyttöön. Käytännössä tämä tarkoittaa sitä, että julkista acme-dns -instanssia (auth.acme-dns.io) käytettäessä tällä hetkellä käyttäjälle näytetään varoitusteksti. Varoitusteksti kertoo julkisen palvelun käytön riskeistä ja varmistetaan mainittujen riskien olevan käyttäjän tiedossa. Kun tulevaisuudessa CAA – laajennusominaisuudet tulevat käyttöön, voidaan varoittamisen sijaan etukäteen tarkistaa että nämä ominaisuudet on konfiguroitu käyttäjän verkkotunnukselle jolloin julkisen palvelun käyttö on turvallista.