Errore SSL durante OAuth2

Questo post

a riguardo è stato chiuso, ma continuo a riscontrare questo problema nella versione

2.4.0.beta8

Si verifica durante l’autenticazione OAuth2

Excon::Error::Socket (SSL_connect returned=1 errno=0 state=error: dh key too small (OpenSSL::SSL::SSLError))
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/excon-0.64.0/lib/excon/ssl_socket.rb:125:in `connect_nonblock'

Ultime 14 righe dello stack trace:

/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/excon-0.64.0/lib/excon/ssl_socket.rb:125:in `connect_nonblock'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/excon-0.64.0/lib/excon/ssl_socket.rb:125:in `initialize'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/excon-0.64.0/lib/excon/connection.rb:455:in `new'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/excon-0.64.0/lib/excon/connection.rb:455:in `socket'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/excon-0.64.0/lib/excon/connection.rb:116:in `request_call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/excon-0.64.0/lib/excon/middlewares/mock.rb:56:in `request_call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/excon-0.64.0/lib/excon/middlewares/instrumentor.rb:34:in `request_call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/excon-0.64.0/lib/excon/middlewares/idempotent.rb:19:in `request_call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/excon-0.64.0/lib/excon/middlewares/base.rb:22:in `request_call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/excon-0.64.0/lib/excon/middlewares/base.rb:22:in `request_call'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/excon-0.64.0/lib/excon/connection.rb:270:in `request'
/var/www/discourse/plugins/discourse-oauth2-basic/plugin.rb:127:in `fetch_user_details'
/var/www/discourse/plugins/discourse-oauth2-basic/plugin.rb:164:in `after_authenticate'
/var/www/discourse/app/controllers/users/omniauth_callbacks_controller.rb:37:in `complete'

Saluti,

Julian

In questo caso non influisce sulla posta elettronica, ma la spiegazione che ho fornito nel topic a cui hai fatto riferimento rimane valida. La connessione al server OAuth2 fallisce perché la chiave DH è troppo piccola e quindi considerata insicura da OpenSSL.

Puoi applicare il seguente workaround temporaneo, ma l’unica soluzione definitiva è aumentare la dimensione della chiave DH sul server OAuth2.

Scusa, ho dimenticato… ora la brutta notizia… non funziona più per me…
Ho apportato le modifiche menzionate a /etc/ssl/openssl.cnf

[system_default_sect]
MinProtocol = TLSv1.2
#CipherString = DEFAULT@SECLEVEL=2

Poi ho chiuso il container e ho eseguito

docker restart app

Dopo di ciò, ho ancora ricevuto lo stesso errore nei log degli errori.

Non ho detto la verità, scusa… l’errore ora non è più lo stesso:

Faraday::ConnectionFailed (Connessione ripristinata dal peer - SSL_connect)
/usr/local/lib/ruby/2.6.0/net/protocol.rb:44:in `connect_nonblock’

Molto strano :frowning: … L’ho appena riprovato ed è ricomparso questo

“Ops, il software che gestisce questo forum ha incontrato un problema imprevisto. Ci scusiamo per il disagio…”

… Poi ho premuto “F5” un paio di volte (per frustrazione :slight_smile: ) e improvvisamente lo schermo è cambiato in

Spiacenti, si è verificato un errore durante l’autorizzazione del tuo account. Riprova.

Dopo di che ho dovuto accedere nuovamente tramite il sito del mio provider OAuth2, e poi è ricomparso “Ops ..”, e dopo un altro F5 sono finalmente entrato…

Uhmm… o ho trovato un grave problema di sicurezza, o è solo una questione di tempistica…

Probabilmente la seconda opzione…

Ci sono dei timeout che potrei provare a regolare?

Grazie e saluti!