Proxy Squid+Squidguard

bon en faite sa me le fait pour toute les acl sur les port (http,etc…) donc je vais vérifier au niveau de ma vm si il y a pas un truc qui coince, je te tient au courant.

root@debian:/home/kmarlot# service squid reload Reloading Squid configuration files. FATAL: Bungled squid.conf line 14: acl Safe_ports port 80 # http Squid Cache (Version 2.7.STABLE9): Terminated abnormally. done.

Il me semble qu’il te manque le https en plus…

Essaies avec un copier/coller de ça:

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

bon le copier/coller a marcher a part que maintenant c’est plus bas:

root@debian:/home/kmarlot# service squid reload Reloading Squid configuration files. FATAL: Bungled squid.conf line 48: refresh_pattern ^ftp: 1440 20% 10080 Squid Cache (Version 2.7.STABLE9): Terminated abnormally. done.

Salut,

Trucs et Astuces … non … :033

Sujet traité par fran.b, ici Installation Squid et SquidGuard et configuration:wink:

Refresh_pattern concerne le cache… On avance mine de rien…
Est-ce que /var/spool/squid existe? Quel est le propriétaire?

Essaies ensuite un :

lu,
Pas la même version loreleil, et désolé si c’est pas au bonne endroit :s

/var/spool/squid existe avec le propriétaire de squid (proxy:proxy).

squid -z:

root@debian:/home/kmarlot# squid -z FATAL: Bungled squid.conf line 48: refresh_pattern ^ftp: 1440 20% 10080 Squid Cache (Version 2.7.STABLE9): Terminated abnormally. root@debian:/home/kmarlot#

Euh je me pose une question… Tu as essayer un restart de squid au moins une fois plutôt qu’un reload?

Salut,

J’ai installé un Squid/SquidGuard pour mon BTS IG, et j’ai deja eu ce genre de soucis.

Je pense que cela viens de ton fichier squidGuard.conf, parfois le soucis venait du fait que la liste etais mauvaise.

Commence par supprimer les horaires (Workhours) pour voir si le soucis ne vient pas de la.
(Je te met mes fichiers .conf ce soir ou demain pour que tu puisses comparer)

Bonne journée,

Au passage, un lien qui peut s’avérer utile:
http://www.squid-cache.org/Versions/v2/2.7/cfgman/

Salut,
Tu peux également faire un tour du côté de ces tutos:
irp.nain-t.net/doku.php/220squid:060_squidguard

Bonjour,

Dans ta configuration de SquidGuard, je crois qu’il s’est glissé deux erreurs :

   default {
      pass    pass !adult all
      redirect www.google.fr
   }

Pourquoi pass pass ?
Pourquoi pas de http:// pour ta directive redirect ?

Je pense que tu devrais avoir :

   default {
      pass    !adult all
      redirect http://www.google.fr
   }

De plus, je ne vois nulle part dans ta configuration de squid une directive pour autoriser ton réseau local_clients.

Tu devrais avoir une ligne

Juste avant la directive http_access deny all

[quote]De plus, je ne vois nulle part dans ta configuration de squid une directive pour autoriser ton réseau local_clients.

Tu devrais avoir une ligne

Code:
http_access allow local_clients[/quote]

[quote]Code:

#Squid 2.7 stable9

#Liste des acl
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 local_clients src 10.6.5.0/24
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

#liste des acces
http_access allow local_clients
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 deny all
icp_access allow all[/quote]

Il l’a rajouté dans les posts d’après :wink:
Par contre pour le squidGuard je n’ai pas vraiment regardé. Je pense qu’il vaut mieux que son squid fonctionne avant de mettre squidguard non? A moins que ce soit le squidGuard qui fasse planter son squid mais j’ai un doute :017

Oui car d’après les logs, le SquidGuard démarre avec des erreurs, ce qui peut empêcher Squid de fonctionner lui aussi.

Laisse seulement les deux premieres lignes de ton SquidGuard et essaye de redemmarer, regarde si les erreurs sont toujours présentes dans les logs et vérifie si Squid fonctionne bien à nouveau

