Comments 9
Старайтесь избегать использования абсолютных путей.
Вместо
ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"
Можно записть его прямо в файл конфигурации:
<ca>
-----BEGIN CERTIFICATE-----
текст самого сертификата
-----END CERTIFICATE-----
</ca>
Есть вероятность что в вашем случае такое не заработает.
Вот это тоже нет необходимости указывать.
log "C:\\Program Files\\OpenVPN\\log\\client.log"
log-append "C:\\Program Files\\OpenVPN\\log\\client.log"
Можно это указать так:
log "..\\log\\client.log"
log-append "..\\log\\client.log"
Хотя имеет ли смысл указывать логи, ведь они сами называются согласно имени файла конфигруации.
Файли имеет имя client_office_tcp.ovpn, то файл лога будет называться client_office_tcp.log в папке log.
И да, "web-админка" уже есть: https://github.com/furlongm/openvpn-monitor
По крайней мере она меня устраивает.
Либо логи указать так:
log "../log/client.log"
log-append "../log/client.log"
Можно это указать так:
log "..\\log\\client.log"
log-append "..\\log\\client.log"
В официальном гайде предлагают использовать абсолютные пути, но если это так работает тоже, ок! пусть будет так.
P.S. В новых версиях похоже эта директива вообще игнорируется, предполагаю что значения берутся из реестра, и настраиваются через GUI
И да, «web-админка» уже есть: https://github.com/furlongm/openvpn-monitor
По крайней мере она меня устраивает.
Судя по описанию это монитор. Но спасибо за наводку. Говоря про админку, я имел в виду написания приложения через которое можно было бы управлять пользователями(добавлять, отключать и тп), правилами, группами и т.д.
Просто использование путей уменьшает универсальность конфига, его невозможно (наверное) использовать в других ОС системах без изменений.
Официальные гайды, похоже, мало когда актуализируют.
Ну да, это монитор, поэтому и написал в кавычках.
Всё же использование ldap как-то более универсально, чем использование велосипедов, но это дело вкуса.
Привязываем OpenVPN к базе AD через openvpn-plugin-auth-pam.so и живем спокойно.
Не замучаетесь на личных уст-вах пользователей ставить сертификаты? Особенно для планктона.
Правильнее, ИМХО, один сертификат на всех + пароль/логин при подключении.
Какой смысл создавать под каждого пользователя правило в пакетном фильтре?
Правильнее, сертификаты и ключи пользователей прописывать в файле конфига пользователя, как уже было предложено ранее.
Используйте tls-auth для предотвращения тупого долбления на сервер.
Затем, все пользовательские данные — инсталлятор клиента, конфиг, RDP файлы сворачиваются в самораспаковывающийся архив со скриптом, переписывающим все в нужные каталоги на компе пользователя и выкладывается на FTP/HTTP сервер.
Напоминает изобретение велосипеда, ИМХО.
Привязываем OpenVPN к базе AD через openvpn-plugin-auth-pam.so и живем спокойно.
Если кто нибудь напишет модуль openvpn-plugin-auth-sql.so это перестанет быть велосипедом?!
Вы тем кто скрещивает exim с psql или mysql тоже советуется не выдумывать велосипед и прикручивать его к ldap? Модуль то есть такой. И как быть тогда тем, у кого нет AD, поднимать его специально для хранения учеток?
Но посыл этой статьи не в том, где по вашему мнению должны хранится учетки, а в том что Openvpn(и не только он), зачастую позволяет отойти от шаблонов, и реализовать то, чего требую обстоятельства…
Правильнее, ИМХО, один сертификат на всех + пароль/логин при подключении.
Все от задач. Где-то можно вообще в общий доступ все выложить. где то нужны ключи зашитые в eToken
Какой смысл создавать под каждого пользователя правило в пакетном фильтре?
Тот же ответ. Разным группам сотрудников нужны разные уровни доступа. Кому-то к одному сайту, кому-то к другому сайту, почте, сетевым ресурсам и тп.
И да, поднять контроллер AD стоит даже для такой задачи, виртуализация возможна сейчас практически на любых плаформах и ресурсах. Кроме всего прочего, можно использовать для авторизиции для Squid, Socks, Wi-Fi и т.д.
поднять контроллер AD стоит даже для такой задачи, виртуализация возможна сейчас практически на любых плаформах и ресурсах
То есть всегда стоит добавить например в linux-only инфраструктуру ещё один тип ОС, заводить для него мониторинг, установку обновлений безопасности, обеспечение отказоустойчивости, интеграцию с DNS? И ещё заплатить за это денег
И да, поднять контроллер AD стоит даже для такой задачи, виртуализация возможна сейчас практически на любых плаформах и ресурсах
а деньги за лицензии кто будет платить? АД как бы платный. Тогда уж смотреть в сторону OpenLDAP.
Если Вы ставили своей задачей составить хитроумное решения для тренировки интеллекта, то Вы сделали это прекрасно
вполне реальная задача, имхо. У меня было нечто подобное на AWS. Когда мы делали единую точку входа на нескольких аккаунтах, на каждом из которых использовались по 2-3 региона. И вот там надо было на основе имени пользователя давать/не давать права доступа в определенный аккаунт/регион/подсеть/vpc.
Использование скриптов в Openvpn для интеграции его с другими сервисами системы (Firewall, DB и т.д.)