SQUID apt-get install squid3 Faire la commande suivante pour enlever tous les commentaires : grep -E -v '^(# $)' /etc/squid/squid.conf >> newfichier mv newfichier squid.conf Modifier ce fichier : /etc/squid3/squid.conf always_direct allow all acl ourlans src 192.168.1.0/24 http_access allow ourlans /etc/init.d/squid restart Tester la connexion à Squid (@IP:3128) Pour voir les connexions actives : netstat -natp Possible de montrer les logs : tail -f /var/log/squid3/access.log DANSGUARDIAN apt-get install dansguardian clamav-daemon clamav-freshclam Modifier ce fichier /etc/dansguardian/dansguardian.conf Pour activer la configuration, il faut commenter ou supprimer cette ligne : #UNCONFIGURED Cette ligne permet d avoir les messages en français en cas de blocage des sites : language = 'french' Cette ligne permet d activer l antivirus : virusscan = on virusengine = 'clamav' contentscanner = '/etc/dansguardian/contentscanners/clamav.conf'
Tous les filtres se trouve dans /etc/dansguardian/lists Exemple, modifier le fichier bannedsitelist et ajouter un site a bloquer (facebook.com) Il est possible de créer un script pour MAJ auto les listes, #!/bin/bash cd /etc/dansguardian/lists/blacklists wget ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz tar -xvzf blacklists.tar.gz -C /etc/dansguardian/lists/blacklists /etc/init.d/dansguardian stop /etc/init.d/dansguardian start Une fois la configuration faites,il faut télécharger les MAJ de ClamAV, faire la commande suivante dans un terminal : freshclam Puis faire redémarrer Dansguardian pour prendre la nouvelle configuration : /etc/init.d/dansguardian stop puis start Tester la connexion à Dansguardian (@IP:8080) Tester que le site facebook.com n'est pas accessible. Tester avec un mot interdit Tester ClamAV en allant sur eicar.org et télécharger eicar.com.txt Montrer les logs de Squid et Dansguardian. WPAD apt-get install apache2 Puis modifier ce fichier : /etc/apache2/httpd.conf Puis ajouter : AddType application/x-ns-proxy-autoconfig.dat Ensuite, créer ce fichier :
nano /var/www/wpad.dat Puis y mettre : function FindProxyForURL(url, host) { if (isinnet(host, "x.x.x.0", "255.255.255.0")) return "DIRECT"; else return "PROXY x.x.x.x:8080"; } Remplacer "x.x.x.0", "255.255.255.0" par votre réseau et "PROXY x.x.x.x:8080" par IP et port de Proxy. /etc/init.d/apache2 restart Ensuite, il faut installer un DHCP sur Windows 2008, une fois celui-ci configuré faire : Clique droit sur IPV4 --> Définir les options prédéfinies puis Ajouter Remplir comme ceci puis cliquer sur OK Dans la case chaine, saisir @IP ou se trouve votre fichier wpad.dat
Sur les options d étendue du DHCP, faire Configurer les options Puis ajouter le 252, ne rien modifier, appliquer puis OK
Vérifier que la nouvelle entrée est ajoutée dans les Options d étendue. Démarrer un PC lambda, puis lancer IE. Outils --> Options Internet--> Connexions--> Parametres réseau--> Détecter automatiquement les parametres... Redémarrer pour être sur de la prise en compte de la modification, se loguer, puis lancer IE, google, et tester avec un mot bannis ou site bannis.
SARG apt-get install sarg puis modifier : /etc/sarg/sarg.conf access_log /var/log/dansguardian/access.log report_type topusers topsites sites_users users_sites date_time denied auth_failures site_user_time_date downloads denied output_dir /var/www/html/squid-reports dansguardian_conf /etc/dansguardian/dansguardian.conf Il faut également remodifier la configuration de DansGuardian, /etc/dansguardian/dansguardian.conf Mettre : loglevel = 3 logfileformat = 3 Puis supprimer l ancien fichier de log : /var/log/dansguardian/access.log /etc/init.d/dansguardian stop /etc/init.d/dansguardian start Ensuite, simplement faire sarg dans une console puis les rapports se font, aller sur le serveur web pour voir les logs. Authentification AD Sur Windows 2008, faire un DCPROMO et créer une AD Windows 2000, ensuite créer un OU et y placer les utilisateurs dedans. Sur Linux, faire : apt-get install samba krb5-user libpam-krb5 ntpdate winbind Si info demandé, ne rien mettre! Puis faire : apt-get update apt-get upgrade
Puis stopper les services : /etc/init.d/winbind stop /etc/init.d/smbd stop /etc/init.d/nmbd stop Modifier les fichiers comme préciser dans tuto (attention à la casse!) /etc/samba/smb.conf [global] workgroup = SQUID realm = SQUID.ORG netbios name = proxy-squid log file = /var/log/samba/log.%m max log size = 1000 syslog = 0 panic action = /usr/share/samba/panic-action %d security = ads password server = 192.168.1.100 idmap uid = 10000-20000 idmap gid = 10000-20000 winbind enum groups = yes winbind enum users = yes winbind use default domain = yes
/etc/krb5.conf [libdefaults] default_realm = SQUID.ORG [realms] SQUID.ORG = { kdc = WIN-0BKAF5NN572 admin_server = WIN-0BKAF5NN572 } [domain_realm].squid = SQUID squid = SQUID /etc/hostname /etc/resolv.conf search squid.org nameserver 192.168.1.100 /etc/hosts 192.168.1.5 WIN-0BKAF5NN572.squid.org WIN-0BKAF5NN572
Sur Windows Server 2008, il faut entrée un nouveau hote. Ensuite faire : ntpdate @IP_DC kinit Administrateur (On peut faire un klist pour vérifier que nous sommes authentifié(obtention d un jeton)) Il faut modifier certains droits : chown -R proxy:root /var/log/squid3 chown -R proxy:root /var/run/samba/winbindd_privileged chmod 777 -R /var/run/samba/winbindd_privileged usermod -a -G winbindd_priv proxy
Puis démarrer les services : /etc/init.d/winbind start /etc/init.d/smbd start /etc/init.d/nmbd start On peut maintenant ajouter notre poste au domaine net ads join -U Administrateur ou /usr/bin/net.samba3 ads join -U Administrateur Si DNS update failed!, c est que l entrée sur le DNS de Windows 2008 n est pas bonne. (Mais cette entrée n est pas très importante...) En regardant sur Windows 2008, on doit voir la machine Linux dans Active Directory. Pour vérifier que tout fonctionne correctement, on peux faire les commandes suivantes pour tester : net ads testjoin wbinfo -t
wbinfo -u wbinfo -g wbinfo -m Ensuite, on peut tester que NTLM puisse s authentifier auprès de AD avec : /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic
Il faut ensuite configurer Squid de cette façon : #Authentification pour les utilisateurs de AD, ils n'auront plus à rentrer leurs ID auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp auth_param ntlm children 5 #Authentification pour les utilisateurs lambdas, un login/pass sera demandé. auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic auth_param basic children 5 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours auth_param basic casesensitive off acl all src all acl manager proto cache_object acl localhost src 127.0.0.1/32 acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 acl lan src 192.168.1.0/24 acl user proxy_auth REQUIRED acl localnet src 10.0.0.0/8 # RFC1918 possible internal network acl localnet src 172.16.0.0/12 # RFC1918 possible internal network acl localnet src 192.168.0.0/16 # RFC1918 possible internal network acl SSL_ports port 443 # https acl SSL_ports port 563 # snews acl SSL_ports port 873 # rsync 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 631 # cups acl Safe_ports port 873 # rsync acl Safe_ports port 901 # SWAT acl purge method PURGE acl CONNECT method CONNECT http_access allow manager localhost http_access deny manager http_access allow purge localhost http_access deny purge http_access deny!safe_ports http_access deny CONNECT!SSL_ports http_access allow localhost http_access allow user http_access deny all icp_access allow localnet icp_access deny all http_port 3128 hierarchy_stoplist cgi-bin? access_log /var/log/squid/access.log squid refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/ \?) 0 0% 0 refresh_pattern (Release Package(.gz)*)$ 0 20% 2880 refresh_pattern. 0 20% 4320 acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9] acl apache rep_header Server ^Apache hosts_file /etc/hosts append_domain.squid.org coredump_dir /var/spool/squid
Faire ensuite: mkdir /var/log/squid chown -R proxy:root /var/log/squid /etc/init.d/squid3 restart Se connecter sur le proxy (3128) avec un utilisateur de AD (connexion autorisée) et un utilisateur lambda (Login/Passwd demandé) Sinon erreur du type car pas connecté Il faut ensuite modifier le fichier dansguardian.conf pour activer la fonction d authentification. Recherche la section authplugin puis décommenter ce plug-in : authplugin = '/etc/dansguardian/authplugins/proxy-ntlm.conf' Vérifier la connexion sur DansGUARDIAN (8080)