C’est effectivement un des soucis avec le couple Squid/SquidGuard. Si une erreur se glisse dans le fichier de configuration de SquidGuard, c’est tout l’ensemble qui n’arrive pas à démarrer.

Dans un premier temps, il est judicieux de mettre en ‘pause’ la partie SquidGuard en commentant les lignes de redirection dans squid.conf :

#redirection vers squidguard #redirect_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf #redirect_children 10

Et seulement lorsque Squid fonctionne correctement, on dé-commente ces deux lignes et on peut alors s’attaquer à la configuration de SquidGuard.

PS : Il peut aussi être judicieux de spécifier à squidguard l’emplacement de son fichier de config (Directive -c /etc/squid/squidGuard.conf).

PS 2 : Il faut bien mettre la directive http_access allow local_clients JUSTE AVANT la directive http_access deny all, les différentes directives étant analysées dans l’ordre dans lequel elles apparaissent dans le fichier de configuration, cela peut créer des conflits avec les règles suivantes.

Au pire, si tu n’arrives pas à corriger ton problème, tu purges tout et tu refais la configuration pas à pas :mrgreen:

bonjours,
tout d’abord bonne année, je n’ai pas eu le temps de m’en occupper depuis vendredi je réattaque sa cet semaine et je vous tient au courant de l avancement.

EDIT: C’est bon! squid marche nikel, plus d’erreur en fin de compte j’ai repris la config à zero.
Maintenant squidGuard ^^

EDIT2: impossible de générer ma base squidguard, je vous laisse mon fichier conf

root@debian:/home/kmarlot# tail -f /var/log/squid/squidGuard.log 2012-01-02 10:36:14 [1925] New setting: dbhome: /usr/local/squidGuard/db/blacklists 2012-01-02 10:36:14 [1925] New setting: logdir: /usr/local/squidGuard/logs 2012-01-02 10:36:14 [1925] init domainlist /usr/local/squidGuard/db/blacklists/adult/domains 2012-01-02 10:36:14 [1925] Error db_open: No such file or directory 2012-01-02 10:36:14 [1925] Going into emergency mode 2012-01-02 10:37:55 [1941] New setting: dbhome: /usr/local/squidGuard/db/blacklists 2012-01-02 10:37:55 [1941] New setting: logdir: /usr/local/squidGuard/logs 2012-01-02 10:37:55 [1941] init domainlist /usr/local/squidGuard/db/blacklists/adult/domains 2012-01-02 10:37:55 [1941] Error db_open: No such file or directory 2012-01-02 10:37:55 [1941] Going into emergency mode

Fichier conf:

[code]##

CONFIG FILE FOR SQUIDGUARD

dbhome /usr/local/squidGuard/db/blacklists
logdir /usr/local/squidGuard/logs

dest adult {
domainlist adult/domains
urllist adult/urls
}

acl {
default {
pass !adult all
redirect http://www.google.com
}
}[/code]

EDIT3: c bon pour cet erreur, mauvais chemin …
maintenant c’est cette erreur:

__fop_file_setup: Retry limit (100) exceeded

Salut,

Voila mon squidGuard.conf :

[code]dbhome /var/lib/squidguard/db/blacklists
logdir /var/log/squid3

time workhours {
weekly mtwhf 18:30 - 08:00
weekly sa 12:30 - 08:30
}

src admin {
ip 172.16.0.40/32

user root

}

src users {
ip 172.16.0.0/24 172.16.134.0/23

user bastien, bts

}

dest manga {
urllist manga/urls
domainlist manga/domains
}

dest games {
urllist games/urls
domainlist games/domains
}

dest drugs {
urllist drugs/urls
domainlist drugs/domains
}

dest violence {
urllist violence/urls
domainlist violence/domains
}

dest perso {
domainlist perso/domains
}

acl {
admin {
pass any
}

users outside workhours{
	pass !manga !games !drugs !violence !perso
	redirect http://172.16.0.40/stop.html
}

default {
	pass none
	redirect http://172.16.0.40/stop.html
}

}
[/code]

