CGIProxy sur Debian Etch
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 :
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
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 :
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 :
Pour ajouter un nouvel utilisateur :
Un petit redémarrage d'Apache afin de prendre en compte nos modifications :
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