Installation et configuration de Squid3 en mode Proxy sous Ubuntu

De $1

 

 howto05_small.pngObjectifs

Installer un proxy avec paramétrage automatique des stations via les fichiers proxy.pac et wpad.dat en paramétrant les serveurs DHCP & DNS, le tout sous Ubuntu 12.04 serveur LTS.

Pour cela, le serveur Proxy sera aussi serveur Web via Nginx.

Lors de l'installation d'Ubuntu, le serveur devra être nommé "wpad"

 howto05_small.pngInstallation de Webmin

 Com' d'hab cette section n'est pas obligatoire (juste pratique).

root@wpad:~#wget http://prdownloads.sourceforge.net/webadmin/webmin_1.660_all.deb

root@wpad:~#dpkg -i webmin_1.660_all.deb

root@wpad:~#apt-get install -f

 howto05_small.pngInstallation de Squid3

root@wpad:~# apt-get install squid3

 

Editer le fichier /etc/squid3/squid.conf

http_port 3128

visible_hostname wpad

acl home_network src 192.168.XXX.XXX/24

http_access allow home_network 

#http_access deny !Safe_ports

#http_access deny CONNECT !SSL_ports

 howto05_small.pngParamétrage du cache Squid

Editer le fichier /etc/squid3/squid.conf

cache_mem 1024 MB

maximum_object_size_in_memory 1024 KB

memory_replacement_policy heap LFUDA

cache_replacement_policy heap LFUDA

cache_dir aufs /var/spool/squid3 10240 16 256

 

refresh_pattern ^.*\.rpm$       1440    50%     10080
refresh_pattern ^.*\.drpm$      1440    50%     10080
refresh_pattern ^.*\.deb$       1440    50%     10080
refresh_pattern ^.*\.exe$       1440    50%     10080
refresh_pattern ^.*\.zip$       1440    50%     10080
refresh_pattern ^.*\.rar$       1440    50%     10080
refresh_pattern ^.*\.tar\.gz$   1440    50%     10080
refresh_pattern ^.*\.tar\.bz2$  1440    50%     10080

refresh_pattern -i \.(avi|iso|wav|mid|mp?|mpeg|mov|3gp|wm?|swf|flv|x-flv|axd)$ 1440 80% 43200

refresh_pattern ([^.]+.|)spywareterminator.com/.*\.(cab|zip|exe|torrent) 1440 90% 43200
 

 Lancer la commande

root@wpad:~# /etc/init.d/squid3 stop   

root@wpad:~# squid3 -f /etc/squid3/squid.conf -z   

root@wpad:~# /etc/init.d/squid3 start

 howto05_small.pngMise en cache des updates Windows

Editer le fichier /etc/squid3/squid.conf

range_offset_limit 200 MB windowsupdate
maximum_object_size 200 MB
quick_abort_min -1

 

refresh_pattern -i microsoft.com/.*\.(cab|exe|ms[i|u|f]|asf|wm[v|a]|dat|zip) 4320 80% 43200

refresh_pattern -i windowsupdate.com/.*\.(cab|exe|ms[i|u|f]|asf|wm[v|a]|dat|zip) 4320 80% 43200

refresh_pattern -i windows.com/.*\.(cab|exe|ms[i|u|f]|asf|wm[v|a]|dat|zip) 4320 80% 43200

 

# CONFIGURATION SQUID VERSION ZENTYAL 4
# windows updates
refresh_pattern http://.*\.windowsupdate\.microsoft\.com/ 0 80% 20160 reload-into-ims
refresh_pattern http://.*\.update\.microsoft\.com/ 0 80% 20160 reload-into-ims
refresh_pattern http://download\.microsoft\.com/ 0 80% 20160 reload-into-ims
refresh_pattern http://windowsupdate\.microsoft\.com/ 0 80% 20160 reload-into-ims
refresh_pattern http://.*\.download\.windowsupdate\.com/ 0 80% 20160 reload-into-ims
refresh_pattern http://office\.microsoft\.com/ 0 80% 20160 reload-into-ims
refresh_pattern http://w?xpsp[0-9]\.microsoft\.com/ 0 80% 20160 reload-into-ims
refresh_pattern http://w2ksp[0-9]\.microsoft\.com/ 0 80% 20160 reload-into-ims

# linux updates
refresh_pattern http://.*\.archive\.ubuntu\.com/ 0 80% 20160 reload-into-ims
refresh_pattern http://(ftp|http)[0-9]*\.[a-z]+\.debian\.org/ 0 80% 20160 reload-into-ims

 

