Erro SSL durante OAuth2

Esta postagem

sobre o assunto foi fechada, mas ainda enfrento esse problema na versão

2.4.0.beta8

Está ocorrendo durante a autenticação 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'

Últimas 14 linhas do backtrace:

/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'

Abraços,

Julian

Isso não afeta o e-mail neste caso, mas a explicação que dei no tópico que você vinculou permanece a mesma. A conexão com o servidor OAuth2 falha porque a chave DH é muito pequena e, portanto, considerada insegura pelo OpenSSL.

Você pode aplicar a seguinte solução temporária, mas aumentar o tamanho da chave DH no servidor OAuth2 é a única solução definitiva.

Desculpe, esqueci… agora a parte ruim… não funciona mais para mim…
Fiz as alterações mencionadas em /etc/ssl/openssl.cnf

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

Depois, saí do contêiner e executei

docker restart app

Após isso, ainda recebi o mesmo erro nos logs de erro.

Não disse a verdade, desculpe… o erro agora não é o mesmo:

Faraday::ConnectionFailed (Conexão redefinida pelo peer - SSL_connect)
/usr/local/lib/ruby/2.6.0/net/protocol.rb:44:in `connect_nonblock’

Muito estranho :frowning: … Acabei de tentar novamente, e de novo apareceu

“Ops, o software que alimenta este fórum de discussões encontrou um problema inesperado. Pedimos desculpas pelo inconveniente…”

Então eu recarreguei a página (F5) algumas vezes (por frustração :slight_smile: ) e, de repente, a tela mudou para

Desculpe, ocorreu um erro ao autorizar sua conta. Por favor, tente novamente.

Então tive que fazer login novamente através do site do meu provedor OAuth2, e aí veio o “Ops..” de novo, e após mais um F5, finalmente entrei…

Hmm… ou eu encontrei um problema de segurança sério, ou é apenas uma questão de tempo…

Provavelmente o último…

Quais são os tempos limite que eu poderia tentar ajustar?

Obrigado e tchau!