Настройка SSL в TrueNAS: сертификаты, Let's Encrypt, ошибки | AdminWiki
Timeweb Cloud — сервера, Kubernetes, S3, Terraform. Лучшие цены IaaS.
Попробовать

SSL в TrueNAS: Полное руководство по настройке и устранению ошибок

06 февраля 2026 7 мин. чтения #Let's Encrypt #https #ssl #tls #truenas #webui #безопасность #сертификаты

Представь, что ты заходишь в веб-интерфейс своего TrueNAS сервера и видишь пугающее предупреждение браузера о небезопасном соединении. Знакомо? Это стандартное поведение при использовании самоподписанного SSL-сертификата. Давай разберем, как превратить это предупреждение в зеленый замочек и обеспечить безопасное шифрование трафика к твоему NAS.

Зачем нужен SSL в TrueNAS?

SSL (Secure Sockets Layer) и его преемник TLS (Transport Layer Security) — это протоколы, которые шифруют соединение между твоим браузером и сервером TrueNAS. Без них:

  • Твои учетные данные (логин и пароль) передаются в открытом виде
  • Данные конфигурации могут быть перехвачены
  • Возможна атака "человек посередине" (MITM)
Важно: Даже если твой TrueNAS находится в локальной сети, настройка SSL — это best practice. Особенно критично при удаленном доступе через интернет.

Три способа настройки SSL в TrueNAS

В TrueNAS Scale и Core есть несколько вариантов получения SSL-сертификата. Давай сравним их:

Метод Сложность Стоимость Доверие браузеров Срок действия
Самоподписанный Низкая Бесплатно Нет (требует исключения) Любой
Let's Encrypt Средняя Бесплатно Полное 90 дней
Коммерческий SSL Средняя Платно Полное 1-2 года

Способ 1: Самоподписанный сертификат (быстрый старт)

Это вариант по умолчанию. TrueNAS автоматически генерирует самоподписанный сертификат при установке. Чтобы создать новый или перегенерировать:

bash
# Через SSH или консоль TrueNAS
# Генерация приватного ключа и CSR
openssl req -new -newkey rsa:2048 -nodes -keyout truenas.key -out truenas.csr

# Создание самоподписанного сертификата
openssl x509 -req -days 365 -in truenas.csr -signkey truenas.key -out truenas.crt

Затем в веб-интерфейсе TrueNAS:

  1. Перейди в System → Certificates
  2. Нажми AddImport Certificate
  3. Загрузи файлы .crt и .key
  4. Перейди в System → General
  5. В разделе "GUI" выбери новый сертификат в поле "Web Interface SSL Certificate"
  6. Сохрани и перезагрузи веб-интерфейс
Внимание: Браузеры будут показывать предупреждение безопасности для самоподписанных сертификатов. Тебе нужно будет добавить исключение вручную.

Способ 2: Let's Encrypt (бесплатный и доверенный)

Для использования Let's Encrypt тебе понадобится:

  • Доменное имя, указывающее на твой TrueNAS (или динамический DNS)
  • Порт 80, открытый для входящих подключений из интернета (для HTTP-01 challenge)
  • Или возможность настроить DNS-записи (для DNS-01 challenge)

Настройка через веб-интерфейс TrueNAS Scale:

  1. System → Certificates
  2. Нажми AddACME DNS Authenticator (если используешь DNS challenge)
  3. Выбери провайдера DNS (Cloudflare, DigitalOcean и др.) и введи API ключи
  4. Вернись в CertificatesAddACME Certificate
  5. Заполни поля:
    config
    Domain: nas.tvoi-domain.com
    ACME DNS Authenticator: [Выбери созданный ранее]
    Certificate Lifetime (days): 90
    Renew Certificate Days Before Expiry: 30
  6. Нажми Save — сертификат будет автоматически получен и установлен

Способ 3: Импорт коммерческого SSL-сертификата

Если ты купил SSL у провайдера вроде Comodo, Symantec или DigiCert:

  1. Получи от провайдера три файла:
    • your_domain.crt — твой сертификат
    • ca_bundle.crt — цепочка доверия (intermediate certificates)
    • private.key — приватный ключ (его ты генерировал при создании CSR)
  2. Объедини сертификат и цепочку доверия:
    bash
    cat your_domain.crt ca_bundle.crt > combined.crt
  3. В TrueNAS: System → Certificates → Add → Import Certificate
  4. Загрузи combined.crt как Certificate и private.key как Private Key

