Como contornar SSLVerifyClient para endereço IP específico

1

Sou relativamente novo no HTTPD, por isso preciso de alguns insights dos profissionais.

Os administradores anteriores configuram o HTTPD em uma caixa do Linux. Ele está configurado para ler Certs pelo usuário acessando um DNS específico (ex: link ). Um proxy reverso é então usado para enviar o usuário para um servidor de aplicativos, se o certificado for válido, e residir na mesma caixa. Isso funciona muito bem.

Na minha configuração de HTTPD, tenho uma seção como esta:

<VirtualHost>
...
SSLVerifyClient require
SSLVerifyDepth 3
SSLOptions +ExportCertData +StdEnvVars
SSLCACertificateFile <path to cert>
</VirtualHost>

Sempre que alguém acessa o link , seu certificado é lido e enviado para o aplicativo. Mais uma vez isso funciona muito bem.

O que eu gostaria de fazer é ignorar o SSLVerifyClient de um determinado DNS ou endereço IP. Ex: 10.54.12.34

Eu sei que posso definir o SSLVerifyClient como 'opcional', mas isso não parece muito seguro para mim.

Acho que a solução final seria esta:

  • Todos os usuários: SSLVerifyClient require
  • 10.54.12.34: SSLVerifyClient optional

BTW, estamos executando o Apache 2.2

Isso é factível?

Qualquer ajuda é muito apreciada

    
por MCM 31.01.2018 / 15:14

1 resposta

0

Parece que a resposta é não. SSLVerifyClient não inclui nenhuma opção para escolher sua configuração por variáveis de ambiente, por exemplo.

No entanto, você pode definir SSLVerifyClient em um host virtual ou contexto de diretório. Portanto, se você configurar o Apache para exibir conteúdo para 10.54.12.34 de um host ou diretório virtual diferente, poderá definir um valor diferente de SSLVerifyClient ali. Por exemplo, usando mod_rewrite em um VirtualHost:

SSLVerifyClient require

RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^10\.54\.12\.34$
RewriteRule ^(.*)$ /path/to/host-specific-dir/$1 [QSA]

<Directory /path/to/host-specific-dir>
  SSLVerifyClient optional
</Directory
    
por 31.01.2018 / 16:20