Tutorial Squid sur XP avec AD sous 2003

Forum sur la sécurité des réseaux, la configuration des firewalls, la mise en place de protections contre les attaques, de DMZ, de systèmes anti-intrusion ...

Modérateur: modos Ixus

Tutorial Squid sur XP avec AD sous 2003

Messagepar seb nantes » 26 Juil 2007 12:37

A) Installer Squid Ssl v2.6 sous Windows NT

1- Télécharger SquidNT (http://www.acmeconsulting.it/SquidNT.html) et le décompresser dans c:\squid
2- Copier les fichiers libeay32.dll et ssleay32.dll de c:\squid\system32 vers c:\windows\system32
3- Dans le dossier \etc, supprimer l'extension .default des 3 fichiers.
4- Rajouter la ligne visible_hostname TOTO dans \etc\squid.conf (où TOTO est le nom de votre PC)
5- Dans \etc\squid.conf, décommenter la ligne #http_access deny all
6- Sous dos saisir c:\squid\sbin\squid –i (installe un service Squid)
7- Sous dos saisir c:\squid\sbin\squid –z (installe un cache dans \var\cache)
8- Ouvrir le Pare-feu Windows (créer une exception sur c:\squid\sbin\squid.exe)
9- Démarrer le service
10- Mettre l’IP du proxy et le port 3128 dans IE.

Remarque : relecture de squid.conf sans redémarrer le service : squid.exe -k reconfigure -n squid


B) Authentification Basic (le mot de passe circule en clair) selon un groupe local :

B-1) Authentification Basic depuis un groupe local :

1- Sur le Proxy créer un groupe local nommé Squid

2- Décommenter et modifier les lignes suivantes dans \etc\squid.conf :
Code: Tout sélectionner
auth_param basic program c:/squid/libexec/win32_auth.exe -A Squid -O maboite
auth_param basic children 5
auth_param basic realm MABOITE


3- Dans \etc\squid.conf, commenter avec un # la ligne http_access deny all

4- Dans \etc\squid.conf , rajouter les lignes suivantes puis redémarrer le service Squid :
Code: Tout sélectionner
acl PERSONEL proxy_auth REQUIRED
http_access allow PERSONEL

http_access deny all


B-2) Authentification Basic depuis l’AD :

1- Décommenter et modifier les lignes suivantes dans \etc\squid.conf :
Code: Tout sélectionner
auth_param basic program c:/squid/libexec/squid_ldap_auth.exe -R -b "dc=maboite,dc=com" -D "cn=Administrateur,cn=Users,dc=maboite,dc=com" -w "password" -f sAMAccountName=%s -h 192.168.1.1
auth_param basic children 5
auth_param basic realm MABOITE


2- Dans \etc\squid.conf, commenter avec un # la ligne http_access deny all

4- Dans \etc\squid.conf , rajouter les lignes suivantes puis redémarrer le service Squid :
Code: Tout sélectionner
acl PERSONEL proxy_auth REQUIRED
http_access allow PERSONEL

http_access deny all



C) Authentification Digest (hashé) avec fichier de mot de passe :

1- Décommenter et modifier les lignes suivantes dans \etc\squid.conf :
Code: Tout sélectionner
auth_param digest program c:/squid/libexec/digest_pw_auth.exe c:/squid/passwd.txt
auth_param digest children 5
auth_param digest realm Squid proxy-caching web server
auth_param digest nonce_garbage_interval 5 minutes
auth_param digest nonce_max_duration 30 minutes
auth_param digest nonce_max_count 50


2- Créer un fichier c:\squid\passwd.txt et le remplir ainsi : login:password

3- Dans \etc\squid.conf, commenter avec un # la ligne http_access deny all

4- Dans \etc\squid.conf , rajouter les lignes suivantes puis redémarrer le service Squid :
Code: Tout sélectionner
acl PERSONEL proxy_auth REQUIRED
http_access allow PERSONEL

http_access deny all



D) Authentification NTLM (clients dans le domaine) :

1- Sur le Proxy créer un groupe local nommé LProxyUsers

2- Décommenter et modifier les lignes suivantes dans \etc\squid.conf :
Code: Tout sélectionner
auth_param ntlm program c:/squid/libexec/mswin_ntlm_auth.exe
auth_param ntlm children 5
auth_param ntlm keep_alive on


3- Dans \etc\squid.conf , rajouter les lignes suivantes puis redémarrer le service Squid :
Code: Tout sélectionner
external_acl_type NT_local_group %LOGIN c:/squid/libexec/mswin_check_lm_group.exe
acl LProxyUsers external NT_local_group LProxyUsers
acl PERSONEL proxy_auth REQUIRED
http_access allow PERSONEL LProxyUsers

http_access deny all



E) Authentification Digest avec AD :

E-1) mot de passe en clair :

1- Dans le champ description des comptes AD mettre le mot de passe d’accès internet.

2- Décommenter et modifier les lignes suivantes dans \etc\squid.conf :
Code: Tout sélectionner
auth_param digest program c:/squid/libexec/digest_ldap_auth.exe -A "description" -b "OU=PERSONEL,DC=maboite,DC=com" -D "CN=Administrateur,CN=Users,DC=maboite,DC=com" -w "xxxxxx" -F sAMAccountName=%s -h 192.168.1.1 -v 3
auth_param digest children 5
auth_param digest realm MABOITE
auth_param digest nonce_garbage_interval 5 minutes
auth_param digest nonce_max_duration 30 minutes
auth_param digest nonce_max_count 50


3- Dans \etc\squid.conf , rajouter les lignes suivantes puis redémarrer le service Squid :
Code: Tout sélectionner
acl PERSONEL proxy_auth REQUIRED
http_access allow PERSONEL

http_access deny all


E-2) mot de passe Digest (haché) :

1- Utiliser htdigest.exe (on le trouve par exemple dans le dossier Bin d’Apache)
Code: Tout sélectionner
htdigest.exe –c c:\md5.txt MABOITE squid
Adding password for squid in realm MABOITE
New password: 12345
Re-type new password : 12345


Le fichier md5.txt crée contient alors ceci :
Code: Tout sélectionner
squid:MABOITE:a655c4ef7a71a1a06895909d399a4868


2- Modifier le champ description du compte AD de l’utilisateur squid avec :
Code: Tout sélectionner
MABOITE:a655c4ef7a71a1a06895909d399a4868


3- Décommenter et modifier les lignes suivantes dans \etc\squid.conf :
Code: Tout sélectionner
auth_param digest program c:/squid/libexec/digest_ldap_auth.exe -e -A "description" -b "OU=PERSONEL,DC=maboite,DC=com" -D "CN=Administrateur,CN=Users,DC=maboite,DC=com" -w "xxxxxx" -F sAMAccountName=%s -h 192.168.1.1 -v 3
auth_param digest children 5
auth_param digest realm MABOITE
auth_param digest nonce_garbage_interval 5 minutes
auth_param digest nonce_max_duration 30 minutes
auth_param digest nonce_max_count 50


4- Dans \etc\squid.conf , rajouter les lignes suivantes puis redémarrer le service Squid :
Code: Tout sélectionner
acl PERSONEL proxy_auth REQUIRED
http_access allow PERSONEL

http_access deny all



F) Utiliser les ACLS :

Exemple : Bloquer Ftp, autoriser Msn, pas d’authentification pour les fixes, respect des horaires, pas de mp3/wma et de certains sites (blacklistés)

