Мне нужно зашифрованное TCP-соединение от нескольких клиентов к один порт по Интернету. Можно ли это реализовать с помощью Squid?
В нашей компании мы используем решение для мониторинга и управления клиентами, доступное через LAN и VPN. Теперь он должен быть доступен из внешние ноутбуки, которые не используют корпоративный VPN. Связь должна быть зашифрована (TLS). Проверка подлинности клиентов должна использовать сертификаты клиентов. Связь инициируется клиентами и использует один порт TCP.
NGINX Plus кажется, предлагает эту функцию, но наш админ предпочитает squid или apache. В вики по Squid я обнаружил, что: Функция: HTTPS (HTTP Secure или HTTP через SSL / TLS) где упоминается шифрование TCP. Но я также обнаружил это предупреждение:
Важно отметить, что протоколы, передаваемые через CONNECT, не ограничиваются теми, которые обычно обрабатывает Squid. Буквально все, что использует двустороннее TCP-соединение, может быть передано через туннель CONNECT. Вот почему списки ACL Squid по умолчанию начинаются с deny CONNECT! SSL_Ports и почему у вас должна быть очень веская причина для размещения над ними любого типа разрешающего правила.
Этот вопрос Шифрование клиентского соединения с прокси-сервером squid с использованием SSL является простым, но не обрабатывает обратные прокси / завершающие прокси TLS.
У меня есть только базовые знания об этих технологиях, и наш администратор попросил меня дать общую возможность.
Может быть, вашему админу не нравится NGINX Plus
потому что это не открытый исходный код и будет принимать другой хорошо поддерживаемый продукт с открытым исходным кодом. Затем попросите его посмотреть на станнель. Он разработан именно для ваших нужд.
Цитируя пример stunnel на википедия (для SMTP, но это подойдет и для ваших нужд):
Например, stunnel можно использовать для обеспечения безопасного SSL-соединения с существующим почтовым SMTP-сервером, не поддерживающим SSL. Предположим, что SMTP-сервер ожидает TCP-соединения через порт 25. Можно настроить stunnel для сопоставления SSL-порта 465 с портом не-SSL 25. Почтовый клиент подключается через SSL к порту 465. Сетевой трафик от клиента первоначально проходит через SSL в stunnel. приложение, которое прозрачно шифрует / дешифрует трафик и перенаправляет незащищенный трафик на порт 25 локально. Почтовый сервер видит почтовый клиент без SSL.
Процесс stunnel может быть запущен на том же сервере или на другом сервере, нежели незащищенное почтовое приложение; однако обе машины обычно находятся за брандмауэром в защищенной внутренней сети (чтобы злоумышленник не мог установить собственное незащищенное соединение напрямую с портом 25).
CONNECT используется только HTTP-клиентами к HTTP-прокси для установления туннеля через прокси. В HTTP также нет схемы для зашифрованного подключения к HTTP-прокси.
Я подозреваю, что HTTP-прокси - это не то, что вы здесь ищете.
Я не знаю, поддерживает ли Squid разъемы TCP с TLS и клиентскими сертификатами, но WinGate делает. Он также имеет возможность проверять UserPrincipalName в сертификате для Active Directory.
Отказ от ответственности: я работаю в Qbik, который является авторами WinGate.