Outils pour utilisateurs

Outils du site


tutoriels:proxy-cgi

CGIProxy : Interface de proxy Web


Proxy

  • Indispensable : Apache2 / Perl / OpenSSL / module Perl Net::SSLeay
  • Le but : obtenir un proxy sur Internet pour permettre la navigation Web anonyme et non-filtré (dans le cas où vous êtes dépendant d'un proxy qui bloque certaines connexions)


Après plusieurs tentatives avec Apache2 en Proxy et ReverseProxy, puis Squid je trouve des infos sur www.jmarshall.com/tools/cgiproxy/

  • Créer le vhost Apache en SSL (crypté) et protégé par authentification:

vi /etc/apache/sites-available/proxy.domaine.fr

<VirtualHost *:443>
    ServerAdmin         root@domaine.fr
    ServerName          proxy.domaine.fr
    DocumentRoot        /var/www/htdocs/test/
    ErrorLog            /var/log/apache2/proxy.domaine.fr-error_log
    TransferLog         /var/log/apache2/proxy.domaine.fr-access_log
        AddHandler cgi-script .cgi
        SSLEngine on
        SSLCertificateFile /etc/apache2/certificate/server.crt
        SSLCertificateKeyFile /etc/apache2/certificate/server.key
        SSLProxyEngine On
<Directory /var/www/htdocs/test/>
AllowOverride FileInfo AuthConfig Limit
DirectoryIndex nph-proxy.cgi
AuthUserFile /etc/apache2/accounts/.htpasswd
AuthName "Welcome to Protected Site"
AuthType Basic
Require valid-user
Options +ExecCGI
</Directory>
</VirtualHost>

  • Charger les modules Apache nécessaires:

a2enmod ssl proxy proxy_http
/etc/init.d/apache2 reload

  • Création des certificats SSL auto-signés: (+ d'infos)

openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
mkdir /etc/apache2/certficate
cp server.crt server.key /etc/apache2/certificate

  • Créer le fichier d'authentification :

mkdir /etc/apache2/accounts
htpasswd -c /etc/apache2/accounts/.htpaswd USER

  • Nous avons l'instance Web en SSL,récupérez les sources du projet : (le site)

cd /var/www/htdocs/test
wget http://www.jmarshall.com/tools/cgiproxy/releases/cgiproxy.2.1beta19.tar.gz .
tar xvzf cgiproxy.2.1beta19.tar.gz

  • Installer le module PERL pour pouvoir activer le support SSL des URL dans le proxy : (source)

aptitude install libnet-ssleay-perl libcrypt-ssleay-perl

  • Le CGI-proxy est prêt, mise en route de l'instance:

a2ensite test.domaine.fr
/etc/init.d/apache2 reload

URL du proxy:

https://test.domaine.fr

Résultat validé ! exemple : authentification Facebook via le proxy…
Dans les logs Apache, c'est bien l'IP du serveur qui apparait…

Liens utiles :
http://www.yakakliker.org/Linux/Base_de_connais...nt_que_Reverse_Proxy
http://www.akadia.com/services/ssh_test_certificate.html
http://blog.dahanne.net/2007/03/09/installation...ution-de-proxy-http/

tutoriels/proxy-cgi.txt · Dernière modification: 15/04/2016 à 21:15 (modification externe)

Outils de la page