# SSL сертификаты

По умолчанию в компонентах HOSTVM VDI используются предустановленные самоподписанные сертификаты. Использование этих сертификатов предполагается для тестовых сред, в остальных случаях рекомендуется установка действительных сертификатов, используемых в конечной инфраструктуре.&#x20;

## **Действия на балансировщике (haproxy)** <a href="#haproxy" id="haproxy"></a>

{% hint style="warning" %}

* Перед началом работ выполните резервное копирование текущих сертификатов для обеспечения возможности возврата к предыдущей конфигурации.
* Действия необходимо выполнить на каждом балансировщике.
  {% endhint %}

### **Требования к сертификату** <a href="#cert-requirements" id="cert-requirements"></a>

* Сертификат и приватный ключ должны быть выпущены на полное доменное имя балансировщика (FQDN), используемое для доступа к брокерам HOSTVM VDI (порталам  пользователя и администратора).
* Указанное FQDN должно соответствовать DNS-записи и статическому виртуальному IP-адресу (VIP) балансировщика.

### **Процедура замены** <a href="#cert-change-procedure" id="cert-change-procedure"></a>

Замените сертификат и приватный ключ, воспользовавшись разделом "Настройка SSL сертификатов" документа ["Установка и настройка балансировщика HAProxy"](https://kb.pvhostvm.ru/hostvm-vdi/hostvm-vdi-installation-guide/haproxy#ssl-certificates).

## **Действия на туннелере (шлюзе)** <a href="#tunneler" id="tunneler"></a>

{% hint style="warning" %}
Действия необходимо выполнить на каждом туннелере.
{% endhint %}

### **Добавление корневого сертификата** <a href="#add-ca" id="add-ca"></a>

Добавьте в хранилище доверенных корневых сертификатов CA сертификат центра сертификации, выпустившего сертификат для балансировщика.

Воспользуйтесь одной из нижеприведенных инструкций в зависимости от используемой операционной системы туннелера:

* **РЕД ОС:** "[Сертификаты](https://kb.pvhostvm.ru/hostvm-vdi/tunneler-appliance-deploy/red-os#certificates)"
* **ALT Linux:** "[Сертификаты](https://kb.pvhostvm.ru/hostvm-vdi/tunneler-appliance-deploy/alt-linux#certificates)"
* **Debian / Virtual Appliance (OVA):** "[Сертификаты](https://kb.pvhostvm.ru/hostvm-vdi/tunneler-appliance-deploy#ssl-certificates-35)"

### **Обновление конфигурации туннелера** <a href="#update-config" id="update-config"></a>

После замены сертификатов на балансировщиках и добавления корневого CA сертификата необходимо выполнить обновление конфигурации.

Запустите мастер установки и следуйте его указаниям. Воспользуйтесь одной из нижеприведенных инструкций в зависимости от используемой операционной системы туннелера:

* **РЕД ОС** "[Мастер установки](https://kb.pvhostvm.ru/hostvm-vdi/tunneler-appliance-deploy/red-os#setup-wizard)"
* **ALT Linux:**"[Мастер установки](https://kb.pvhostvm.ru/hostvm-vdi/hostvm-vdi-ova-install/alt-linux#install)"
* **Debian / Virtual Appliance (OVA):** "[Мастер установки ](https://kb.pvhostvm.ru/hostvm-vdi/hostvm-vdi-ova-install/debian#install)"

Важные моменты при переконфигурации:

* Шаг 1: На вопрос `IP адрес или FQDN брокера:` обязательно укажите FQDN балансировщика, на который выпущен новый сертификат. Не используйте IP-адрес;
* Шаг 2: При авторизации на брокере используйте учетную запись с правами администратора;
* Шаг 3: На вопрос `Хотите сгенерировать новый сертификат? [y/N]:` обязательно ответьте N (нет). Ответ y (да) приведет к генерации самоподписанного сертификата, что нарушит цепочку доверия.

#### Пример успешной конфигурации <a href="#config-example" id="config-example"></a>

```
Добро пожаловать в мастер установки HOSTVM VDI Tunneler.
Этот мастер шаг за шагом проведет вас через процесс установки.
Пожалуйста, заполните все поля корректными значениями.
Тип соединения с брокером (http или https): https
IP адрес или FQDN брокера: hostvm-haproxy.hostvm.test
На брокере доступны следующие аутентификаторы:
hostvm.local
hostvm.test
local
Укажите аутентификатор из списка доступных, либо оставьте пустым, если используете встроенную учетную запись администратора:
Имя пользователя: root
Пароль:
Конфигурация системы...
У вас уже есть сгенерированный сертификат!
Хотите сгенерировать новый сертификат? [y/N]: n
Установка завершена.

```

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

#### **Пример типовой ошибки при несоответствии FQDN балансировщика и сертификата** <a href="#common-cert-error" id="common-cert-error"></a>

Если введенный FQDN не совпадает с именем в сертификате балансировщика, система вернет ошибку:

{% code overflow="wrap" %}

```
Ошибка SSL подключения, проверьте действительность сертификата и адрес брокера:
HTTPSConnectionPool(host='hostvm-proxy.hostvm.test', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLCertVerificationError("hostname 'hostvm-proxy.hostvm.test' doesn't match 'hostvm-haproxy.hostvm.test'")))  
```

{% endcode %}

В этом случае убедитесь, что в процессе конфигурации вы корректно ввели FQDN балансировщика и установленный на нем сертификат выпущен именно на это имя. После выполнения проверки, запустите повторно обновление конфигурации туннелера.

После успешной замены сертификатов необходимо использовать имя балансировщика (FQDN) [при настройке туннелируемых подключений (транспортов) для работы через балансировщик](https://kb.pvhostvm.ru/hostvm-vdi/tunneler-appliance-deploy#nastroika-transporta-v-paneli-upravleniya-hostvm-vdi).

Используйте сгенерированный сертификат балансировщика при [настройке сертификатов для HTML5 подключений.](https://kb.pvhostvm.ru/hostvm-vdi/tunneler-appliance-deploy#html5-certificate)
