Tout d'abord bonjour.

Je vous expose mon probleme. J'ai un serveur sous debian 7 wheezy.J'y ai installer squid + squidGuard et cela fonctionne sans probleme.

La ou je tourne en rond c'est que j'aimerais interdire tout sauf ma "whitelist" et c'est la ou je n'arrive pas.

Voici mon squid.conf
# Port d’écoute du proxy

    http_port l'ip du serveur:8080 transparent

 

 

# Utilisateur et Groupe qui initialise Squid

#    cache_effective_user proxy

#    cache_effective_group proxy

 

# Intégration du module squidguard

 

    url_rewrite_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf

 

# Nom affiché dans le navigateur

    visible_hostname agence_touristique

 

# Configuration du cache et de la taille du cache (Dans mon cas 100Mo) Si modification lancer squid -f /etc/squid/squid.conf -z

    cache_dir ufs /var/spool/squid 100 16 256

 

# Emplacement des fichiers LOG

    cache_access_log /var/log/squid/access.log

    cache_log /var/log/squid/cache.log

    cache_store_log /var/log/squid/store.log

 

 

####### Définition des ACLs #######

 

# ACL désignant toutes les adresses ip possibles

    acl all src 0.0.0.0/0.0.0.0

 

# ACL désignant le poste qui héberge le proxy

    acl localhost src 127.0.0.1/255.255.255.255

 

    acl to_localhost dst 127.0.0.0/8

    acl manager proto cache_object

    acl monserveur src L'ip du serveur
    
    acl whitelist dstdomain “/etc/squid/whitelist”
 

 

# ACL désignant les ports autorisés

    acl SSL_ports port 443 563

    acl Safe_ports port 80 # http

    acl Safe_ports port 8080

    acl Safe_ports port 20 # ftp-data

    acl Safe_ports port 21 # ftp

    acl Safe_ports port 443 563 # ssl

    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 désignant la purge

    acl purge method PURGE

 

# ACL Désignant une connexion directe sur le proxy

    acl CONNECT method CONNECT

 

# Règles d’accès

    http_access allow MONSERVEUR

    http_access allow manager localhost

    http_access deny manager

    http_access allow purge localhost

    http_access deny purge

    http_access allow !whitelist

    http_access deny all

 

# Empêche les personnes extérieures au réseau de passer par le proxy. ATTENTION mettre cette ACL a la fin.

    http_access allow all

 

 

# On rejette tous les ports différents de ceux déclarer dans les acl

  
	http_access allow !Safe_ports

 

# Autorise les réponses pour tout le monde (par défaut)

    http_reply_access allow all

 

# Autorise le protocole icp pour tout le monde (par défaut)

    icp_access allow all
un mois plus tard
Tu veux Whitelister les sites internet ou les ip client qui vont s'y connecter ?
oui , je veux whitelisté que certain site et interdire tous les autres.
Pourquoi avoir mis un ! devant ton whitelist ? j'essaye de comprendre ce que tu as voulu faire ? Et les "" ça change rien j'ai des centaines de règles avec mes files en "" pour mes acl ça pose pas de soucis 😉.

Pareil ta règle :
http_access allow !Safe_ports perso je pense plus que tu voudrais un deny sur tous les ports sauf ceux tagger safe port non ?

ça serait plus http_access deny !Safe_ports


Après un truc c'est que la ta conf est un peu boiteuse, tu sembles prendre deux direction dans ta conf, et faut que tu sois clair la dessus, soit tu fais un proxy bloqué avec une whitelist & dans ce cas là ton allow all à la fin de tes déclaration ACL n'a rien faire, soit tu fais un proxy ouvert avec un allow all à la fin mais avec tous tes blocages deny au dessus pour filtrer et utiliser des liste de filtrage automatisée & co.

Faut savoir qu'un fichier squid est lu de haut en bas, donc tes premières ACL sont chargées, donc la dans ta conf, tes sites dans ta whitelist si ils ne sont pas autorisés avant ton deny all seront bloqués, il faut que ton http_access allow whitelist soit placé avant ton deny all.
Le but du proxy dois etre qu'in n'autorise qu'une liste de site ( whitelist environs 400 ) et bloque tout les autres.Le http_access allow all et pour que le proxy autorise n'importe qui a s'y connecte , les personnnes seront en ip dynamique et disperser chez tous les operateurs.

Apres je pense que mon installation de squid a peut etre un peu merdé aussi car certain parametre fonctionnais a l'envers ( le deny qui autorise et le allow qui refuse sur certain parametres ).

Je suis pas contre recommencer depuis le debut si tu as un debut de piste.
En attendant j'ai tester tinyproxy , qui est bien mais moins complet je trouve.
    http_access allow MONSERVEUR
    http_access allow manager localhost
    http_access deny manager
    http_access allow purge localhost
    http_access allow whitelist
    http_access deny purge
    http_access deny all
Je partirais sur une conf comme celle-ci personnellement le allow_all n'est en rien une acl pour autoriser les gens à se connecter au proxy, mais c'est une règle qui permet d'accéder à tous, mais après ton deny_all elle n'a pas lieu d'être. Vu que tu bloque tout à ton deny_all donc forcément les requêtes ne lisent pas la suite de ta conf.
Répondre…