LINUX.ORG.RU
ФорумAdmin

TLS Gateway для произвольного TCP потока.

 ,


1

1

Тут в очередной раз смотрел на RDP и его вариантом gateway под windows. Нашел даже некие варианты gateway под GPL без windows server.

И возникла мысль «а есть ли TLS Gateway для _произвольного_ протокола TCP/IP»?

Т.е. TLS соединение на порт XXX с клиентским сертификатом с CN=XMAN и/или subjectAltName=XMAN.HOST.LAN на Gateway, который пересылает на сервер XMAN.HOST.LAN:XXX .

При поиске в инете, выскакивают некие варианты для ГОСТ шифрующего шлюза, а для классического шифра мало.

Из осмотренного:
- nginx + stream = что то сомнения в преобразовании TLS в обычный TCP, нужно проверять, но возможно сгодится. Хотя вариант прописывания в конфиге ассоциации между клиентским сертификатом и требуемым сервером не оптимально.
- HAproxy - тоже не вариант похоже.

★★★★★
  • nginx + stream = что то сомнения в преобразовании TLS в обычный TCP, нужно проверять, но возможно сгодится.

сгодится.

Хотя вариант прописывания в конфиге ассоциации между клиентским сертификатом и требуемым сервером не оптимально.

не оптимально.

чем не оптимально? конфиги генерятся по шаблону и шлется SIGHUP

  • HAproxy - тоже не вариант похоже.

чем не варинат ? https://www.haproxy.com/documentation/haproxy-configuration-tutorials/ssl-tls/server-side-encryption/

gagarin0
()
Ответ на: комментарий от Bers666

сомнения в преобразовании TLS в обычный TCP

не использовал в варианте для произвольного потока TCP. Только классика HTTP была.

haproxy тоже не вариант похоже.

Его вообще не было нужды использовать ранее. К тому же это вроде вообще балансировщик. На нем можно реализовать указанные процессы?

Моя то задача - пришел с сертификатом в котором прописан HOST1.LAN вот к тому и иди, а не балансируй между HOST1.LAN, HOST2.LAN .. HOSTN.LAN

Atlant ★★★★★
() автор топика
Последнее исправление: Atlant (всего исправлений: 1)
Ответ на: комментарий от gagarin0

ngx_stream_ssl_preread_module

это не про то.

кратко опишу:
клиент имеет персональный сертификат подключается к серверу TLS «host.com:PORTX»(по сути gateway), из сертификат _клиента_ извлекается информация xxxx.yyy.zz.local.lan из какого то поля(к примеру subjectAltName), и gateway переправляет его в xxxx.yyy.zz.local.lan:PORTX

Atlant ★★★★★
() автор топика
Последнее исправление: Atlant (всего исправлений: 1)
Ответ на: комментарий от Atlant
stream {
    server {
        listen 443;
        server_name xxx.domain.com;

        ssl_preread on;
        proxy_pass backend_xxx;

        ssl_certificate     /etc/nginx/ssl/xxx.domain.com.crt;
        ssl_certificate_key /etc/nginx/ssl/xxx.domain.com.key;
    }

    server {
        listen 443;
        server_name yyy.domain.ltd;

        ssl_preread on;
        proxy_pass backend_yyy;

        ssl_certificate     /etc/nginx/ssl/yyy.domain.ltd.crt;
        ssl_certificate_key /etc/nginx/ssl/yyy.domain.ltd.key;
    }

    upstream backend_xxx {
        server backend:9001;
    }

    upstream backend_yyy {
        server backend:9002;
    }
}
gagarin0
()
Последнее исправление: gagarin0 (всего исправлений: 1)

stunnel - использую, хорошо спасает от росблокнадзора уже года три как, ни одного разрыва (ц), haproxy для сложных случаев когда надо всякие sni

no-dashi-v2 ★★★
()