Proxy Squid+Squidguard

Bonjours,
j’ai comme projet d’installer un serveur Squid couplé à squidguard dans mon entreprise apres m’etre rensseigné j’ai commencé à monter le dit serveur configuration des fichier conf de squid et squidguard et generation de la base de liste noirs.Or sa ne marche pas…
Le probleme est que mon squid marche tres bien (essai en refusant toute connexion) mais qu’aucune de mes listes n’est pris en compte.
je vous fournit les info de mon install
Debian 6 i386
squid 2.7
squidguard 1.4
Le tout sur une vm.

Je vous fournit aussi les fichier de config.

Squid:

[code]#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 localnet src 10.0.0.0/24 # 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
acl local_clients src 10.6.5.0/24
#liste des acces

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 local_clients
http_access deny all
icp_access allow localnet
icp_access allow all

#Autre config
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|Packages(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320
acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]
upgrade_http0.9 deny shoutcast
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
extension_methods REPORT MERGE MKACTIVITY CHECKOUT
hosts_file /etc/hosts
coredump_dir /var/spool/squid

#redirection vers squidguard
url_rewrite_program /usr/bin/squidGuard
[/code]

squidguard:

[code]#

CONFIG FILE FOR SQUIDGUARD

dbhome /var/lib/squidguard/db
logdir /var/log/squid

TIME RULES:

abbrev for weekdays:

s = sun, m = mon, t =tue, w = wed, h = thu, f = fri, a = sat

time workhours {
weekly mtwhf 08:00 - 16:30
date --01 08:00 - 16:30
}

REWRITE RULES:

SOURCE ADDRESSES:

#src admin {

ip 1.2.3.4 1.2.3.5

user root foo bar

within workhours

#}

#src foo-clients {

ip 172.16.2.32-172.16.2.100 172.16.2.100 172.16.2.200

#}

#src bar-clients {

ip 172.16.4.0/26

#}

DESTINATION CLASSES:

dest adult {
domainlist adult/domains
urllist adult/urls
expressionlist adult/expressions

}

acl {

admin {

pass any

}

foo-clients within workhours {

pass good !in-addr !adult any

} else {

pass any

}

bar-clients {

pass local none

}

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

}[/code]

Donc si qulqu’un pouvais me donner une solution ou une piste je le suis en serais super reconnaissant :smiley: Merci d’avance

Salut, un petit résumé des logs?

–> /var/log/squid/access.log
–> /var/log/squid/squidGuard.log

Mets ton “http_access allow local_clients” en première ligne des http_access pour être sur de ne rien interdire avant

EDIT: Enlève les acl et http_access"localnet", ce sont les trucs par défaut. Ca te fais autoriser des choses inutiles
EDIT 2: pense à recharger squid quand tu fais des modifications dans ton fichier de configuration

Pour squidGuard.conf, c’est la base de données qu’il faudra recharger. Par défaut:

  • sur un autre terminal :

Je regarde sa se matin des que j’ai deux minutes
merci de ton aide

Alors donc j’ai pas mal d’erreurs finallement:
Pour le reload de squid:

root@debian:/home/kmarlot# service squid reload Reloading Squid configuration files. FATAL: Bungled squid.conf line 12: acl SSL_ports port 563 # snews Squid Cache (Version 2.7.STABLE9): Terminated abnormally. done.

pour le tail-f:

tail -f /var/log/squid/squidGuard.log 2011-12-29 09:45:47 [2529] syntax error in configfile /etc/squid/squidGuard.conf line 14 2011-12-29 09:45:47 [2529] Going into emergency mode 2011-12-29 09:47:05 [2567] New setting: dbhome: /var/lib/squidguard/db 2011-12-29 09:47:05 [2567] New setting: logdir: /var/log/squid 2011-12-29 09:47:05 [2567] syntax error in configfile /etc/squid/squidGuard.conf line 14 2011-12-29 09:47:05 [2567] Going into emergency mode 2011-12-29 09:48:19 [2599] New setting: dbhome: /var/lib/squidguard/db 2011-12-29 09:48:19 [2599] New setting: logdir: /var/log/squid 2011-12-29 09:48:19 [2599] syntax error in configfile /etc/squid/squidGuard.conf line 14 2011-12-29 09:48:19 [2599] Going into emergency mode

et pour le update il mouline alors que je pensait bien avoir crée ma base de donné hier…

petite info:
j’ai decompresser mes listes noirs pour les compiler dans /var/lib/squidguard/db

Alors déjà, si je peux te conseiller quelque chose, mets de côté le squidGuard qui est assez galère à configurer et penches toi sur le squid.
Dès que ton squid fonctionnera tu pourras t’attaquer au squidguard.

J’espère déjà que tu as pensé à virer les localnet inutiles:

acl localnet src 10.0.0.0/24 # 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

Ainsi que le http_access correspondant:

Laisse l’acl qui correspond à ton réseau LAN:

… et ajoutes le http_access en première position pour être sur que rien ne le bloque avant. Pour info, les règles sont lues de haut en bas:

Je vois que tu n’as pas non plus indiqué de répertoire de cache pour squid (un peu bête). Rajoutes:

La taille du cache en elle-même est indiqué par le 500 (Mo), le reste, c’est pas très important de comprendre ce que c’est.

Ensuite, la synthaxe de redirection vers squidguard varie selon la version que tu utilises. En 2.7, la synthaxe chez moi est celle-ci:

redirect_program /usr/bin/squidGuard redirect_children 10

Dès que c’est fait repostes le résultat du reload.

je vient de faire les manip, toujours le meme reload

root@debian:/home/kmarlot# service squid reload Reloading Squid configuration files. FATAL: Bungled squid.conf line 12: acl SSL_ports port 563 # snews Squid Cache (Version 2.7.STABLE9): Terminated abnormally. done.

fichier conf

[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

#Autre config
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|Packages(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320
acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]
upgrade_http0.9 deny shoutcast
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
extension_methods REPORT MERGE MKACTIVITY CHECKOUT
hosts_file /etc/hosts
coredump_dir /var/spool/squid
cache_dir ufs /var/spool/squid 500 16 256

#redirection vers squidguard
redirect_program /usr/bin/squidGuard
redirect_children 10[/code]

Bizarre car ton fichier a l’air correct… As-tu essayé de commenter la ligne?

J’ai vu sur certaines configuration que le https et le snews étaient mis côte à côte, et deux fois… Peut-être à essayer :

Pour ton cache, j’ai oublié, mais rajoutes ça, et vérifies que l’utilisateur s’appelle bien proxy:

cache_effective_user proxy cache_effective_group proxy

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.