Traċċar tal-pakketti tal-kontroll ta’ OpenVPN: tls-auth qabel TLS
L-HMAC ta’ tls-auth tinsab fuq il-pakkett tal-kontroll, mhux ġewwa l-handshake TLS. Qabbel ċavetta, direzzjoni u digest, imbagħad ivverifika mingħajr ma tneħħi l-protezzjoni.
Nuqqas ta’ tls-auth normalment jiġi rrappurtat bħala problema tal-handshake, u qatt ma kien hekk. L-HMAC jiġi ċċekkjat fuq il-pakkett tal-kontroll qabel ma jseħħ xi pproċessar TLS, għalhekk ċavetta jew direzzjoni li ma taqbilx tipproduċi nuqqas li jidher bħal problema taċ-ċertifikat u jiġi deċiż żewġ saffi qabel. Jekk tittratta l-involukru bħala oġġett tiegħu stess, id-dijanjosi ssir qasira: aqra l-oqsma, ikkonferma li l-verifika taħdem kmieni, imbagħad qabbel it-tliet affarijiet li ż-żewġ trufijiet iridu jaqblu fuqhom.
Aqra l-involukru bl-ordni li bih jinbena
Pakkett tal-kontroll iġorr identifikatur tas-sessjoni, l-HMAC tls-auth fakultattiv, informazzjoni ta’ ripetizzjoni u rikonoxximent, u identifikatur tal-messaġġ affidabbli, u wara jiġi l-payload tat-tip tal-messaġġ. Meta l-messaġġ ikun messaġġ tal-handshake, il-payload ikun test ċifrat TLS. Din hi r-relazzjoni kollha: materjal TLS jivvjaġġa ġewwa messaġġ li l-involukru diġà jipproteġi. Ara r-referenza tal-protokoll tan-netwerk ta’ OpenVPN li telenka l-oqsma tal-kanal tal-kontroll f’dik l-ordni.
Is-saff tal-affidabbiltà jiġi konfuż mal-kriptografija faċilment. Ir-rikonoxximenti, it-trasmissjoni mill-ġdid u l-identifikatur tal-messaġġ jeżistu biex il-messaġġi tal-kontroll jaslu darba u bl-ordni fuq trasport mhux affidabbli. Mhumiex awtentikazzjoni, u identifikatur tal-messaġġ korrett ma jipprova xejn dwar min bagħat il-pakkett.
Żomm dan il-grupp kunċettwali. Mhuwiex dijagramma tal-ordni tal-bytes, u mhuwiex biżżejjed biex tikkalkula tikketta, għax l-oqsma li jidħlu fl-HMAC jiddependu mill-implimentazzjoni, mill-verżjoni u mill-modalità.
Uri li l-verifika taħdem qabel il-handshake
Riċevitur li għandu ċ-ċavetta kondiviża jista’ jivverifika l-HMAC u jarmi pakkett iffalsifikat minnufih, mingħajr ma jalloka stat tal-handshake jew jagħmel xogħol taċ-ċavetta pubblika. Il-protezzjoni tkopri wkoll il-pakketti tal-ewwel handshake, u għalhekk ċavetta ħażina tidher bħala konnessjoni falluta u mhux bħala żball ta’ awtentikazzjoni tard.
Għolli l-verbosità tad-daemon u osservà l-kanal tal-kontroll minflok il-mezz tun:
openvpn --config /etc/openvpn/server.conf --verb 6
Dak li qed tfittex huwa nuqqas fil-verifika tal-HMAC tal-kanal tal-kontroll irrappurtat fil-livell tal-pakkett, qabel xi twissija TLS. Twissija TLS fil-log tfisser li l-involukru ġie aċċettat u n-nuqqas mar ġewwa, li hija investigazzjoni oħra b’soluzzjoni oħra.
Il-ġestjoni tad-direzzjoni tinsab hawn ukoll. Meta fajl taċ-ċavetta statika jintuża ma’ tls-auth, iż-żewġ trufijiet jieħdu direzzjonijiet taċ-ċavetta opposti, u l-protokoll juża dik id-diviżjoni biex pakkett maqbud ma jistax jiġi rifless lura lejn min bagħtu. Jekk iddawwar id-direzzjoni l-oġġett jibqa’ l-istess u xorta kull pakkett ifalli. Ibdel tarf wieħed kull darba, imbagħad erġa’ ibda ż-żewġ daemons biex il-par jiġi mgħobbi flimkien.
Qabbel ċavetta, direzzjoni u digest fuq iż-żewġ trufijiet
Tliet valuri jridu jaqblu u wieħed biss minnhom huwa l-fajl. Il-kontenut taċ-ċavetta statika jrid ikun identiku fuq iż-żewġ trufijiet, id-direzzjoni trid tkun opposta, u d-digest użat għall-HMAC irid jaqbel. Iċċekkja l-konfigurazzjoni qabel ma tmiss il-materjal taċ-ċavetta, għax direzzjoni waħda maqluba tispjega aktar nuqqasijiet minn fajl korrott:
grep -E 'tls-auth|tls-crypt|key-direction|auth ' /etc/openvpn/server.conf
Iġġenera s-sigriet kondiviż bl-għodda u mhux bl-editur, u żomm il-permessi stretti:
openvpn --genkey secret /etc/openvpn/ta.key
chmod 600 /etc/openvpn/ta.key
Rilaxxi eqdem aċċettaw ordni ta’ għażliet kemmxejn differenti għall-ġenerazzjoni taċ-ċwievet, u profili miktuba għal dawk ir-rilaxxi għadhom jiċċirkolaw. Il-fajl iġġenerat huwa l-istess tip ta’ oġġett fiż-żewġ każijiet, għalhekk il-verifika hi jekk iż-żewġ trufijiet għandhomx bytes identiċi, mhux liema ortografija ġenerathom.
Tħallatx tls-auth ma’ tls-crypt. It-tnejn jipproteġu l-kanal tal-kontroll, iżda tls-crypt jgħaffiġu wkoll u jaħbi l-handshake mill-osservaturi, u jissostitwixxi d-diviżjoni tad-direzzjonijiet bil-ġestjoni tiegħu taċ-ċwievet. Profil li juża wieħed mhux se jaħdem ma’ sieħeb ikkonfigurat għall-ieħor, u l-ebda aġġustament tad-digest ma jagħlaq dik il-firda.
Irriproduċi tikketta biss mill-format veru
Ir-riproduzzjoni eżatta fil-livell tal-byte hija xogħol separat milli tmexxi VPN, u taħdem biss bl-inputs veri: l-implimentazzjoni u l-verżjoni li bnew il-pakkett, id-digest magħżul, id-direzzjoni, u l-bytes attwali inkluż l-identifikatur tas-sessjoni u l-array tar-rikonoxximenti. Rappreżentazzjoni testwali tal-lista tal-oqsma mhumiex dawk il-bytes.
It-tul tat-tikketta joħroġ mid-digest, għalhekk l-assunzjoni ta’ tul fiss tinqasam fil-mument li xi ħadd ibiddlu. Ħejji l-pakkett kif tagħmel l-implimentazzjoni, mhux kif tippreżentah tabella f’post tal-blog, u qabbel ma’ qabda meħuda mill-istess sieħeb u mhux ma’ aspettativa li ġibtu bl-idejn.
Żomm dak l-eżerċizzju ’l bogħod mill-profili tal-produzzjoni. Xejn fir-riproduzzjoni ta’ tikketta ma jgħidlek jekk skjerament għandux jixgħel il-protezzjoni.
Irrevedi nuqqas ta’ qbil mingħajr ma tneħħi l-protezzjoni
It-test li jġibek fit-tentazzjoni huwa li tħassar tls-auth, tara l-konnessjoni tirnexxi u tikkonkludi li ċ-ċavetta kienet ħażina. Dik it-tweġiba tiswielek il-protezzjoni u ma tgħallmek xejn dwar liema mill-valuri tlieta ma qabilx. Minflok, ġib il-konfigurazzjoni li taqbel u approvata min-naħa tas-server u qabbel magħha.
Ipprepara l-bidla biex tkun riversibbli. Żomm il-konfigurazzjoni u l-fajl taċ-ċavetta preċedenti tas-server, applika l-par ikkoreġut, ivverifika li klijent itemm il-handshake, u biss imbagħad neħħi l-backup. Jekk il-klijenti jonqsu wara l-bidla, erġa’ stabbilixxi l-fajls preċedenti minflok ma timprovviza t-tielet varjant waqt waqfa. Ir-restawr għandu jkun kmand wieħed li diġà taf qabel ma tibda.
Fl-aħħar, ftakar x’ifisser verifika li għaddiet. Hija tipprova li s-sieħeb għandu ċ-ċavetta kondiviża, mhux li ċ-ċertifikat jew il-kont tiegħu huma awtorizzati, u ma tgħid xejn dwar iċ-ċifrat tal-kanal tad-data li ġie nnegozjat. L-awtorizzazzjoni u l-protezzjoni tad-data jiġu stabbiliti aktar tard, għalhekk verifika nadifa tal-involukru hija punt tat-tluq u mhux verdett.