Tunelaren alde batek kontrol-kanala inork inoiz egiaztatzen ez duen gako-tarte batekin sinatzen du, eta konexioa autentifikazio-errore batekin hiltzen da ziurtagiri bat ere trukatu aurretik. Horrela ikusten da tls-auth-en norabide-desadostasuna, eta determinista da: bi fitxategi berberek huts egiten dute saiakera bakoitzean, edozein saretatik. Erregistroan ez da bilatzen ari zaren aukera aipatzen, horregatik jendeak gakoak berreraikitzen ditu eta inoiz apurtu ez ziren ziurtagiriak berriz jaulkitzen. Konponbidea bi muturrak osagarri egitea da, edo biak norabide bikoa uztea, egiaztapena ahultzea baino.

Huts egitea ziurtagirien aurretik gertatzen da

tls-auth-ekin bi pareek gako partekatu bera dute eta bakoitzak hortik eratorritako bi tarteetako bat erabiltzen du: tarte batek irteerako kontrol-paketeak sinatzen ditu, besteak sarrerakoak egiaztatzen ditu. 0 norabideak eta 1 norabideak rol horiek ordena kontrakoan esleitzen dituzte, beraz bikotea osagarria izan behar da HMAC egiaztapenak bat etor daitezen. Esleipena alde batean alderantzikatzen denean, hargailuak tarte okerrean bilatzen du sinadura eta paketea ukatzen du. Saioa bertan amaitzen da, horregatik errorea paketeen autentifikazioari buruzkoa da, ziurtagiri-biltegiak sortuko lukeenari buruzkoa ez.

Determinismoa garrantzitsua da diagnostikorako, denbora- edo bide-arazoak beste arrasto bat uzten baitu: etengabeko etendurak, norabide batek huts egitea edo sare jakin batean soilik hiltzen den saioa. Norabide-desadostasunak lehen eskuko estreinaldian huts egiten du aldi bakoitzean, eta berdin huts egiten du beste makina batean bi fitxategi berberekin. Irakurri erregistroa --verb 4-n eta aurkitu baztertutako lehen paketea, azken lerroa baino. Ukapen hori ziurtagiri-trukaketa baten aurretik gertatzen bada, gako partekatua eta haren norabidea dira egiaztatzeko merezi duten bi gauzak.

What you seeWhat it rules outNext check
Authentication error before any certificate is sentThe data channel is irrelevant; the control channel never authenticatedCompare tls-auth and its direction on both ends
Certificate or handshake failure after the control channel authenticatesThe shared key and its direction already agreeCheck the CA, the certificate dates and the hostname
Session completes but throughput or cipher warnings appearDirection was never the problemCompare the data-channel cipher settings
Startup stops on an options errorThe number itself is not the issueRe-read the inline versus external directive syntax

Zenbakia non bizi den

OpenVPN 2.6 eskuliburua norabiderako bi leku dokumentatzen ditu: tls-auth-en bigarren argumentua, gakoa fitxategi propioan dagoenean, eta key-direction lerro independentea, gakoa profilean txertatuta dagoenean. Biek balio bera ezartzen dute, beraz profilek forma bat edo bestea erabili behar du, inoiz ez biak. Alde batera uztea ere aukera bat da, eta bi pareak norabide biko antolamenduan jartzen ditu, hori funtzionatzen du inork norabiderik aipatzen ez duenean. Zenbaki bera duten bi pare ez daude antolamendu horretan: bakoitzak tarte batean sinatzea eta bestean egiaztatzea espero du, eta biek modu berean egiten dute.

# server.conf, external key
tls-auth ta.key 0

# client.ovpn, external key
tls-auth ta.key 1

# client.ovpn, inline key
key-direction 1

Forma txertatua bere lerroan dagoen direktiba da, ez gako-blokearen irekitze-etiketan atributua, eta etiketa horri argumentua gehitzea errorea da, ez norabide-aldaketa. Kokapenak ere garrantzia du: direktiba dagokion bloketik kanpo dago, beraz blokearen barruan idatzitako balioa gako-material gisa irakurtzen da. Kopiatu profileko banatzaileak nahi zuen antolamendua, bikotea asmatu beharrean, zeren zerbitzari baten aurka funtzionatzen duen profila agian jadanik islatuta dago beste aldean.

Zer uzten duen ukitu gabe aukerak

Ez du aplikazio-trafikoa zifratzen. tls-auth-ek HMAC bat jartzen du kontrol-kanaleko paketeen inguruan, datu-kanala eskuko estreinaldian adostutako saio-gakoek babesten dute, beraz errendimendu edo zifratze galderak ez du zerikusirik norabide-zenbakiarekin. Ezarpenak ez du bigarren zifratze-geruza gehitzen, eta suposizio horrek bidaltzen du jendea gako luzeago baten bila.

Ez da tls-crypt-i aplikatzen, kontrol-kanaleko mekanismo desberdin bat, bere aukera eta gako-kudeaketarekin, eta ez du ezer esaten edozein pareren ziurtagiri-identitateari buruz. Beraz, funtzionatzen duen norabide-bat etortzeak soilik frogatzen du bi muturrek bat egiten dutela kontrol-kanala nola autentifikatu, ez fidagarritasun-katea baliozkotu denik.

Lerrokatu bikotea eta konektatu berriro

Konparatu bi konfigurazioak bat ere aldatu aurretik, jadanik zuzena zen aldea editatzeak lana bikoizten baitu. Beheko grep-ek erakusten du zein mekanismo aukeratzen duen fitxategi bakoitzak; exekuzio xeheak erakusten du kontrol-kanala autentifikatu den ala ez. Gorde bi irteerak, hurrengo aldaketa egoera ezagun batekin konparatu ahal izateko.

grep -n -E 'tls-auth|tls-crypt|key-direction' server.conf client.ovpn
openvpn --config client.ovpn --verb 4 2>&1 | grep -i -E 'hmac|tls error|control channel'

Berrabiarazi bi pareak edozein aldaketaren ondoren, aukera hauek abiaraztean behin irakurtzen baitira, eta alde bat birkargatzeak bikotea koherentzia gabe uzten du saio zaharraren bizitza osoan. Hedapena orain norabiderik konfiguratu gabe funtzionatzen badu, ezarpena pare batean gehitzeak hasi zinen hutsegitea erreproduzitzen du; edo utzi biak edo konfiguratu biak. Aldatu mutur bat aldi berean eta gorde aurreko fitxategia, erregresioa bi minutuko itzulera izan dadin, berreraikuntza bat ez.

Idatzi mekanismoa, gako-fitxategia eta norabidea mutur bakoitzerako hedapen-oharretan, bestela hurrengo pertsonak antzeko bi fitxategi irakurriko ditu eta zenbakiek elkarrekin bat etorri behar dutela suposatuko du. Norabidea koordinazio-xehetasuna da, ez segurtasun-hobekuntza: kontrol-kanalaren bi norabideak bereizten ditu eta ez du besterik egiten.

Erlazionatutako artikuluak