Настройка веб-сервера для SSL в TrueNAS

После установки сертификата нужно настроить веб-сервер (nginx в TrueNAS Scale):

config
# Пример конфигурации nginx для SSL
server {
    listen 443 ssl http2;
    server_name nas.tvoi-domain.com;
    
    ssl_certificate /etc/certificates/truenas.crt;
    ssl_certificate_key /etc/certificates/truenas.key;
    
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512;
    ssl_prefer_server_ciphers off;
    
    # Остальная конфигурация...
}

В TrueNAS эта конфигурация управляется автоматически. Но ты можешь добавить кастомные настройки через:

  • System → Advanced → поле "Additional SSL Certificates"
  • Или через middleware, если используешь TrueNAS API

Распространенные ошибки SSL и их решение

Ошибка: "NET::ERR_CERT_AUTHORITY_INVALID"

Причина: Браузер не доверяет центру сертификации.

Решение для самоподписанных сертификатов:

  1. Экспортируй сертификат из TrueNAS (System → Certificates → Export)
  2. Импортируй его в хранилище доверенных корневых сертификатов на клиентских машинах
  3. Для Windows: certlm.msc → Trusted Root Certification Authorities
  4. Для Linux: скопируй в /usr/local/share/ca-certificates/ и выполни update-ca-certificates

Ошибка: "SSL_ERROR_BAD_CERT_DOMAIN"

Причина: Имя в сертификате не совпадает с именем, по которому ты обращаешься к серверу.

Решение:

  • Убедись, что в сертификате указано правильное доменное имя или IP
  • Для локального использования добавь альтернативные имена (Subject Alternative Names):
    bash
    openssl req -new -newkey rsa:2048 -nodes -keyout truenas.key \
      -out truenas.csr -addext "subjectAltName = DNS:nas.local,IP:192.168.1.100"

Let's Encrypt не обновляется автоматически

Решение: Проверь настройки автоматического обновления:

bash
# Проверь задачи cron для обновления сертификатов
midclt call core.get_jobs | grep -i cert

# Запусти обновление вручную
midclt call certificate.update_acme_certificate [ID_сертификата]

Дополнительные настройки безопасности

После настройки SSL рекомендую:

  • Включить HSTS (HTTP Strict Transport Security) — принудительное использование HTTPS
  • Настроить редирект с HTTP на HTTPS в настройках GUI
  • Использовать современные протоколы TLS 1.2/1.3 и отключить устаревшие SSLv3, TLS 1.0/1.1
  • Регулярно обновлять сертификаты (особенно Let's Encrypt с 90-дневным сроком)
Pro tip: Для мониторинга срока действия сертификатов используй утилиту certbot с опцией --renew-hook или настрой оповещения в TrueNAS через System → Alert Services.

Часто задаваемые вопросы (FAQ)

Можно ли использовать один SSL сертификат для нескольких сервисов TrueNAS?

Да, если в сертификате указаны все необходимые имена (Subject Alternative Names). Например, можно добавить nas.domain.com, nextcloud.domain.com, *.domain.com (wildcard) в один сертификат.

Как проверить, правильно ли настроен SSL?

Используй онлайн-инструменты вроде SSL Labs (ssllabs.com/ssltest) или команду:
openssl s_client -connect nas.tvoi-domain.com:443 -servername nas.tvoi-domain.com

Что делать, если после обновления SSL перестал работать веб-интерфейс?

1. Проверь правильность объединения цепочки сертификатов.
2. Убедись, что приватный ключ соответствует сертификату.
3. Временно переключись на самоподписанный сертификат через консоль:
midclt call system.general.update '{"ui_certificate": {"id": ID_старого_сертификата}}'

Нужно ли настраивать SSL для доступа по IP-адресу?

Технически можно, но браузеры будут показывать предупреждение, так как сертификаты привязаны к доменным именам, а не IP. Лучше использовать локальное доменное имя (например, через /etc/hosts или локальный DNS).

Итог: какой метод выбрать?

  • Для домашнего использования в локальной сети — самоподписанный сертификат с импортом в доверенные хранилища
  • Для доступа из интернета с доменным именем — Let's Encrypt (бесплатно и автоматически)
  • Для корпоративных сред с требованиями compliance — коммерческий SSL от доверенного центра

Помни: правильно настроенный SSL — это не просто зеленый замочек в браузере. Это фундаментальный элемент безопасности твоей инфраструктуры хранения данных.

Поделиться:
Сохранить гайд? В закладки браузера