TrueNAS сертификаты SSL/TLS: настройка, Let's Encrypt, импорт, обновление | AdminWiki

Настройка SSL/TLS сертификатов в TrueNAS: полное руководство для безопасного доступа

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

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

Что такое сертификаты в TrueNAS и зачем они нужны

SSL/TLS сертификаты в TrueNAS — это цифровые удостоверения, которые шифруют соединение между твоим браузером и веб-интерфейсом TrueNAS. Без них все данные передаются в открытом виде, что представляет серьезную угрозу безопасности, особенно если ты управляешь NAS из внешней сети.

Важно: Начиная с TrueNAS SCALE 22.12 и TrueNAS CORE 13.0, система по умолчанию требует HTTPS для доступа к веб-интерфейсу. Без правильно настроенного сертификата ты можешь столкнуться с блокировкой доступа.

Типы сертификатов в TrueNAS

TrueNAS поддерживает несколько источников сертификатов. Давай рассмотрим каждый вариант в таблице сравнения:

Тип сертификата Сложность настройки Стоимость Срок действия Лучше всего подходит для
Встроенный самоподписанный Очень легко Бесплатно Неограниченно Локальных сетей, тестирования
Let's Encrypt (ACME) Средняя Бесплатно 90 дней Публичных серверов с доменом
Импортированный (от коммерческого CA) Зависит от CA Платно 1-2 года Корпоративных сред
Самоподписанный ручной Сложно Бесплатно Настраивается Продвинутых пользователей

Настройка Let's Encrypt сертификатов в TrueNAS

Let's Encrypt — самый популярный выбор для публичных серверов. Вот пошаговая инструкция по настройке:

Шаг 1: Подготовка домена и DNS

Убедись, что у тебя есть:

  • Зарегистрированный домен (например, nas.mydomain.com)
  • Доступ к панели управления DNS твоего домена
  • Статический IP-адрес для твоего TrueNAS сервера

Шаг 2: Настройка DNS записи

Создай A-запись в DNS, указывающую на IP-адрес твоего TrueNAS:

dns-config
# Пример DNS записи:
Имя: nas
Тип: A
Значение: 192.168.1.100 (твой статический IP)
TTL: 3600

Шаг 3: Настройка ACME в TrueNAS

Перейди в раздел System → Certificates и нажми "Add" → "ACME"

webui-config
# Параметры конфигурации ACME:
Authenticator: DNS-Authenticator (выбери твоего провайдера DNS)
DNS-Authenticator: Cloudflare / Route53 / и т.д.
Domain: nas.mydomain.com
Email: your-email@example.com
Совет: Если твой провайдера DNS нет в списке, используй "Manual DNS" и настрой вызовы API вручную согласно документации Let's Encrypt.

Шаг 4: Назначение сертификата системным службам

После получения сертификата назначь его:

  1. System Settings → General
  2. В поле "UI Certificate" выбери новый Let's Encrypt сертификат
  3. Сохрани изменения и перезагрузи веб-интерфейс

Импорт собственных сертификатов в TrueNAS

Если у тебя уже есть сертификат от коммерческого центра сертификации или самоподписанный:

Формат файлов для импорта

TrueNAS требует три файла в формате PEM:

certificate-files
# Структура файлов:
1. certificate.crt — публичный сертификат
2. private.key — приватный ключ (без пароля!)
3. ca.crt — цепочка доверия (опционально, но рекомендуется)

Конвертация форматов (если нужно)

Если у тебя сертификат в формате PFX/P12 или другом:

bash
# Конвертация PFX в PEM
openssl pkcs12 -in certificate.pfx -out certificate.pem -nodes

# Разделение на отдельные файлы
# Извлечение приватного ключа:
openssl rsa -in certificate.pem -out private.key

# Извлечение сертификата:
openssl x509 -in certificate.pem -out certificate.crt

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

Сертификаты Let's Encrypt действительны 90 дней. Настрой автоматическое обновление:

cron-job
# Через Tasks → Cron Jobs в TrueNAS
Команда: midclt call certificate.renew 'id' где id — ID твоего ACME сертификата
Расписание: Каждые 60 дней (рекомендуется)

Проверка статуса сертификата через CLI

bash
# Просмотр всех сертификатов
midclt call certificate.query

# Проверка конкретного сертификата
midclt call certificate.get_instance 1

# Принудительное обновление ACME
midclt call certificate.renew 1

Решение распространенных проблем с сертификатами

Проблема: Браузер показывает "Небезопасно"

Решение:

  • Проверь, что сертификат назначен в System → General
  • Убедись, что домен в сертификате совпадает с адресом, по которому ты заходишь
  • Проверь дату действия сертификата

Проблема: Ошибка "NET::ERR_CERT_AUTHORITY_INVALID"

Решение:

  • Импортируй промежуточные сертификаты (CA chain) в TrueNAS
  • Для самоподписанных сертификатов — добавь сертификат в доверенные в ОС

Проблема: Let's Encrypt не обновляется

Решение:

  • Проверь правильность DNS записей (dig nas.mydomain.com)
  • Убедись, что порт 80/443 открыт для входящих соединений с интернета
  • Проверь логи ACME: tail -f /var/log/middleware.log | grep acme
Предупреждение: Никогда не используй один и тот же приватный ключ для нескольких сервисов. Если скомпрометирован один сервис, будут скомпрометированы все.

Безопасное хранение и резервное копирование сертификатов

Сертификаты — критически важные данные. Настрой резервное копирование:

backup-script
#!/bin/bash
# Скрипт резервного копирования сертификатов
BACKUP_DIR="/mnt/pool/backups/certificates"
DATE=$(date +%Y%m%d)

# Экспорт всех сертификатов
midclt call certificate.query | jq . > "$BACKUP_DIR/certificates_$DATE.json"

# Копирование файлов сертификатов
cp /data/freenas-v1.db "$BACKUP_DIR/freenas_db_$DATE.db"

# Ротация старых бэкапов (храним 30 дней)
find "$BACKUP_DIR" -name "*.json" -mtime +30 -delete
find "$BACKUP_DIR" -name "*.db" -mtime +30 -delete

Расширенные сценарии использования сертификатов

Настройка обратного прокси с собственным сертификатом

Если ты используешь TrueNAS за reverse proxy (nginx, traefik):

nginx-config
# Пример конфигурации nginx
server {
    listen 443 ssl;
    server_name nas.mydomain.com;

    ssl_certificate /path/to/your/certificate.crt;
    ssl_certificate_key /path/to/your/private.key;

    location / {
        proxy_pass https://192.168.1.100:443;
        proxy_ssl_verify off;  # Если используешь самоподписанный на TrueNAS
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Использование wildcard сертификатов

Для управления несколькими поддоменами:

  • Запроси wildcard сертификат Let's Encrypt: *.mydomain.com
  • Используй один сертификат для всех сервисов TrueNAS
  • Упрости управление сертификатами

Настройка SSL/TLS сертификатов в TrueNAS — не роскошь, а необходимость в современной ИТ-инфраструктуре. Начни с Let's Encrypt для публичного доступа или импортируй существующие сертификаты для корпоративных сред. Помни: правильная настройка сертификатов защищает не только твои данные, но и твою сеть от несанкционированного доступа.

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