Avain, joka todistaa yhdyskäytäväsi olevan se itse, ja tunnistetieto, joka kertoo, että henkilö saa liittyä, ovat molemmat salaisuuksia, ja siihen yhtäläisyys päättyy. Toinen yksilöi palvelun jokaiselle asiakkaalle; toinen yksilöi yhden käyttäjän sille palvelulle. Niiden sekoittaminen säästää yhden vaiheen asennuksessa ja maksaa yhden iltapäivän häiriön aikana, koska kummankin palauttaminen ei ole sama toimenpide. Erottelu on tylsä asentaa ja mieleenpainuva ohittaa.

Kaksi salaisuutta, kaksi eri omistajaa

Yhdyskäytävä pitää yksityistä avainta tai varmennetta, jonka ainoa tehtävä on todistaa sen identiteetti kättelyn aikana. Asiakkaat tarvitsevat vastaavan julkisen materiaalin sen vahvistamiseen, eivätkä he koskaan tarvitse yksityistä puoliskoa. Juuri tämä epäsymmetria tekee palvelimen tunnistuksesta mahdollisen antamatta jokaiselle käyttäjälle kykyä esiintyä palvelimena.

Käyttäjän materiaali kulkee toiseen suuntaan. Asiakkaan yksityinen avain, asiakasvarmenne tai salasana osoittaa, että juuri tälle henkilölle tai laitteelle on myönnetty pääsy. Sen odotetaan jaettavan, kopioitavan laitteiden välillä ja lopulta peruutettavan.

WireGuard tekee erottelusta ilmeisen, koska jokaisella osallistujalla on avainpari: palvelimen yksityinen avain jää palvelimelle, ja käyttäjälle annettava asetustiedosto sisältää hänen oman yksityisen avaimensa sekä palvelimen julkisen avaimen. Profiili, joka sisältää palvelimen yksityisen avaimen, ei ole oikotie, vaan tietomurto, joka odottaa tiedostonjakoa.

Kolme kysymystä, jotka ratkaisevat erottelun

Kysy, kenen on voitava lukea salaisuus, mitä paljastuminen mahdollistaisi hyökkääjälle ja onko korjaus yksi peruutus vai palvelun uudelleenrakennus.

Jos käyttäjä voi lukea sen ja se todistaa yhdyskäytävän identiteetin, toisen kysymyksen vastaus on, että hyökkääjä voi esiintyä palvelimenasi jokaiselle asiakkaalle — huonoin lopputulos, koska asiakkaat on suunniteltu luottamaan siihen identiteettiin. Jos se todistaa vain yhden käyttäjän, paljastuminen antaa kyseisen käyttäjän pääsyn yhteen vertaiseen, ja peruutus on rutiinitoimenpide. Jos se on varmenneviranomaisen avain, paljastuminen on pahempaa kuin kumpikaan, koska hyökkääjä voi luoda identiteettejä, joihin jokainen päätepiste luottaa.

Nämä kolme vastausta tuottavat tallennussäännön: CA-avain asuu offline-tilassa tai holvissa, yhdyskäytävän avain asuu yhdyskäytävällä ja käyttäjän avaimet asuvat käyttäjien luona. Mikä tahansa järjestely, joka laittaa kaikki kolme samaan hakemistoon mukavuuden vuoksi, on muuttanut päätöksen onnettomuudeksi.

Mitä asiakas todella tarvitsee

Asiakas tarvitsee julkisen varmenteen tai julkisen vertaisavaimen, CA-materiaalin tai sormenjäljen, johon sen tulee luottaa, oman yksityisen avaimensa ja päätepisteen tiedot. Tässä luettelossa ei ole mitään, mikä kuuluisi yhdyskäytävän yksityiseen identiteettiin.

Dokumentaatio on se, missä tämä vuotaa. Opas, joka käskee kopioida palvelimen hakemiston ja poistaa se, mitä et tarvitse, on jo opettanut väärän mallin, koska poistovaiheen jälkeen jäljelle jäävää tiedostoa harvoin kukaan tarkistaa.

Peruuta yksi käyttäjä koskematta yhdyskäytävään

Koska käyttäjäidentiteetit myönnetään erikseen, ne voidaan vetää takaisin erikseen. Varmennepohjainen käyttöönotto peruuttaa asiakasvarmenteen ja julkaisee päivitetyn peruutusluettelon; WireGuard-käyttöönotto poistaa vertaisen merkinnän palvelimen asetuksista. Kumpikaan näistä toimenpiteistä ei muuta yhdyskäytävän omaa avainta.

Säilytä myöntämisrekisteri, muuten et tiedä, minkä identiteetin vetäisit takaisin. Laskentataulukko riittää, kunhan se nimeää henkilön, laitteen, sarjanumeron tai julkisen avaimen ja päivämäärän, ja kunhan joku pitää sitä yllä sen jälkeen, kun sen rakentanut henkilö lähtee.

Alla olevat komennot tarkastavat asiakasvarmenteen ja peruuttavat sen sitten OpenSSL-tyylisen viranomaisen kautta, mikä on se kulku, jonka easy-rsa käärii:

openssl x509 -in client.crt -noout -subject -serial
openssl ca -config openssl.cnf -revoke client.crt
openssl ca -config openssl.cnf -gencrl -out crl.pem

Julkaise uusi luettelo siellä, missä asiakkaat tarkistavat sen, muuten peruutus on muistiinpano tiedostossa, joka ei muuta mitään. Jos yhdyskäytäväsi hyväksyy asiakasvarmenteet katsomatta peruutusluetteloa, sano se suoraan sen sijaan, että vihjaisit peruutuksen toimivan.

Pidä varmuuskopiot yhtä erillään kuin salaisuudet

Uudelleenrakennusarkisto sisältää laillisesti yhdyskäytävän avaimen ja CA-materiaalin, koska ilman niitä palautus ei voi toistaa palvelua. Asiakkaan asennuspaketti ei saa, eikä kahta saa tallentaa yhdessä. Merkitse jokainen arkisto sen mukaan, kuka saa pitää sitä, ei sen mukaan, milloin se tehtiin. Juuri sitä merkintää väsynyt ylläpitäjä lukee kahdelta yöllä.

Tämä ero määrittää myös, kuka saa hakea kunkin. Yhdyskäytävän hallinta, käyttäjäidentiteettien myöntäminen ja varmuuskopioiden lukeminen ovat kolme eri valtuutta, eikä yhtä tarvitseva tarvitse automaattisesti muita. Kirjoita ne käyttöoikeudet muistiin ja tarkista ne sitten sitä vasten, mihin tallennuksesi todella antaa luvan, koska hakemistojen periytyminen antaa hiljaa enemmän kuin käytäntö tarkoittaa.

Aiheeseen liittyvät artikkelit