Não é possível fazer backup em endpoint S3 personalizado devido a erro de certificado HTTPS

Olá,

Acabei de configurar o Discourse com um endpoint S3 personalizado (Scality). Infelizmente, o backup falha devido a um erro de SSL:

****************************** DRY RUN ******************************
Migrando uploads para o S3 para 'default'...
Enviando arquivos para o S3...
 - Listando arquivos locais
.............. => 14025 arquivos
 - Listando arquivos S3
rake aborted!
Seahorse::Client::NetworkingError: SSL_connect returned=1 errno=0 state=error: certificate verify failed (unspecified certificate verification error)

Surpreendentemente, ao conectar ao endpoint por meio de um navegador, o certificado SSL parece ser válido.

Você teria alguma recomendação?

Obrigado antecipadamente.

Use um site de verificação HTTPS naquela URL.

Acabamos de testar o certificado SSL do nosso S3 e nada realmente se destaca.
Existe alguma maneira de aumentar o nível de verbosidade da biblioteca do cliente?

 Testando protocolos via sockets, exceto NPN+ALPN
 SSLv2 não oferecido (OK)
 SSLv3 não oferecido (OK)
 TLS 1 oferecido
 TLS 1.1 oferecido
 TLS 1.2 oferecido (OK)
 TLS 1.3 não oferecido
 NPN/SPDY http/1.1 (anunciado)
 ALPN/HTTP2 http/1.1 (oferecido)
 Testando categorias de cifras
 Cifras NULL (sem criptografia) não oferecidas (OK)
 Cifras NULL anônimas (sem autenticação) não oferecidas (OK)
 Cifras de exportação (sem ADH+NULL) não oferecidas (OK)
 BAIXAS: 64 bits + DES, RC[2,4] (sem exportação) não oferecidas (OK)
 Cifras Triple DES / IDEA não oferecidas (OK)
 Média: SEED + cifras CBC de 128+256 bits oferecidas
 Criptografia forte (cifras AEAD) oferecida (OK)
 Testando segredo perfeito (robusto) futuro, (P)FS -- omitindo Autenticação/Criptografia Nula, 3DES, RC4
 PFS é oferecido (OK) ECDHE-RSA-AES256-GCM-SHA384
 ECDHE-RSA-AES256-SHA384 ECDHE-RSA-AES256-SHA
 ECDHE-RSA-CHACHA20-POLY1305
 ECDHE-RSA-CAMELLIA256-SHA384
 ECDHE-ARIA256-GCM-SHA384
 ECDHE-RSA-AES128-GCM-SHA256
 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA
 ECDHE-RSA-CAMELLIA128-SHA256
 ECDHE-ARIA128-GCM-SHA256
 Curvas elípticas oferecidas: prime256v1 secp384r1 secp521r1 X25519 X448
 Testando preferências do servidor
 O servidor tem ordem de cifras? não (NÃO ok)
 Protocolo negociado TLSv1.2
 Cifra negociada AES128-GCM-SHA256 -- teste inconclusivo, cifra correspondente faltando na lista, veja melhor abaixo
 Cifra negociada por protocolo (cifra correspondente faltando na lista)
 ECDHE-RSA-AES256-SHA: TLSv1, TLSv1.1
 ECDHE-RSA-AES256-GCM-SHA384: TLSv1.2
 Nenhuma verificação adicional de ordem de cifras foi realizada, pois a ordem é determinada pelo cliente
 Testando padrões do servidor (Server Hello)
 Extensões TLS (padrão) "renegotiation info/#65281"
 "EC point formats/#11" "session ticket/#35"
 "next protocol/#13172" "max fragment length/#1"
 "application layer protocol negotiation/#16"
 "encrypt-then-mac/#22"
 "extended master secret/#23"
 Dica de Session Ticket RFC 5077 de 300 segundos, as chaves de session tickets parecem ser rotacionadas < diariamente
 Suporte a Session ID SSL sim
 Renovação de Sessão via Tickets não, ID: não
 Diferença de relógio TLS Valores aleatórios, nenhuma possibilidade de impressão digital
 Algoritmo de Assinatura SHA256 com RSA
 Tamanho da chave do servidor RSA 2048 bits
 Uso da chave do servidor Assinatura Digital, Criptografia de Chave
 Uso estendido da chave do servidor Autenticação de Cliente Web TLS, Autenticação de Servidor Web TLS
 Serial / Impressões digitais 115C7B3E0D604C7C48C6B1EC968C21955BB78242 / SHA1 39699B464489253565A2CFE7E037E497B3CB3380
 SHA256 87C308F50059D200EFAE86DCBA32BC3F3EB2154D397F3606BACCABE27F6A7594
 Nome Comum (CN) *.epfl.ch
 subjectAltName (SAN) *.epfl.ch epfl.ch
 Emissor QuoVadis Global SSL ICA G3 (QuoVadis Limited de BM)
 Confiança (hostname) Ok via SAN curinga e CN curinga (mesmo sem SNI)
 Cadeia de confiança Ok
 Certificado EV (experimental) não
 "eTLS" (informações de visibilidade) não presente
 Validade do Certificado (UTC) 656 >= 60 dias (2020-01-15 09:03 --> 2022-01-15 09:13)
 # de certificados fornecidos 2
 Lista de Revogação de Certificados http://crl.quovadisglobal.com/qvsslg3.crl, não revogado
 URI OCSP http://ocsp.quovadisglobal.com, não revogado
 Stapling OCSP não oferecido
 Extensão OCSP must staple --
 DNS CAA RR (experimental) não oferecido
 Transparência de Certificados sim (extensão de certificado)
 Testando resposta do cabeçalho HTTP em "/"
 Código de Status HTTP 403 Proibido
 Diferença de relógio HTTP +3 seg do horário local
 Strict Transport Security não oferecido
 Public Key Pinning --
 Banner do servidor nginx
 Banner do aplicativo --
 Cookie(s) (nenhum emitido em "/") -- talvez seja melhor tentar a URL de destino de 30x
 Cabeçalhos de segurança --
 Banner de Proxy Reverso --