acl windowsupdate dstdomain windowsupdate.microsoft.com
acl windowsupdate dstdomain .update.microsoft.com
acl windowsupdate dstdomain download.windowsupdate.com
acl windowsupdate dstdomain redir.metaservices.microsoft.com
acl windowsupdate dstdomain images.metaservices.microsoft.com
acl windowsupdate dstdomain c.microsoft.com
acl windowsupdate dstdomain www.download.windowsupdate.com
acl windowsupdate dstdomain wustat.windows.com
acl windowsupdate dstdomain crl.microsoft.com
acl windowsupdate dstdomain sls.microsoft.com
acl windowsupdate dstdomain productactivation.one.microsoft.com
acl windowsupdate dstdomain ntservicepack.microsoft.com

acl CONNECT method CONNECT
acl wuCONNECT dstdomain www.update.microsoft.com
acl wuCONNECT dstdomain sls.microsoft.com

http_access allow CONNECT wuCONNECT home_network
http_access allow windowsupdate home_network

 howto05_small.pngInstallation du serveur web Nginx pour l'hébergement du proxy.pac et wpad.dat

root@wpad:~# apt-get install nginx

 

Dans le dossier /usr/share/nginx/www/

Créer 2 fichiers texte : proxy.pac et wpad.dat

Dans les 2 fichiers :

function FindProxyForURL(url, host) {

if (isPlainHostName(host) ||
dnsDomainIs(host,".domaine01.com") ||
dnsDomainIs(host,".domaine02.fr") ||
isInNet(dnsResolve(host), "XXX.XXX.XXX.XXX", "255.255.255.0")) {
  return "DIRECT";

}

 

if ((host == "localhost") ||
     (shExpMatch(host, "localhost.*")) ||
     (host == "127.0.0.1")) {
         return "DIRECT";

}

 

return "PROXY XXX.XXX.XXX.XXX:3128";

}

Créer 1 fichier : .htaccess 

Insérer :

AddType application/x-ns-proxy-autoconfig .dat

AddType application/x-ns-proxy-autoconfig .pac

 

 howto05_small.pngParamétrages du serveur DHCP

Dans le fichier /etc/dhcp3/dhcp.conf

Rajouter les lignes correspondantes :

option local-pac-server code 252 = text;
option local-pac-server "http://wpad.mondomaine.ext:80/wpad.dat";

Redémarrer le serveur dhcp

 howto05_small.pngParamétrages du serveur DNS

Configurer le serveur DNS (perso il s'agit de Bind)

Editer le fichier /etc/services

Rajouter cette ligne correspondant au service proxy

wpad            3128/tcp        wpad            # http proxy

 

Editer le fichier d'enregistrement de Bind correspondant à votre zone dns (dans mon cas /var/lib/bind/db.mondomaine.ext)

Rajouter les lignes :

wpad                IN      A      
                    IN      TXT     "service: wpad:http://wpad.domaine.ext/proxy.pac"
_wpad._tcp          IN      SRV     0 0 80 wpad.domaine.ext.

Redémarrer le service DNS

Pour les serveurs DNS sous Windows serveur 2012

Pour les heureux possesseurs d'un serveur DNS Microsoft 2012 Server, vous verrez apparaitre un beau message d'erreur après la création du nom dns wpad.mondomaine.ext.

Le service DNS bloquera ce nom et vous ne pourrez même pas le pinger (Microsoft event ID 7600 dans l' observateur d' évènements DNS).

Il s'agit apparemment d'une sécurité (à la $Crosoft) que bien évidemment, (comme beaucoup de sécurités à la $Crosoft) vous finirez par désactiver..  MDR !

Donc pour désactiver cette sécurité afin de pouvoir profiter d'un Proxy pour sécuriser votre réseau :

dnscmd [<NomServeur>] /config /enableglobalqueryblocklist 0

Redémarrer le service DNS

Vous pourrez alors créer l'hôte wpad.mondomaine.ext sans encombre

 howto05_small.pngVous en pensez quoi ?


 

 

 

 

Enrichissez Yakakliker en y contribuant vous aussi.

 
Images (0)
 
Commentaires (1)
Affichage de 1 commentaires sur 1: voir tout
Pour les serveurs DNS 2012 serveur :
http://technet.microsoft.com/fr-fr/library/cc816908(v=ws.10).aspx
Posté 17:06, 25 Nov 2013
Affichage de 1 commentaires sur 1: voir tout
Vous devez être connecté pour poster un commentaire.