SSL protokol bilgisini HTTP üstbilgisi üzerinden arka uca iletme


13

Kaniş savunmasızlığı yakın zamanda ortaya çıktıktan sonra ekibimiz SSLv3'ten devam etmeye karar verdi. Ancak tamamen kaldırılmadan önce , günlük kullanıcıları tarayıcılarının kullanımdan kaldırılmış SSLv3 kullandıkları konusunda uyarmak isterler. Böylece,

  • Ön uç SSL boşaltma işleminden protokolü (SSLv3, TLS1 vb ...) tespit edin (nginx kullanıyoruz)
  • Bu bilgiyi (SSL protokolü) HTTP üstbilgisi üzerinden Apache arka ucuna iletin.

Ardından arka uç kodumuz bu üstbilgiyi işler ve istemci SSLv3 kullanıyorsa uyarı verir .

Nginx'in bir özelliği olduğunu biliyorum proxy_set_header. Yani bu kadar basit olurdu

proxy_set_header X-HTTPS-Protocol $something;

Şimdi, sorun şu: Açıkçası nginx, istemci tarafından kullanılan protokolü biliyor, ancak bu bilgiyi HTTP üstbilgisi üzerinden arka uca nasıl iletebilirim?

Teşekkürler


SSLach3 kullanıyorlarsa , Apache yönlendirme kullanıcısına benzer bir iş parçacığının işaret ettiği gibi , bu fikir çok kötü bir fikir haline gelebilir.

Bunun nedeni, TLS el sıkışmasının, HTTP trafiği TLS tünelinden gönderilmeden önce gerçekleşmesidir. Arka ucumuz SSL protokolünü algıladığında, istemci ilk isteğinde özel veriler göndermiş olabilir. Kalıcı ve uzun vadeli çözüm için SSLv3'ü devre dışı bırakmayı düşünmeliyiz.

Yanıtlar:


14

Nginx, yapılandırmada kullanılabilecek birçok değişken kullanır. Bu sayfada değişkenlerin tam listesi verilmiştir. HTTPS isteğinde protokolü tutan değişken ssl_protocol. Alıntı:

$ssl_protocol

kurulu bir SSL bağlantısının protokolünü döndürür;

Böylece proxy_set_headeryapılandırmanız

proxy_set_header X-HTTPS-Protocol $ssl_protocol;

Başka bir referans: burada


$ Ssl_protocol sonunda noktalı virgül (serverf * l 6 karakter değiştirilmesini gerektirdiğinden değiştiremiyorum).
danger89

@ danger89 bunu yaptı
sanmai
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.