Voiko staattisella avaimella toimiva OpenVPN-yhteys palvella useita asiakkaita?
Staattisen avaimen tila yhdistää kaksi vertaista. client-to-clientin lisääminen ei tee siitä usean asiakkaan palvelinta; siihen tarvitaan TLS-tila ja jokaisen laitteen identiteetti.
Staattisen avaimen tila yhdistää täsmälleen kaksi vertaista, ja se on sen rakenne, ei rajoitus jonka joku unohti poistaa. client-to-client on palvelintilan edelleenlähetysvaihtoehto, joten sen lisääminen --secret kokoonpanoon ei muuta mitään siinä, kuinka moni asiakas voi yhdistää. Ratkaisu ei ole se, mikä lippu lisätään, vaan se, tarvitseeko käyttöönotto pisteestä pisteeseen -yhteyden vai usean asiakkaan palvelun. Jos usean laitteen on yhdistettävä itsenäisesti, suojaus tila muuttuu ja jokainen laite saa identiteetin.
Kaksi vertaista, yksi avain eikä lainkaan asiakaskohtaista tilaa: tämä muoto on koko tilan tarina.
Mihin staattisen avaimen tila on tarkoitettu
Salatussa tilassa molemmat vertaiset jakavat yhden avaintiedoston, ja tämä avain suojaa liikennettä suoraan. Ei ole kättelyä, ei varmennevaihtoa eikä asiakaskohtaista istuntoa, koska palvelimen merkityksessä asiakkaita ei ole, vain kaksi päätepistettä.
Tila on edelleen hyödyllinen kiinteälle koneparille, jolla on dokumentoitu avaimen kierrätysprosessi, ja OpenVPN 2.6 merkitsee sen vanhentuneeksi juuri siksi, että TLS-tila kattaa nämä tapaukset paremmilla ominaisuuksilla. Se mitä tila ei voi, on erottaa yhtä yhdistävää laitetta toisesta, koska tiedoston hallussapito on koko todennuksen tarina. Kolmannen laitteen lisääminen tarkoittaa saman avaimen jakamista sen kanssa, minkä jälkeen kaksi ensimmäistä ei enää erota sitä itsestään.
Siksi kahden vertaisen raja on rakenteellinen eikä muutettava asetus.
Miksi client-to-client ei ole puuttuva pala
client-to-client ohjaa, saavatko yhdistetyt asiakkaat vaihtaa liikennettä palvelimen kautta. Se ei ota asiakkaita vastaan, anna identiteettejä eikä luo palvelintilaa, jota ei määritetty, ja staattisen avaimen kokoonpanossa ei ole asiakasluetteloa, jota se hallitsi.
Toinen yleinen sekaannus koskee tls-crypt tai tls-auth materiaalia. TLS-palvelin voi jakaa yhden näistä avaimista kaikkien asiakkaiden kesken, koska se suojaa ohjauskanavaa sen sijaan, että todistaisi, kuka kukin asiakas on. Jaettu ohjauskanavan avain TLS-tilassa on eri objekti kuin jaettu staattinen data-avain, vaikka molemmat saapuvat samannäköisinä tiedostoina.
Tilojen välinen valinta palautuu kahteen kysymykseen. Onko useamman kuin yhden laitteen yhdistettävä itsenäisesti, ja tarvitseeko käyttöönotto laitekohtaista peruutusta? Ei molempiin pitää staattisen avaimen tilan käyttökelpoisena; kyllä kumpaan tahansa viittaa TLS:ään. Ei ole kolmatta vaihtoehtoa, jossa toinen asiakas hyväksytään ilman omaa identiteettiään.
Usean asiakkaan palvelimen rakentaminen
Usean asiakkaan palvelin tarvitsee TLS-tilan, palvelinpuolen varmenteen ja identiteetin jokaista asiakasta kohti. Palvelinapuohjelma pystyttää osoitealtaan ja moniasiakastilan, mutta se ei toimita TLS-kokoonpanoa, luottamusankkuria tai asiakasvarmenteita, jotka tekevät hyväksymisestä merkityksellistä.
Rekisteröi jokainen laite olemassa olevan varmentajan kautta sen sijaan, että kopioisit yhden asiakkaan tunnistetiedot. Juuri erilliset identiteetit tekevät mahdollisiksi peruutuksen, asiakaskohtaisen reitityksen ja hyödylliset lokit, ja yksi jaettu asiakasvarmenne romahduttaa kaikki kolme.
Jos käyttöönotto todentaa käyttäjät ulkoisen hakemiston tai toisen tekijän kautta, tämä rakenne pysyy sellaisenaan. Siirtyminen TLS-palvelintilaan päättää, miten vertaiset todistavat itsensä tunnelikerroksella, eikä se sanele tilien taustajärjestelmää. Pidä kaksi päätöstä erillään, jotta toisen muutos ei hiljaa muuta toista.
Päätä sitten edelleenlähetyskäytäntö tietoisesti. client-to-client ottaa käyttöön asiakkaiden välisen liikenteen palvelinpolulla käyttäjäavaruudessa, mitä monet käyttöönotot haluavat ja mitä jotkin eivät saa olla. Se on käytäntökytkin, ei identiteettimekanismi, ja se tulisi kytkeä päälle siksi, että rakenne vaatii sitä, ei siksi, että opas sisälsi sen.
Sen tarkistaminen, että asiakkaat ovat todella itsenäisiä
Yhdistä kaksi asiakasta ja varmista, että ne saavat eri osoitteet ja näkyvät eri identiteeteillä palvelimen lokissa. Peruuta sitten toinen ja varmista, että toinen jatkaa toimintaansa, mikä on käytännön testi siitä, ettei identiteettejä jaettu.
Testaa sallittu vertaisten välinen palvelu ja sellainen, jonka pitäisi pysyä estettynä. Kaksi onnistunutta kirjautumista todistaa hyväksymisen, ei eristystä, ja ero on tärkeä, kun käyttöönoton pitäisi erottaa käyttäjäryhmiä.
Lue lopuksi palvelintila käynnissä olevasta kokoonpanosta äläkä muistista. Staattisen avaimen kokoonpano lisäasetuksilla on edelleen pisteestä pisteeseen -yhteys, ja oikea TLS-palvelin on ainoa järjestely, jossa useat asiakkaat ovat todella erillisiä vertaisia.
Jos loki näyttää yhden yhteisen nimen jokaiselle laitteelle, ongelma ei ole tilassa. Ongelma on rekisteröintiprosessissa.