Nginx come proxy inverso con SSL upstream e cifrari deboli


1

Devo accedere a un server Web obsoleto con impostazioni di sicurezza obsolete. Il server supporta SSL 3 e TLS 1 e le seguenti suite di crittografia:

TLS_DHE_RSA_WITH_AES_256_CBC_SHA                   
TLS_RSA_WITH_AES_256_CBC_SHA                       
TLS_DHE_RSA_WITH_AES_128_CBC_SHA                   
TLS_RSA_WITH_AES_128_CBC_SHA                       
TLS_RSA_WITH_RC4_128_SHA                           
TLS_RSA_WITH_RC4_128_MD5                           
TLS_RSA_EXPORT1024_WITH_RC4_56_SHA                 
TLS_RSA_EXPORT1024_WITH_RC4_56_MD5                 
TLS_RSA_EXPORT_WITH_RC4_40_MD5                     

Finora ho avuto una buona esperienza nell'uso di Nginx come proxy inverso per connettermi a vari servizi e server, quindi l'ho provato anche qui. Questa è la mia configurazione:

server {
    listen 443 ssl;

    server_name localhost;

    ssl_certificate /etc/ssl/certs/self-signed.crt;
    ssl_certificate_key /etc/ssl/private/self-signed.key;

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-ForwardedFor $proxy_add_x_forwarded_for;
        proxy_pass https://192.168.2.110:443;
        proxy_redirect https://localhost:443 https://192.168.2.110:443;
    }
}

Voglio https: // localhost essere reindirizzato a https://192.168.2.110:443 ;

Questo fallisce a causa del debole gruppo Diffie-Hellman (cfr Logjam). Si noti che il certificato è anche scaduto da 4 anni. Nel registro degli errori trovo questo:

2017/05/10 23:59:45 [crit] 2220#2220: *1 SSL_do_handshake() failed (SSL: error:14082174:SSL routines:ssl3_check_cert_and_algorithm:dh key too small) while SSL handshaking to upstream, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", upstream: "https://192.168.0.10:443/", host: "localhost"

Posso forzare Nginx ad accettare cifrari deboli o altre soluzioni semplici? Tutti i miei browser sulle macchine che attualmente utilizzo non lo consentono. Attualmente torno a una vecchia macchina che esegue Windows 7 con una vecchia versione di Internet Explorer che accetta il certificato almeno con eccezione. Naturalmente posso usare una macchina virtuale con il software 2012, ma l'uso di alcune configurazioni sarebbe molto più semplice.


Hai aggiunto il certificato all'archivio certificati del cliente, quindi il certificato scaduto sarà considerato attendibile?
Ramhound

Non ancora. Come ottengo il certificato dal server e dove dovrebbe essere archiviato per trovare Nginx? Ma quello dovrebbe essere il problema secondario dopo il controllo di carrozzina dh.
kap

Il pubblico e il privato in genere sono memorizzati sul server.
Ramhound
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.