Histórico de mensagens sobre ssl

EXIBINDO CONVERSAS RECENTES:

Texto: ssl
# pix
Avatar discord do usuario Tii

Tii

Ver Respostas

server {
listen [::]:443 ssl ipv6only=on;
listen 443 ssl; #porta externa
server_name _; #dominio para essa regra
ssl_certificate /opt/cert/cert.pem;
ssl_certificate_key /opt/cert/key.pem;
ssl_client_certificate /opt/cert/chain-pix-sandbox.crt;
ssl_verify_client optional;
ssl_verify_depth 3;
location / {
if ($ssl_client_verify != SUCCESS) {
return 403;
}
proxy_pass "http://localhost:2446";
}
}

# pix
Avatar discord do usuario anoni_mato

anoni_mato

eu simplificaria definindo SSLProtocol TLSv1.2 no vhost e, se ainda der exatamente o mesmo erro, desabilitaria o 1.3 no ssl-params.conf, adicionando -TLSv1.3 ao fim

# pix
Avatar discord do usuario anoni_mato

anoni_mato

vc precisa retirar, explicitamente, o TLSv1.3 para que não caia naquele bug relativo ao 1.3 + SSLClientVerify

# pix
Avatar discord do usuario anoni_mato

anoni_mato

Ver Respostas

no vhost está SSLProtocol -all +TLSv1.2, eu acho que esse "-all" não tá em conformidade. "All" (maiúsculo e sem sinal de +/-) adiciona todos. nesse caso aí, ou a diretiva tá sendo ignorada completa, ou ela tá apenas "adicionando TLSv1.2" ao que está definido no ssl-params.conf (que já permite 1.2 e, adicionalmente, permite 1.3, pois é All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1). Então TLSv1.3 continua ativo.

# pix
Avatar discord do usuario rafaelvverde

rafaelvverde

Uma coisa que eu tinha me atentado, foi que usando o certbot com o plugin do apache, ele adiciona nas ultimas linhas do vhost, um include do arquivo de configuracao de ssl do letsencrypt. isso sobreescrevia minhas definiçoes, então joguei ele pro topo do arquivo. e deu na mesma, também retirei o include. mesma coisa.

# pix
Avatar discord do usuario rafaelvverde

rafaelvverde

Ver Respostas

<@!440035527127990273> Sobre limitar o TLS, nada feito. continua retornando 403.

o resultado da busca por SSLProtocol

/etc/apache2/mods-enabled/ssl.conf: SSLProtocol all -SSLv3
/etc/apache2/conf-enabled/ssl-params.conf:SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
/etc/apache2/sites-enabled/autum-idelivery.conf: SSLProtocol -all +TLSv1.2
/etc/apache2/sites-available/autum-idelivery.conf: SSLProtocol -all +TLSv1.2
/etc/apache2/conf-available/ssl-params.conf:SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
/etc/apache2/mods-available/ssl.conf: SSLProtocol all -SSLv3

# pix
Avatar discord do usuario anoni_mato

anoni_mato

SSLProtocol all -SSLv2 -SSLv3 -TLSv1.3

# pix
Avatar discord do usuario anoni_mato

anoni_mato

Ver Respostas

hummm... nesse caso, o problema deve ser o TLSv1.3. ele tá com um bug afetando o recurso de SSLClientVerify optional

# pix
Avatar discord do usuario rafaelvverde

rafaelvverde

Ver Respostas

SSLProtocol all -SSLv2 -SSLv3

# pix
Avatar discord do usuario anoni_mato

anoni_mato

vc pode buscar com grep -Ri SSLProtocol /etc/apache2 (supondo que seja /etc/apache2 o diretório onde ficam todos os .conf)

# pix
Avatar discord do usuario anoni_mato

anoni_mato

agora uma obs: se o seu novo vhost criado para o subdomínio funciona e o vhost primário não, significa que algum outro .conf (que pode estar sendo chamado por Include no vhost principal) tá definindo SSLProtocol não suportado

# pix
Avatar discord do usuario anoni_mato

anoni_mato

SSLProtocol TLSv1.2

# pix
Avatar discord do usuario anoni_mato

anoni_mato

<@!796521130038657045> veja no /etc/apache2/mods-enabled/ssl.conf se vc tem a diretiva SSLProtocol

# pix
Avatar discord do usuario anoni_mato

anoni_mato

Na verdade, acho que falei besteira 😅
Usa-se o cert.pem (e CA do LE (ca.pem) vai no SSLCertificateChainFile) apenas em versões mais antigas do Apache; (e o SSLCACertificateFile fica sendo só o arquivo da GN mesmo, independente da versão do Apache)

# pix
Avatar discord do usuario anoni_mato

anoni_mato

Outra coisa que eu já vi é o Apache dar problema quando vc usa um certificado que inclui a cadeia como SSLCertificateFile e tenta usar um SSLCACertificateFile ao mesmo tempo. Se limitar o TLS a 1.2+ não resolver, tenta usar o certificado sem a cadeia do Let's Encrypt (em vez do fullchain.pem, deve ter um outro arquivo que é só o certificado, cert.pem), e criar um arquivo unindo o ca.pem do Lets Encrypt + o .crt da GN pra usar como SSLCACertificateFile (não jogue o crt da GN dentro do ca.pem, pois esse ca.pem é sobrescrito a cada 2-3 meses quando o LE do domínio se renova). edit: ver meu outro comentário abaixo.

# pix
Avatar discord do usuario rafaelvverde

rafaelvverde

meu log:

[Fri Jan 15 17:44:16.543418 2021] [ssl:error] [pid 76140] [client 34.193.116.226:45105] AH: verify client post handshake
[Fri Jan 15 17:44:16.543461 2021] [ssl:error] [pid 76140] [client 34.193.116.226:45105] AH10158: cannot perform post-handshake authentication
[Fri Jan 15 17:44:16.543482 2021] [ssl:error] [pid 76140] SSL Library Error: error:14268117:SSL routines:SSL_verify_client_post_handshake:extension not received
[Fri Jan 15 17:44:17.107786 2021] [ssl:error] [pid 76142] [client 34.193.116.226:33026] AH: verify client post handshake
[Fri Jan 15 17:44:17.107818 2021] [ssl:error] [pid 76142] [client 34.193.116.226:33026] AH10158: cannot perform post-handshake authentication
[Fri Jan 15 17:44:17.107835 2021] [ssl:error] [pid 76142] SSL Library Error: error:14268117:SSL routines:SSL_verify_client_post_handshake:extension not received

# pix
Avatar discord do usuario rafaelvverde

rafaelvverde

:443>
ServerName idelivery.autum.com.br
ServerAlias .idelivery.autum.com.br
DocumentRoot /var/www/autum-idelivery/public

Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
Require all granted


SSLEngine on
#SSLCertificateFile "/etc/apache2/ssl/certificates/idelivery.autum.com.br.crt"
SSLCertificateFile "/etc/letsencrypt/live/idelivery.autum.com.br/fullchain.pem"
#SSLCertificateKeyFile "/etc/apache2/ssl/certificates/idelivery.autum.com.br.key"
SSLCertificateKeyFile "/etc/letsencrypt/live/idelivery.autum.com.br/privkey.pem"
SSLCACertificateFile "/etc/apache2/ssl/certificates/chain-pix-gerencianet-prod.crt"
SSLVerifyClient none


#SSLCACertificateFile "/etc/apache2/ssl/certificates/chain-pix-gerencianet-prod.crt"
SSLVerifyClient require
SSLVerifyDepth 3


ErrorLog ${APACHE_LOG_DIR}/autum-idelivery-error.log
CustomLog ${APACHE_LOG_DIR}/autum-idelivery-access.log combined