Većina rasprava o OpenVPN sažecima počinje od pogrešnog paketa. Čitati auth SHA256 kao „prihvati samo partnere koji nude SHA256“ prva je stvar koje se treba odviknuti. Opcija imenuje sažetak za određene pakete, a koji su to paketi zavisi od kanala i od toga je li taj kanal AEAD. Prođite kroz četiri pitanja ispod po redu; svako sužava šta postavka može značiti u vašem postavljanju.

Imenujte kanal koji postavka treba da štiti

OpenVPN ima kontrolni kanal koji nosi TLS saobraćaj rukovanja i podatkovni kanal koji nosi teret tunela. auth sažetak ima ulogu u oba, ali ne istu, i profil rijetko čini razliku vidljivom. Zapišite koji od dva pokušavate ograničiti prije nego što dirnete konfiguracijsku datoteku.

Tabela ispod je kratka verzija toga kako ista opcija sjeda u svaki kontekst.

ContextWhat the auth digest does
Data channel without AEADSelects the HMAC digest that authenticates each data packet
Data channel with AEAD, such as GCMUnused for the data channel; the cipher authenticates its own packets
Control channel protected by tls-authSelects the HMAC digest for that protection, even when data is AEAD

Provjerite je li podatkovni kanal AEAD prije nego što se na njega oslonite

Ako je dogovorena podatkovna šifra AES-GCM ili CHACHA20-POLY1305, podatkovni kanal sam sebe autentificira i odvojeni sažetak ne obavlja posao koji možda zamišljate. Oba su AEAD konstrukcije, pa integritet nastaje istom operacijom koja šifrira teret. To nije degradacija, ali znači da je politika opravdana kao „svaki podatkovni paket je HMAC-SHA256“ činjenično pogrešna na tom tunelu. Potvrdite dogovorenu vrijednost u zapisu servera ili izlazu statusa klijenta prije nego što prepišete politiku.

Pregledajte šifru koja je zaista dogovorena, a ne listu u profilu, jer pregovaranje može pasti na drugog člana skupa. data-ciphers AES-256-GCM:AES-128-GCM je lista za pregovaranje, a oba unosa su AEAD, pa nijedan od njih ne troši auth sažetak za zaštitu tereta.

Tretirajte zaštitu kontrolnog kanala kao zasebnu odluku

tls-auth dodaje HMAC paketima kontrolnog kanala i uzima svoj sažetak iz postavke auth, zbog čega AEAD tunel i dalje može imati smislen sažetak. tls-crypt je drugačiji raspored s vlastitom fiksnom zaštitom, pa ne pretpostavljajte da nasljeđuje svaku osobinu tls-auth. Čitajte dokumentaciju za mehanizam koji ste odabrali umjesto da prenosite pretpostavke između njih.

Dvije strane se takođe moraju složiti o rasporedu i o smjeru ključa. Sažetak koji se poklapa, ali datoteka ključa korištena u pogrešnom smjeru, daje rukovanje koje pada zbog razloga koje postavka sažetka ne može objasniti.

Držite auth odvojeno od pregovaranja šifri i certifikata

Tri postavke se stalno brkaju: auth sažetak, lista podatkovnih šifri i algoritam potpisa certifikata. Promjena prve ne izdaje ponovo certifikat, ne bira njegov sažetak potpisa i ne stvara metodu korisnik-lozinka. Definicije protokolskih opcija u izvorima OpenVPN 2.6 opisuju svaku u vlastitom odjeljku, što je koristan podsjetnik da su to nezavisna dugmad.

Kada partner odbije vezu nakon promjene sažetka, uzrok je obično nesklad u jednoj od druge dvije postavke. Pročitajte oba kraja prije nego što promijenite bilo koju.

Zapišite politiku i uporedite je s konfiguracijama koje rade

Izjava na nivou flote treba izričito navesti dozvoljene režime podatkovnog kanala i odabranu zaštitu kontrolnog kanala, u istoj rečenici. Ta rečenica je provjerljiva; „koristimo SHA256“ nije. Zatim je uporedite s efektivnim profilima servera i klijenta, a ne sa šablonom u repozitoriju.

Završite zapisivanjem šta je svaki tunel zaista dogovorio i koji je mehanizam autentificirao njegove pakete. Vidljiv auth red u profilu dokaz je samo namjere konfiguracije, a namjera je najjeftiniji dio provjere.

Povezani članci