objetivo

Fazer autenticacao para acesso SSL atraves de certificados digitais

ambiente

Apache2 rodando um Wordpress3

O objetivo é que o acesso SSL ao wordpress seja permitido apenas se o usuário tiver um certificado digital pessoal tipo PKCS12 instalado em seu navegador.

No wordpress especificamos que para acessar o wp-admin é obrigatório o uso de SSL.

configuração do apache2

<IfModule mod_ssl.c>
<VirtualHost 192.168.20.243:443>
        ServerName wordpress.empresa.org

        # configuracoes ssl comuns
        SSLEngine On
        SSLCertificateFile    /etc/apache2/ssl/empresa-cert.pem
        SSLCertificateKeyFile /etc/apache2/ssl/empresa-key.pem
        SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown

        # configuracoes para uso obrigatorio de certificado pkcs12 no navegador
        SSLCACertificateFile /etc/apache2/ssl/cacert.pem
        SSLVerifyClient require
        SSLVerifyDepth  10 

        DocumentRoot  /usr/share/sistemas/wordpress
        ErrorLog /var/log/apache2/wordpress-empresa-ssl-error.log
        CustomLog /var/log/apache2/wordpress-empresa-ssl-access.log combined

        <IfModule mod_rewrite.c>
                RewriteEngine On
                RewriteRule !^/wp-admin/(.*) - [C]
                RewriteRule ^/(.*) http://wordpress.empresa.org/$1 [QSA,L]
        </IfModule>

</VirtualHost>
 
<VirtualHost 192.168.20.243:80>

       ServerName wordpress.empresa.org

       DocumentRoot  /usr/share/sistemas/wordpress
       ErrorLog /var/log/apache2/wordpress-empresa-error.log
       CustomLog /var/log/apache2/wordpress-empresa-access.log combined

       <Directory /usr/share/sistemas/wordpress>
               <IfModule mod_rewrite.c>
                       RewriteEngine On
                       RewriteBase /
                       RewriteCond %{REQUEST_FILENAME} -f [OR]
                       RewriteCond %{REQUEST_FILENAME} -d
                       RewriteRule ^wp-admin/(.*) https://wordpress.empresa.org/wp-admin/$1 [C]
                       RewriteRule ^.*$ - [S=40]
                       RewriteRule ^feed/(feed|rdf|rss|rss2|atom)/?$ /index.php?&feed=$1 [QSA,L]
               </IfModule>
        </Directory>

</VirtualHost>
</IfModule>

wordpress

Você precisa definir essa variavel no wp-config.php para que o uso de SSL funcione adequadamente no wordpress3.

define('FORCE_SSL_ADMIN', true);

referências



apache2_autenticacao_atraves_de_certificados_digitais.txt · Last modified: 2011/01/02 19:40 by gutocarvalho
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0