/
 Testando vulnerabilidades
 Heartbleed (CVE-2014-0160) não vulnerável (OK), sem extensão heartbeat
 CCS (CVE-2014-0224) não vulnerável (OK)
 Ticketbleed (CVE-2016-9244), experimental. não vulnerável (OK)
 ROBOT não vulnerável (OK)
 Renegociação Segura (CVE-2009-3555) não vulnerável (OK)
 Renegociação Iniciada pelo Cliente Segura não vulnerável (OK)
 CRIME, TLS (CVE-2012-4929) não vulnerável (OK)
 BREACH (CVE-2013-3587) sem compressão HTTP (OK) - apenas "/" fornecido testado
 POODLE, SSL (CVE-2014-3566) não vulnerável (OK)
 TLS_FALLBACK_SCSV (RFC 7507) Prevenção de ataque de downgrade suportada (OK)
 SWEET32 (CVE-2016-2183, CVE-2016-6329) não vulnerável (OK)
 FREAK (CVE-2015-0204) não vulnerável (OK)
 DROWN (CVE-2016-0800, CVE-2016-0703) não vulnerável neste host e porta (OK)
 certifique-se de não usar este certificado em outros lugares com serviços SSLv2 habilitados
 https://censys.io/ipv4?q=87C308F50059D200EFAE86DCBA32BC3F3EB2154D397F3606BACCABE27F6A7594 pode ajudá-lo a descobrir
 LOGJAM (CVE-2015-4000), experimental não vulnerável (OK): sem cifras DH EXPORT, nenhuma chave DH detectada com <= TLS 1.2
 BEAST (CVE-2011-3389) TLS1: ECDHE-RSA-AES256-SHA
 AES256-SHA CAMELLIA256-SHA
 ECDHE-RSA-AES128-SHA
 AES128-SHA CAMELLIA128-SHA
 VULNERÁVEL -- mas também suporta protocolos mais altos TLSv1.1 TLSv1.2 (provavelmente mitigado)
 LUCKY13 (CVE-2013-0169), experimental potencialmente VULNERÁVEL, usa cifras de encadeamento de bloco de cifras (CBC) com TLS. Verifique os patches
 RC4 (CVE-2013-2566, CVE-2015-2808) sem cifras RC4 detectadas (OK)
 Testando 370 cifras via OpenSSL mais sockets contra o servidor, ordenadas por força de criptografia
