Как настроить SSL-сертификат в HAProxy

Как настроить SSL-сертификат в HAProxy

HAProxy, высокопроизводительный балансировщик нагрузки TCP/HTTP, поддерживает SSL-терминирование, что означает, что он может выполнять задачи по шифрованию и дешифрованию SSL, снижая нагрузку на внутренние серверы.

В этой статье Вы узнаете , как настроить SSL-сертификат в HAProxy, включая генерацию кода CSR (Certificate Signing Request), получение коммерческого SSL-сертификата, объединение сертификата с закрытым ключом и настройку HAProxy на его использование. Итак, давайте приступим!


Оглавление

  1. Сгенерируйте CSR-код для Вашего SSL-сертификата
  2. Получите коммерческий SSL-сертификат для HAProxy
  3. Объедините сертификат и закрытый ключ
  4. Настройте PEM SSL сертификат в HAProxy

Сгенерируйте CSR-код для Вашего SSL-сертификата

Прежде чем Центр сертификации выпустит SSL-сертификат, ему нужен CSR-код от Вас, чтобы подтвердить Ваши контактные данные. CSR – это небольшой закодированный текстовый блок с соответствующей информацией о Вашем сайте и компании. Вы должны сгенерировать и отправить его во время регистрации SSL.

Вот как это сделать:

  1. Откройте терминал: Получите доступ к интерфейсу командной строки на Вашем сервере.
  2. Выполните команду OpenSSL: Используйте следующую команду OpenSSL, чтобы сгенерировать CSR и закрытый ключ. Замените mydomain на Ваше реальное доменное имя.

    openssl req -new -newkey rsa:2048 -nodes -keyout mydomain.key -out mydomain.csr
  3. Введите необходимую информацию: Вам будет предложено ввести такие данные, как:
    • Название страны (2-буквенный код, например, США)
    • Название штата или провинции (например, Калифорния)
    • Название местности (например, Сан-Хосе)
    • Название организации (например, Холдинг GPI)
    • Название организационного подразделения (например, IT)
    • Общее имя (например, yourdomain.com)
    • Адрес электронной почты
  4. Сохраните CSR и закрытый ключ: Команда создаст два файла: mydomain.csr (CSR) и mydomain.key (закрытый ключ). Сохраните закрытый ключ, так как он понадобится позже.

Получите коммерческий SSL-сертификат для HAProxy

Коммерческим SSL-сертификатам доверяют все браузеры и операционные системы. В результате Ваши сайты или приложения не будут сталкиваться с раздражающими ошибками SSL-соединения. Для производственной среды такие сертификаты просто необходимы. Если Вы используете HAProxy для тестирования, Вы можете сгенерировать самоподписывающийся сертификат, но в этой статье мы сосредоточимся на настройке SSL HAProxy для рабочих сред.

Чтобы получить коммерческий SSL-сертификат, выполните следующие действия:

  1. Выберите центр сертификации (ЦС): Выберите авторитетный центр сертификации, например, DigiCert, Comodo или GeoTrust.
  2. Выберите тип сертификата: Выберите тип SSL-сертификата, который соответствует Вашим потребностям, например, сертификат для одного домена, подстановочный сертификат или сертификат для нескольких доменов (SAN).
  3. Отправьте CSR: Предоставьте CSR в ЦС, чтобы они могли выпустить сертификат, соответствующий закрытому ключу Вашего сервера.
  4. Купите сертификат: Приобретите свой SSL-сертификат у надежного реселлера SSL, такого как SSL Dragon, по лучшей цене и с лучшей поддержкой клиентов.
  5. Процесс валидации: В зависимости от типа сертификата, Вы пройдете процедуру проверки домена, проверки организации или расширенной проверки.
  6. Получите сертификат: После проверки ЦС выдаст SSL-файлы, заархивированные в папке ZIP.

Объедините сертификат и закрытый ключ

