squid dansguardian

Transcription

squid dansguardian
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)

Documents pareils