Hexcode Nome do Conjunto de Cifras (OpenSSL) Troca de Chave Criptografia Bits Nome do Conjunto de Cifras (IANA/RFC)
-----------------------------------------------------------------------------------------------------------------------------
 xc030 ECDHE-RSA-AES256-GCM-SHA384 ECDH 253 AESGCM 256 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
 xc028 ECDHE-RSA-AES256-SHA384 ECDH 253 AES 256 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
 xc014 ECDHE-RSA-AES256-SHA ECDH 253 AES 256 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
 xcca8 ECDHE-RSA-CHACHA20-POLY1305 ECDH 253 ChaCha20 256 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
 xc077 ECDHE-RSA-CAMELLIA256-SHA384 ECDH 253 Camellia 256 TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384
 x9d AES256-GCM-SHA384 RSA AESGCM 256 TLS_RSA_WITH_AES_256_GCM_SHA384
 xc0a1 AES256-CCM8 RSA AESCCM8 256 TLS_RSA_WITH_AES_256_CCM_8
 xc09d AES256-CCM RSA AESCCM 256 TLS_RSA_WITH_AES_256_CCM
 x3d AES256-SHA256 RSA AES 256 TLS_RSA_WITH_AES_256_CBC_SHA256
 x35 AES256-SHA RSA AES 256 TLS_RSA_WITH_AES_256_CBC_SHA
 xc0 CAMELLIA256-SHA256 RSA Camellia 256 TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256
 x84 CAMELLIA256-SHA RSA Camellia 256 TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
 xc051 ARIA256-GCM-SHA384 RSA ARIAGCM 256 TLS_RSA_WITH_ARIA_256_GCM_SHA384
 xc061 ECDHE-ARIA256-GCM-SHA384 ECDH 253 ARIAGCM 256 TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384
 xc02f ECDHE-RSA-AES128-GCM-SHA256 ECDH 253 AESGCM 128 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
 xc027 ECDHE-RSA-AES128-SHA256 ECDH 253 AES 128 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
 xc013 ECDHE-RSA-AES128-SHA ECDH 253 AES 128 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
 xc0a0 AES128-CCM8 RSA AESCCM8 128 TLS_RSA_WITH_AES_128_CCM_8
 xc09c AES128-CCM RSA AESCCM 128 TLS_RSA_WITH_AES_128_CCM
 xc076 ECDHE-RSA-CAMELLIA128-SHA256 ECDH 253 Camellia 128 TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
 x9c AES128-GCM-SHA256 RSA AESGCM 128 TLS_RSA_WITH_AES_128_GCM_SHA256
 x3c AES128-SHA256 RSA AES 128 TLS_RSA_WITH_AES_128_CBC_SHA256
 x2f AES128-SHA RSA AES 128 TLS_RSA_WITH_AES_128_CBC_SHA
 xba CAMELLIA128-SHA256 RSA Camellia 128 TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256
 x41 CAMELLIA128-SHA RSA Camellia 128 TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
 xc050 ARIA128-GCM-SHA256 RSA ARIAGCM 128 TLS_RSA_WITH_ARIA_128_GCM_SHA256
 xc060 ECDHE-ARIA128-GCM-SHA256 ECDH 253 ARIAGCM 128 TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256
 Executando simulações de cliente (HTTP) via sockets
 Android 4.2.2 TLSv1.0 ECDHE-RSA-AES256-SHA, ECDH de 521 bits (P-521)
 Android 4.4.2 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, ECDH de 521 bits (P-521)
 Android 5.0.0 TLSv1.2 ECDHE-RSA-AES256-SHA, ECDH de 521 bits (P-521)
 Android 6.0 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256, ECDH de 256 bits (P-256)
 Android 7.0 TLSv1.2 ECDHE-RSA-CHACHA20-POLY1305, ECDH de 253 bits (X25519)
 Chrome 65 Win 7 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256, ECDH de 253 bits (X25519)
 Chrome 70 Win 10 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256, ECDH de 253 bits (X25519)
 Firefox 59 Win 7 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256, ECDH de 253 bits (X25519)
 Firefox 62 Win 7 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256, ECDH de 253 bits (X25519)
 IE 6 XP Sem conexão
 IE 7 Vista TLSv1.0 AES128-SHA, Sem FS
 IE 8 Win 7 TLSv1.0 AES128-SHA, Sem FS
 IE 8 XP Sem conexão
 IE 11 Win 7 TLSv1.2 ECDHE-RSA-AES256-SHA384, ECDH de 256 bits (P-256)
 IE 11 Win 8.1 TLSv1.2 ECDHE-RSA-AES256-SHA384, ECDH de 256 bits (P-256)
 IE 11 Win Phone 8.1 TLSv1.2 AES128-SHA256, Sem FS
 IE 11 Win 10 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, ECDH de 256 bits (P-256)
 Edge 13 Win 10 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, ECDH de 256 bits (P-256)
 Edge 13 Win Phone 10 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, ECDH de 256 bits (P-256)
 Edge 15 Win 10 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, ECDH de 253 bits (X25519)
 Opera 17 Win 7 TLSv1.2 ECDHE-RSA-AES256-SHA, ECDH de 256 bits (P-256)
 Safari 9 iOS 9 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, ECDH de 256 bits (P-256)
 Safari 9 OS X 10.11 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, ECDH de 256 bits (P-256)
 Safari 10 OS X 10.12 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, ECDH de 256 bits (P-256)
 Apple ATS 9 iOS 9 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, ECDH de 256 bits (P-256)
 Tor 17.0.9 Win 7 TLSv1.0 ECDHE-RSA-AES256-SHA, ECDH de 256 bits (P-256)
 Java 6u45 TLSv1.0 AES128-SHA, Sem FS
 Java 7u25 TLSv1.0 ECDHE-RSA-AES128-SHA, ECDH de 256 bits (P-256)
 Java 8u161 TLSv1.2 ECDHE-RSA-AES256-SHA384, ECDH de 256 bits (P-256)
 Java 9.0.4 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, ECDH de 256 bits (P-256)
 OpenSSL 1.0.1l TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, ECDH de 521 bits (P-521)
 OpenSSL 1.0.2e TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, ECDH de 256 bits (P-256)

Qual é o FQDN do endpoint que você está tentando usar? É um subdomínio de epfl.ch?

Com certeza: s3.epfl.ch

Olá a todos.

Estou enfrentando o mesmo problema com uma instância do MinIO auto-gerenciada.

Você estaria disposto a suportar uma opção booleana como s3_verify_ssl para conexões S3?

Obrigado!

Eu recomendo fortemente o uso de um certificado SSL válido para todas as suas necessidades. O MinIO deve funcionar bem atrás de um proxy reverso usando um certificado do Let’s Encrypt.

Tenho o mesmo problema. Tentei configurar backups para o meu MinIO e obtive o mesmo erro.

O endpoint parece ser s3.k8s.domain.com. domain.com e s3.k8s.domain.com possuem certificados válidos emitidos pelo LE. k8s.domain.com não possui certificado.

Como resolver esse problema?