Как только Вы получите свой SSL-сертификат из центра сертификации, Вам нужно объединить его с Вашим закрытым ключом, чтобы создать единый файл, который сможет использовать HAProxy.

  1. Подготовьте файлы: Убедитесь, что у Вас есть следующие файлы:
    • SSL-сертификат Вашего домена (например, mydomain.crt)
    • Приватный ключ, сгенерированный ранее (mydomain.key)
    • Любые промежуточные сертификаты, предоставленные ЦС (например, intermediate.crt). Обычно ЦС отправляет промежуточные сертификаты в файле CA Bundle.
  2. Объедините файлы: Эта команда объединяет сертификат, промежуточный сертификат и закрытый ключ в один PEM-файл.

    cat mydomain.crt intermediate.crt mydomain.key > /etc/haproxy/mydomain.pem

Настройте PEM SSL сертификат в HAProxy

Теперь, когда у Вас есть PEM-файл, Вы можете настроить HAProxy на использование SSL-сертификата.

Шаг 1: Загрузите PEM-сертификат на HAProxy Server:

Используйте команду scp, чтобы загрузить файл PEM-сертификата на сервер HAProxy (замените sysadmin и haproxy_server_ip на имя пользователя и IP-адрес удаленного сервера соответственно):

scp mydomain.pem sysadmin@haproxy_server_ip:/home/sysadmin/

Шаг 2: Создайте директорию для сертификата

Создайте каталог, в котором будет храниться PEM-файл сертификата:

sudo mkdir -p /etc/ssl/mydomain/
sudo cp mydomain.pem /etc/ssl/mydomain/

Шаг 3: Отредактируйте файл конфигурации HAProxy

Откройте файл конфигурации HAProxy (по умолчанию расположенный по адресу /etc/haproxy/haproxy.cfg) в текстовом редакторе, например, в Блокноте.

Шаг 4: Настройте раздел Frontend

Измените раздел frontend , чтобы включить завершение SSL и перенаправить HTTP-трафик на HTTPS:

frontend http_frontend
mode http
bind *:80
bind *:443 ssl crt /etc/ssl/mydomain/mydomain.pem alpn h2,http/1.1
redirect scheme https code 301 if !{ ssl_fc }
default_backend http_servers

Шаг 5: Добавьте параметры SSL/TLS

Чтобы обеспечить использование современных и безопасных версий SSL/TLS, добавьте параметр ssl-min-ver:

bind *:443 ssl crt /etc/ssl/mydomain/mydomain.pem alpn h2,http/1.1 ssl-min-ver TLSv1.2

Эта директива поддерживает протоколы HTTP/2 и HTTP/1.1 и устанавливает минимальную версию TLS 1.2 для безопасных соединений.

Шаг 6: Настройте секцию Backend

Убедитесь, что Ваши внутренние серверы правильно определены.

backend http_servers
mode http
balance roundrobin
server server1 :80 check
server server2 :80 check

Шаг 7: Перезапустите HAProxy

Примените изменения, перезапустив службу HAProxy:

sudo systemctl restart haproxy

Шаг 8: Проверьте Вашу конфигурацию SSL

Чтобы проверить SSL-конфигурацию HAProxy, воспользуйтесь SSL Labs и введите имя Вашего домена. Инструмент предоставит исчерпывающий отчет о Вашей настройке SSL/TLS, включая данные о сертификате и любые потенциальные проблемы.


Заключение

Итак, изучение настройки SSL-сертификата в HAProxy очень важно для защиты Ваших веб-приложений и обеспечения надежной связи между клиентами и серверами. Правильно настроив конфигурацию SSL в HAProxy, Вы сможете защитить конфиденциальные данные и повысить общую безопасность. Следование этим рекомендациям поможет реализовать надежное шифрование и обеспечит безопасную работу Вашего сайта по протоколу HTTPS, предоставляя более безопасный опыт для Ваших пользователей.

Сэкономьте 10% на SSL-сертификатах при заказе сегодня!

Быстрая выдача, надежное шифрование, 99,99% доверия к браузеру, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10

Написано

Опытный автор контента, специализирующийся на SSL-сертификатах. Превращает сложные темы кибербезопасности в понятный, увлекательный контент. Вносите свой вклад в повышение уровня цифровой безопасности с помощью впечатляющих рассказов.