Ça dépend de ton apache.
Avec apache 2.4 il faut utiliser Require tout court à la place de SSLRequire Du coup le satisfy any + allow from + Require doit correspondre à ce que tu cherche.

Et ne pas oublier que la renégociation est indispensable pour que ça marche, ce qui veut dire que les client qui la désactivent (faille ssl connue -> beaucoup de monde) ne pourront pas se connecter.

Sinon tu peux faire un site avec 2 vhost quasi identiques sans renego, l'un avec authent, l'autre sans. Et tu redirige ceux qui arrivent sur le site sans authent mais depuis la mauvaise ip vers le site avec authent.

Benoit


Le 2013-03-14 17:33, Jean-Francois Maeyhieux a écrit :
Vu qu'apparemment ce que je veux faire est impossible au niveau apache,
du moins sur un seul vhost sans utiliser iptables ou un proxy.

Cette solution est fonctionelle et resoud le problème effectivement.

Par contre cela crée une dépendance entre une règle iptable et apache et
une autre dépendance entre 2 vhosts.

Un grand merci à toi pour cette solution viable et acceptable ^^


Zentoo


On Thu, 2013-03-14 at 13:00 +0100, Sebastien Caps wrote:
Alors si l'IP est connue tu peux éventuellement faire une règle iptables
qui redirige sur un autre port de ton serveur apache
par exemple avec ça
*iptables -t nat -A PREROUTING -s 192.168.1.1 -p tcp --dport 443 -j
REDIRECT --to-ports 4443*

et sur ce port tu sert un configuration de vhost differente

comme ça par défaut tout arrive sur le vhost avec les certificats client
et pour l'ip donnée tu mets la config comme tu l'entends

ce serait acceptable ?
Seb.






Le 13 mars 2013 18:08, Jean-Francois Maeyhieux <b...@free.fr
<mailto:b...@free.fr>> a écrit :

    Bonjour,

je rencontre un problème de configuration d'un vhost apache (2.2).

Mon but est de pouvoir acceder au site web uniquement en SSL soit en
    présentant un certificat client soit en venant d'une IP donnée.

Mon vhost actuel ne me permet pas d'acceder directement en SSL via l'IP
    sans présenter de certificat. La partie certificat fonctionnant
    parfaitement.

J'ai bien pensé à un 'Satisfy Any' mais comment y intégrer la notion de
    certificat SSL ?

J'ai épluché la documentation apache et utiliser google à tout va mais je n'ai pas trouvé de configuration par IP ou certificat UNIQUEMENT par
    SSL.

Note: la directive 'SSLVerifyClient optional' est incompatible avec au
    moins IE 8.


    Voici ç quoi ressemble mon vhost:

(192.168.1.1 sera remplacé par des IP publiques donc pas de solution
    HTTP/IP+HTTPS/certificat possible)


    <VirtualHost x.x.x.x:443>
             SSLEngine on

SSLCertificateFile /etc/httpd/conf/my-ca/www.toto.com.crt SSLCertificateKeyFile /etc/httpd/conf/my-ca/www.toto.com.key
             SSLCACertificateFile /etc/httpd/conf/my-ca/myCA.crt
             SSLCARevocationFile /etc/httpd/conf/my-ca/myCA-crl.pem

             SSLProtocol -SSLv2 -SSLv3 +TLSv1
             SSLHonorCipherOrder on
             SSLCipherSuite
ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDH-RSA-AES256-GCM-SHA384:ECDH-ECDSA-AES256-GCM-SHA384:ECDH-RSA-RC4-SHA:RC4-SHA:TLSv1:!AES128:!3DES:!CAMELLIA:!SSLv2:HIGH:MEDIUM:!MD5:!LOW:!EXP:!NULL:!aNULL
             SSLInsecureRenegotiation ON

             ServerName www.toto.com <http://www.toto.com>
             DocumentRoot /var/www/htdocs

             ErrorLog  /var/logs/ssl_error_log
             CustomLog /var/logs/ssl_access_log combined

             <Location />
                     SSLRequireSSL
                     SSLVerifyClient optional
                     SSLVerifyDepth 5
                     SSLOptions OptRenegotiate
                     SSLRequire %{REMOTE_ADDR} eq "192.168.1.1" or
( %{SSL_CLIENT_S_DN_O} eq "MyCompany" and %{SSL_CLIENT_S_DN_OU} eq
    "MySection" )

             </Location>

    </VirtualHost>


    Une idée ?



    Cordialement,
                     Zentoo





    _______________________________________________
    Liste de diffusion du FRsAG
    http://www.frsag.org/



_______________________________________________
Liste de diffusion du FRsAG
http://www.frsag.org/

_______________________________________________
Liste de diffusion du FRsAG
http://www.frsag.org/
_______________________________________________
Liste de diffusion du FRsAG
http://www.frsag.org/

Répondre à