HSC
Network Security Consulting Agency Since 1989 - Specialized in Unix, Windows, TCP/IP and Internet
Text mode: access to the page content
Hervé Schauer Consultants
You are here: Home > Resources > Tips > apache en relais inverse
Go to: HSC Trainings
Télécharger le catalogue des formations
Search:  
Version française
   Services   
o Skills & Expertise
o Consulting
o ISO 27001 services
o Audit & Assessment
o Penetration tests
o Vunerability assessment (TSAR)
o Forensics
o ARJEL
o Training courses
o E-learning
   Conferences   
o Agenda
o Past events
o Tutorials
   Resources   
o Thematic index
o Tips
o Lectures
o Courses
o Articles
o Tools (download)
o Vulnerability watch
   Company   
o Hervé Schauer
o Team
o Job opportunities
o Credentials
o History
o Partnerships
o Associations
   Press and
 communication
 
 
o HSC Newsletter
o Bulletin juridique HSC
o Press review
o Press releases
o Publications
   Contacts   
o How to reach us
o Specific inquiries
o Directions to our office
o Hotels near our office
|>|apache en relais inverse  

by Denis Ducamp (11/11/2000)



Ce document décrit comment installer un serveur apache en relais inverse
avec authentification basique et chiffrement ssl.

L'installation d'apache se fait comme à l'accoutumée avec support de ssl et
du relayage. Il est préférable de désactiver également ce qui est inutile
comme le support des modules et des cgi. Dans l'exemple suivant, apache a
été installé dans le répertoire /www (./configure ... --prefix=/www).

Il est ensuite nécessaire de réaliser les modifications suivantes dans le
fichier httpd.conf :

. changer la ligne Port en "Port 443"
. ne garder qu'une ligne Listen en "Listen 443"

Puis changer la configuration de la partie relayage comme suit :

<IfModule mod_proxy.c>
    ProxyRequests Off

    ProxyPass / http://192.168.1.98:8080/
    ProxyPassReverse / http://192.168.1.98:8080/

    <Directory proxy:*>
         AuthType Basic
         AuthuserFile /www/proxy/.htpasswd

         AuthName Proxy
         require valid-user
    </Directory>
</IfModule>

Où 192.168.1.98 est le serveur sensible à protéger et 8080 son port.

Il est important de faire attention à ce que la ligne ProxyRequests soit à
off sinon il sera possible d'utiliser le relais inverse comme un véritable
relais...

Il est également possible de rajouter avec la ligne "require valid-user" les
quatre lignes ci-dessous afin de permettre des tests sans authentification
depuis l'adresse 127.0.0.1 .

    Order deny,allow
    Deny from all
    Allow from 127.0.0.1

    Satisfy any

Le fichier de mots de passes est à créer/modifier avec la commande htpasswd :

    $ cd /www/proxy
    $ ../bin/htpasswd -c .htpasswd username

Il est également possible de déclarer des groupes dans un fichier et de
rajouter la ligne suivante :

    AuthGroupFile /www/proxy/.htgroup

puis de changer la ligne "require" :

    Require group proxy

Le fichier .htgroup doit être au format suivant :

    proxy:user1,user2,user3

Lancer le relais par les commandes suivantes :

    # cd /www
    # ./bin/httpd

Les journaux contiennent les lignes suivantes :

. logs/error_log :

[Sat Nov 11 14:57:21 2000] [notice] Apache/1.3.14 (Unix) mod_ssl/2.7.1 OpenSSL/0.9.6 configured -- resuming normal operations

. logs/ssl_engine_log :

[11/Nov/2000 14:56:50 05670] [info]  Server: Apache/1.3.14, Interface: mod_ssl/2.7.1, Library: OpenSSL/0.9.6
[11/Nov/2000 14:56:50 05670] [info]  Init: 1st startup round (still not detached)
[11/Nov/2000 14:56:50 05670] [info]  Init: Initializing OpenSSL library
[11/Nov/2000 14:56:50 05670] [info]  Init: Loading certificate & private key of SSL-aware server brett.groar.org:443
[11/Nov/2000 14:56:50 05670] [info]  Init: Seeding PRNG with 136 bytes of entropy
[11/Nov/2000 14:56:50 05670] [info]  Init: Generating temporary RSA private keys (512/1024 bits)
[11/Nov/2000 14:57:21 05670] [info]  Init: Configuring temporary DH parameters (512/1024 bits)
[11/Nov/2000 14:57:21 05671] [info]  Init: 2nd startup round (already detached)
[11/Nov/2000 14:57:21 05671] [info]  Init: Reinitializing OpenSSL library
[11/Nov/2000 14:57:21 05671] [info]  Init: Seeding PRNG with 136 bytes of entropy
[11/Nov/2000 14:57:21 05671] [info]  Init: Configuring temporary RSA private keys (512/1024 bits)
[11/Nov/2000 14:57:21 05671] [info]  Init: Configuring temporary DH parameters (512/1024 bits)
[11/Nov/2000 14:57:21 05671] [info]  Init: Initializing (virtual) servers for SSL
[11/Nov/2000 14:57:21 05671] [info]  Init: Configuring server brett.groar.org:443 for SSL protocol
[11/Nov/2000 14:57:21 05671] [warn]  Init: (brett.groar.org:443) You configured HTTP(80) on the standard HTTPS(443) port!

Tester ensuite avec les commandes suivantes :

    $ /usr/local/ssl/bin/openssl s_client -connect 192.168.1.25:443
    CONNECTED(00000003)
    ...
    New, TLSv1/SSLv3, Cipher is EDH-RSA-DES-CBC3-SHA
    Server public key is 1024 bit
    ...
    ---
    HEAD / HTTP/1.0

    HTTP/1.0 401 Authorization Required
    Date: Sat, 11 Nov 2000 14:05:11 GMT
    Server: Apache/1.3.14 (Unix) mod_ssl/2.7.1 OpenSSL/0.9.6
    WWW-Authenticate: Basic realm="Proxy"
    Connection: close
    Content-Type: text/html; charset=iso-8859-1

    closed

Ici l'entête http est générée par le relais qui a refusé la connexion,
demandant une authentification au client (erreur 401). Aucune requête n'a
été émise entre le relais et le serveur.

    $ /usr/local/ssl/bin/openssl s_client -connect 192.168.1.25:443
    CONNECTED(00000003)
    ...
    New, TLSv1/SSLv3, Cipher is EDH-RSA-DES-CBC3-SHA
    Server public key is 1024 bit
    ...
    ---
    HEAD / HTTP/1.0
    Authorization: Basic dGVzdDp0ZXN0

    HTTP/1.0 200 OK
    Date: Sat, 11 Nov 2000 14:09:03 GMT
    Server: Apache/1.3.14 (Unix) PHP/4.0.3 mod_ssl/2.7.1 OpenSSL/0.9.6
    Content-Type: text/html

    closed

Ici le relais a validé l'authentification et renvoyé la requête au serveur.
L'entête http reçue par le client a été générée par le serveur sensible
protégé par le relais (apache avec PHP).



Last modified on 12 November 2003 at 13:55:00 CET - webmaster@hsc.fr
Mentions légales - Information on this server - © 1989-2013 Hervé Schauer Consultants