SNI-Hole
Você caiu em um furo SNI .
O SNI é indicação do nome do servidor . Isso permite que você tenha vários nomes de host diferentes que residem no mesmo IP compartilhado. E se você realmente não indicar um nome de servidor para um servidor habilitado para SNI, receberá o certificado padrão. (Esta é a parte do "buraco SNI").
E o OpenSSL não fornecerá um nome de servidor ao servidor TLS, a menos que você o informe. Use o parâmetro -servername
para isso.
$ echo '' | openssl s_client -showcerts -connect www.unival-logistics.com:443 -servername www.unival-logistics.com 2>/dev/null | grep -Ei 'subject|issuer|return'
subject=/C=US/OU=Domain Control Validated/CN=www.unival-logistics.com
issuer=/C=BE/O=GlobalSign nv-sa/CN=GlobalSign Domain Validation CA - SHA256 - G2
Verify return code: 20 (unable to get local issuer certificate)
Se você deixar isso de fora, você obtém o certificado padrão para esse host. E aqui está um certificado autoassinado. (E eu não acho que deveria estar lá também. Não faz sentido entregar um certificado auto-assinado.)
$ echo '' | openssl s_client -showcerts -connect www.unival-logistics.com:443 2>/dev/null | grep -Ei 'subject|issuer|return'
subject=/O=americanfuturegate.com/CN=*.americanfuturegate.com/[email protected]
issuer=/O=americanfuturegate.com/CN=*.americanfuturegate.com/[email protected]
Verify return code: 18 (self signed certificate)
Verifique se a instalação
Nota: peço-lhe para desativar o SSL3. (Relatório SSL Labs aqui .)