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.