Estou tentando autenticar um usuário específico para quem eu enviei um certificado para autenticar no meu proxy da Web usando o certificado mencionado.
Eu acho que tentei quase 20 combinações das seguintes opções e nada parece funcionar para mim. Nas páginas de documentação do apache, todos os exemplos para a autenticação de cliente SSL são geralmente baseados na diretiva <Location>
. Meu caso nunca é mencionado e, neste ponto, estou me perguntando se é possível:
<VirtualHost *:8080>
ProxyRequests On
SSLCACertificateFile /etc/apache2/myca/ca.cer
<Proxy "*">
SSLVerifyClient Require
SSLVerifyDepth 10
SSLOptions +FakeBasicAuth +StrictRequire
SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)-/ \
and %{SSL_CLIENT_S_DN_O} eq "MyComp" \
and %{SSL_CLIENT_S_DN_OU} eq "IT" \
and %{SSL_CLIENT_S_DN_Email} eq "[email protected]")
</Proxy>
ErrorLog ${APACHE_LOG_DIR}/proxy_error.log
CustomLog ${APACHE_LOG_DIR}/proxy_access.log combined
</VirtualHost>
Com a configuração acima, o proxy funciona, mas não pede autenticação, todos podem usá-lo.
SSLVerifyClient Require
fora da diretiva Proxy
e nada mudou SSLRequire
e nada mudou SSLOptions
e nada mudou Require ssl-verify-client
na diretiva Proxy
e recebo um erro 403. Adicionar o certificado ao navegador não muda nada. Eu tentei uma configuração semelhante dentro de uma simples diretiva <Location />
, como mostrado nos exemplos do apache e funciona de fato. Mas não posso resolver isso para o meu caso proxy.