duplicate-cn antaa kahdelle laitteelle yhden identiteetin, ei kahta
duplicate-cn sallii toisen samanaikaisen istunnon yhden yhteisen nimen alla. Se ei koskaan luo toista laiteidentiteettiä, toista osoitetta tai erillistä mitätöintiä.
Kopioi profiili tabletille, yhdistä, ja kannettava putoaa pois. Lisää duplicate-cn, molemmat pysyvät yhteydessä, ja ongelma näyttää ratkenneen — kunnes kaksi laitetta alkavat tapella samasta tunneliosoitteesta tai kadonnut tabletti vie koko tilin offline-tilaan. Asetus muuttaa yhtä asiaa ja vain yhtä: sitä, salliiko palvelin toisen istunnon nimen alla, jonka se on jo nähnyt. Kaikki, mitä ihmiset odottavat sen korjaavan — laiteriippumattomuudesta laitekohtaiseen osoitteistukseen ja valikoivaan mitätöintiin — tehdään edelleen identiteetillä, ja identiteetti tässä on sertifikaatti.
Myytti: toinen istunto on toinen identiteetti
Intuitio sanoo, että kahden yhteyden täytyy olla kaksi asiakasta, ja kahden asiakkaan pitäisi olla kaksi laitetta omine oikeuksineen. Palvelin ei mallinna sitä niin. Se näkee yhteisen nimen ja hyväksyy duplicate-cn:n ollessa käytössä useamman kuin yhden elävän istunnon, jolla on tuo nimi, ja kukin saa oman istuntotilansa daemonissa.
Mikään tuossa hyväksynnässä ei kosketa sertifikaatin varmennusta. Sama sertifikaatti on edelleen valtuutus, sama avain on edelleen yksityinen avain, ja mikä tahansa sertifikaatin subjektiin sidottu käytäntö ratkeaa edelleen kahdesti samaan arvoon. Toinen istunto on toinen socket, ei toinen identiteetti.
Ero on näkymätön, kun kaikki toimii. Siitä tulee hyvin näkyvä hetkellä, jolloin laitteet on erotettava toisistaan — ja se on yleensä päivä, jolloin toinen niistä katoaa.
Mikä oikeasti muuttuu, kun kaksi istuntoa jakaa nimen
Ilman asetusta uusi yhteys yhteisen nimen alla, joka on jo yhdistetty, syrjäyttää aiemman istunnon. Siksi kannettava putoaa pois, kun tabletti yhdistää, ja kyseessä on tarkoituksellinen epäselvyyden vartija, ei virhe. Asetuksen kanssa molemmat istunnot pysyvät elossa ja palvelin seuraa niitä erikseen istunnon, ei laitteen mukaan.
Kukin istunto saa edelleen oman ulkoisen yhteytensä ja omat neuvotellut avaimensa, joten samanaikainen siirtonopeus on todella samanaikaista. Yhteistä on kaikki valtuutuksesta johdettu: käytäntöhaut, asiakaskohtainen kokoonpano, loki-identiteetti ja mitätöinti. Istuntotila kuuluu yhteydelle ja kuolee sen mukana, kun taas valtuutustason tosiasiat säilyvät molemmilla. Siksi tilatuloste voi listata saman nimen kahdesti, vaikka laskurit pysyvät erillisinä.
Varmista, mitä koontiversiosi todella tekee, ennen kuin suunnittelet sen varaan, sillä asetuksen vaikutuksen määrittää asetus itse eikä kansanperinne:
grep -n 'duplicate-cn\|client-config-dir\|username-as-common-name' /etc/openvpn/server.conf
Staattinen osoite, jonka luulit antaneesi
Asiakaskohtainen kokoonpano haetaan nimen perusteella, ja siinä on ansa. Yhteisen nimen mukaan nimetty client-config-dir-tiedosto koskee jokaista laitetta, joka käyttää tuota nimeä, joten sen sisällä oleva ifconfig-push antaa molemmille laitteille saman tunneliosoitteen. Toinen istunto joko ei muodostu tai törmää niin, että se näyttää reititysviirheeltä.
Dynaaminen allas käyttäytyy paremmin sattumalta, koska jokaiselle istunnolle varataan osoite altaasta itsenäisesti. Sekään ei anna pysyvää laitekohtaista osoitetta, eikä varmasti anna laitekohtaista käytäntöä, joka olisi sidottu tuohon osoitteeseen.
Jos käyttöönotto käyttää username-as-common-name-asetusta, hakemisen avaimeksi tulee todennettu käyttäjänimi sertifikaatin subjektin sijaan, ja sama törmäys toistuu jokaiselle, joka kirjautuu kahdesti. Kokoonpanoa ohjaavan nimen on oltava laitekohtaisesti ainutkertainen, jotta laitekohtaisella kokoonpanolla olisi merkitystä.
Mitä jaettu identiteetti ei voi tehdä poiston hetkellä
Mitätöinti kohdistuu sertifikaattiin, ei näytettävään nimeen eikä istuntoon. Mitätöi tuo sertifikaatti, ja jokainen kopion haltija menettää pääsyn kerralla, mukaan lukien se toimistossa oleva, jota kukaan ei halua häiritä. Pidä se, ja kadonnut laite jatkaa toimintaansa, koska mikään protokollassa ei erota sitä hyväksytystä kopiosta.
Lokit perivät saman epäselvyyden. Tilatuloste näyttää yhteisen nimen ja todellisen osoitteen, ja molemmat voivat kuulua kummalle tahansa laitteelle. Tapauksen selvitys, jonka pitää tietää, mikä kone teki mitä, ei voi vastata kysymykseen VPN:n omista kirjauksista, kuinka paljon yksityiskohtia lokitaso tarjoaakin.
Tähän ei ole kryptografista kiertotietä. Kaksi laitetta, jotka esittävät saman sertifikaatin, ovat palvelimelle sama osallistuja kahdesti, ja mikä tahansa järjestely, joka väittää muuta, on nimikäytäntö eikä valvonta.
Milloin jakaminen on oikein ja miten sitä rajataan
Jakamisella on laillisia käyttötarkoituksia: laboratoriotili, jota useat testikoneet käyttävät, tai kotitalous, jossa laitteita hallitaan yhdessä eikä mitätöinnin tarkkuudella ole väliä. Sellaisissa tapauksissa ota asetus käyttöön tarkoituksella, pidä jaettu valtuutus laitekohtaisen käytännön ulkopuolella ja anna altaalle tilaa, jotta istunnot eivät törmää osoitteessa.
Kaikkeen, mikä tarvitsee erilliset osoitteet, erilliset lokit tai erillisen poiston, myönnä erilliset sertifikaatit normaalia rekisteröintipolkua pitkin. Se antaa jokaiselle alavirran järjestelmälle oman objektin, johon nojata, ja asetus lakkaa olemasta merkityksellinen, koska nimet ovat jo ainutkertaisia.
Minkä polun valitsetkin, testaa hallintamallia äläkä kirjautumista. Yhdistä molemmat laitteet, varmista että niillä on eri osoitteet, simuloi sitten menetys ja tarkista, että voit poistaa täsmälleen yhden niistä. Käsikirja openvpn(8) määrittelee asetuksen laajuuden; poistomenettelysi määrittelee, onko jakaminen todella hyväksyttävää.