In OpenVPN-profyl dat earne oars wurket, meldt dat AES-256-GCM net fûn wurde kin, of dat de parten gjin mienskiplike cipher diele, en de earste ympuls is it profyl bewurkje. Dy twa berjochten beskriuwe ferskillende flaters. It iene seit dat it pleatslike programma sa’n algoritme net hat; it oare dat beide kanten algoritmen hawwe mar gjin mienskiplike kar. It profyl bewurkje makket gjin fan beide goed oant jo witte hokker jo hawwe.

Lês de krekte flatertekst en it programma dat him makke hat.

Bepale hokker flater jo hawwe

It berjocht oer in cipher dy’t net fûn wurde kin, komt fan ’e analyze fan opsjes op ’e pleatslike masine, foardat der in pakket ferstjoerd wurdt. It betsjut dat it útfierbere bestân foar jo, of de bibleteek dêr’t it mei ferbûn is, dat algoritme net biedt. It berjocht oer gjin mienskiplike cipher komt letter, by de ûnderhanneling, en betsjut dat beide kanten ciphers stypje mar it net iens wurde oer ien.

It ferskil is fan belang om’t it iene in probleem fan softwareferzje is en it oare in probleem fan konfiguraasje. It earste wurdt besljochte troch in ferzjenûmer. It twadde troch twa listen te fergelykjen.

In pleatslik tekoart oan mooglikheid

Alde mienskipbuilds binne âlder as de moderne standertwearden, en in buroblêdapplikaasje kin syn eigen motor meinimme dy’t oars is as it kommandorigelpakket dat derneist ynstallearre is. Dwaan de kontrôles op it útfierbere bestân dat de ferbining wier starte, en kies dan in stipe build ynstee fan in âld programma in nij algoritme te learen.

openvpn --version
openvpn --show-ciphers | grep -i gcm
openvpn --show-tls | head -5

As AES-256-GCM net yn dy list stiet, sil gjin profylrigel it tafoegje. De oplossing is in nijere klant of in oare build, en de beheiningen fan ’e âldere part wurde in apart ûntwerpfraach.

By klanten op basis fan OpenVPN 3 ferskille de motor en de akseptearre rjochtlinen fan ’e mienskiplike 2.x-line, dat deselde profyltekst kin mislearje om redenen dy’t neat mei de cipherlist te meitsjen hawwe.

In tekoart by de ûnderhanneling

As beide parten it algoritme listje, bliuwt de fraach hokker list elke kant biedt. De mienskiplike OpenVPN hat de ûnderhannelingsrjochtline omneamd: ncp-ciphers yn 2.4 waard data-ciphers yn 2.5, en yn 2.6 tsjinnet de âldere cipher-rige benammen kompatibiliteit en weromfal, net it fêststellen fan ’e ûnderhannele set.

Dêrom kin it feroarjen fan allinnich in âlde cipher-rige de ûnderhannelingslist ûnoantaast litte. De âlde rigel is noch wichtich foar weromfal, en dat is in apart wurk. It trochinoar heljen fan beide jout bewurkings dy’t neat sichtbers feroarje.

openvpn --version | head -2
grep -n -E '^(data-ciphers|ncp-ciphers|cipher|tls-cipher)' server.conf client.ovpn

Fergelykje de listen fan beide einen en it ôfwizingsberjocht fan ’e tsjinner. As de trochsneed leech is, lijn de listen dan bewust út ynstee fan in wearde te kopiearjen út in stik dat foar in oare ferzje skreaun is. In te romme list ferswakket stilwei elke ferbining. In te smelle list slút de part út dy’t jo hâlde woene.

Hâld kompatibiliteit eksplisyt

In weromfal foar ien âlde part is in beslút mei in priis: de hiele útrulling akseptearret in swakkere opsje sadat ien apparaat ferbine kin. Skriuw dat sa op en behein it ta de part dy’t it nedich hat.

Twa betingsten beslisse de útkomst. As de flater pleatslik is, ferfange de build. As de flater by de ûnderhanneling leit, lijn de listen oan beide kanten út en skriuw op hokker ferzjes jo stypje.

Rapportearje dan de krekte flater mei de útfier fan ferzje en mooglikheden taheakke. Dat pear skiedt in ûntbrekkend algoritme fan in meningsferskil en stopet de folgjende ronde spekulative bewurkings foardat dy begjint.

Relatearre artikelen