Kan ei OpenVPN-tilkopling med statisk nøkkel tene fleire klientar?
Modusen med statisk nøkkel koplar to likeverdige partar. Å leggje til client-to-client gjer han ikkje til ein server for fleire klientar; det krev TLS-modus og identitet per eining.
Modusen med statisk nøkkel koplar nøyaktig to likeverdige partar, og det er utforminga hans, ikkje ei avgrensing nokon gløymde å oppheve. client-to-client er eit videresendingsval i servermodus, så å leggje det til ein --secret konfigurasjon endrar ingenting i kor mange klientar som kan kopla til. Avgjerda handlar ikkje om kva flagg som skal leggjast til, men om utrullinga treng ei punkt-til-punkt-tilkopling eller ei teneste for fleire klientar. Viss fleire einingar må kopla til uavhengig, endrar vernemodusen seg, og kvar eining får ein identitet.
To partar, éin nøkkel og ingen tilstand per klient: den forma er heile historia om modusen.
Kva modusen med statisk nøkkel er til
I hemmeleg modus deler begge partane éi nøkkelfil, og den nøkkelen vernar trafikken direkte. Det er ikkje handtrykk, ikkje sertifikatutveksling og ikkje økt per klient, fordi det ikkje finst klientar i servertyding, berre to endepunkt.
Modusen er framleis nyttig for eit fast maskinpar med ein dokumentert nøkkelrotasjonsprosess, og OpenVPN 2.6 merkar han som forelda nettopp fordi TLS-modus dekkjer dei tilfella med betre eigenskapar. Det han ikkje kan, er å skilje éi tilkoplingsande eining frå ei anna, sidan eigarskapen til fila er heile autentiseringshistoria. Å leggje til ei tredje eining tyder å dele den same nøkkelen med henne, og etterpå kan dei to første ikkje lenger skilje henne frå seg sjølve.
Difor er grensa på to partar strukturell og ikkje ei innstilling som kan endrast.
Kvifor client-to-client ikkje er den manglande biten
client-to-client styrer om tilkopla klientar kan utveksle trafikk gjennom serveren. Han slepp ikkje inn klientar, tildeler ikkje identitetar og opprettar ikkje ein servermodus som ikkje vart konfigurert, og i ein konfigurasjon med statisk nøkkel finst det inga klientliste for han å styre.
Den andre vanlege forvirringa gjeld tls-crypt eller tls-auth materiale. Ein TLS-server kan dele ein av desse nøklane på tvers av alle klientar, fordi han vernar kontrollkanalen i staden for å prove kven kvar klient er. Ein delt kontrollkanalnøkkel i TLS-modus er eit anna objekt enn ein delt statisk datanøkkel, sjølv om begge kjem som filer som ser like ut.
Valet mellom modusane kjem ned til to spørsmål. Skal meir enn éi eining kopla til uavhengig, og treng utrullinga tilbakekalling per eining? Eit nei på begge held modusen med statisk nøkkel levedyktig; eit ja på ein av dei peikar på TLS. Det finst ikkje eit tredje val der ein andre klient slepp inn utan sin eigen identitet.
Byggje serveren for fleire klientar
Ein server for fleire klientar treng TLS-modus, eit sertifikat på serversida og ein identitet per klient. Serverhjelparen set opp adressebassenget og modusen for fleire klientar, men han leverer ikkje TLS-konfigurasjonen, tillitsankeret eller klientsertifikata som gjer opptak meiningsfullt.
Registrer kvar eining gjennom den eksisterande sertifikatstyresmakta i staden for å kopiere påloggingsinformasjonen til éin klient. Ulike identitetar er det som gjer tilbakekalling, ruting per klient og nyttige loggar mogleg, og eitt delt klientsertifikat får alle tre til å kollapse.
Viss utrullinga autentiserer brukarar gjennom ein ekstern katalog eller ein andre faktor, blir den utforminga ståande som han er. Overgangen til TLS-servermodus avgjer korleis partane provar seg sjølve på tunnelnivået, og han dikterer ikkje konto-bakenden. Hald dei to avgjerdene åtskilde slik at ei endring i den eine ikkje lydlaust endrar den andre.
Avgjer deretter videresendingspolitikken med vilje. client-to-client slår på trafikk mellom klientar i serverbana i brukarrommet, noko mange utrullingar ønskjer og nokre ikkje må ha. Det er ein politikkbrytar, ikkje ein identitetsmekanisme, og han bør slåast på fordi utforminga krev det, ikkje fordi ei rettleiing tok han med.
Kontrollere at klientane verkeleg er uavhengige
Kopla til to klientar og stadfest at dei får ulike adresser og framstår med ulike identitetar i loggen til serveren. Trekk deretter tilbake éin og stadfest at den andre held fram med å verke, som er den praktiske prøva på at identitetane ikkje vart delte.
Test den tillatne tenesta mellom partane og ei som skal halde fram med å vere blokkert. To vellukka påloggingar provar opptak, ikkje isolasjon, og skilnaden er viktig når utrullinga skal skilje grupper av brukarar.
Til slutt, les servermodusen frå den køyrande konfigurasjonen i staden for frå minnet. Ein konfigurasjon med statisk nøkkel og ekstra val er framleis ei punkt-til-punkt-tilkopling, og ein korrekt TLS-server er den einaste ordninga der fleire klientar er verkeleg åtskilde partar.
Viss loggen viser eitt felles namn for kvar eining, er ikkje modusen problemet. Registreringsprosessen er det.