Как да сглобим клиентски профил на OpenVPN от издадените файлове
Файлът ovpn е конфигурация, а не сертификат. Изградете един клиентски профил от издадените CA, сертификат и ключ, после закрепете идентичност и директория.
Операторът ви предоставя пакет CA, клиентски сертификат и неговия ключ, и клиентът няма да тръгне, докато те не бъдат свързани в един профил. Профилът е конфигурация: той сочи към тези файлове, не ги съдържа и редактирането му не може да го превърне в сертификат. Ръководството започва от вече одобрен лаптоп и завършва с профил, който можете да стартирате от известна директория. То не създава CA, не регистрира нов сертификат и не пипа сървъра.
Тук целта е OpenVPN 2.6 — клиент за Linux от команден ред, маршрутизиран TUN през UDP, с удостоверяване чрез сертификат.
Съберете само файловете от клиентската страна
Работете в защитена директория и съберете одобрения доверен материал на CA, издадения ви клиентски сертификат и частния ключ, който му съответства. В този пример имената са ca.crt, laptop-a.crt и laptop-a.key. Имената на файловете са само етикети; те не казват нищо за това какво съдържа всеки файл.
Ако сте генерирали ключа по време на записването, той никога не е напускал машината; от издателя трябва да се върнат само подписаният сертификат и публичната верига. Проверете дали сертификатът носи клиентската роля, която услугата очаква. Проверете също, че ключът принадлежи на този сертификат, а не на по-ранен от предишен опит. Несъответстващата двойка дава TLS отказ много по-късно, който изглежда като проблем на сървъра.
Оставете частния подписващ ключ на CA, частния ключ на сървъра и DH параметрите извън този пакет.
Свържете файловете в малък профил
Профилът по-долу е умишлено кратък. Всеки ред или избира крайната точка, или ограничава идентичността, която клиентът ще приеме, или сочи към един от трите файла.
client
dev tun
proto udp
remote vpn.example.net 1194
nobind
remote-cert-tls server
verify-x509-name vpn-gateway name
ca ca.crt
cert laptop-a.crt
key laptop-a.key
Редът remote избира мрежовата крайна точка. remote-cert-tls server настоява партньорът да представи сертификат със сървърна роля. verify-x509-name закрепва очакваното име, тук vpn-gateway като Common Name на сървърния сертификат с полето за име по подразбиране на OpenVPN. Тази стойност не се извлича от DNS името на хоста, затова използвайте схемата за идентичност, която операторът е предоставил.
Не изхвърляйте тези проверки само защото тестова крайна точка показва различен сертификат.
Този базов профил предполага без отделно предизвикателство за акаунт и без ключ за контролния канал. Ако услугата изисква auth-user-pass, tls-auth или tls-crypt, запазете конфигурацията и материала, който ви е даден, защото тайна за контролния канал, генерирана от вас, няма да съвпадне с тази на сървъра. Запазете и шифровата политика на услугата, вместо да внасяте редове за компресия или шифър от стар пример.
Направете работната директория явна
Относителните пътища следват работната директория на процеса, а не местоположението на файла .ovpn.
Това изненадва хората, които местят профила в нова папка и очакват ключът да го последва. За директория, избрана от администратора, командата по-долу преминава към абсолютен път, преди да прочете профила и неговите препратки.
sudo openvpn --cd /etc/openvpn/client/laptop-a --config laptop-a.ovpn
Съветник за импортиране на работния плот или системна услуга може да опакова зависимостите вместо вас и да приложи собствени правила. Той може да използва и различна работна директория от тази, в която сте тествали. Потвърдете как вашият метод за стартиране разрешава пътищата до ключа, сертификата и CA. Преместването само на файла .ovpn не премества отделния частен ключ.
Пазете ключа четим само за предвидения потребител или идентичност на услугата.
Проверете предаването, а не имената на файловете
Преди първата разрешена връзка проверете крайната точка, идентичността на сертификата, издателя и срока на валидност. След това потвърдете, че препратките към файловете се разрешават от работната директория, която действително ще използвате. След свързване тествайте поведението на приложенията и DNS, което маршрутната политика трябва да осигури. Три четими файла не доказват нищо за оторизацията на сървъра или за използваем път до ресурс.
Ако се появи подкана за паролна фраза, тя принадлежи на частния ключ, а не на VPN акаунт.
Накрая, инвентаризирайте пакета като материал за идентификация. Предаването на същия сертификат и ключ на втори лаптоп копира идентичността, а преименуването на файла не ви дава второ записване. Това е разликата между сглобяване на профил и издаването му.