VPN-asiakkaan lisääminen ilman CA:n uudelleenrakennusta
Yksi laite lisää on rekisteröinti, ei uusi asennus. Päätä myöntäjän tilan, avaimen säilytyksen ja palvelimen identiteetin perusteella.
Tarvitset vielä yhden varmenteen vielä yhdelle kannettavalle, mutta hakutulosten ensimmäinen opas alkaa komennolla, joka pyyhkii PKI-hakemiston. Se komento kuuluu ensiasennukseen, ei rekisteröintiin, ja sen ajaminen maksaa sinulle CA:n, myöntöhistorian ja jokaisen asiakasprofiilin, joka luotti vanhaan myöntäjään. Päätös on kapeampi: onko myöntäjälläsi vielä käyttökelpoinen tila, ja sopiiko uusi laite rekisteröintikäytäntöösi? Kolme ehtoa ratkaisee, ja vain yksi oikeuttaa uudelleenrakennuksen.
Mitä uudelleenrakennus todella tuhoaa
PKI:n uudelleenalustus korvaa hakemiston tyhjällä rakenteella: uusi CA-avain ja varmenne, tyhjä myöntötietokanta, uusi sarjanumerolaskuri. Asiakkaat eivät seuraa hiljaa; niiden profiilit kiinnittävät vanhan CA:n, joten jokainen laite on rekisteröitävä uudelleen ja tavoittamattomat käsin.
Hiljaisempi menetys on kirjanpito. Mitätöinti edellyttää, että tiedät mitkä sarjanumerot myönsit ja kenelle. Tyhjennä hakemisto, ja voit yhä allekirjoittaa, mutta et enää varmasti sanoa, mitkä avoimista varmenteista halusit mitätöidä. CA-hakemisto ilman vastaavaa myöntäjätilaa on varmuuskopio, joka palauttaa järjestelmän väärän puoliskon.
CA:n yksityisavaimen kopioiminen käynnissä olevan palvelimen viereen on toinen ohitustie, josta kannattaa kieltäytyä: se tekee allekirjoitusvallasta, jonka pitäisi olla verkon ulkopuolella, vielä yhden tiedoston isännälle, joka käsittelee epäluotettavaa liikennettä.
Ensimmäinen ehto: onko myöntäjän tila yhä tavoitettavissa?
Etsi hakemisto, johon palvelin todella luottaa, ennen päätöstä. Vertaa varmenteita, jotka palvelin esittää CA:na, PKI-hakemiston varmenteeseen sormenjäljellä, ei tiedostonimellä:
openssl x509 -in ca.crt -noout -fingerprint -sha256
openssl x509 -in /etc/openvpn/ca.crt -noout -fingerprint -sha256Jos sormenjäljet täsmäävät, rekisteröinti on inkrementaalinen eikä mitään rakenneta uudelleen. Jos ne eroavat, allekirjoitat CA:lla, johon palvelin ei luota: varmenne asentuu siististi ja epäonnistuu kättelyssä, ja tuo virhe diagnosoidaan tunneiksi asiakasvirheeksi.
Etsi sitten myöntötila: hakemistotiedosto, sarjalaskuri ja CRL-numeron tiedosto. Jos hakemisto on poissa mutta avain säilyy, voit myöntää, mutta perit mitätöintien kirjaamisen ongelman. Kirjaa se muutoslokiin, sillä seuraava mitätöintipyyntö paljastaa sen.
Toinen ehto: kuka pitää uutta yksityisavainta?
Tämän päätöksen käyttäjät tuntevat, joten tee se eksplisiittisesti. Asiakkaalla luotu ja pyyntönä toimitettu avain pitää yksityisen osan laitteessa ensimmäisestä komennosta, eikä ylläpitäjä koske siihen. Palvelimella luotu avain on helpompi laitteille ilman työkaluja, mutta tekee ylläpitäjästä jokaisen avaimen vartijan ja laajentaa palvelimen kompromission vaikutusta.
Easy-RSA 3:lla olemassa olevaa CA:ta vastaan pyynnön tuonti ja allekirjoitus ovat kaksi komentoa:
./easyrsa import-req /tmp/alice.req alice
./easyrsa sign-req client aliceValitse varmenteen tyyppi tietoisesti. Asiakkaan sijaan palvelinvarmenteeksi allekirjoitettu pyyntö tuottaa tiedoston, joka näyttää hyvältä ja jonka vastapuoli hylkää, eikä virheilmoitus kerro miksi. Kun allekirjoitat openssl ca:lla, sama valinta on välittämissäsi laajennuksissa, ei oletusosassa.
Kolmas ehto: tarvitseeko palvelin enemmän kuin varmenteen?
Tavalliselle varmenteella todennettavalle OpenVPN-palvelimelle varmenne on itse rekisteröinti: yleisnimestä tulee asiakkaan identiteetti, ja jokainen asiakashakemisto, työnnetty reitti tai staattinen osoite riippuu siitä nimestä. Lisää varmenne ja unohda kokoonpano, niin tunneli yhdistyy mutta tarvittavat reitit eivät ilmesty.
Alustat muuttavat tätä. OpenVPN Access Serverillä on oma käyttäjätietokantansa, joten allekirjoitettu varmenne ei ole tili; tilin on oltava olemassa ja sallittu. Muut yhdyskäytävät liittävät identiteettimerkkijonon ryhmään. Yhden laitteen rekisteröinti koskee yleensä kahta järjestelmää, ja varmenne on vasta ensimmäinen.
Inkrementaalinen menettely ja milloin uudelleenrakennus on oikein
Järjestys, joka lisää laitteen ilman vahinkoja: vahvista myöntäjä sormenjäljellä, ota tuore varmuuskopio PKI-hakemistosta, tuo ja allekirjoita pyyntö asiakasroolille, toimita varmenne ketjuineen hyväksyttyä kanavaa pitkin ja vahvista ennen kuin käyttäjä yhdistää:
openssl verify -CAfile ca.crt alice.crt
openssl x509 -in alice.crt -noout -subject -issuer -dates -purposeKäyttötarkoitusrivin pitäisi näyttää SSL client. Lopeta päivittämällä CA:n varmuuskopio myönnön jälkeen, sillä ennen uutta sarjanumeroa otettu kopio palauttaa tilan ilman juuri lisättyä laitetta.
Uudelleenrakennus on oikein kolmessa tapauksessa: CA:n avain on kompromettoitunut, myöntötila on peruuttamattomasti menetetty tai muutat tietoisesti avainalgoritmia tai varmennekäytäntöä. Kaikki kolme ovat projekteja, joissa on uudelleenrekisteröintisuunnitelma jokaiselle asiakkaalle, eivät vaiheita yhden laitteen pyynnössä. Jos mikään ei täyty, rekisteröi inkrementaalisesti.