Зачем это нужно
Контроллер iDRAC (Integrated Dell Remote Access Controller) предоставляет удобный удалённый доступ к серверу через веб-интерфейс.
Однако по умолчанию он использует самоподписанный сертификат, из-за чего браузеры показывают предупреждение о небезопасном соединении.
✅ Установка собственного SSL-сертификата:
- Убирает предупреждения браузера
- Повышает безопасность
- Упрощает интеграцию с monitoring-системами (Zabbix, Prometheus, Redfish)
Что мы попробовали и с чем столкнулись
Мы протестировали множество подходов:
- Загрузка
.crt
+.key
— ошибка RAC0622 - Импорт
.pem
— не принимается - Подпись от своего CA — частично работает, но требуется корректный SAN
- Использование
.pfx
— работает, но важно соблюсти формат
Главной проблемой оказалась работа с IP-адресами в поле SAN и требования iDRAC к структуре сертификата.
✅ Что в итоге работает стабильно
iDRAC 8 умеет корректно работать, если следовать следующей проверенной последовательности действий.
📌 Шаг 1: Выпустить свой CA и установить его в систему
Создайте собственный корневой сертификат (CA) с помощью OpenSSL и установите его:
- В папку
ca/
рядом со скриптами - В Доверенные корневые центры сертификации на компьютерах пользователей
Это позволит браузеру доверять сертификатам, выданным этим CA.
🏗 Шаг 2: Установить CA в iDRAC
Зайдите в:
iDRAC → iDRAC Settings → Connectivity → SSL → Custom SSL Certificate Signing Certificate
Загрузите туда ваш CA .pfx
, включающий и ключ, и сертификат (одним файлом).
После загрузки iDRAC запросит Reset — подтвердите.
✅ После этого iDRAC сможет:
- Самостоятельно подписывать внутренние сертификаты
- Использовать загруженный CA как корневой для виртуальной консоли, HTTPS и т.д.
❗ Но есть нюанс: iDRAC должен знать про IP-адрес в SAN
Если вы подключаетесь к iDRAC по IP (например, 10.0.0.123), сертификат должен содержать этот IP в поле Subject Alternative Name (SAN), иначе браузеры продолжат ругаться.
🔧 Шаг 3: Подпись сертификата с IP через наш скрипт
Последовательность действий:
- Выпустите и установите CA как указано выше
- Загрузите CA в iDRAC → Custom SSL Certificate Signing Certificate
- Подтвердите reset iDRAC
- Зайдите в: nginxКопироватьРедактировать
iDRAC → Connectivity → SSL → Generate CSR
- Скачайте сгенерированный
.csr
файл и положите его в папкуcsr/
рядом со скриптами - Запустите наш GUI- или консольный скрипт для подписи
✍️ Что нужно ввести в скрипте?
Для корректной генерации сертификата с IP в SAN, скрипт запросит:
- Короткое имя iDRAC (например,
idrac-node1
) - Полный домен (например,
node1.yourdomain.local
) - IP-адрес iDRAC (например,
10.0.0.123
)
Скрипт:
- Подпишет CSR
- Добавит в SAN:
DNS:idrac-node1
DNS:idrac-node1.yourdomain.local
IP:10.0.0.123
- Сформирует итоговый
.crt
📦 Шаг 4: Загрузка сертификата в iDRAC
- Вернитесь в: nginxКопироватьРедактировать
iDRAC → SSL Certificate → Upload Signed Certificate
- Загрузите итоговый сертификат в формате PKCS#12 (
.pfx
), содержащий:- Подписанный сертификат
- Приватный ключ
- Цепочку CA (опционально)
- Подтвердите reset iDRAC
✅ Всё! Теперь браузер не будет ругаться, даже при подключении по IP.
🔧 Где взять скрипты
Все скрипты опубликованы в открытом доступе:
👉 https://github.com/weselow/DellTools
🧰 Что делает каждый скрипт
Скрипт | ОС | Описание |
---|---|---|
idrac-cert-generator.ps1 | 🪟 Windows PowerShell | Генерирует CA, ключ, сертификат, .pem — всё с нуля |
Sign-Csr-GUI-Log.ps1 | 🪟 Windows PowerShell (GUI) | Подписывает CSR через окно выбора файла |
Sign-Csr-Console.ps1 | 🪟 Windows PowerShell (CLI) | Подписывает все CSR из папки csr/ |
sign-csr-console.sh | 🐧 Linux (bash) | Аналог консольного скрипта для Linux-серверов |
💡 Альтернатива: racadm
Всё то же самое можно сделать через утилиту racadm
:
racadm sslcsrgen -f idrac.csr -g 2048 -t RSA -cn "idrac-node1.domain" -san "IP:10.0.0.123"
racadm sslcertupload -t 1 -f idrac.pfx -p yourPassword
racadm racreset
Это удобно для автоматизации в дата-центре или Ansible-роль.
🧩 Вывод
Установка собственного SSL-сертификата в iDRAC 8:
- Полностью возможна
- Даёт безопасность, доверие и автоматизацию
- Требует корректного SAN и структуры сертификата
Наша команда разработала полностью рабочий, расширяемый набор скриптов, который можно адаптировать под любые задачи.
💬 Есть вопросы? Пишите — поможем адаптировать под вашу инфраструктуру.
Добавить комментарий