Red Hat Training

A Red Hat training course is available for RHEL 8

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/.

Importante

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

Procedimento

  1. 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/.

  2. Reinicie o serviço httpd:

    # systemctl restart httpd

Etapas de verificação

  1. Use o utilitário curl para acessar a URL https://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.

  2. 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 arquivo index.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.