Si ca peu t’aider !
Je vais rechercher pour ton message d’erreur.

Tout charge bien mis a part ca ?

Simple question :

As tu peuplé convenablement ton répertoire contenant les bases squidGuard ?

J’entends par là : Télécharger ces bases quelque part, les avoir décompressé dans le bon répertoire et bien sur compilé ?

@ Bastichou: tout charge bien au niveau de squid mais pas pour squidguard

@Noop: Mon problème viens lorsque je compile mes blacklists, squidguard tourne en rond, user bien mis, chemin des blacklists aussi.

Je vais tester avec le conf de bastichou

EDIT1: pour un peut plus d’info:

root@debian:/home/kmarlot# tail -f /var/log/squid/squidGuard.log 2012-01-03 08:35:31 [1400] init domainlist /var/lib/squidguard/db/blacklists/adult/domains 2012-01-03 08:35:31 [1402] init domainlist /var/lib/squidguard/db/blacklists/adult/domains 2012-01-03 08:35:31 [1407] init domainlist /var/lib/squidguard/db/blacklists/adult/domains 2012-01-03 08:35:31 [1411] init domainlist /var/lib/squidguard/db/blacklists/adult/domains 2012-01-03 08:35:32 [1404] init domainlist /var/lib/squidguard/db/blacklists/adult/domains 2012-01-03 08:35:33 [1409] init domainlist /var/lib/squidguard/db/blacklists/adult/domains 2012-01-03 08:35:37 [1406] init domainlist /var/lib/squidguard/db/blacklists/adult/domains 2012-01-03 08:42:57 [1885] New setting: dbhome: /var/lib/squidguard/db/blacklists 2012-01-03 08:42:57 [1885] New setting: logdir: /usr/local/squidGuard/logs 2012-01-03 08:42:57 [1885] init urllist /var/lib/squidguard/db/blacklists/adult/urls

root@debian:/home/kmarlot# /usr/sbin/update-squidguard Double checking directory and file permissions...done! Re-building SquidGuard db files...
Et sa tourne en rond…

Le processus de compilation des bases peut être extrêmement long sur un système disque peu performant.

J’avais développé un script à coller dans /etc/cron.weekly pour télécharger et compiler automatiquement les bases.
Il travaille dans un ramdisk pour la partie compilation, et ne compile QUE les règles que tu utilises dans le fichier de configuration. Optimisation qui, comme j’espère tu pourras le voir, accélère de façon impressionnante le processus.

Ce script est, bien sûr :

  1. Perfectible. Il a été développé pour mes propres besoins.
  2. A exécuter sous l’utilisateur ‘root’ car il a besoin de créer un répertoire /ramdisk, de monter un ramdisk sur ce répertoire, de supprimer les bases existantes et de mettre les nouvelles dans /var/xxxxxxx, d’arrêter et de redémarrer Squid. Tant de tâche qui ne sont accessible qu’a root.
  3. A lire et comprendre, si possible, avant de l’exécuter.
  4. A configurer pour le faire correspondre à l’organisation de ton système

[code]#!/bin/sh

Fichier /etc/cron.weekly/squidguard_blacklists

Telecharge chaque semaine les listes noires pour squidguard

et met a jour les bases de ce dernier.

En fonctionnement par défaut, le script ne fera rien avant

l’heure définie dans RUNHOUR.

En lui passant un paramètre quelconque, il s’exécute alors immédiatement

Ex : ./squidguard_blacklists now

Heure a laqelle doit se lancer le script

RUNHOUR=“02:00”

Emplacement du fichier de configuration de squidGuard

et des bases de donnees.

SGCONF="/etc/squid/squidGuard.conf"
SGLIBS="/var/lib/squidguard"

Lien de telechargement des blacklists

BLURL=“ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz

############################################################

Normalement, rien a configurer en dessous de cette ligne

############################################################

Parametres du RamDisk

RAMDISK="/ramdisk"
RAMSIZE="150m"
RAMCONF=“squidGuard.ram.conf”

Calcul du temps d’attente.