Code: Tout sélectionner
#Recommended minimum configuration:
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
acl Safe_ports port 80      # http
#acl Safe_ports port 21      # ftp
acl Safe_ports port 443      # https
#acl Safe_ports port 70      # gopher
#acl Safe_ports port 210      # wais
#acl Safe_ports port 1025-65535   # unregistered ports
#acl Safe_ports port 280      # http-mgmt
#acl Safe_ports port 488      # gss-http
#acl Safe_ports port 591      # filemaker
#acl Safe_ports port 777      # multiling http
acl Safe_ports port 1863      # Msn
acl CONNECT method CONNECT

# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager

# Deny requests to unknown ports
http_access deny !Safe_ports

# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports

acl PERSONEL proxy_auth REQUIRED
acl postesfixes src 192.0.0.0/8
acl blacklist url_regex "c:/squid/blacklist.txt"
acl audio url_regex -i .mp3$ .wma$
acl horaires time 00:30-06:00

http_access deny horaires
http_access deny audio
http_access deny blacklist
http_access allow postesfixes
http_access allow PERSONEL

# And finally deny all other access to this proxy
http_access deny all


- Valider les ACLs sur le proxy par la commande c:\squid\sbin\squid.exe -k reconfigure -n squid

- Créer un fichier c:/squid/blacklist.txt de ce format (cf. www.URLBlacklist.com) :
Code: Tout sélectionner
buckheadshow.com
theedgefm.net
acradio.wmod.llnwd.net
radio.cz



G) Utiliser MSN :

Dans Option / Connexion / Paramètres Avancés, renseigner le login et mot de passe :
(IP et port du proxy grisés car renseignés dans IE)


H) Module Statistique :

Installer Apache2 puis copier le fichier c:\squid\libexec\cachemgr.cgi dans C:\Program Files\Apache2\cgi-bin\

Choisir un mot de passe en rajoutant la ligne :
Code: Tout sélectionner
cachemgr_passwd winhelp all


Accéder au module par http://127.0.0.1/cgi-bin/cachemgr.cgi en utilisant le login indiqué ici :
Code: Tout sélectionner
cache_mgr squid@maboite.com


Pour bloquer une rubrique, par exemple l’affichage de la configuration :
Code: Tout sélectionner
cachemgr_passwd disable config
cachemgr_passwd winhelp all



I) Divers :

1- Indiquer une adresse mail sur les pages d’erreur : Décommenter et modifier la ligne
Code: Tout sélectionner
cache_mgr squid@maboite.com


2- Pages d’erreur en français : Décommenter et modifier la ligne
Code: Tout sélectionner
error_directory c:/squid/share/errors/French


3- Si l’authentification Digest avec AD ne fonctionne pas, il faut faire une modification dans AD :
http://www.petri.co.il/anonymous_ldap_o ... 003_ad.htm

4- Masquer la signature du serveur : Décommenter et modifier la ligne
Code: Tout sélectionner
httpd_suppress_version_string on


5- Dimensionner les caches Ram et Disques : Décommenter et modifier les lignes
Code: Tout sélectionner
cache_mem 16 MB
cache_dir ufs c:/squid/var/cache 200 16 256


6- Obtenir des blacklist : http://urlblacklist.com

7- Visionner les logs en temps réel: Télécharger mtail (freeware) via http://ophilipp.free.fr/soft/mtail.zip
[/code]

Seb Nantes
Dernière édition par seb nantes le 12 Août 2007 12:00, édité 4 fois au total.
seb nantes
Matelot
Matelot
 
Messages: 1
Inscrit le: 26 Juil 2007 12:25

Messagepar Muzo » 26 Juil 2007 13:25

Bonjour,

j'ai déplacé votre sujet dans le bon forum.

Cordialement,

/Muzo
/Muzo
"La vie n'est pas un combat, mais une passion à défendre!" MASS HYSTERIA - Knowledge is power
Avatar de l’utilisateur
Muzo
Amiral
Amiral
 
Messages: 5236
Inscrit le: 07 Mai 2003 00:00
Localisation: BNF! Je me culturise.


Retour vers Sécurité et réseaux

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité