Não use a autenticação do certificado de cliente quando estiver na rede local apache2

2

Espero que alguém possa me ajudar com essa pergunta ...

Estou executando um servidor Apache 2.4.7 na minha caixa Ubuntu 14.04 com alguns sites públicos. Para alguns desses sites, eu implementei uma autenticação de certificado de cliente usando certificados autoassinados. Eu estou tentando mudar minha configuração de tal forma que quando um cliente se conecta ao site enquanto na mesma rede como servidor, ignorar a autenticação completamente.

Aqui está o trecho do meu arquivo de configuração:

    SSLEngine On

    SSLProtocol -all +TLSv1 +SSLv3
    SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM

    SSLCertificateFile /etc/ssl/ca/certs/server.crt
    SSLCertificateKeyFile /etc/ssl/ca/private/server.key
    SSLCACertificateFile /etc/ssl/ca/certs/serverCA.crt
    SSLVerifyClient require

    SSLProxyEngine Off

    ProxyRequests Off

Eu tentei modificar essa configuração movendo SSLVerifyClient require para um bloco Location da seguinte forma:

<Location />
  Order deny,allow
  Deny from all

  Allow from 192.168.1.0/24
  SSLVerifyClient require

  Satisfy any
</Location>

Infelizmente, isso não funcionou e eu ainda seria solicitado pelo certificado ou meu site estaria disponível gratuitamente na Internet.

Muito obrigado pela sua ajuda

    
por dimaj 26.06.2015 / 07:39

1 resposta

1

Encontrei a resposta aqui: Permitindo usuários de um endereço IP sem autenticação de cliente de certificado

A essência da resposta é a seguinte:

<VirtualHost *:443>
    SSLEngine On

    SSLProtocol -all +TLSv1 +SSLv3
    SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM

    SSLCertificateFile /etc/ssl/ca/certs/server.crt
    SSLCertificateKeyFile /etc/ssl/ca/private/server.key
    SSLCACertificateFile /etc/ssl/ca/certs/serverCA.crt
    SSLVerifyClient optional

    SSLProxyEngine Off

    ProxyRequests Off

    <Location />
        Order deny,allow
        Deny from all

        Satisfy any
        Allow from 192.168.1.0/24

        RewriteEngine on
        RewriteCond %{SSL:SSL_CLIENT_VERIFY} !^SUCCESS$
        RewriteCond %{REMOTE_ADDR} !^192.168.1.[0-9]*$
        RewriteRule   ^  -  [F]
    <Location />
</VirtualHost>

As principais alterações aqui são as diretivas mod_rewrite na seção Location e a mudança de SSLVerifyClient de require para opcional

    
por 04.07.2015 / 07:54