Добавить SSL-терминацию в HAProxy в Ubuntu 14.04

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

Требования

  • Вультр VPS
  • HAProxy 1.5
  • Ubuntu 14.04 LTS (должна работать на других версиях и дистрибутивах)

Создать сертификат и закрытый ключ

Запустите следующие строки кода, чтобы сгенерировать закрытый ключ и самозаверяющий сертификат, который будет работать с HAProxy.

openssl genrsa -out /etc/ssl/private/server.key 2048
mkdir /etc/ssl/csr
openssl req -new -key /etc/ssl/private/server.key -out /etc/ssl/csr/server.csr
openssl x509 -req -days 365 -in /etc/ssl/csr/server.csr -signkey /etc/ssl/private/server.key -out /etc/ssl/certs/server.crt
cat /etc/ssl/certs/server.crt /etc/ssl/private/server.key > /etc/ssl/certs/server.bundle.pem

Настроить HAProxy

Первое, что вы должны сделать, это убедиться, что SSLv3 отключен. Из-за атаки POODLE SSLv3 больше не считается безопасным. Все приложения и серверы должны использовать TLS 1.0 и выше. Используя ваш любимый текстовый редактор, откройте файл /etc/haproxy/haproxy.cfg. Внутри ищите строку ssl-default-bind-options no-sslv3под globalразделом. Если вы этого не видите, добавьте эту строку в конце раздела перед defaultsразделом. Это обеспечит глобальное отключение SSLv3. Вы также можете установить его в своих разделах веб-интерфейса, но рекомендуется отключить его глобально.

На настройку HTTPS. Создайте новый раздел внешнего интерфейса с именем web-https.

frontend web-https 
        bind public_ip:443 ssl crt /etc/ssl/certs/server.bundle.pem 
        reqadd X-Forwarded-Proto:\ https 
        rspadd Strict-Transport-Security:\ max-age=31536000 
        default_backend www-backend 

Объяснить:

  • bind public_ip:443(измените public_ipна ваш публичный IP-адрес VPS), чтобы HAProxy прослушал любой запрос, отправленный на IP-адрес порта 443(порт HTTPS).
  • ssl crt /etc/ssl/certs/server.bundle.pem говорит HAProxy использовать ранее созданный сертификат SSL.
  • reqadd X-Forwarded-Proto:\ https добавляет заголовок HTTPS в конец входящего запроса.
  • rspadd Strict-Transport-Security:\ max-age=31536000 политика безопасности для предотвращения атак понижения.

Вам не нужно вносить какие-либо дополнительные изменения в ваш бэкэнд-раздел.

Если вы хотите, чтобы HAProxy по умолчанию использовал HTTPS, добавьте redirect scheme https if !{ ssl_fc }в начало www-backendраздела. Это заставит HTTPS перенаправить.

Сохраните вашу конфигурацию и запустите, service haproxy restartчтобы перезапустить HAPRoxy. Теперь вы можете использовать HAProxy с конечной точкой SSL.



Leave a Comment

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше