Eu tenho essas duas configurações no NGINX:
ssl_stapling on;
ssl_stapling_verify on;
Isso estava funcionando antes, mas parou de funcionar depois que reinstalei meu sistema operacional. Estou me perguntando qual poderia ser o problema. Além disso, em um cenário do tipo MITM, contra que tipo de ataque ssl_stapling e ssl_stapling_verify protegem? Se houver um ataque que proteja contra algo, o que posso fazer para mitigar a eficácia do ataque?
Responder1
O grampeamento SSL significa que as informações de revogação sobre o certificado do servidor (ou seja, resposta OCSP) são incluídas no handshake TLS junto com o certificado do servidor. Atualmente é mais uma otimização de tráfego, pois não é necessária uma solicitação OCSP adicional (o que os navegadores geralmente não fazem).
Será um recurso de segurança se o navegador insistir em grampear a resposta OCSP. Neste caso, impedirá que algum MITM use um certificado revogado para o domínio, a fim de sequestrar o tráfego e simplesmente bloquear a solicitação/resposta OCSP. Os navegadores geralmente desistem se a consulta OCSP falhar e, portanto, esse ataque pode funcionar. Mas, novamente - a maioria dos navegadores não usa mais o OCSP, mas usa um mecanismo alternativo (e ainda menos confiável) - consulteComo os navegadores lidam com certificados SSL/TLS revogados?.
O requisito para usar o grampeamento OCSP pode ser uma propriedade do próprio certificado (extensão OCSP-must-staple), ou seja, pode resultar em falha se você tiver esse certificado, mas não grampear a resposta OCSP.
Responder2
Os certificados possuem listas CRL que mostram que foram revogados. grampear é uma maneira alternativa de fazer isso. Se você ativar isso, acho que o emissor do seu certificado também deve oferecer suporte a esse recurso. Anexei um link abaixo que aborda a configuração no nginx.
https://www.digicert.com/kb/ssl-support/nginx-enable-ocsp-stapling-on-server.htm
Pelo que li até agora, não parece que o grampeamento impeça o MITM. Apenas muda a forma como um certificado é verificado se é válido e não expirou ou foi revogado.