CGIProxy sur Debian Etch

Publié le par Paco

Ce document vous présente l'installation du script perl CGIProxy sur une Debian Etch en vue de l'utiliser comme proxy pour surfer, à accéder aux serveurs web de machines situées dans un réseau local, à contrer la censure de votre proxy d'entreprise …


Version 1.0
Auteur: Jean-François HERR
Dernière édition: 16/03/2008

Fonctionnalités recherchées :

Pouvoir accéder à des serveurs bloqués par le proxy de mon entreprise, en http et ftp.
Pour un maximum de sécurité, nous utiliserons ssl et protégerons son accès par login/mot de passe.

Préparation :

Système: une debian Etch mise à jour
Apache2 avec SSL ( un virtualhost déjà opérationnel en https )
Perl

Hostname:  paco33.homedns.org  ( le nom de domaine du serveur web )
Un virtualhost ssl déjà opérationnel en écoute sur le port 443
Fichier de configuration du virtualhost : 
/etc/apache2/sites-available/paco33.homedns.org-ssl


Installation :

Je vais créer un répertoire protégé pour mes scripts sensibles avec root :

mkdir /usr/lib/protect-cgi-bin


Je me positionne dans le répertoire avec un cd
Je récupère l'archive du script avec un wget
Je le décompresse avec le tar xvzf
Je supprime l'archive avec un rm

cd   /usr/lib/protect-cgi-bin
wget http://www.jmarshall.com/tools/cgiproxy/releases/cgiproxy.2.1beta15.tar.gz
tar xvzf  cgiproxy.2.1beta15.tar.gz
rm  cgiproxy.2.1beta15.tar.gz


Pour avoir la dernière version, veuillez consulter le site officiel CGIProxy

Pour la suite, je suis partis du principe que vous aviez déjà un virtualhost en mode ssl

Nous allons ajouter au fichier : /etc/apache2/sites-available/paco33.homedns.org-ssl

SSLProxyEngine On
La redirection de l'Alias scripts Cgi vers notre répertoire protégé: /usr/lib/protect-cgi-bin/

Ajouter une authentification pour accéder à ce répertoire:

                AuthUserFile /etc/apache2/prod.passwd
                AuthName   "Sécurité Site"
                AuthType  Basic
                Require valid-user

Voici mon fichier final :

<VirtualHost 10.168.10.100:443>
        ServerName  paco33.homedns.org
        ServerAdmin admin@orange.fr

        SSLEngine on
        SSLCertificateFile /etc/apache2/apache.pem
        SSLProxyEngine On

        DocumentRoot /var/www/html

        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>

        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/protect-cgi-bin/
        <Directory "/usr/lib/protect-cgi-bin">
                AllowOverride None
                AuthUserFile /etc/apache2/prod.passwd
                AuthName   "Sécurité Site"
                AuthType  Basic
                Require valid-user
                Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined
        ServerSignature On

</VirtualHost>


Création du fichier password et du premier utilisateur, ici admin :

htpasswd -c /etc/apache2/protect.passwd admin


Pour ajouter un nouvel utilisateur :

htpasswd -n  /etc/apache2/protect.passwd utilisateur2


Un petit redémarrage d'Apache afin de prendre en compte nos modifications :

/etc/init.d/apache2 restart


Il ne reste plus qu'à tester avec l'Url dans votre navigateur, pour moi c'est :

        https://paco33.homedns.org/cgi-bin/nph-proxy.cgi


Liens :


Cgi Proxy : http://www.jmarshall.com/tools/cgiproxy/#intro


Publicité

Publié dans Linux

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article