Як зібрати клієнтський профіль 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.
Нарешті, проведіть інвентаризацію пакета як матеріалу облікових даних. Передавання того самого сертифіката й ключа на другий ноутбук копіює ідентичність, а перейменування файлу не дає другої реєстрації. У цьому різниця між складанням профілю та його видачею.