Я настроил Synology DSM для получения и обновления сертификатов от Let's Encrypt с помощью acme.sh
.
Проблема заключается в следующем:
- Пакет Synology VPN Center автоматически выбирает сертификат по умолчанию при каждом его изменении.
- Я не могу найти способ заставить клиентов OpenVPN просто доверять публичным сертификатам.
- Сертификат обновляется каждые 2 месяца, и разрешить моим пользователям обновлять свои файлы конфигурации так часто нецелесообразно
.ovpn
. - Несмотря на то, что у меня есть необходимые знания в области Linux, я предпочитаю не изменять программное обеспечение поставщика, если в этом нет крайней необходимости.
Как мне это сделать, чтобы позволить моим пользователям подключаться к этому серверу OpenVPN на Synology DSM?
решение1
Не делай этого.
Во-первых, собственные руководства OpenVPN предполагают, что не рекомендуется использовать публичный CA. OpenVPN будет доверять любому сертификату, опубликованному этим CA. Я сомневаюсь, что вы ожидаете, что любой владелец сертификата, выпущенного сторонним CA, сможет подключиться к вашему VPN.
Во-вторых, нет смысла использовать публичный CA для частного сервиса. Благодаря VPN, это частный сервис, который не ожидает, что посторонние подключатся или будут доверять вашему сервису. У него есть действующая и удобная точка распространения корневых сертификатов — вместе с файлом конфигурации VPN (вероятно, встроенным в него), который вы в любом случае должны распространять среди клиентов. Также у него есть отдельное хранилище сертификатов. Все это требует частного VPN. Таким образом, нет никаких недостатков использования частного CA для VPN по сравнению, скажем, с использованием его для публичного HTTPS, потому что вы распространяете сертификат CA. Кстати, даже HTTPS имеет допустимое использование для частного CA — там же, где и VPN, для проверки клиентского сертификата; в этом случае вы все равно можете использовать публичный сертификат для сервера, но клиентские сертификаты подписываются вашим частным CA.
В-третьих, Let's Encrypt выпускает сертификаты, проверенные доменом, сВеб-сервер TLSцель. При правильной настройке OpenVPN вы можете установить только такой сертификат на сервер. Клиентские сертификаты должны иметь обратную черту —Веб-клиент TLSцель. Let's Encrypt не выдает такие сертификаты.
OpenVPN был разработан с учетом частного, специального CA, предназначенного только для этого VPN. Они предоставляют набор скриптов для создания такого CA, он называется EasyRSA. Он действительно прост в использовании. Если вы не хотите его использовать (и у вас есть веская причина), вы можете использовать что-то другое для создания этого частного CA, например, мы когда-то использовали для этого MS AD Certification Services.