Reverse proxy apache avec certificat signé

Reverse proxy apache avec certificat signé - Réseaux - Systèmes & Réseaux Pro

Marsh Posté le 19-09-2007 à 00:37:13    

Bonjour,
 
Je dois mettre en place un reverse proxy apache pour obtenir une architecture de ce type :  
 


Client  -----http----->  Reverse Proxy ----https-----> Serveur qui exige le certificat présent sur le RP.


 
J'ai testé la connexion directe client->serveur en positionnant les certificats et la clef sur mon navigateur (sous forme d'un certificat PKCS12), ça passe.
 
Par contre, en positionnant le P12 sur le Reverse proxy, ça passe pas. Le serveur ne voit pas les certificats. j'ai essayé en concaténant la clef et le certificat dans un PEM, même résultat.
 
Voici la configuration mise en place sur le RP :  
 


SSLProxyEngine on
SSLProxyMachineCertificateFile /SOFT/apache2.0.54final/conf/ssl.crt/MonCertpksc.p12
SSLProxyCACertificateFile /SOFT/apache2.0.54final/conf/ssl.crt/certCA.pem   --------------> ca + ca intermediaire  


 
 
J'obtiens ces logs :  


Tue Sep 18 17:08:27 2007] [notice] SIGHUP received.  Attempting to restart
[Tue Sep 18 17:08:27 2007] [info] Init: Initializing OpenSSL library
[Tue Sep 18 17:08:27 2007] [info] Init: Seeding PRNG with 0 bytes of entropy
[Tue Sep 18 17:08:27 2007] [info] Init: Generating temporary RSA private keys (512/1024 bits)
[Tue Sep 18 17:08:28 2007] [info] Init: Generating temporary DH parameters (512/1024 bits)
[Tue Sep 18 17:08:28 2007] [info] Init: Initializing (virtual) servers for SSL
[Tue Sep 18 17:08:28 2007] [debug] ssl_engine_init.c(405): Creating new SSL context (protocols: SSLv2, SSLv3, TLSv1)
[Tue Sep 18 17:08:28 2007] [debug] ssl_engine_init.c(530): Configuring client authentication
[Tue Sep 18 17:08:28 2007] [debug] ssl_engine_init.c(1095): CA certificate: /C=FR/O=XX-XX-XX/OU=AC-CLASSE-4
[Tue Sep 18 17:08:28 2007] [warn] no client certs found for SSL proxy
[Tue Sep 18 17:08:28 2007] [info] Server: Apache/2.0.54, Interface: mod_ssl/2.0.54, Library: OpenSSL/0.9.8c
[Tue Sep 18 17:08:28 2007] [notice] Apache/2.0.54 (Unix) mod_ssl/2.0.54 OpenSSL/0.9.8c configured -- resuming normal operations
[Tue Sep 18 17:08:28 2007] [info] Server built: Jul 27 2007 18:11:36
[Tue Sep 18 17:08:28 2007] [debug] prefork.c(956): AcceptMutex: sysvsem (default: sysvsem)


 
Si vous avez une (ou des:) ) idées ...
 
Merci.

Reply

Marsh Posté le 19-09-2007 à 00:37:13   

Reply

Marsh Posté le 01-11-2007 à 16:08:01    

Peut être que la directive SSLProxyMachineCertificateFile n'accepte pas le format pkcs12 ?

Reply

Marsh Posté le 12-11-2007 à 10:32:09    

Bonjour,
J'ai aujourd'hui le même soucis sur une appli pour mon taf.
Est-ce que tu as trouvé une solution ze_jua ? Si oui, peux tu nous donner la solution que tu as mis en oeuvre ?
Merci

Reply

Marsh Posté le 15-11-2007 à 19:00:50    

Salut,
 
En fait j'avais posté pour une collègue.
 
Je crois qu'elle a trouvé (enfin dans tous les cas le projet est passé aux étapes suivantes :) ) .
 
Je lui demande dès que possible et je répond ici (demain je crois qu'elle est en RTT).

Reply

Marsh Posté le 16-11-2007 à 15:18:13    

Ah ! Cool, Merci pour ton aide.

Reply

Marsh Posté le 04-12-2007 à 23:56:48    

Désolé de ne pas avoir répondu à l'époque... j'espère que tu as trouvé. Voici notre config, si ça peut aider quelqu'un  d'autre.
 
 
Compilation de Apache (celui de votre distrib marche peut-être. Sous AIX on a du compiler le notre comme ceci, ainsi que OpenSSL)

 
./configure --prefix=/STUFF/RP.APACHE.2.0.54 --enable-rewrite --enable-proxy  --enable-proxy-connect  --enable-proxy-http --without-berkeley-db --enable-ssl --with-ssl=/STUFF/OPENSSL0.9.8C/

 
 
 
Et voici la config de apache qui va bien


<VirtualHost *:800>
 
  SSLProxyEngine on
 
  # Clef privée publique + certificat du serveur (tous deux au format PEM)  
  SSLProxyMachineCertificateFile /STUFF/RP.APACHE.2.0.54/conf/ssl-crt/nous.pem
 
  # Le certificat racine de la CA + le certificat intermédiaire de la CA (au format PEM)
  SSLProxyCACertificateFile /STUFF/RP.APACHE.2.0.54/conf/ssl-crt/ca.pem
 
  ProxyRequests Off
 
  #Coeur de l'action (Activation du moteur de rewrite)
  RewriteEngine On
 
  #Activation des LOGS (les laisser desactiver lorsqu'on est en production)
  RewriteLog logs/rewrite.log
  RewriteLogLevel 9
 
 
  ##############################################################################
  ###################   Correctif à l'UID ######################################
  # Si la requête entrante contient "caisse= suivi de 3 chiffres alors on réécrit la requête avec les bon paramètres et qu'on demande au navigateur
  # web client de la renvoyer avec les bons paramètres (R = redirect). La seconde requête est conforma à la spec.
 
  # J'ai laissé ces exemples de rewrite qui sont commentés, je ne sais pas si ils collent exactement à notre configuration finale.
 
  #RewriteCond %{QUERY_STRING} ^(.*)caisse=(\d{3})(.*)$
  #RewriteRule ^/$ http://serveur.dest.net:20080/rep/application.do?uid=foo@%2&caisse=%2&autreargument=blabla [R,L]
  #RewriteRule ^/$ http://serveur.dest.net:20080/rep/application.do [R,L]
 
  #############################################################################
 
  # Indique que les requêtes vers Reverse/* doivent aller vers Http://serveur.dest.net/rep/*
  ProxyPass /rep Https://serveur.dest.net/rep/
 
  # Indique au navigateur web que les liens vers Http://serveur.dest.net/rep/* doivent pointer vers Reverse/*
  ProxyPassReverse /rep Https://serveur.dest.net/rep/
 
</VirtualHost>
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed