+ All Categories
Home > Documents > Squid SquidGuard

Squid SquidGuard

Date post: 07-Jul-2018
Category:
Upload: andry-randriamino
View: 239 times
Download: 0 times
Share this document with a friend

of 47

Transcript
  • 8/19/2019 Squid SquidGuard

    1/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    Squid/SquidGuard Nous allons mettre en place un serveur pro!" avec #quid" lui ad$oindre des fonctions avanc%es defiltra&e avec #quid'uard" et m(me en faire un pro! transparent avec l)aide d)*Pta+les.

    #i une mise en place minimum de #quid ne pr%sente &u,re de difficult%s" l)insertion du -helper-

    #quid'uard reste tout de m(me plus d%licate et m%rite que l)on ! passe un peu de temps.

    endre le pro! transparent est asse simple" du moment que l)on a compris un petit peu le

    fonctionnement du -preroutin&- avec *Pta+les" mais nous verrons que cette m%thode impose

    quelques restrictions sur les possi+ilit%s de #quid.

    0ne fois n)est pas coutume 1mais pourrait ! amener2" nous allons travailler avec une distri+ution

    3e+ian dite -sta+le- 1la 4ood!" 5 l)heure o6 $e r%di&e ce chapitre2.

    Pourquoi 3e+ian 7

    • Elle est sta+le"

    • elle s)installe asse simplement" si l)on a d%$5 une petite ep%rience de Linu"

    • elle est tr,s simple 5 mettre 5 $our" m(me en cas de mise 5 $our de version"

    • il ! a tout ce qu)il faut comme paqueta&es pour ce que l)on veut faire" et m(me +ien

    d)avanta&e encore.

    8ien que la 3e+ian soit utilis%e ici" rien n)interdit de le transposer 5 une autre distri+ution" sous

    r%serve d)utiliser des paqueta&es de +ases de donn%es 8er9ele! compati+les avec le fonctionnement

    de #quid'uard. #uivant la distri+ution" des pro+l,mes peuvent apparatre.;)ai tout de m(me rencontr% pas mal de pro+l,mes avec les et =.? en ce qui concerne

    #quid et #quid'uard. C)est aussi une +onne raison pour le faire avec 3e+ian.

    Pa&e ? sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

    http://christian.caleca.free.fr/squid/http://christian.caleca.free.fr/squid/

  • 8/19/2019 Squid SquidGuard

    2/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    Plan du chapitre

    Fonctionnement.................................................................................................................................... G+$ectif............................................................................................................................................ G

    Pr%sentation &%n%rale....................................................................................................................... G

    Principe de fonctionnement............................................................................................................. G

    Administration du tout.....................................................................................................................@

    #quid.....................................................................................................................................................D

    Confi&uration mat%rielle utilis%e..................................................................................................... D

    *nstallation....................................................................................................................................... D

    Confi&uration minimale...................................................................................................................B

    Cr%er une ACL repr%sentant le LAN.......................................................................................... I

    J sur squid.......................................................................................................................................... ??

    Affiner la confi&uration................................................................................................................. ??*dentifier les utilisateurs............................................................................................................??

    Construire un fichier d)utilisateurs....................................................................................... ??

    Confi&urer squid pour r%clamer l)authentification de vos utilisateurs..................................?

    ptimiser le cache................................................................................................................?

    endre le pro! transparent...................................................................................................... ?

    La r,&le de redirection..........................................................................................................?I

    Param%tra&e de #quid...........................................................................................................?I

    Conclusions....................................................................................................................................>

    #quid'uard.........................................................................................................................................?

    *nstallation..................................................................................................................................... ?

    *nstaller squid'uard depuis les paqueta&es 3e+ian..................................................................?*nstallation du module squid'uard pour 4e+min....................................................................?

    Confi&uration.................................................................................................................................

    0n squid'uard.conf minimum.................................................................................................

    Les -#ource 'roups-.................................................................................................................G>

    Les -Access Control Lists-....................................................................................................... GG

    J sur #quid'uard................................................................................................................................GI

    Kue faire maintenant 7...................................................................................................................GI

    3estination 'roups et 8lac9lists....................................................................................................GI

    3estination 'roups................................................................................................................... GI

    8lac9lists...................................................................................................................................GI

    Comment les construire 7..........................................................................................................G=Confi&urer les -3estination 'roups-.............................................................................................G=

    Construire les +ases de donn%es................................................................................................@?

  • 8/19/2019 Squid SquidGuard

    3/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    Fonctionnement

    Objectif 

    *nstaller un s!st,me de pro! cache" principalement pour HTTP 1%ventuellement aussi pour FTP"

    dans certains cas2. Ce pro! cache propose deu fonctions principales :

    • l)optimisation de la +ande passante sur le lien *nternet" lorsque de nom+reu clients sont

    connect%s et qu)ils visitent plus ou moins les m(mes sites 15 la condition" +ien sMr" que ces

    sites ne soient pas trop d!namiques" A#P" ;#P" PHP...

    • le contrle et le filtra&e de l)acc,s 5 la toile" en se servant des 0* et" %ventuellement" des

    noms d)utilisateurs" si l)on fait de l)authentification de ces derniers" autant de choses qu)il est

    difficile" voire impossi+le de faire avec du filtra&e de paquets.

    Tout responsa+le d)un r%seau local 5 l)usa&e de mineurs et connect% 5 l)*nternet se doit de mettre en

     place un tel s!st,me de filtra&e de mani,re 5 %viter" autant que possi+le" l)acc,s 5 des sites que la

    morale r%prouve. Pas +esoin de faire un dessin" n)estOce pas 7

    Présentation générale

    #quid" principal composant de ce s!st,me" assure les fonctions de :

    • cache" pour optimiser la +ande passante"

    • authentification des utilisateurs" nous en verrons une simpliste"

    • filtra&e d)acc,s -+asique-" mais d%$5 int%ressant.

    #quid'uard propose un filtra&e puissant d)acc,s au e+" en fonction :

    • de &roupes d)utilisateurs" d%finis de diverses mani,res. *ci" nous nous +aserons sur des *Ps ou

    des &roupes d)*Ps" mais il est possi+le d)utiliser l)authentification des utilisateurs mise en

     place sur #quid"

    • de listes de domaines et d)0* qui serviront 5 d%finir soit des ci+les autoris%es" soit des

    ci+les interdites"

    de listes de domaines et d)0* qui ne serviront qu)5 interdire l)acc,s au ci+les sp%cifi%es"• de pla&es horaires pendant lesquelles l)acc,s sera autoris% ou interdit.

    Et +ien d)autres choses encore" que nous ne verrons pas ici.

    Principe de fonctionnement

    #quid tourne en tche de fond 1daemon2. *l %coute sur un port sp%cifique 1G?I par d%faut" mais il

    est possi+le d)utiliser I>I>" plus ha+ituel pour un pro!2. L)%ventuel module d)authentification vient

    se &reffer dessus" ce qui fait apparatre un certain nom+re de processus fils 1D par d%faut2.

    #quid'uard vient %&alement se &reffer dessus et apparat lui aussi sous la forme de processus fils

    1%&alement D par d%faut2.

    Pa&e G sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    4/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    Au total" une fois #quid confi&ur%" il n)! aura qu)5 d%marrer #quid et les processus d)authentification

    et de filtra&e avanc% d%marreront avec.

    Pour aller tr,s vite" #quid'uard utilise le format de +ases de donn%es 8er9ele! pour travailler. Pour

    d%finir ces +ases" l)administrateur a recours 5 des fichiers au format tete qui seront pr% compil%s en

     +ase de donn%es ou compil%s 5 la vol%e" suivant la faQon de travailler.

     Nous verrons que les -destination &roups- constituent des +ases pr% compil%es" alors que les

    -+lac9lists- sont compil%es 5 la vol%e et r%sident uniquement en m%moire.

    Ce d%tail a son importance" toute modification de l)un ou de l)autre a!ant un impact diff%rent sur le

    fonctionnement de #quid'uard" pendant la recompilation des informations.

    Administration du tout

    *l eiste deu modules 4e+min suffisamment +ien faits pour que l)on puisse ne pas h%siter 5 s)enservir" m(me si l)er&onomie &%n%rale o+li&e 5 pas mal $on&ler entre les modules #quid et

    #quid'uard.

    *l faut faire tr,s attention 5 ce que l)on fait et v%rifier chaque fois que n%cessaire que le +ut recherch%

    est atteint. #quid'uard r%serve pas mal de surprises 5 ce propos.

    8ien entendu" il reste tout 5 fait possi+le de n)utiliser qu)un %diteur de tete" et Qa reste pro+a+lement

    la solution la meilleure" si l)on a une confi&uration tr,s complee.

    3ans le cas de #quid'uard principalement" une &estion fine des +ases de donn%es pour les &roupes

    de destination et les +lac9lists ne pourra se faire qu)5 partir de la li&ne de commande. Nous ne

    ferons qu)effleurer le pro+l,me" si vous en arrive l5" c)est que vous (tes d%$5 asse pointus sur le

    su$et pour pouvoir vous d%+rouiller tout seul avec la documentation.

    Pa&e @ sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    5/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    Squid

    Configuration matérielle utilisée

    0n P** G>> 6 '*:* %:% 4squid5 -D -s?eros:/etc#

    Effectivement" il tourne. N)! auraitOil rien de plus 5 faire 7 R%rifions tout de suite" squid utilise par

    d%faut le port G?I. Confi&urons donc un navi&ateur du LAN pour l)utiliser et essa!ons un 0* au

    hasard...

    Pa&e D sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    6/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    C)%tait trop +eau... *l faudra d%$5 mettre les mains dans le cam+ouis. Note qu)il vaut mieu une

    confi&uration qui interdise trop qu)une confi&uration qui" par d%faut" autorise trop" comme font

    certains...

    Configuration minimale

    Comme 4e+min est +ien install%" mis 5 $our et tout" et que le module pour squid est +ien pr%sent"

    utilisonsOle :

    Pa&e B sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    7/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    Les ACL 1Access Control Lists2 permettent de d%finir des conditions sur les *Ps" les ports" le

    contenu de certains tetes" et $)en passe. #i vous voule tout savoir sur les diverses ACL de #quid"

    ne compte pas sur moi" compte plutt sur la documentation officielle.

    Les restrictions indiquent quoi faire lorsque ces conditions sont v%rifi%es. n autorise ou on interdit

    en fonction d)une ACL ou d)un &roupe d)ACLs" le sens de -restriction- est donc 5 prendre avec un

     peu de recul" une restriction pouvant (tre une autorisation. La premi,re -restriction- v%rifi%e est la

     +onne" d)o6 l)importance de l)ordre dans lequel elles sont plac%es.

    #ans faire une anal!se d%taill%e" nous vo!ons que dans la confi&uration par d%faut" seul -localhost-

     peut utiliser le pro! 1Allo localhost2. *l nous faut donc faire intervenir la notion de r%seau local.

    Pa&e sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    8/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    Créer une ACL représentant le LAN

     Nous s%lectionnons dans la liste d%roulante -Client Address- et cliquons sur -Create Ne ACL- :

     Nous pouvons d%finir une %tendue"

    ou toute une classe" comme c)est le

    cas dans l)eemple. Notre LAN

    fonctionne avec la classe

    ?=.?BI.>.>.

    #ave...

    0ne nouvelle li&ne est apparue dans

    la liste des ACLs" appel%e-Localnet-

     Nous allons maintenant sur -Add

     pro! restriction" choisissons

    -Allo- et s%lectionnons-LocalNet- dans la liste ->D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    9/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    Sa marche

    8ien entendu" l)id%e de faire plutt -Allo all- est une mauvaise id%e. #i votre pro! a un pied dans

    l)*nternet 1s)il est install% sur la passerelle2" vous risque un pro! ouvert" avec tous les usa&es

     pervertis que l)on peut en faire...

    A ce niveau" nous avons une premi,re confi&uration qui fonctionne. Le fichier squid.conf a cette

    allure :hierarchy9stoplist cgi-$in >acl @8"R? urlpath9rege= cgi-$in A>no9cache deny @8"R?acl all src %.%.%.%/%.%.%.%acl (anager proto cache9o$ectacl localhost src '7.%.%.'/;;.;;.;;.;;acl 66L9ports port ,, ;* '%%%%acl 6afe9ports port +%acl 6afe9ports port 'acl 6afe9ports port ,, ;*acl 6afe9ports port 7%acl 6afe9ports port '%acl 6afe9ports port '%;-*;;;acl 6afe9ports port +%acl 6afe9ports port ,++

    acl 6afe9ports port ;C'

    Pa&e = sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    10/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    acl 6afe9ports port 777acl 6afe9ports port C%'acl purge (ethod P8R0"acl !!"T (ethod !!"Tacl Local!et src 'C.'*+.%.%/;;.;;.;;.%

    http9access allo (anager localhosthttp9access deny (anagerhttp9access allo purge localhosthttp9access deny purgehttp9access deny E6afe9portshttp9access deny !!"T E66L9portshttp9access allo localhosthttp9access allo Local!ethttp9access deny allicp9access allo alllog9fqdn on

    Pa&e ?> sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    11/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    + sur squid

    Affiner la configuration

    *l ! a deu points importants" qu)il peut (tre utile d)%tudier" et qui correspondent au deu fonctions

     principales d)un pro!.

    Identifier les utilisateurs

    Attention :Vous aure des ennuis pour aut!entifier "os utilisateurs# si "ous compte rendre "otre pro$%

    transparent& 'es deu$ fonctionnalités sont incompatibles&

    3ans la confi&uration mise en oeuvre ici" nous ne faisons pas de contrle sur les utilisateurs"

    seulement sur les *Ps des machines clientes. Rous pouve souhaiter identifier vos utilisateurs

    lorsqu)ils vont surfer sur le Net. 3ans ce cas" il vous faudra mettre en place un s!st,me

    d)authentification.

    *l ! a plusieurs m%thodes disponi+les pour authentifier les utilisateurs du pro!. Elles font toutes

    appel 5 un pro&ramme et%rieur" diff%rent suivant le mo!en choisi. 3e+ian propose les modules

    suivants :

    ncsaUauth" sm+Uauth" &etpnamUauth" ldapUauth" pamUauth

    Les plus int%ressants sont pro+a+lement :

    • ldapUauth" qui permet d)authentifier les utilisateurs depuis un annuaire L3AP 1si vous

    matrise d%$5 L3AP2"

    • sm+Uauth" qui permet d)utiliser un contrleur de domaine 4indos NT"

    • ncsaUauth" qui utilise un fichier d)utilisateurs local.

     Nous allons mettre en oeuvre ncsaUauth" c)est le plus simple" ce ne sera peutO(tre pas le plus utile"

    surtout si le r%seau local est un domaine >D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    12/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    chris:$nIu0LJ"%0pcgdaniel:6B8RpB)"=h?P@(ichele:*hD@KgRdfKg

     Note que les mots de passe sont chiffr%s. *l aurait %t% possi+le d)utiliser le fichier passd desutilisateurs Linu" mais ce n)est pas forc%ment une tr,s +onne id%e...

    R%rifions que Qa fonctionne" en lanQant -5 la main- le module d)authentification /usr/li+/ncsaUauth.

     Nous entrerons alors dans une +oucle o6 il faudra entrer sur une li&ne un nom d)utilisateur et son

    mot de passe" s%par%s par un espace :

    # /usr/li$/squid/ncsa9auth /etc/squid/userschris Mchose truc"RR

    Le s!st,me r%pond par V ou par E suivant que l)authentification r%ussit ou non.

    #orte de la +oucle avec un -ctrlOd-.

    #i Qa fonctionne comme Qa" c)est d%$5 +on si&ne.

    Configurer squid pour réclamer l(aut!entification de "os utilisateurs

    n peut le faire avec 4e+min" faisonsOle donc.

    Pa&e ? sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    13/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    Pa&e ?G sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    14/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    Pour Aut!entification program" indique le chemin du module ncsaUauth" suivi du chemin dufichier des utilisateurs" s%par%s par un espace.

    Pour )umber of aut!entication programs :

    "Defaults to 5 if an authenticator has been enabled." 

    Lorsqu)un pro&ramme d)authentification a %t% choisi" le nom+re d)instances de ce pro&ramme est par

    d%faut de D. #i vous ave de nom+reu utilisateurs" il sera peutO(tre n%cessaire d)au&menter ce

    nom+re.

    *ime to cac!e passords for :"How long Squid will cache a successful login for before querying the authentication program

    again." 

    Com+ien de temps #quid va se souvenir d)une authentification r%ussie" avant de demander unenouvelle authentification.

    *ime to bind user to an IP address for :

    "If the same user tries to login twice from two different IP addresses during this period, he will

    benied. his can be used to pre!ent the sharing of proy passwords between multiple users." 

    #i le m(me utilisateur essa!e de s)authentifier depuis deu machines diff%rentes dans un laps de

    temps trop court" il sera refus%. Ceci peut (tre utilis% pour emp(cher le parta&e d)un droit d)acc,s

    entre plusieurs utilisateurs.

    Cette derni,re option est tout 5 fait di&ne d)int%r(t...

    n -save-" on -appl! les chan&es- et on croit que c)est fini" mais non... #ans ACL pour utiliserl)authentification" squid ne demandera rien 5 vos utilisateurs.

    R%rifions tout de m(me qu)apr,s rechar&ement de squid le module d)authentification est +ien

     pr%sent :

    g:/usr/li$/squid# ps au= < grep 1s2quidroot ';* %.% '.' +, '', > 6 ',: %:%% /usr/s$in/squid -D -s?pro=y ';+ %.% 7.% C*'* *7' > 6 ',: %:%, 4squid5 -D -s?

     Non" il n)! est pas.

    Pa&e ?@ sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    15/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    Passons donc au ACLs. n a d%$5

    vu comment s)! prendre" nous

    cr%ons une nouvelle ACL de t!pe

    -Eternal auth- :

    1save2

     Nous plaQons une nouvelle li&ne

    dans les restrictions" en interdisant

    1den!2 5 tous ceu qui ne satisfont

     pas 13on)t match ACLs2 5 l)ACL

    0sers.

    1save2

    Enfin" nous remontons cette

    restriction $uste au dessus de allo

    LocalNet.

    Application des chan&ements" nous v%rifions que maintenant le module d)authentification est +ienchar&% :

    g:/usr/li$/squid# ps au= < grep 1s2quidroot ';* %.% '.' +, '', > 6 ',: %:%% /usr/s$in/squid -D -s?pro=y ';+ %.% 7.% C*'* *7' > 6 ',: %:%, 4squid5 -D -s?pro=y '7+ %.% %., '7' ++ > 6 '*:% %:%% 4ncsa9auth5 /etc/squid/userspro=y '7C %.% %., '7' ++ > 6 '*:% %:%% 4ncsa9auth5 /etc/squid/userspro=y '+% %.% %., '7' ++ > 6 '*:% %:%% 4ncsa9auth5 /etc/squid/userspro=y '+' %.% %., '7' ++ > 6 '*:% %:%% 4ncsa9auth5 /etc/squid/userspro=y '+ %.% %., '7' ++ > 6 '*:% %:%% 4ncsa9auth5 /etc/squid/users

    Cette foisOci" il ! est. Sa devrait donc fonctionner :

    Pa&e ?D sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    16/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    Et voil5. Pour acc%der au monde et%rieur"#quid n%cessite maintenant une authentificaO

    tion.

    Comme nous l)avons param%tr%" cette authentiO

    fication restera valide G> minutes 1si le navi&aO

    teur n)est pas referm% entre temps2" et pendant

    ces G> minutes" plus aucun autre utilisateur ne

     pourra utiliser ce lo&in sur toute autre machine

    de votre LAN.

    #i nous allons faire un petit tour dans les derni,res li&nes de /var/lo&/squid/access.lo&" nous

    constatons que le nom d)utilisateur fi&ure pour chaque requ(te :

    '%;7+7;%.%* 7 pchris.(aison.(s TP9NIT/%% +C0"T http://.free.fr/i(g/picto9assunet.gif chris !!"/ -i(age/gif

    '%;7+7;%.%*7 + pchris.(aison.(s TP9NIT/%% ,%'0"T http://.free.fr/i(/$lank93;3;3;.gif chris !!"/ -i(age/gif

    '%;7+7**.%%, ; pchris.(aison.(s TP9NIT/%% C0"T http://.free.fr/pro(os/"gg-senior-,=7;-c.gif chris !!"/- i(age/gif

    '%;7+77,.%+ , pchris.(aison.(s TP9NIT/%% 77+C0"T http://.free.fr/i(/$anniere-autopro(o-edengo.gif chris !!"/- i(age/gif

    8i& 8rother se fait de plus en plus pr%sent...

    Rotre fichier squid.conf ressem+le maintenant 5 ceci :

    hierarchy9stoplist cgi-$in >acl @8"R? urlpath9rege= cgi-$in A>no9cache deny @8"R?acl all src %.%.%.%/%.%.%.%acl (anager proto cache9o$ectacl localhost src '7.%.%.'/;;.;;.;;.;;acl 66L9ports port ,, ;* '%%%%acl 6afe9ports port +%acl 6afe9ports port 'acl 6afe9ports port ,, ;*acl 6afe9ports port 7%acl 6afe9ports port '%

    acl 6afe9ports port '%;-*;;;acl 6afe9ports port +%acl 6afe9ports port ,++acl 6afe9ports port ;C'acl 6afe9ports port 777acl 6afe9ports port C%'acl purge (ethod P8R0"acl !!"T (ethod !!"Tacl Local!et src 'C.'*+.%.%/;;.;;.;;.%acl 8sers pro=y9auth R"@8IR"Dhttp9access allo (anager localhosthttp9access deny (anagerhttp9access allo purge localhosthttp9access deny purgehttp9access deny E6afe9portshttp9access deny !!"T E66L9portshttp9access allo localhost

    http9access deny E8sers

    Pa&e ?B sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    17/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    http9access allo Local!ethttp9access deny allicp9access allo alllog9fqdn onauthenticate9progra( /usr/li$/squid/ncsa9auth /etc/squid/users

    authenticate9ttl % (inuteauthenticate9ip9ttl % (inute

     Note que vous pouve aussi &%rer la liste des utilisateurs avec la fonction -Pro! Authentication-

    du module #quid de 4e+min" sans manipuler htpassd" 5 condition que :

    • vous a!e cr%% le fichier des utilisateurs" m(me vide"

    • vous a!e confi&ur% #quid pour utiliser ncsaUauth.

    A ce moment" l)option -Pro! Authentication- fonctionnera aussi +ien que -htpassd-.

    #i pour vous l)authentification est une chose primordiale" et que vous dispose d%$5 d)une source

    d)authentification sur votre LAN" int%resseOvous peutO(tre 5 l)eistence d)un module

    d)authentification qui vous permettrait de n)emplo!er qu)une seule +ase d)utilisateurs...

    ;)ai pu effectuer quelques tests avec le module d)authentification qui s)appuie sur #>D par Laurent 8A##E

    http://www.hacom.nl/~richard/software/smb_auth.htmlhttp://www.hacom.nl/~richard/software/smb_auth.html

  • 8/19/2019 Squid SquidGuard

    18/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    op%rations :

    • ediri&er en PE0T*N' le port I> 1vous devre vous contenter d)un seul port

    transparent2 vers le port pro! sur son port 1G?I par d%faut pour squid2" Qa se fait

    sans pro+l,mes sur votre routeur NAT avec *Pta+les"

    • Confi&urer correctement squid pour qu)il interpr,te convena+lement les requ(tes

    HTTP qu)il reQoit.

    Attention&&&

    • Cette mét!ode est incompatible a"ec l(aut!entification des utilisateurs& ,-me si squid

    est configuré comme nous l(a"ons "u pour l(aut!entification ncsa# celle.ci ne

    fonctionnera plus&

    • cette mét!ode ne supporte que /**P& F*P est impossible en mode transparent#

    • un seul port peut -tre redirigé de fa0on transparente# le 12# de préférence# puisque c(estle port !abituel pour /**P&

    'a r3gle de redirection

    Roici la r,&le 5 a$outer sur votre passerelle" en admettant que votre r%seau est dans ?=.?BI.>.> et

    que votre pro! poss,de l)adresse ?=.?BI.>.D. Nous supposons que le pro! est install% sur la

    machine qui assure %&alement le rle de passerelle 1commande 5 entrer sur une seule li&ne" +ien

    entendu2 :

    ipta$les -t nat - PR"R8TI!0 -s 'C.'*+.%.%/;;.;;.;;.%-p tcp -( tcp --dport +% - R"DIR"T --to-port '+

    *l est possi+le de rediri&er de faQon transparente sur un pro! install% sur une autre machine que la

     passerelle" 5 la condition que cette derni,re soit plac%e dans un autre r%seau *P que le LAN" faute de

    quoi" la translation de port ne fonctionnera pas correctement.

    Avec un routeur 5 trois voies" par eemple deu r%seau *P 1disons ?=.?BI.>.> et ?=.?BI.?.>2" et

    un acc,s *nternet" si le LAN est sur ?=.?BI.>.>" il faudra placer le pro! sur ?=.?BI.?.>" disons

    ?=.?BI.?.. La r,&le *Pta+les s)%crira alors :

    ipta$les -t nat - PR"R8TI!0 -s 'C.'*+.%.%/;;.;;.;;.%-p tcp -( tcp --dport +% - D!T --to-destination 'C.'*+.'.:'+

    8ien entendu" il faudra que le routa&e se fasse entre les r%seau ?=.?BI.>.> et ?=.?BI.?.>. 3ans la

     pratique" vous devre donc disposer de trois interfaces r%seau sur votre routeur NAT.

    Paramétrage de Squid

    Comme nous l)avons vu dans le chapitre sur HTTP?" Le client HTTP n)a&it pas de la m(me mani,re

    suivant qu)il a affaire 5 un pro! ou non. *ci" le client ne sait pas qu)il ! a un pro!" il a&it donc

    comme s)il interro&eait directement le serveur ci+le" alors que ce n)est pas le cas. Sa ne fonctionnera

     +ien entendu pas" si #quid n)est pas inform% de cette situation.

    >D par Laurent 8A##E

    http://christian.caleca.free.fr/http/le_proxy.htmhttp://christian.caleca.free.fr/http/le_proxy.htm

  • 8/19/2019 Squid SquidGuard

    19/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    Allons" avec 4e+min" dans l)option -no9cache deny @8"R?acl all src %.%.%.%/%.%.%.%acl (anager proto cache9o$ectacl localhost src '7.%.%.'/;;.;;.;;.;;acl 66L9ports port ,, ;* '%%%%acl 6afe9ports port +%acl 6afe9ports port 'acl 6afe9ports port ,, ;*acl 6afe9ports port 7%acl 6afe9ports port '%acl 6afe9ports port '%;-*;;;acl 6afe9ports port +%acl 6afe9ports port ,++

    acl 6afe9ports port ;C'acl 6afe9ports port 777acl 6afe9ports port C%'acl purge (ethod P8R0"acl !!"T (ethod !!"Tacl Local!et src 'C.'*+.%.%/;;.;;.;;.%acl 8sers pro=y9auth R"@8IR"Dhttp9access allo (anager localhosthttp9access deny (anagerhttp9access allo purge localhosthttp9access deny purgehttp9access deny E6afe9portshttp9access deny !!"T E66L9portshttp9access allo localhosthttp9access deny E8sershttp9access allo Local!ethttp9access deny allicp9access allo all

    Pa&e ?= sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    20/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    log9fqdn onauthenticate9progra( /usr/li$/squid/ncsa9auth /etc/squid/usersauthenticate9ttl % (inuteauthenticate9ip9ttl % (inutehttpd9accel9ith9pro=y on

    httpd9accel9uses9host9header onhttpd9accel9host )irtualhttpd9accel9port +%

    Conclusions

    Comme nous l)avons vu" la transparence du pro! entrane de nom+reuses restrictions. A moins que

    vous ! tenie a+solument" mieu vaut choisir une autre solution" principalement si vous voule

    cacher le FTP et/ou le HTTP# ou si vous deve authentifier vos utilisateurs.

    8eaucoup d)autres choses sont possi+les" $e ne les pas encore essa!%es" $e vous laisse faire.

    Pour ce qui est du filtra&e d)acc,s" il est possi+le de faire d%$5 des choses avec #quid tout seul" maisle -helper- #quid'uard que nous allons voir dans la suite rend inutiles les tentatives de filtra&e avec

    les seuls mo!ens de #quid.

    Pa&e > sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    21/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    Squid4uard

    Installation

    Autant il est simple de mettre en service une confi&uration minimale de #quid op%rationnelle" autant

    squid'uard va n%cessiter un travail m%ticuleu et d%licat. Rous voil5 pr%venu...

    Installer squidGuard depuis les paquetages e!ian

    0tilisons -deselect-. 0ne recherche 1 commande -/- suivie de -squid&uard-2 permet de pointer

    directement sur le paquet.

    #%lection avec -J-" dselect va indiquer un certain nom+re de d%pendances n%cessaires" principalement des modules perl et %&alement un paqueta&e recommand% intitul% : -chastit!-. Ce

     paqueta&e contient une liste de sites et d)0* que les +onnes moeurs d%conseillent de visiter. Nous

    n)utiliserons pas ce paqueta&e" en pr%f%rant r%cup%rer ces informations ailleurs.

    Apr,s installation" nous devrions retrouver :

    • un fichier /etc/squid/squid'uard.conf par d%faut" que nous allons de suite renommer en

    /etc/squid/squid'uard.conf.de+"

    • un r%pertoire /var/li+/squid'uard/d+" normalement vide.

    A ce stade" squid'uard est loin d)(tre op%rationnel" ce qui n)est d)ailleurs pas un pro+l,me" puisque

    #quid" qui n)est pas encore inform% de sa pr%sence" ne l)utilise pas.

    Installation du "odule squidGuard pour #e!"in

    Ce module se trouve sur : http://.niemueller.de/e+min/. *l faut le t%l%char&er" puis l)installer

    dans e+min :

    Pa&e ? sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

    http://www.niemueller.de/webmin/http://www.niemueller.de/webmin/

  • 8/19/2019 Squid SquidGuard

    22/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    L)installation proprement dite est termin%e.

    Configuration

    $n squidGuard%conf "ini"u"

    Comme nous avons renomm% le fichier de confi&uration par d%faut" il n)! en a plus. Le module

    squid'uard de 4e+min va nous aider 5 en faire un autre" tout neuf.

    3epuis" l)on&let -#ervers- de 4e+min" d%marrons ce module. *l pourra se faire qu)il soit mal ou pas

    confi&ur% et qu)il apparaisse ainsi :

    Pa&e sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    23/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    *ndique le chemin o6 l)on doit disposer du fichier de confi&uration.

  • 8/19/2019 Squid SquidGuard

    24/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    Le module va maintenant cr%er un squid'uard.conf minimum :

    Rous n)ave pas le choi... -Create- donc.

    Pa&e @ sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    25/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    *ndique les chemins par d%faut pour 3e+ian et" surtout" faites attention 5 +ien s%lectionner -No

    traffic- pour la r,&le par d%faut. #i l)on est en train de s)em+(ter" ce n)est pas pour r%aliser une

     passoire

    Comme ce module est intelli&ent" il va constater que squid n)est pas confi&ur% pour utiliser le

    -helper- squid'uard. *l va donc vous en avertir :

    Pa&e D sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    26/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    Confi&ure donc #quid. Rous pourre v%rifier" tou$ours au mo!en de 4e+min" mais avec le module

    #quid :

    Pa&e B sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    27/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    3ans la pratique" 4e+min a a$out% pour vous la li&ne :

    redirect9progra( /usr/$in/squid0uard -c /etc/squid/squid0uard.conf

    3ans le fichier de confi&uration de #quid : /etc/squid.conf.

     Nous devrions avoir ceci dans la fen(tre 4e+min de &estion de #quid'uard :

    Pa&e sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    28/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

  • 8/19/2019 Squid SquidGuard

    29/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    http://'7.%.%.'/cgi-$in/squid0uard.cgi>clientaddrOaQsrcclassOsQtargetclassOtQurlOu

    Cette li&ne part du principe que vous ave sur la machine locale un serveur HTTP en %tat de marcheet qu)il dispose d)un script squid'uard.c&i. Les param,tres transmis dans cet eemple permettent de

    communiquer au script toutes les informations n%cessaires pour identifier les circonstances du

     +loca&e.

    8ien entendu" ce script" ou un autre 1pa&e php comprise2 peuvent (tre situ%s sur une machine autre"

    il suffit de r%di&er l)0* de redirection en fonction.

    Et voil5. 0ne ma&nifique confi&uration par d%faut est r%alis%e. *l faut maintenant relancer #quid et"

    sans l)%tat actuel des choses" plus personne ne pourra visiter quoi que ce soit" #quid'uard

    interdisant tout par d%faut 5 quiconque.

     Nous avons actuellement un fichier squid'uard.conf qui a cette allure :## onfiguration 3ile for 6quid0uard## reated ith the 6quid0uard onfiguration e$(in odule# opyright 45 %%' $y Ti( !ie(ueller Fti(Snie(ueller.deH# http://.nie(ueller.de/e$(in/(odules/squidguard/## 3ile created on ,/ay/%% '':C#d$ho(e /)ar/li$/squidguard/d$logdir /)ar/log/squid

    acl   default   redirect http://'7.%.%.'/cgi-$in/squid0uard.cgi>clientaddrOaQsrcclassOsQtargetclassOtQurlOu

      pass none

    Pa&e = sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    30/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

      UU

    Les &Source Groups&

    Ce sont les &roupes d)utilisateurs de votre LAN. Rous pouve cr%er autant de &roupes que vous

    voule" ces &roupes seront principalement +as%s sur les +locs d)*Ps. Ceci peut vous amener d%$5 5

    reconsid%rer compl,tement vos strat%&ies d)attri+ution d)*Ps...

    Pour le moment" nous allons redonner un acc,s sans limites 5 tous les utilisateurs de notre LAN en

    cr%ant un -source &roup- rassem+lant toutes les *Ps que nous utilisons :

    0n &roupe nomm% po%tiquement LAN. Rous pourre ais%ment trouver mieu...

    Pa&e G> sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    31/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    *l faut maintenant d%finir son contenu :

     Nous a$outons un -su+net-" mais +eaucoup de possi+ilit%s sont propos%es. 0ser et 0serlist ne seront

    utilisa+les que s)il est mis en place un s!st,me d)authentification des utilisateurs de votre LAN. La

    &estion par les domaines ne fonctionnera pas non plus dans la confi&uration #quid mise en oeuvre

    Pa&e G? sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    32/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    ici. Nous nous contenterons donc de travailler avec les *Ps.

    Tout notre r%seau local" constitu% ici d)une unique classe C priv%e.

  • 8/19/2019 Squid SquidGuard

    33/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    ## onfiguration 3ile for 6quid0uard## reated ith the 6quid0uard onfiguration e$(in odule# opyright 45 %%' $y Ti( !ie(ueller Fti(Snie(ueller.deH

    # http://.nie(ueller.de/e$(in/(odules/squidguard/## 3ile created on ,/ay/%% '':C#d$ho(e /)ar/li$/squidguard/d$logdir /)ar/log/squid

    source LAN {  ip 192.168.0.0/24U

    acl   default   redirect http://'7.%.%.'/cgi-$in/squid0uard.cgi>clientaddrOaQsrcclassOsQtargetclassOtQurlOu  pass none  U

    U

    Les &Access Control Lists&

    ien n)est encore chan&% quant au droits d)acc,s" tou$ours rien ne passe.

     Nous allons maintenant cr%er une nouvelle ACL pour permettre au LAN de vo!a&er sur le Net" sans

    aucune restriction pour le moment :

    Pa&e GG sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    34/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

     Nous a$outons une ACL pour le &roupe LAN.

    Pa&e G@ sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    35/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

     Nous d%finissons maintenant cette ACL de faQon laiste 1nous n)avons pas pour l)instant les mo!ens

    de faire autre chose que tout ou rien2 :

    Pa&e GD sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    36/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

     Nous avons maintenant un fichier de confi&uration qui a cette allure :

    ## onfiguration 3ile for 6quid0uard## reated ith the 6quid0uard onfiguration e$(in odule# opyright 45 %%' $y Ti( !ie(ueller Fti(Snie(ueller.deH# http://.nie(ueller.de/e$(in/(odules/squidguard/## 3ile created on ,/ay/%% ';:%#

    d$ho(e /)ar/li$/squidguard/d$logdir /)ar/log/squid

    source L!   ip 'C.'*+.%.%/,U

    acl   LAN {   pass any  redirect http://127.0.0.1/cgi!in/s"uid#uard.cgi$c%ientaddr&'a(srcc%ass&'s(targetc%ass&'t(ur%&'u  )

      default   redirect http://'7.%.%.'/cgi-$in/squid0uard.cgi>clientaddrOaQsrcclassOsQtargetclassOtQurlOu  pass none  U

    U

    Pa&e GB sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    37/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    *l suffit de relancer squid et" cette foisOci" tout le LAN pourra passer sur le e+.

    Pa&e G sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    38/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    + sur Squid4uard

    6ue faire maintenant ;

    http://cri.univOtlse?.fr/documentations/cache/squid&uard.html

    *l nous reste 5 confi&urer des -3estination 'roups- et des -8lac9lists- pour filtrer l)acc,s au 4e+.

     Nous allons voir comment nous ! prendre.

    lists

    C)est maintenant que Qa va commencer 5 vraiment se compliquer...

    La diff%rence entre une -+lac9list- et un -destination &roup- est une notion qui n)eiste pas dans

    squid'uard" mais dans le module e+min associ%.

    estination Groups

    Les -3estination 'roups- sont des ensem+les de domaines" d)0* et/ou d)epressions r%&uli,res qui

    d%finissent des ci+les potentielles pour les internautes de votre LAN.

    Au mo!en de ces -3estination 'roups-" vous pourre d%finir des ci+les accessi+les" ou interdites.

    Par eemple" vous pourre d%finir des ensem+les de domaines ou d)0* qui seront les seuls 5

     pouvoir (tre atteints par certains -source &roups- ou" 5 l)inverse" d%finir des ensem+les de domaines

    ou d)0* dont l)acc,s sera interdit.

    Comme d)ha+itude" il est possi+le :

    • d(interdire tout 5 part&&&  ce qui est &%n%ralement trop restrictif" mais c)est 5 vous de

    construire votre monde de faQon totalitaire" vous (tes che vous...

    • d(autoriser tout sauf&&&  ce qui est nettement plus -d%mocratique-" mais laissera

    o+li&atoirement la porte ouverte 5 des ci+les que l)on aurait aim% interdire si l)on avait %t% au

    courant de leur eistence...

    Cruelle responsa+ilit% que de devoir choisir entre ces deu strat%&ies. Nous verrons ici comment

    eploiter la seconde" mais si vous ave compris le principe" vous pourre sans plus de difficult%s

    utiliser la premi,re.

    Les epressions r%&uli,res sont volontairement mises de ct%" elles sont fortement consommatrices

    de ressources s!st,me. ien ne vous emp(che cependant de faire quelques manipulations avec par

    la suite.

    'lac(lists

    Comme leur nom l)indique" ces listes seront l5 uniquement pour interdire des acc,s. Par rapport au

    -destination &roups-" elles pr%sentent deu diff%rences ma$eures :

    • comme nous l)avons dit" elles ne peuvent servir qu)5 interdire"

    • leur mode de &estion pr%sente quelques diff%rences par rapport au -destination &roups-.

    Pa&e GI sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

    http://cri.univ-tlse1.fr/documentations/cache/squidguard.htmlhttp://cri.univ-tlse1.fr/documentations/cache/squidguard.html

  • 8/19/2019 Squid SquidGuard

    39/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    Co""ent les construire )

     Nous trouvons des listes toutes faites sur le Net.

    Prenons par eemple cellesOci : +lac9lists.tar.&

    " maintenue par le centre de ressources informaOtiques de l)universit% de Toulouse.

     Nous d%compressons cette archive dans /var/li+/squid&uard/d+/ :

    Et nous faisons un peu de m%na&e.

    • Le dossier -a&&ressive- ne pr%sente pas d)int%r(t" il vaudra mieu utiliser -a&ressif-" nous le

    d%truisons.

    • Les liens s!m+oliques sont l5 pour assurer une compati+ilit% avec les +lac9lists par d%faut de

    squid'uard. Comme nous faisons nous m(me notre confi&uration" autant les supprimer.

    • 3ans chacun de ces dossiers" il ! aura au moins deu fichiers : -domains- et -urls-. #i un

    fichier intitul% -epressions- eiste" nous le supprimerons" nous allons %viter

    s!st%matiquement les epressions r%&uli,res.

    • Enfin" nous d%plaQons tous ces dossiers dans /var/li+/squid&uard/d+/ et nous utiliserons ces

    donn%es comme -destination &roups- plutt que comme des -+lac9lists-.

    Configurer les ?

  • 8/19/2019 Squid SquidGuard

    40/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    comme suit :

    ## onfiguration 3ile for 6quid0uard#

    # reated ith the 6quid0uard onfiguration e$(in odule# opyright 45 %%' $y Ti( !ie(ueller Fti(Snie(ueller.deH# http://.nie(ueller.de/e$(in/(odules/squidguard/## 3ile created on ,/ay/%% ';:%#

    d$ho(e /)ar/li$/squidguard/d$logdir /)ar/log/squid

    source L!   ip 'C.'*+.%.%/,U

    destination pornographie   urllist adult/urls

      do(ainlist adult/do(ainsU

    destination agressif   urllist agressif/urls  do(ainlist agressif/do(ainsU

    destination audio-)ideo   urllist audio-)ideo/urls  do(ainlist audio-)ideo/do(ainsU

    destination drogues   urllist drugs/urls  do(ainlist drugs/do(ainsU

    destination foru(s   urllist foru(s/urls  do(ainlist foru(s/do(ainsU

    destination eu=   urllist ga($ling/urls  do(ainlist ga($ling/do(ainsU

    destination hackers   urllist hacking/urls  do(ainlist hacking/do(ainsU

    destination redirecteurs   urllist redirector/urls  do(ainlist redirector/do(ainsU

    destination )iolence   urllist )iolence/urls  do(ainlist )iolence/do(ainsU

    destination areJ   urllist areJ/urls  do(ainlist areJ/do(ainsU

    acl   L!   pass any

    Pa&e @> sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    41/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

      redirect http://'7.%.%.'/cgi-$in/squid0uard.cgi>clientaddrOaQsrcclassOsQtargetclassOtQurlOu  U

      default   redirect http://'7.%.%.'/cgi-$in/squid0uard.cgi>clientaddrOaQsrcclassOsQtargetclassOtQurlOu  pass none  UU

    Rous l)ave compris" il s)a&it d)epliquer 5 squid'uard o6 vont se trouver les d%finitions de nos

    &roupes de destination" 5 partir du r%pertoire de +ase" mentionn% au d%+ut du fichier.

    Construire les !ases de données

    *l nous faut maintenant construire les +ases 8er9ele! associ%es. Pour ! arriver" c)est simple" utilise

    la commande suivante :

    squid0uard - all

    et attende que Qa se passe... Et Qa risque d)(tre lon&.

    A la fin" vous aure la $oie de trouver dans les r%pertoires de vos &roupes de destination" les +ases

    de donn%es associ%es. Elles portent le m(me nom que les fichiers tete de d%finition" suivi du

    suffie .d+

    >D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    42/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    Ce qui ne veut pas dire qu)un quelconque filtra&e ait %t% a$out%. *l nous faut maintenant modifier

    l)ACL de LAN :

    Pa&e @ sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    43/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

     Nous vo!ons +ien apparatre dans la liste -3estination 'roups- tous les &roupes que nous avons

    import%s" de m(me que leurs contraires 1ils sont pr%c%d%s d)un point d)eclamation2.

    • #i vous voule que vos %tudiants ne puissent acc%der qu(au$  sites porno&raphiques"

    s%lectionne uniquement -porno&raphie- et faites -save-"

    • #i vous pr%f%re que vos %tudiants puissent acc%der 5 tout sauf  au sites porno&raphiques"

    s%lectionne seulement -porno&raphie- et faites -save-.

    8ien entendu" vous pouve choisir plusieurs items dans la liste en cliquant dessus avec la touche

    -Ctrl- enfonc%e.

    3ans l)eemple" le LAN acc,dera 5 tout sauf 5 la porno&raphie" les $eu" les forums" les sites

    a&ressifs... Ce qui donne le fichier de confi&uration suivant :

    ## onfiguration 3ile for 6quid0uard## reated ith the 6quid0uard onfiguration e$(in odule# opyright 45 %%' $y Ti( !ie(ueller Fti(Snie(ueller.deH# http://.nie(ueller.de/e$(in/(odules/squidguard/## 3ile created on ,/ay/%% ';:%#

    d$ho(e /)ar/li$/squidguard/d$logdir /)ar/log/squid

    Pa&e @G sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    44/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    source L!   ip 'C.'*+.%.%/,U

    destination pornographie

      urllist adult/urls  do(ainlist adult/do(ainsU

    destination agressif   urllist agressif/urls  do(ainlist agressif/do(ainsU

    destination audio-)ideo   urllist audio-)ideo/urls  do(ainlist audio-)ideo/do(ainsU

    destination drogues   urllist drugs/urls

      do(ainlist drugs/do(ainsU

    destination foru(s   urllist foru(s/urls  do(ainlist foru(s/do(ainsU

    destination eu=   urllist ga($ling/urls  do(ainlist ga($ling/do(ainsU

    destination hackers   urllist hacking/urls  do(ainlist hacking/do(ainsU

    destination redirecteurs   urllist redirector/urls  do(ainlist redirector/do(ainsU

    destination )iolence   urllist )iolence/urls  do(ainlist )iolence/do(ainsU

    destination areJ   urllist areJ/urls  do(ainlist areJ/do(ainsU

    acl L!   pass Epornographie Eagressif Eaudio-)ideo Edrogues Eforu(s Eeu= Ehackers Eredirecteurs E)iolenceEareJ  redirect http://'7.%.%.'/cgi-$in/squid0uard.cgi>clientaddrOaQsrcclassOsQtargetclassOtQurlOu  U

    default   redirect http://'7.%.%.'/cgi-$in/squid0uard.cgi>clientaddrOaQsrcclassOsQtargetclassOtQurlOu  pass none  UU

     elance squid et v%rifie que tout se passe comme pr%vu.

    Pa&e @@ sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    45/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    *odifier ces listes

    4e+min permet de modifier ces listes ou m(me d)en cr%er 5 partir de rien. Rous aure pro+a+lement

    l)occasion de vous servir de ces fonctionnalit%s. e&ardons ce que Qa donne dans un &roupe pas trop

    encom+r% :

    Rous pouve :

    • consulter la liste actuelle"

    • a$outer ou supprimer un domaine ou un 0*.

    #i vous a$oute ou enleve quelque chose" #quid'uard s)arr(tera" parce que vous ave a&i sur les

    fichiers tete et que les +ases 8er9ele! ne sont plus s!nchronis%es. elance #quid et les +ases

    seront reconstruites automatiquement 1normalement2.

    Créer de nou+elles listes , partir de rien

    Rous pouve le faire. Le module de 4e+min acceptera de cr%er de nouveau &roupes vides et de les

    inscrire dans squid'uard.conf" en cr%ant les fichiers tete qui vont avec. Ceci peut vous permettre

    de cr%er de petits &roupes suppl%mentaires si le +esoin s)en fait sentir.

    Pa&e @D sur @ %alis% 5 partir des pa&es du site" du B mars >>D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    46/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    'es =lac>lists

    Le module de 4e+min ne vous permet pas de cr%er de +lac9lists" il ne vous permet que d)en

    t%l%char&er. #i vous le faites 5 partir du site de #quid'uard" vous retom+ere sur les m(mes 1ou 5 peu pr,s2 que celles que nous avons utilis%es. Aurions nous pris le pro+l,me 5 l)envers 7

    Risi+lement" il sem+lerait que oui. >D par Laurent 8A##E

  • 8/19/2019 Squid SquidGuard

    47/47

    Le protocole HTTP © Christian CALECA

    http://christian.caleca.free.fr/squid/

    de #quid pendant ce temps.

    *l eiste en effet la possi+ilit% de cr%er des fichiers tete suppl%mentaires" destin%s 5 a$outer ou a

    enlever des enre&istrements dans la +ase" sans pour autant le reconstruire totalement" mais cette

     possi+ilit% n)est pas accessi+le depuis 4e+min.

    A propos du "odule -e!"in pour squidGuard

    Tel qu)il est conQu" ce module pr%sente des dan&ers dans la mesure o6 certaines confi&urations

    devront (tre reprises manuellement dans le fichier squid'uard.conf. 3e plus" il ne relance pas squid

    apr,s une modification des +ases.

    Pratiquement" $e vous conseille la plus &rande prudence et la confi&uration directe sem+le nettement

     pr%f%ra+le.


Recommended