Защитите установку домашнего помощника с помощью бесплатного SSL-сертификата
СДЕЛАЙ САМ

Защитите установку домашнего помощника с помощью бесплатного SSL-сертификата

Установите безопасный удаленный доступ к серверу Home Assistant с помощью бесплатного дополнения Lets Encrypt

Доступное для систем Windows, macOS и Linux (включая Raspberry Pi), программное обеспечение Home Assistant с открытым исходным кодом выступает в качестве центрального узла для управления всеми вашими умными устройствами для всех ваших потребностей в домашней автоматизации

Если вы хотите получить удаленный доступ к вашему серверу Home Assistant, будь то с помощью DDNS или Cloudflare Tunnel, вы должны зашифровать источник с помощью SSL/TLS сертификата. К счастью, вы можете использовать бесплатное дополнение Lets Encrypt для генерации и настройки SSL/TLS сертификата на Home Assistant и добавления его на ваш сервер

Методы установки SSL/TLS сертификата на Home Assistant

Let’s Encrypt – это популярный способ установки бесплатного SSL/TLS на веб-сайты. Мы также можем использовать Let’s Encrypt для защиты нашего сервера Home Assistant, следуя одному из следующих методов:

  • HTTP Challenge: В этом методе вы используете бесплатную службу DDNS и настраиваете перенаправление порта (порт 80) на вашем маршрутизаторе.
  • DNS Challenge: В этом методе вы регистрируете бесплатный или платный домен и используете безопасный туннель Cloudflare. Вам не нужно открывать порты на маршрутизаторе, и поэтому этот метод более безопасен.
  • Кроме того, метод HTTP-вызова намного длиннее и сложнее. Метод вызова DNS с использованием безопасного туннеля Cloudflare проще в применении и развертывании

    Итак, в этом руководстве мы будем использовать Cloudflare и Let ;s Encrypt для защиты нашего экземпляра Home Assistant и удаленного доступа к нему через HTTPS-соединение. Однако, если вы все еще хотите использовать метод DDNS, следуйте официальному руководству по Home Assistant

    Необходимые условия для генерации SSL

    Для настройки и установки SSL-сертификата на Home Assistant с использованием метода DNS-запроса для защищенного доступа вам понадобится следующее:

  • Учетная запись Cloudflare.
  • Зарегистрированное доменное имя. Вы можете получить бесплатный домен на сайте Freenom.com или зарегистрировать новый домен у любого поставщика услуг, например GoDaddy.
  • После регистрации домена добавьте его в учетную запись Cloudflare и включите опцию HTTPS в настройках SSL/TLS в Cloudflare

    На данный момент выберите Flexible. Как только вы развернете SSL-сертификат на сервере Home Assistant с помощью Let ;s Encrypt, вы сможете включить опцию Full для сквозного шифрования

    После включения опции HTTPS продолжайте выполнять следующие шаги для установки Let ;s Encrypt и развертывания SSL-сертификата на сервере

    Развертывание туннеля Cloudflare

    Развернув Cloudflare Tunnel, вы сможете получить удаленный доступ к серверу Home Assistant по HTTPS. Кроме того, это поможет выполнить DNS-запрос для установки SSL-сертификатов на наш сервер Home Assistant. Шаги следующие:

    1. Перейдите по ссылке дополнения Cloudflared и нажмите Open Link.
    2. Нажмите Добавить, чтобы добавить хранилище Cloudflared на сервер Home Assistant.
    3. Теперь найдите и щелкните дополнение Cloudflared.
    4. Нажмите Установить. Дождитесь завершения установки.
    5. После установки дополнения Cloudflared перейдите на вкладку Конфигурация.
    6. Нажмите на три точки в правом верхнем углу и вставьте следующий код.
      additional_hosts:
      hostnameYourDomainName.com
      service: http://HomeAssistantIPAddress:8123
      external_hostnameYourDomainName.com

    7. Нажмите кнопку Сохранить.
    8. Также добавьте следующий код в файл configuration.yaml.
      http:
      use_x_forwarded_for: true
    9. Сохраните и перезапустите сервер Home Assistant Server.
    10. После перезапуска запустите дополнение Cloudflared и включите опцию Start on boot для этого дополнения.
    11. Откройте вкладку Журнал на странице дополнения Cloudflared и скопируйте отображаемый веб-адрес в веб-браузер. Откроется страница Cloudflare.
    12. Войдите в Cloudflare, используя зарегистрированную учетную запись электронной почты, а затем выберите доменное имя.
    13. Нажмите кнопку Авторизация.
    14. Вернитесь в раздел Журнал дополнения Home Assistant Cloudflared и проверьте, успешно ли прошла авторизация. Если да, то будет создан безопасный туннель, чтобы открыть ваш сервер Home Assistant в Интернете через HTTPS. Однако он еще не зашифрован из конца в конец.

    Получение API-ключа Cloudflare

    API Cloudflare нужен для выполнения DNS-запроса, необходимого для развертывания SSL/TLS-сертификата на сервере Home Assistant. Шаги следующие:

    1. Войдите в свою учетную запись Cloudflare и перейдите на страницу https://dash.cloudflare.com/profile.
    2. Нажмите API Tokens.
    3. Нажмите Создать API-токен, а затем нажмите кнопку Использовать шаблон рядом с опцией Редактировать DNS зоны.
    4. Выберите опцию Specific Zone и затем выберите имя вашего домена из выпадающего списка в разделе Zone Resources.
    5. Нажмите Continue to summary и затем нажмите Create Token.
    6. Скопируйте сгенерированный токен API и сохраните его. Он понадобится вам во время настройки Let ;s Encrypt.

    Установите дополнение Let ;s Encrypt

    На сервере Home Assistant выполните следующие шаги для установки дополнения Let ;s Encrypt

    1. Перейдите в раздел Настройки > Дополнения.
    2. Нажмите кнопку ADD-ON STORE.
    3. Найдите и нажмите на letsencrypt.
    4. Нажмите на кнопку INSTALL.
    5. Пока не запускайте дополнение.

    Настройка Let ;s Encrypt

    Для установки сертификата на сервер необходимо добавить данные нашего домена и Cloudflare API в конфигурационный файл Let ;s Encrypt. Для этого выполните следующие шаги:

    1. На странице конфигурации Let ;s Encrypt перейдите на вкладку Configuration.
    2. Нажмите на три точки в правом верхнем углу и выберите Изменить в YAML.
    3. В поле Параметры вставьте следующий код. Обязательно замените YourDomainName.com на ваше доменное имя. Также отредактируйте идентификатор электронной почты, электронную почту Cloudflare и API-токен (вы создали их на предыдущих шагах, поэтому вставьте их сюда).
      domains: -
      '*.YourDomainName.com'
      emailYour.Email@gmail.com
      keyfileprivkey.pem
      certfilefullchain.pem

    4. Нажмите кнопку Сохранить.

    Генерирование SSL/TLS-сертификата

    После сохранения информации перейдите на вкладку Информация в дополнении Let ;s Encrypt на сервере Home Assistant и нажмите кнопку Начать

    Это запустит дополнение Let ;s Encrypt, которое будет использовать информацию, предоставленную вами в конфигурационном файле, для завершения DNS-запроса и установки необходимого SSL/TLS-сертификата на ваш сервер Home Assistant

    Это займет некоторое время. Мы настоятельно рекомендуем вам перейти на вкладку Журнал и следить за журналами (постоянно обновлять). Если возникнет какая-либо ошибка, например, неверный API или учетные данные, вы можете исправить ее и снова запустить дополнение Let ;s Encrypt, чтобы завершить установку SSL/TLS-сертификата на сервере Home Assistant

    Если все прошло успешно, сертификаты будут сгенерированы и установлены. Бесплатный сертификат будет действителен в течение трех месяцев. По истечении трех месяцев или непосредственно перед окончанием третьего месяца вы можете снова запустить дополнение Let ;s Encrypt, чтобы обновить сертификаты

    На этом этапе вы можете войти в свою учетную запись Cloudflare и включить полный режим в разделе SSL/TLS для сквозного шифрования

    Поздравляем! Вы успешно сгенерировали и установили сертификат SSL/TLS на ваш сервер Home Assistant

    Бесплатный SSL и удаленный доступ

    С помощью этого подробного руководства по настройке SSL/TLS-сертификатов на сервере Home Assistant каждый сможет быстро настроить и установить сертификаты и защитить свой экземпляр сервера Home Assistant. С помощью Cloudflare Tunnel ваш экземпляр Home Assistant также будет зашифрован из конца в конец. Это также позволяет получить доступ к серверу Home Assistant и всем вашим устройствам и локальным серверам из любой точки мира

    Об авторе

    Алексей Белоусов

    Привет, меня зовут Филипп. Я фрилансер энтузиаст . В свободное время занимаюсь переводом статей и пишу о потребительских технологиях для широкого круга изданий , не переставая питать большую страсть ко всему мобильному =)

    Комментировать

    Оставить комментарий