Рейтинг:0

HAProxy. Настройте ssl-соединение с самозаверяющим сертификатом между интерфейсом и сервером

флаг us

Мне нужна помощь в настройке ssl-соединения с самозаверяющим сертификатом между Haproxy и Squid. В моем случае Haproxy (192.168.10.110) — это фронтэнд, а SQUID (192.168.10.149) — это бэкэнд. Без самоподписанного сертификата работает отлично. Но мне нужно установить безопасное соединение между интерфейсом и сервером, чтобы предотвратить атаку «Человек посередине». Итак, я создал самозаверяющий сертификат на бэкэнде (SQUID). Я генерирую 4 файла на бэкэнде: squid1.pem, squid1.crt, squid1.key, squid1.csr. После этого копирую squid1.pem на фронтенд, указал на него в конфиге Haproxy (в разделе backend). Но это не работает... Проверяю работу Haproxy по curl request на Haproxy: завиток https://ifconfig.io -v --прокси 192.168.10.110:4483

  • Пытаюсь 192.168.10.110:1383...
  • Подключен к порту 192.168.10.110 (192.168.10.110) 4483 (#0)
  • выделить буфер подключения!
  • Установите туннель HTTP-прокси для ifconfig.io:443. *> ПОДКЛЮЧИТЬ ifconfig.io:443 HTTP/1.1 *> Хост: ifconfig.io:443 *> Агент пользователя: curl/7.77.0 *> Прокси-соединение: Keep-Alive *>
  • Прокси CONNECT прерван
  • Этап ПОДКЛЮЧЕНИЯ завершен!
  • Закрытие соединения 0 curl: (56) Прокси CONNECT прерван

Файл конфигурации Haproxy:

Глобальный
    журнал 127.0.0.1 локальный0
    журнал 127.0.0.1 локальный1 уведомление
    максконн 4096
    демон по умолчанию
    журнал глобальный
    опция
    повторяет 3
    опция повторной отправки
    максконн 2000
    тайм-аут клиента 30 сек.
    тайм-аут сервера 30 секунд
    тайм-аут соединения 30 сек.
значения по умолчанию
интерфейс Frontend4483
       привязать 192.168.10.110:4483
       режим TCP
            default_backend 4483
серверная часть 4483
    режим TCP
    круговой баланс
    опция tcplog
    сервер B1S1 192.168.10.149:4128 ssl ca-файл /etc/ssl/private/squid1.pem

Файл конфигурации SQUID:

acl локальная сеть src 192.168.10.110/32      

acl SSL_ports порт 443
acl Safe_ports порт 80 # http
acl Safe_ports порт 443 # https
acl Safe_ports port 1025-65535 # незарегистрированные порты
acl метод CONNECT CONNECT

http_access разрешить диспетчеру локального хоста
http_access менеджер запрета доступа

http_access разрешить локальную сеть
http_access разрешить локальный хост
http_access запретить всем

http_порт 192.168.10.149:4128

В бэкенде tcpdump скажите:

kG......HTTP/1.1 400 Неверный запрос
Сервер: кальмар/4.15
Mime-версия: 1.0
Дата: вторник, 20 июля 2021 г., 13:57:36 по Гринвичу
Тип содержимого: текст/html; кодировка = utf-8
Длина контента: 3328
X-Squid-Ошибка: ERR_PROTOCOL_UNKNOWN 0
Варьировать: Accept-Language
Язык содержания: en
X-Cache: MISS от локального хоста
X-Cache-Lookup: NONE с локального хоста: 4128
Через: 1.1 локальный хост (squid/4.15)
Подключение: закрыть

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><заголовок>

У меня есть 2 вопроса: Что я делаю не так, как исправить? Могу ли я сгенерировать самозаверяющий сертификат на Haproxy и скопировать его на каждый бэкэнд (прокси SQUID)?

djdomi avatar
флаг za
Что ты пытаешься сделать? напомнить, что для меня это выглядит как проблема x и y

Ответить или комментировать

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