Обновить
1
0.1

Пользователь

Отправить сообщение

А, вы в этом плане. Вообще вариант, но я думал может что за годы еще придумали. Обслуживать подобную схему пока видится сложноватым, бизнесу такое не отдашь - мозги вынесут.

Еще есть вариант использовать bepasty (со сроком жизни файла) или других аналогов пастбина для передачи конфигов.

При наличии gitlab/forgejo или какой-то еще приблуды с oci registry есть oras cli. Накручиваем пайплайн и вот она - машина для pki, которая явно бэкапится.

export-p12 (кажется так в easy-rsa) в помощь. Можно inline в виде base64 в конфиг, можно отдельно передавать для импорта в хранилище (windows cert store, mac keychain, android keystore. В ios в openvpn connect куда-то под себя) с вводом пароля для импорта.

С дури можно и фингерпринтами рулить

Что подразумевается под передачей приватного ключа по сети?

When the --peer-fingerprint option is used, specifying a CA with --ca or --capath is optional. This allows the he --peer-fingerprint to be used as alternative to a PKI with self-signed certificates for small setups.

Вот тут я согласен с разработчиками. Хорошо, что есть возможность, но при сетапе на пару-тройку сотен динамично меняющихся людей ( условный колл-центр) это выглядит как ад. Особенно при схеме выдает иб, настраивает на тачках техпод, а ты отдаешь инфру и пайплайн.

А можно вот это чуть подробнее?

BF-CBC планомерно выпиливается из всего. Лучше посмотреть, какие алгоритмы поддерживаются в последнем доступном клиенте (что-то типа openvpn —show-ciphers) и подкрутить конфиг. Вроде в XP уже должна быть поддержка aes128.

уронить ipsec ума не надо - просто дропнуть порт.

Вот пушить роуты в клиентов в wg самое больное место было. В netbird вроде реализовали некий аналог control channel в openvpn, но нет альтернативных клиентов (или я не нашел), а это риск однажды увидеть на мобилках «данное приложение недоступно в вашем регионе».

UPD. Про crl немного попутал. Он считывается при новом подключении или при пересогласовании уже имеющейся сессии, а там дефолт час. Т.е можно провернуть kill и с crl.pem для быстрого блока. Только я бы дергал апдейт не кроном, а какой-то тулзой, умеющей в inotify/fsevents типа lsyncd, если использовать easy-rsa на отдельной машине, а не крутить пайплайны

К слову, если использовать tcp, то в опенвпн есть —port-share args. Возможно даже работает, но это не точно.

1) скорее избавился от обертки на баш для дерганья openssl и можно извращаться с передачей контента в openssl в стиле -in <aws s3 cp filename -) без сохранения чувствительных данных на диске

2) это описано в официальном мане openvpn. Pem перечитывается раз в час, если правильно помню, а в dir смотрит при попытке подключения. Таким образом при наличии файла и посланного kill в менеджмент сокет получается выбить сессию с минимальным лагом и без необходимости рестарта самого сервиса.

3) txqueuelen 1000, как и у eth. Буферы на сервере надо подбирать исходя из ресурсов машины и наличия тюна сетевухи. Клиенту пушил 0, чтобы использовались оптимальные значения его ОС. Почему - для лучшей утилизации канала.

4) пушить туда можно фиксированный ip, маршруты, dns сервера, домены для резолва. Тоже есть в мане. Было актуально для split-dns, но тут есть нюансы в разных клиентах. В версии 2.7 обещают это переосмыслить, но пока все в бете.

5) прожевывается легче, чем старый добрый aes-cbc/ctr.

6) можно, но не очевидно. Дергать модуль shell с конкретными флагами openssl было более наглядно.

Ну и для кучи - отключать сжатие или ставить compress stubv2 для совместимости со старыми клиентами (сами разрабы рекомендуют для секьюрности).

В итоге синтетика с локальным спидтестом при использовании udp выдавала метров 250-300 сидя на вайфае, при провайдерском тарифе 500

1) Года 4 назад отказался от easy-rsa и накрутил в ансибле нужные рычаги openssl и ямлы.
2) CRL.pem выкинул и использую crl-verify dir, куда кладется файл с именем равным серийнику серта. Дало возможность без особых танцев проводить временную блокировку подключения.
3) Подкрутил на сервере txqueuelen (в дефолте он сотка) и sndbuf/rcvbuf.
4) Для пушей использую client-config-dir - каждому пользователю улетает только то, что надо именно ему.
5) Поигрался с cipher - оставил только AEAD алгоритмы.
6) Отказался от rsa в пользу ec. Соответственно dh заменил на ecdh. Да, серты пришлось постепенно перевыдавать.

Возможно дойдут руки поиграться с их Data Channel Offload, который выносит крипту из юзерспейса, но пока производительность устраивает и так.

Как обладатель макбука, стоящего за моником, могу сказать - да, с блютусной клавы и мыша он выходит из спящего режима. Как оно там работает - до лампочки.

Из личного опыта:

1) можно создать в client-config-dir конфиг DEFAULT и пушить всем клиентам одинаковые настройки. Удобно в случае отдельного openvpn для десятков человек с однотипным доступом.

2) Ещё можно указать crl-verify как директорию, в нее класть пустой файл, с условием - имя файла совпадает с серийным номером нужного сертификата в десятичном формате. Наличие такого файла проверяется при каждом подключении клиента, в то время как crl.pem перечитывается раз в час, если память не подводит. Надо разлочить - просто удаляешь нужный файл.

В моем случае domain.com это образец. user fqdn (в документациях циски его называют просто email) это же просто ID — в IKEv1 в роли него выступал ip, в IKEv2 появилось разнообразие. Т.е мы не знаем, с какого ip к нам придут, потому разрешаем any (0.0.0.0), но при этом знаем, что он должен представиться определенным образом, в данном случае в виде псевдо-email. Такая схема у меня связала strongswan с фиксированым адресом и mikrotik, который физически непонятно где, типа коворкинга.
IKEv2/IPSeC умеет в виде ID использовать user fqdn — specifies a fully-qualified username string, for example, «user@domain.com». Даже DNS не нужен.
Таки есть в этом мире места, где апдейт пакетной базы при выходе заплатки, в ближайшее тех.окно после свершения сего факта — обязательная процедура.
Будни техподдержки.
1

Информация

В рейтинге
3 569-й
Зарегистрирован
Активность