DATENOW=date -d "now" +%s
DATETOWAIT=date -d "${RUNHOUR}" +%s
TIMETOWAIT=expr ${DATETOWAIT} - ${DATENOW}

Si l’heure est deja passee pour aujourd’hui alors on calcule le temps

d’attente pour “demain” a la meme heure

if [ ${TIMETOWAIT} -lt 0 ]; then
DATETOWAIT=date -d "next day ${RUNHOUR}" +%s
TIMETOWAIT=expr ${DATETOWAIT} - ${DATENOW}
fi

Si pas de parametres derriere le script, on attend le nombre de secondes

calculees avant de continuer, sinon on execute directement le script.

if [ -z $1 ]; then
sleep ${TIMETOWAIT}
fi

if [ -d ${SGLIBS} ]; then
echo ""
echo "Arret de squid …"
service squid stop

echo ""
echo "Attente que tous les processus SQUID soient termines ..."
pidof \(squid\) >> /dev/null
while [ $? -eq 0 ]; do
    sleep 1
    pidof \(squid\) >> /dev/null
done

echo ""
echo "Telechargement des BlackLists ..."
wget ${BLURL} -O ${SGLIBS}/blacklists.tar.gz

echo ""
echo "Decompression des Blacklists ..."
tar zxvf ${SGLIBS}/blacklists.tar.gz -C ${SGLIBS}

echo ""
echo "Suppression des anciennes BlackLists et recreation du repertoire DB ..."
rm -rf ${SGLIBS}/db
mkdir ${SGLIBS}/db || true

echo ""
echo "Deplacement des BlackLists dans la DB et application des droits ..."
mv -f ${SGLIBS}/blacklists/* ${SGLIBS}/db/
chmod 2770 ${SGLIBS}/db

echo ""
echo "Suppression du telechargement ..."
rm -rf ${SGLIBS}/blacklists ${SGLIBS}/blacklists.tar.gz

echo ""
echo "Creation d'un RamDisk de ${RAMSIZE}"
mkdir ${RAMDISK}
mount -t tmpfs ramdisk ${RAMDISK} -o size=${RAMSIZE}

echo ""
echo "Copie du fichier de configuration de squidGuard dans le RamDisk"
cp ${SGCONF} ${RAMDISK}/${RAMCONF}

echo ""
echo "Modification du fichier de config de squidGuard pour pointer sur le RamDisk"
sed -i "s|dbhome .*|dbhome ${RAMDISK}/db|" ${RAMDISK}/${RAMCONF}

echo ""
echo "Copie des bases dans le RamDisk"
echo ""
rsync -av ${SGLIBS}/ ${RAMDISK}/

echo ""
echo "Compilation des BlackLists ..."
echo ""
echo "  Compilation des domaines :"

for DOMAIN in `cat ${SGCONF} | grep "domain" | grep -v "#" | awk '{print $2}'`; do
    echo "    -> Compilation de ${DOMAIN} ... ";
    nice -n 19 squidGuard -c ${RAMDISK}/${RAMCONF} -C ${DOMAIN}
done

echo ""
echo "  Compilation des urls :"
for URLS in `cat ${SGCONF} | grep "urls" | grep -v "#" | awk '{print $2}'`; do
    echo "    -> Compilation de ${URLS} ... "
    nice -n 19 squidGuard -c ${RAMDISK}/${RAMCONF} -C ${URLS}
done

echo ""
echo "Copie des bases du RamDisk sur le disque dur"
echo ""
rsync -av ${RAMDISK}/db/ ${SGLIBS}/db/

echo ""
echo "Affichage de l'espace utilise dans le ramdisk"
LANG="C" df -h | grep "${RAMDISK}" | awk '{print $6" utilise a "$5" ( "$3" / "$2" )"}'

echo ""
echo "Suppression du RamDisk"
umount ${RAMDISK}
rmdir ${RAMDISK}

echo ""
echo "Application des droits ..."
chown -R proxy:proxy ${SGLIBS}

echo ""
echo "Demarrage de Squid ..."
service squid start

fi[/code]