Кои OpenVPN пакети ги штити auth дигестот?
Опцијата auth покрива помалку отколку што навестува профилот. Разгледајте го каналот, случајот со AEAD и заштитата на контролниот канал пред да поставите политика за дигест.
Повеќето расправи за OpenVPN дигестите започнуваат од погрешниот пакет. Да се чита auth SHA256 како „прифати само партнери што нудат SHA256“ е првото нешто што треба да се одвикне. Опцијата именува дигест за одредени пакети, а кои се тие пакети зависи од каналот и од тоа дали тој канал е AEAD. Поминете ги четирите прашања подолу по ред; секое стеснува што може да значи поставката во вашето распоредување.
Именувајте го каналот што поставката треба да го штити
OpenVPN има контролен канал што го носи сообраќајот на TLS ракувањето и податочен канал што го носи товарот на тунелот. auth дигестот има улога во двата, но не иста, и профилот ретко ја прави разликата видлива. Запишете кој од двата се обидувате да го ограничите пред да допрете конфигурациска датотека.
Табелата подолу е кратката верзија за тоа како истата опција слетува во секој контекст.
| Context | What the auth digest does |
|---|---|
| Data channel without AEAD | Selects the HMAC digest that authenticates each data packet |
| Data channel with AEAD, such as GCM | Unused for the data channel; the cipher authenticates its own packets |
| Control channel protected by tls-auth | Selects the HMAC digest for that protection, even when data is AEAD |
Проверете дали податочниот канал е AEAD пред да се потпрете на него
Ако договорената податочна шифра е AES-GCM или CHACHA20-POLY1305, податочниот канал се автентикува сам и одделниот дигест не ја работи работата што можеби ја замислувате. Двете се AEAD конструкции, па интегритетот го создава истата операција што го шифрира товарот. Тоа не е намалување на ниво, но значи дека политика оправдана како „секој податочен пакет е HMAC-SHA256“ е фактички погрешна на тој тунел. Потврдете ја договорената вредност во дневникот на серверот или во излезот за состојбата на клиентот пред да ја препишете политиката.
Испитајте ја шифрата што навистина е договорена, а не списокот во профилот, бидејќи преговорите може да слетаат на друг член од множеството. data-ciphers AES-256-GCM:AES-128-GCM е список за преговори, и двата записа се AEAD, па ниту еден од нив не троши auth дигест за заштита на товарот.
Третирајте ја заштитата на контролниот канал како посебна одлука
tls-auth додава HMAC на пакетите на контролниот канал и го зема својот дигест од поставката auth, затоа еден AEAD тунел сепак може да има смислен дигест конфигуриран. tls-crypt е поинаков распоред со своја фиксна заштита, па не претпоставувајте дека го наследува секое својство на tls-auth. Читајте ја документацијата за механизмот што го избравте наместо да пренесувате претпоставки меѓу нив.
Двете страни исто така мора да се согласат за распоредот и за насоката на клучот. Совпаѓачки дигест, но датотека со клуч употребена во погрешна насока, создава ракување што не успева од причини што поставката за дигест не може да ги објасни.
Држете го auth одделно од преговорите за шифри и од сертификатите
Три поставки постојано се мешаат: auth дигестот, списокот на податочни шифри и алгоритмот за потпис на сертификатот. Менувањето на првата не издава нов сертификат, не го избира неговиот дигест за потпис и не создава метод за корисничко име и лозинка. Дефинициите на протоколските опции во изворите на OpenVPN 2.6 ја опишуваат секоја во свој дел, што е корисно потсетување дека тие се независни копчиња.
Кога партнерот одбива да се поврзе по промена на дигестот, причината обично е несовпаѓање во една од другите две поставки. Прочитајте ги двата краја пред да смените која било.
Запишете ја политиката и споредете ја со конфигурациите што работат
Изјавата на ниво на флота треба во истата реченица експлицитно да ги наведе дозволените режими на податочниот канал и избраната заштита на контролниот канал. Таа реченица е проверлива; „ние користиме SHA256“ не е. Потоа споредете ја со ефективните профили на серверот и клиентот, а не со шаблон во складиште.
Завршете со запишување што навистина договорил секој тунел и кој механизам ги автентикувал неговите пакети. Видливиот auth ред во профилот е доказ само за намерата на конфигурацијата, а намерата е најевтиниот дел од проверката.