50.10. Configuração da autenticação do certificado de cliente TLS
A autenticação do certificado do cliente permite aos administradores permitir que somente usuários que se autenticam usando um certificado acessem recursos no servidor web my_company.idm.example.com. Esta seção descreve como configurar a autenticação do certificado de cliente para o diretório /var/www/html/Example/
.
Se o servidor my_company.idm.example.com Apache usa o protocolo TLS 1.3, certos clientes requerem configuração adicional. Por exemplo, no Firefox, defina o parâmetro security.tls.enable_post_handshake_auth
no menu about:config
para true
. Para mais detalhes, veja Transport Layer Security versão 1.3 no Red Hat Enterprise Linux 8.
Pré-requisitos
- A criptografia TLS está habilitada no servidor my_company.idm.example.com, conforme descrito em Seção 50.7, “Adicionando criptografia TLS a um Servidor HTTP Apache”.
Procedimento
Edite o arquivo
/etc/httpd/conf/httpd.conf
e adicione as seguintes configurações à diretiva<VirtualHost>
para a qual você deseja configurar a autenticação do cliente:<Directory "/var/www/html/Example/"> SSLVerifyClient require </Directory>
A configuração
SSLVerifyClient require
define que o servidor deve validar com sucesso o certificado do cliente antes que o cliente possa acessar o conteúdo no diretório/var/www/html/Example/
.Reinicie o serviço
httpd
:# systemctl restart httpd
Etapas de verificação
Use o utilitário
curl
para acessar a URLhttps://my_company.idm.example.com/Example/
sem autenticação do cliente:$ curl https://my_company.idm.example.com/Example/ curl: (56) OpenSSL SSL_read: error:1409445C:SSL routines:ssl3_read_bytes:tlsv13 alert certificate required, errno 0
O erro indica que o servidor web my_company.idm.example.com requer uma autenticação de certificado de cliente.
Passe a chave privada e o certificado do cliente, assim como o certificado da CA para
curl
para acessar a mesma URL com a autenticação do cliente:$ enrolado --cacert ca.crt --key client.key --cert client.crt https://my_company.idm.example.com/Example/
Se a solicitação for bem sucedida,
curl
exibe o arquivoindex.html
armazenado no diretório/var/www/html/Example/
.
Recursos adicionais
-
Para mais detalhes sobre autenticação de clientes, consulte a documentação
mod_ssl Configuration How-To
no manual Apache. Para detalhes sobre a instalação do manual, consulte o manual Instalando o Servidor HTTP Apache.