tls-auth key-direction: 0 og 1 verða að vera ólík, ekki samhljóma
Með tls-auth þurfa báðir endar gagnstæðar áttir, 0 og 1, eða báðir að sleppa stillingunni. Sama talan mistekst, og tls-crypt notar hana aldrei.
Önnur hlið gönganna undirritar stjórnrásina með lykilrauf sem hin hliðin athugar aldrei, og tengingin deyr með auðkenningarvillu áður en einu skírteini er skipt. Þannig lítur áttarósamræmi í tls-auth út, og það er ákvarðanlegt: sömu tvær skrár mistekst við hverja tilraun, frá hverju neti. Ekkert í annálinum nefnir valkostinn sem þú ert að leita að, þess vegna endurbyggja menn lykla og endurútgefa skírteini sem höfðu aldrei bilað. Lausnin er að gera báða enda samhverfa, eða láta báða vera tvíátta, í stað þess að veikja sannprófunina.
Bilanirnar verða áður en skírteinin koma
Með tls-auth halda báðir jafningjar sama sameiginlega lyklinum og hvor notar eina af tveimur raufum sem leiddar eru af honum: ein raufin undirritar útleiðandi stjórnpakka, hin sannprófar innleiðandi. Átt 0 og átt 1 úthluta þessum hlutverkum í gagnstæðri röð, þannig að parið verður að vera samhverft svo HMAC-prófanir passi saman. Þegar úthlutuninni er snúið við á annarri hliðinni leitar móttakandinn að undirskrift í rangri rauf og hafnar pakkanum. Lotan endar þar, þess vegna snýr villan að auðkenningu pakka en ekki einhverju sem skírteinageymslan myndi framleiða.
Ákvörðunarleysið skiptir máli við greiningu, því vandamál með tíma eða leið skilur eftir sig aðra mynd: slitróttar truflanir, ein átt sem bregst, eða lota sem deyr aðeins á tilteknu neti. Áttarósamræmi bregst við fyrsta handabandi í hvert sinn, og það bregst á sama hátt á annarri vél með sömu tvær skrár. Lestu annálinn með --verb 4 og finndu fyrsta höfnuðu pakkann í stað síðustu línu. Ef sú höfnun á sér stað fyrir hverja skírteinaskipti eru sameiginlegi lykillinn og átt hans það tvennt sem er þess virði að athuga.
| What you see | What it rules out | Next check |
|---|---|---|
| Authentication error before any certificate is sent | The data channel is irrelevant; the control channel never authenticated | Compare tls-auth and its direction on both ends |
| Certificate or handshake failure after the control channel authenticates | The shared key and its direction already agree | Check the CA, the certificate dates and the hostname |
| Session completes but throughput or cipher warnings appear | Direction was never the problem | Compare the data-channel cipher settings |
| Startup stops on an options error | The number itself is not the issue | Re-read the inline versus external directive syntax |
Hvar talan býr
Handbókin fyrir OpenVPN 2.6 skjalfestir tvo staði fyrir áttina: annað viðfangið í tls-auth þegar lykillinn er í eigin skrá, og sjálfstæða key-direction línu þegar lykillinn er innfelldur í sniðið. Bæði setja sama gildi, svo snið ætti að nota aðra myndina eða hina, aldrei báðar. Að sleppa því er líka val, og það setur báða jafningja í tvíátta fyrirkomulag sem virkar þegar hvorug hliðin nefnir átt. Tveir jafningjar með sömu töluna eru ekki í því fyrirkomulagi: hvor um sig væntir þess að undirrita í einni rauf og sannprófa í hinni, og báðir gera það á sama hátt.
# 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
Innfellda myndin er forskrift á eigin línu, ekki eigind á opnunarmerki lykilblokkarinnar, og að bæta viðfangi við það merki er villa, ekki áttarbreyting. Staðsetningin skiptir líka máli: forskriftin stendur utan blokkarinnar sem hún tilheyrir, svo gildi sem skrifað er inni í blokkinni er lesið sem lykilefni. Afritaðu fyrirkomulagið sem dreifingaraðili sniðsins ætlaði sér í stað þess að búa til par, því snið sem virkar gagnvart einum þjóni er kannski þegar speglað hinum megin.
Hvað valkosturinn lætur óhreyft
Hann dulkóðar ekki forritsumferð. tls-auth setur HMAC utan um pakka stjórnrásarinnar, en gagnarásin er varin með lotulyklum sem samið er um í handabandinu, svo spurning um afköst eða dulritun tengist áttartölunni ekki. Stillingin bætir heldur ekki við annarri dulkóðunarlagi, og einmitt þessi forsenda sendir fólk að leita að lengri lykli.
Hann á ekki við tls-crypt, aðra stjórnrásaraðferð með eigin valkostum og lyklameðferð, og segir ekkert um skírteinisauðkenni neins jafnings. Virkt áttarsamræmi sannar því aðeins að báðir endar séu sammála um hvernig eigi að auðkenna stjórnrásina, ekki að traustkeðjan hafi verið staðfest.
Stilltu parið af, tengdu svo aftur
Berðu saman tvær stillingarnar áður en þú breytir annarri, því að breyta hliðinni sem var þegar rétt tvöfaldar vinnuna. Grepið hér að neðan sýnir hvaða aðferð hver skrá velur; ítarleg keyrsla sýnir hvort stjórnrásin var auðkennd yfirhöfuð. Geymdu báðar útkomurnar, svo hægt sé að bera næstu breytingu saman við þekkta stöðu.
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'
Endurræstu báða jafningja eftir hverja breytingu, því þessir valkostir eru lesnir einu sinni við ræsingu og endurhleðsla annarrar hliðarinnar lætur parið vera ósamkvæmt alla líftíma gömlu lotunnar. Ef uppsetningin virkar núna án stilltrar áttar endurtekur það að bæta stillingunni á annan jafningjann bilunina sem þú byrjaðir með; annaðhvort skildu báða eftir eða stilltu báða. Breyttu einum enda í einu og geymdu fyrri skrána, svo afturför sé tveggja mínútna afturköllun en ekki endurbygging.
Skráðu aðferðina, lykilskrána og áttina fyrir hvern enda í uppsetningarnótum, því annars les næsta manneskja tvær svipaðar skrár og gerir ráð fyrir að tölurnar eigi að stemma hvora við aðra. Áttin er samhæfingaratriði, ekki öryggisuppfærsla: hún aðgreinir tvær áttir stjórnrásarinnar og gerir ekkert annað.