Projet / SemaineTech / 2011 / Ateliers / SquidEtAptCacherNG / Conversation

Présentation

   1 (13:00:51) willy: ---------------------------- DEBUT ATELIER : squid et apt-cacher-ng -----------------------
   2 (13:02:24) nacer.saidou-adamou: salut à tous
   3 (13:03:26) nacer.saidou-adamou: je vais présenté quelque config pour mettre en place
   4 (13:03:34) progfou: tout le monde peut parler ici, mais ça reste un salon de présentation, donc merci d'attendre que le présentateur vous donne la parole pour vous exprimer
   5 (13:03:35) nacer.saidou-adamou: squid + delay pool d'une part
   6 (13:03:52) nacer.saidou-adamou: et apt-cacher-ng
   7 (13:03:55) nacer.saidou-adamou: d'autre part
   8 (13:04:00) nacer.saidou-adamou: puis d'intégrer les deux
   9 (13:04:27) nacer.saidou-adamou: ie d'automatiquement rediriger les requetes deb vers apt-cacher-ng
  10 (13:04:44) nacer.saidou-adamou: sans avoir à modifier la config des postes clients 
  11 (13:05:17) nacer.saidou-adamou: (c'est équivalent à la technique proposé par JC sur la page squid de wikiteki quoi)
  12 (13:05:25) nacer.saidou-adamou: bon, on y va
  13 (13:06:09) nacer.saidou-adamou: merci JC
  14 (13:06:14) nacer.saidou-adamou: tous ces onglets ...
  15 (13:06:17) nacer.saidou-adamou: Agenda
  16 (13:06:20) nacer.saidou-adamou: donc
  17 (13:06:30) nacer.saidou-adamou: 1- config squid de base
  18 (13:06:44) nacer.saidou-adamou: 2- delay pool pour la gestion de la bp
  19 (13:06:54) nacer.saidou-adamou: 3- install apt-cacher-ng
  20 (13:07:09) nacer.saidou-adamou: 4- intégration squid + apt-cacher-ng
  21 (13:07:28) nacer.saidou-adamou: donc on enchaine avec le point 1
  22 (13:07:49) nacer.saidou-adamou: pour les questions, balancez les, j'y répondrais au fur et à mesure de leur apparition
  23 (13:08:37) nacer.saidou-adamou: installation de squid : # aptitude install squid
  24 (13:08:53) nacer.saidou-adamou: le fichier de configuration est assez bien commenté 
  25 (13:09:14) nacer.saidou-adamou: ici, je vais indiquer juste quelques paramètres interessants pour démarrer
  26 (13:10:40) nacer.saidou-adamou: cache_mem à 8Mb (voir http://wiki.auf.org/wikiteki/Squid)
  27 (13:10:45) nacer.saidou-adamou: pour commentaires
  28 (13:11:31) nacer.saidou-adamou: de meme, vous choisissez la  valeur qui vous semble appropriée pour maximum_object_size (le wiki propose 10Mb, moi ca me va)
  29 (13:12:14) nacer.saidou-adamou: par défaut, squid écoute sur le port 3128
  30 (13:12:30) nacer.saidou-adamou: c'est grace à la variable http_port
  31 (13:13:15) nacer.saidou-adamou: et comme squid fonctionnera en mode transparent (c'est à dire qu'on forcera les requetes des postes clients à transiter par squid avant d'aller sur le web), on configurera comme ceci:
  32 (13:13:24) nacer.saidou-adamou: http_port 3128 transparent
  33 (13:13:48) nacer.saidou-adamou: cette valeur provoquera l'écoute sur toutes les interfaces réseau du serveur
  34 (13:14:43) nacer.saidou-adamou: chez moi, les sous réseaux publiques (différentes salles du cnf) sont directement connectés au nfs qui me sert aussi de squid
  35 (13:15:02) nacer.saidou-adamou: au niveau iptables, je fais juste une redirection de port
  36 (13:15:08) nacer.saidou-adamou: donc cette valeur me va très bien
  37 (13:15:35) nacer.saidou-adamou: sinon, vous pouvez fixer l'adresse sur laquelle squid écoutera
  38 (13:16:04) nacer.saidou-adamou: et niveau iptables, vous faites un dnat vers cette adresse sur le port 3128
  39 (13:16:12) willy: REMARQUE: il faut faire attention à ne pas faire écouter son proxy sur une interface publique; vous serviriez de proxy anonyme pour n'importe qui !
  40 (13:16:27) nacer.saidou-adamou: hum bonne remarque
  41 (13:16:35) nacer.saidou-adamou: chez moi nfs est absolument interne
  42 (13:16:36) frumence.boroto: QUESTION: avec iptables, comment tu fait la redirection des ports?
  43 (13:17:38) nacer.saidou-adamou: ca dépend de ta config
  44 (13:17:44) nacer.saidou-adamou: frumence
  45 (13:17:52) progfou: mhhh... oui et non...
  46 (13:18:04) nacer.saidou-adamou: si ton squid est local sur ton parefeu
  47 (13:18:12) nacer.saidou-adamou: tu peux faire
  48 (13:19:06) progfou: on peut faire une règle très générique pour un squid sur la passerelle :
  49 iptables -t nat -A PREROUTING ! -i ppp0 -p tcp --dport 80 -j REDIRECT --to-ports 3128
  50 (13:19:33) nacer.saidou-adamou: iptables -t filter -A INPUT -p tcp -dport 80 -o $INTERNET -j REDIRECT --to-ports 3128
  51 (13:19:53) nacer.saidou-adamou: plutot la table nat
  52 (13:19:54) nacer.saidou-adamou: sorty
  53 (13:19:56) nacer.saidou-adamou: sorry
  54 (13:20:06) progfou: et on peut aussi faire une règle très générique pour un squid ailleurs :
  55 iptables -t nat -A PREROUTING ! -i ppp0 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.10:3128
  56 (13:20:52) progfou: Nacer, c'est pas de l'INPUT, car les demandes web ne sont pas à destination de la passerelle mais d'un serveur web externe => FORWARD
  57 (13:21:12) progfou: et puis c'est pas du filtrage, donc c'est pas FORWARD non plus, mais du traitement pré-routage = PREROUTING
  58 (13:21:27) nacer.saidou-adamou: hum
  59 (13:21:45) nacer.saidou-adamou: wouais
  60 (13:21:52) nacer.saidou-adamou: j'ouvre mon fichier de règles
  61 (13:21:53) nacer.saidou-adamou: iptables
  62 (13:22:16) nacer.saidou-adamou: oui effectivement
  63 (13:22:34) nacer.saidou-adamou: je continue
  64 (13:22:50) nacer.saidou-adamou: j'en étais où déjà?
  65 (13:22:59) nacer.saidou-adamou: http_port
  66 (13:23:48) progfou: (finalement c'est mieux de te laisser présenter le plan que tu as annoncé plus haut, car tout est intéressant et il ne reste que 45 min... prends les questions à la fin plutôt)
  67 (13:23:48) nacer.saidou-adamou: chez moi, je modifie aussi la variable visible_hostname pour avoir quelque chose du genre cache.td.auf.org (c'est aussi le nom que j'enregistre dans mon dns)
  68 (13:24:16) nacer.saidou-adamou: et puis viens la définition des acls
  69 (13:24:29) nacer.saidou-adamou: par défaut, on a ceci dans le fichier de config de squid
  70 (13:24:38) nacer.saidou-adamou: acl all src 0.0.0.0/0.0.0.0
  71 (13:24:46) nacer.saidou-adamou: acl manager proto cache_object
  72 (13:25:00) nacer.saidou-adamou: acl localhost sr 127.0.0.1/255.255.255.255
  73 (13:25:17) nacer.saidou-adamou: à coté de ceci
  74 (13:25:45) nacer.saidou-adamou: j'enregistre un acl par réseau (utile après pour les delay pools)
  75 (13:25:50) nacer.saidou-adamou: exemple:
  76 (13:26:11) nacer.saidou-adamou: acl auf src 10.204.1.0/24
  77 (13:26:27) nacer.saidou-adamou: acl enseignants src 192.168.10.0/24
  78 (13:26:50) nacer.saidou-adamou: ensuite, on a les autorisations
  79 (13:27:00) nacer.saidou-adamou: par defaut:
  80 (13:27:10) nacer.saidou-adamou: http_access allow manager localhost
  81 (13:27:15) nacer.saidou-adamou: http_access allow all
  82 (13:27:39) nacer.saidou-adamou: j'ajoute, avant le allow all
  83 (13:28:16) nacer.saidou-adamou: http_access allow auf
  84 (13:28:25) nacer.saidou-adamou: http_access allow enseignants
  85 (13:28:31) nacer.saidou-adamou: et je remplace le allow all
  86 (13:28:38) nacer.saidou-adamou: par 
  87 (13:28:49) nacer.saidou-adamou: http_access deny all
  88 (13:29:08) nacer.saidou-adamou: si tout est en place
  89 (13:29:13) nacer.saidou-adamou: j'enregistre les modifs
  90 (13:29:20) nacer.saidou-adamou: et je redémarre le serveur
  91 (13:29:41) nacer.saidou-adamou: je vérifie ensuite que les machines des réseaux auf et enseignants passent bien par squid
  92 (13:29:58) nacer.saidou-adamou: pour ca, tail -f /var/log/squid/access.log
  93 (13:30:15) nacer.saidou-adamou: et sur un client de ces réseau j'ouvre une page
  94 (13:30:33) nacer.saidou-adamou: je verrai normalement de l'activité
  95 (13:31:01) nacer.saidou-adamou: voilà la config de base en place
  96 (13:31:06) nacer.saidou-adamou: 2- delay pool
  97 (13:31:46) nacer.saidou-adamou: pour expliquer (à mon avis) facilement les delay_pool, on va imaginer trois situations
  98 (13:32:20) nacer.saidou-adamou: supposons qu'on veuille mettre en place les delay pool pour le réseau des enseignants
  99 (13:32:53) nacer.saidou-adamou: on a donc un seul pool à mettre en oeuvre
 100 (13:33:07) nacer.saidou-adamou: on va mettre la variable "delay_pools" à 1
 101 (13:33:32) nacer.saidou-adamou: ensuite, on va ajouter la ligne suivante
 102 (13:33:37) nacer.saidou-adamou: delay_class 1  1
 103 (13:33:58) nacer.saidou-adamou: ce qui signifie que le pool numéro 1 (le seul qu'on a ) est de classe 1
 104 (13:34:12) nacer.saidou-adamou: et on va configurer ce pool par la ligne
 105 (13:34:48) nacer.saidou-adamou: delay_parameters 1  20000/15000
 106 (13:35:22) nacer.saidou-adamou: je reviendrai dessu
 107 (13:35:24) nacer.saidou-adamou: dessus
 108 (13:35:39) nacer.saidou-adamou: et on va dire que ce pool concerne l'acl enseignants
 109 (13:35:52) nacer.saidou-adamou: delay_class 1  allow enseignants
 110 (13:36:00) nacer.saidou-adamou: delay_class deny all
 111 (13:38:30) nacer.saidou-adamou: cette config va imposé la bande passante de 15kbits/s
 112 (13:38:46) nacer.saidou-adamou: à tous les clients du réseau enseignants
 113 (13:39:21) nacer.saidou-adamou: pour un total disponible pour tous de 20 kbits/s
 114 (13:39:32) nacer.saidou-adamou: j'ai pas trouvé une meilleure facon d'expliquer ca
 115 (13:40:20) nacer.saidou-adamou: 20 kbit/s est comme la limite hard et 15kbits une limite soft
 116 (13:40:38) nacer.saidou-adamou: si je fais un parallèle avec les quotas par exemplle
 117 (13:41:25) nacer.saidou-adamou: maintenant, imaginons que enseignant désigne l'ensemble de notre réseau
 118 (13:41:55) nacer.saidou-adamou: il est clair qu'avec ca, si on a une bande passante totale de disons 1.5Mbits/s
 119 (13:42:35) nacer.saidou-adamou: on pourrait avoir au max 1500000/20000 = 75 connexions simultanées max
 120 (13:42:55) nacer.saidou-adamou: ce qui est assez limitatif
 121 (13:43:15) nacer.saidou-adamou: en utilisant une classe 2 pour notre pool
 122 (13:43:31) nacer.saidou-adamou: on pourrait avoir une limite pour le réseau et une limite pour les postes individuellement
 123 (13:43:46) nacer.saidou-adamou: par exemple, si on a 1.5Mbit/s
 124 (13:44:13) nacer.saidou-adamou: on peut limiter le sous réseau enseignants à 500Kbits
 125 (13:44:34) nacer.saidou-adamou: et chaque client à 10% de la bp du sous réseau
 126 (13:44:40) nacer.saidou-adamou: on ferait alors
 127 (13:45:32) nacer.saidou-adamou: delay_parameter  1  600000/600000 60000/60000
 128 (13:46:10) nacer.saidou-adamou: et pour l'ensemble de notre cnf constitué des deux sous réseaux auf et enseignants
 129 (13:46:22) nacer.saidou-adamou: on pourrait utiliser une classe 3
 130 (13:46:54) nacer.saidou-adamou: comme ceci (en supposant qu'on a un acl qui englobe l'ensemble des deux réseaux)
 131 (13:47:19) nacer.saidou-adamou: delay_class 1  3
 132 (13:48:07) nacer.saidou-adamou: delay_parameters  1  150000/150000 600000/600000  60000/60000
 133 (13:48:54) nacer.saidou-adamou: ce qui signifierait d'attribuer sur les 1.5 Mbit/s globalement disponible (le cnf peut effectivement avoir plus)
 134 (13:49:13) nacer.saidou-adamou: 600 k/s à chaque sous réseau (auf et enseignants ici)
 135 (13:49:30) nacer.saidou-adamou: et une limite de 60k/s à chaque client dans ces sous réseau
 136 (13:50:04) nacer.saidou-adamou: voilà à peu près rapidement expliqué cet aspect de squid
 137 (13:50:19) nacer.saidou-adamou: enregistrer et restarter squid
 138 (13:50:26) frumence.boroto: QUESTION: dans le cas où on se retrouve avec plus de 3 sous réseaux comme c'est le cas ici chez moi à Kinshasa, comment je ferai ?
 139 (13:50:52) progfou: est-ce qu'il ne manque pas un 0 dans les 150000/150000 ? je compare ça au 600000/600000 qui est plus gros...
 140 (13:50:54) nacer.saidou-adamou: vous pouvez tester en téléchargeant un gros fichier et à regardant (via iptraf par exemple ou un graph) la limite de bp utilisé
 141 (13:51:15) nacer.saidou-adamou: progfou: oui effectivement
 142 (13:51:23) nacer.saidou-adamou: 1million 500 mille
 143 (13:51:32) nacer.saidou-adamou: bon, je réponds après
 144 (13:51:35) nacer.saidou-adamou: frumence
 145 (13:51:41) nacer.saidou-adamou: on passe d'abord à apt-cacher-ng
 146 (13:52:01) nacer.saidou-adamou: l'installation de apt-cacher-ng est simple
 147 (13:52:13) nacer.saidou-adamou: il n'y a quasiment pas de config à faire
 148 (13:53:11) nacer.saidou-adamou: par défaut il vient avec tout ce qu'il faut pour debian et ubuntu (les backends )
 149 (13:54:20) nacer.saidou-adamou: coté client, normalement il faut modifier le fichier /etc/apt/apt.conf pour faire passer les requetes deb via le serveur
 150 (13:54:46) nacer.saidou-adamou: ou alors modifier des url dasn le sources.list pour l'utiliser
 151 (13:55:15) nacer.saidou-adamou: pour éviter tout ca, on va configurer squid pour que chaque fois qu'un paquet est demandé, squid s'adresse automatiquement à apt-cacher-ng
 152 (13:55:46) nacer.saidou-adamou: mais avant, assurez vous que sur vos clients, dans vos sources.list vous utilisez bien des urls en http
 153 (13:56:01) nacer.saidou-adamou: deb http://<reste de l'url>
 154 (13:56:15) nacer.saidou-adamou: dans le fichier squid.conf faites ceci
 155 (13:56:31) nacer.saidou-adamou: entre la dernière définition d' acl
 156 (13:56:51) nacer.saidou-adamou: et avant la première permission http_access, ajoutez le contenu suivant
 157 (13:57:44) nacer.saidou-adamou: cache_peer localhost parent 3142 7 proxy-only no-query no-netdb-exchange connect-timeout=15
 158 (13:58:30) nacer.saidou-adamou: cette indique à squid d'utiliser un proxy parent qui écoute sur le port 3142 et de ne pas utiliser le protocole icp (proxy-only)
 159 (13:58:39) nacer.saidou-adamou: (plutot no-query)
 160 (13:59:01) nacer.saidou-adamou: avec un timeout de 15s (normalement apt-cacher-ng est sur la meme machine que squid)
 161 (13:59:07) nacer.saidou-adamou: puis la ligne:
 162 (13:59:37) nacer.saidou-adamou: acl  aptget browser -i apt-get  apt-http  apt-cacher  apt-proxy
 163 (14:01:01) nacer.saidou-adamou: tous les requetes issues de apt-cacher, apt-proxy, apt-http ont normalement comme user-agent ces memes valeurs
 164 (14:01:21) nacer.saidou-adamou: et seront considérés comme appartenant à l'acl  aptget
 165 (14:01:32) nacer.saidou-adamou: puis la ligne:
 166 (14:01:57) nacer.saidou-adamou: \say acl  deburl  urlpath_regex  //(Packages|Sources|Release|Translations-.*)\(.(gpg|gz|bz2))?$ /pool/.*/\.deb$ /(Sources|Packages)\.diff/ /dists/[^/]*/[^/]*/(binary-.*|source)/. 
 167 (14:02:37) nacer.saidou-adamou: les requetes vers les miroirs/depots deb vont généralement récupérer des fichiers binaires, sources, translations, gpg, etc
 168 (14:03:08) nacer.saidou-adamou: deburl correspondra donc à ces requetes
 169 (14:03:15) nacer.saidou-adamou: puis la ligne:
 170 (14:03:27) nacer.saidou-adamou: cache_peer_access  localhost allow aptget
 171 (14:03:42) nacer.saidou-adamou: cache_peer_access localhost  allow deburl
 172 (14:03:54) nacer.saidou-adamou: cache_peer_access localhost deny all
 173 (14:04:24) nacer.saidou-adamou: ces lignes autorisent squid à intérroger apt-cacher-ng pour les requetes correspondant à aptget et deburl
 174 (14:04:38) nacer.saidou-adamou: et refuse l'autorisation pour tout autre type de requetes
 175 (14:04:42) nacer.saidou-adamou: voilà
 176 (14:04:45) nacer.saidou-adamou: relancer squid
 177 (14:05:01) nacer.saidou-adamou: puis faites
 178 (14:05:12) nacer.saidou-adamou: tail -f /var/log/apt-cacher-ng/apt-cacher.log
 179 (14:05:22) nacer.saidou-adamou: et sur un poste client, faites un aptitude update
 180 (14:05:28) nacer.saidou-adamou: et vous verrez de l'activité
 181 (14:06:02) nacer.saidou-adamou: voilà, j'ai débordé de 6 minutes

Discussions

   1 (14:06:13) nacer.saidou-adamou: je recois les questions
   2 (14:06:45) nacer.saidou-adamou: frumence, ca dépend comme tu veux gérer ta bp
   3 (14:07:10) nacer.saidou-adamou: si tu veux allouer une bande passante globale pour tous les réseaux pour le trafic passant par squid
   4 (14:07:22) nacer.saidou-adamou: (n'oublie pas que la visio par exemple n'est pas prise en compte)
   5 (14:07:36) nacer.saidou-adamou: tu peux configurer un réseau de classe 3
   6 (14:07:46) nacer.saidou-adamou: avec disons 1Mb/s
   7 (14:07:55) nacer.saidou-adamou: pour l'ensemble
   8 (14:08:04) frumence.boroto: effectivement, d'ailleurs ici chez moi, la visio est même connecté devant le parefeu
   9 (14:08:09) nacer.saidou-adamou: 200K/s par sous réseaux
  10 (14:08:18) nacer.saidou-adamou: et 10K/s par poste (par exemple)
  11 (14:08:30) nacer.saidou-adamou: une autre facon de faire
  12 (14:08:45) nacer.saidou-adamou: c'est d'utiliser une classe 2 pour chaque sous réseau
  13 (14:09:04) nacer.saidou-adamou: mais tu auras autant de pool que tu as de sous réseau à configurer 
  14 (14:09:36) nacer.saidou-adamou: s'il y a d'autres questions je suis preneur
  15 (14:09:41) progfou: R: l'idée c'est que le plus gros du trafic d'une implantation de nos jours, hors P2P, est du web ; donc si on limite le débit du web à un peu moins que le total de la bande passante, cela laisse une marge pour faire passer les paquet VoIP/Visio/CODA en priorité
  16 (14:10:00) frumence.boroto: 
  17 nacer.saidou-adamou: merci, je vais te recontacter si j'ai des soucis a le faire correctement
  18 (14:10:15) willy: REMARQUE: j'alllais justement rappeler qu'on ne parle ici que du traffic sur le port 80 (surtout qu'on utilise squid en mode transparent)
  19 (14:10:18) nacer.saidou-adamou: (ps: frumence tu peux voir les configs que j'ai fait à la maison de savoirs)
  20 (14:10:53) frumence.boroto: ok
  21 (14:10:58) nacer.saidou-adamou: pour la partie apt-cacher-ng
  22 (14:11:38) nacer.saidou-adamou: je trouve ca plus interessant pour les implantations qui n'ont pas d'électricité en permanence comme chez (on télécharge les paquets quand on en a vraiment besoin)
  23 (14:11:57) nacer.saidou-adamou: et surtout ca économise de l'espace disque (c'est vrai que c'est vraiment un problème)
  24 (14:12:21) ***nacer.saidou-adamou est soulagé, la connexion a tenu le coup
  25 (14:13:30) nacer.saidou-adamou: bon, je mettrais mes deux interventions sous forme de slides en ligne sous peu, j'en profiterai pour les enrichir
  26 (14:13:36) progfou: REMARQUE : une piste qui serait intéressante à explorer, pour simplifier la partie cache APT, serait l'utilisation du paquet squid-deb-proxy-client côté client et de squid-deb-proxy (ou une annonce MDNS via avahi) côté serveur ; ces paquets sont disponibles avec Lucid
  27 (14:14:05) progfou: l'idée étant de faire de l'auto-découverte de proxy APT dans le réseau local, via MDNS
  28 (14:14:54) progfou: apparemment rien à configurer non plus côté poste client, juste installer le paquet, qui va ajouter quelques lignes de config dans /etc/apt/apt.conf.d/
  29 (14:15:08) nacer.saidou-adamou: ok
  30 (14:15:27) nacer.saidou-adamou: et on aurait plus besoin de l'intégration squid - apt-cacher-ng c'est ca,
  31 (14:15:29) nacer.saidou-adamou: ?
  32 (14:15:45) progfou: disons que ça deviendrait indépendant
  33 (14:15:49) nacer.saidou-adamou: squid annonce où trouver le cache apt?
  34 (14:15:56) progfou: le client saurait quel proxy joindre pour APT et juste APT
  35 (14:16:28) willy: REMARQUE: un autre usage de squid.. en proxy inverse :) ; chez moi ça me permet de desservir plusieurs sites web qui sont situés sur des adresses locales différentes mais en utilisant en externe , une seule IP
  36 (14:16:58) nacer.saidou-adamou: je vois
  37 (14:17:10) claudine.mosozi: QUESTION : MDNS c'est quoi?
  38 (14:17:12) progfou: pour ça nginx est quand même largement plus léger (mais d'accord il ne fait pas de cache), voir même le proxypass de apache
  39 (14:17:43) nacer.saidou-adamou: moi j'utilise un nom différent pour chaque site (en virtualhost)
  40 (14:17:50) nacer.saidou-adamou: sur la même adresse ip
  41 (14:17:52) progfou: MDNS = DNS-SD = DNS en multicast = de la gestion DNS dynamique, sans configuration manuelle
  42 (14:17:57) nacer.saidou-adamou: et ca marche aussi
  43 (14:18:07) claudine.mosozi: ok
  44 (14:18:28) progfou: c'est avahi qui gère ce service sur Ubuntu
  45 (14:18:30) nacer.saidou-adamou: toto.td.auf.org et tata.td.auf.org servis par la meme ip, mais ouvre deux sites différents
  46 (14:18:36) progfou: voir ma page avahi sur wikiteki
  47 (14:18:39) willy: nacer.saidou-adamou: ça c'est lorsque tu utilises un seul serveur web ;)
  48 (14:18:50) claudine.mosozi: ok
  49 (14:19:09) nacer.saidou-adamou: heu tu en utilises combien?
  50 (14:19:13) progfou: oh ? il y a encore des gens qui mettent tout dans un seul serveur web ???
  51 (14:19:19) progfou: moi : 1 par application web
  52 (14:19:28) progfou: indispensable niveau sécurité
  53 (14:19:42) progfou: bien sûr c'est une seule machine, les serveurs sont des CT OpenVZ
  54 (14:19:54) nacer.saidou-adamou: ben moi j'ai le site du cnf + 1 ou 2 site de micro projets
  55 (14:20:01) claudine.mosozi: est*il possible d'utiliser squid et de limiter par exemple la taille des téléchargements sur une seule partie sans avoir recours à squidguard?
  56 (14:20:01) nacer.saidou-adamou: pourquoi mettre en place une telle infras?
  57 (14:20:11) nacer.saidou-adamou: c'est aussi plus de temps de maintenance
  58 (14:20:11) claudine.mosozi: ou dansguardian?
  59 (14:20:39) progfou: avec OpenVZ ça ne fait pas vraiment plus de maintenance, non : j'ai des scripts pour les mises à jour et autre
  60 (14:21:06) progfou: pourquoi ? c'est simple : quand tu mets tout dans un seul serveur, il suffit d'un trou dans un seul de tes sites pour que tous les sites soient touchés
  61 (14:21:16) progfou: tandis quand séparant on limite les intrusions
  62 (14:21:20) nacer.saidou-adamou: et les services internes (genre django) dans un autre serveur web qui n'est pas accessible de l'extérieur
  63 (14:21:40) progfou: c'est d'autant plus important avec le web, et, hélas, avec les saletés de sites bâclés en PHP...
  64 (14:22:07) progfou: pour du service interne je ne virtualise pas, là je parle des sites à risque = en direct sur Internet
  65 (14:22:23) progfou: et puis pour Django il y a si peu de risque que c'est pas la peine non plus
  66 (14:23:10) progfou: par contre les moodle, spip, pmb, lodel, egroupware, web2project, ... et autres saletés en PHP avec des annonces de sécurité fréquentes... là c'est important de les isoler !
  67 (14:23:44) progfou: en plus, les isoler aide aussi pour les migrations
  68 (14:23:51) claudine.mosozi: 
  69 /me question pendante
  70 (14:23:55) progfou: on peut migrer chaque service un par un indépendamment
  71 (14:24:14) progfou: vas-y claudine.mosozi 
  72 (14:24:22) claudine.mosozi: est*il possible d'utiliser squid et de limiter par exemple la taille des téléchargements sur une seule partie sans avoir recours à squidguard?
  73 (14:24:29) claudine.mosozi: ou dansguardian?
  74 (14:25:58) progfou: oui, avec les ACL
  75 (14:26:20) progfou: on peut limiter sur beaucoup de critères de la requête
  76 (14:26:33) progfou: la liste est indiquée dans le squid.conf fournit par défaut
  77 (14:27:57) progfou: mhhh... par contre je ne retrouve pas le critère de taille...
  78 (14:28:06) progfou: je suis presque certain que je l'avais déjà vu pourtant
  79 (14:28:41) claudine.mosozi: ce fichier est trop volumineux, c'est pas facile de se retrouver
  80 (14:29:14) claudine.mosozi: j'aimerais le faire pour une seule partie de mon réseau
  81 (14:29:15) willy: claudine.mosozi: si tu manipules bien vim, c'est un jeu d'enfant ;)
  82 (14:29:49) progfou: reply_body_max_size SIZE UNITS [acl ...]
  83 (14:30:08) progfou: ça limite la taille du corps de la réponse à un maximum donné
  84 (14:30:29) progfou: et le paramètre d'acl permet de choisir sur quelle catégorie on l'applique
  85 (14:30:53) progfou: par exemple un reply_body_max_size 1M etudiants
  86 (14:31:06) progfou: mais bon, limiter la taille est trop arbitraire...
  87 (14:31:24) progfou: il va y avoir beaucoup de cas ou le document trop gros sera tout à fait « légal »
  88 (14:31:37) claudine.mosozi: oui
  89 (14:31:39) progfou: il vaut mieux faire du ralentissement de débit à partir d'une certaine taille
  90 (14:31:45) progfou: les delay_pool sont fait pour ça
  91 (14:32:01) progfou: dire que avant 1 Mo on donne le plein débit, et si ça dépasse on passe en demie vitesse
  92 (14:32:37) claudine.mosozi: mais pour le public, j'avais préférer de limiter les download de film par exemple
  93 (14:32:39) progfou: je ne sais plus comment on configure ça en détail... mais je sais que les delay_pool savent faire ça ! et on peut trouver des exemples sur Internet
  94 (14:32:57) progfou: pour les films il y a un autre filtrage plus intéressant
  95 (14:33:03) progfou: => filtrer sur le type MIME
  96 (14:33:46) progfou: faire une acl contenu_video rep_mime_type video/.*
  97 (14:33:58) progfou: et mettre ensuite un http_reply_access deny contenu_video
  98 (14:34:28) progfou: mais là encore... filtrer l'Internet de façon arbitraire c'est mal...
  99 (14:34:38) progfou: ils vont te trouver des vidéos légitimes
 100 (14:34:58) progfou: il y a de plus en plus de screencasts par exemple, pour expliquer comment faire quelque chose, en vidéo
 101 (14:34:59) claudine.mosozi: oui
 102 (14:35:40) progfou: http://screencasts.ubuntu.com/
 103 (14:35:54) progfou: et en plus c'est super intéressant ces vidéos :)
 104 (14:36:14) progfou: et on peut même trouver des sous-titres en plusieurs langues !
 105 (14:36:25) claudine.mosozi: oui, je vois
 106 (14:38:11) claudine.mosozi: mais quel conseil pour bloquer certains sites
 107 (14:38:43) progfou: toujours les ACL
 108 (14:39:26) claudine.mosozi: permettent-elles de préciser les mots génériques comme dans squidguard?
 109 (14:39:40) progfou: absolument
 110 (14:40:16) willy: acl aclname srcdom_regex [-i] xxx  ;  url_regex [-i] ^http://  ... sont tes amis :)
 111 (14:40:23) progfou: chez moi j'ai ça :
 112 acl GOOD_IP dst "/etc/squid/good_ip"
 113 acl GOOD_URL url_regex -i "/etc/squid/good_url"
 114 acl BAD_IP dst "/etc/squid/bad_ip"
 115 acl BAD_URL url_regex -i "/etc/squid/bad_url"
 116 (14:40:51) progfou: cnf:~# head /etc/squid/bad_url 
 117 # Les adresses de sites gay sont difficiles à filtrer
 118 # vu que 'gay' est un mot valide en vietnamien !
 119 (beaver|lesbian|lesbo|adultland|babes|teen|nude)
 120 (xxx|intergal|oldergals|smut|porn|sex|erotic)
 121 (pussy|intertainextreme|pussies|slut|hotqueens)
 122 (whore|tryusfree|cun-tv)
 123 heartbreaker\.com
 124 adult1000\.com
 125 ...
 126 (14:40:53) claudine.mosozi: ok, merci
 127 (14:41:16) progfou: cnf:~# head /etc/squid/good_url 
 128 .*hotmail\.msn\.com/cgi-bin/dasp/hackerr\.asp
 129 .*bytesex\.org
 130 .*danish-.*\.dk
 131 .*filezilla.*
 132 ftp\.nerim\.net
 133 .*linux.*
 134 .*debian.*
 135 .*ubuntu.*
 136 pupweb\.org
 137 (14:41:40) progfou: on voit encore une fois le danger de filtrer arbitrairement...
 138 (14:41:52) progfou: par exemple on filtre le mot "sex" pour éviter la pornographie
 139 (14:42:33) progfou: mais les étudiants en médecine ont besoin de consulter des sites qui parlent des MST (maladies sexuellement transmissibles)
 140 (14:42:38) progfou: et ils subissent le filtrage... donc on doit gérer beaucoup d'exceptions ensuite !
 141 (14:43:02) claudine.mosozi: ok
 142 (14:44:03) progfou: même en informatique le mot bytesex désigne les catégorie de d'arrangement des octets dans la mémoire (little endian, big endian, et autres joyeusetés...)
 143 (14:45:00) progfou: mais sinon, attention aussi au fait que tout cela c'est vraiment de la bidouille, avec une gestion très manuelle derrière...
 144 (14:45:24) claudine.mosozi: ok, je comprends mais des fois ça embête
 145 (14:45:42) claudine.mosozi: surtout si on a une petite bande pasasnte
 146 (14:46:12) progfou: alors que les outils comme squidguard ou dansgardian  sont des outils bien pensés et il me semble qu'ils sont capable de recevoir des mises à jour automatiques des listes de filtrages
 147 (14:46:23) claudine.mosozi: oui
 148 (14:46:30) progfou: oui, tu as tout à fait raison de te poser ces questions
 149 (14:46:47) progfou: et sur le problème de la bande passante aussi, c'est très sérieux et pas simple à gérer
 150 (14:46:50) willy: une chose que tu pourrais aussi faire c'est la sensibilisation des utilisateurs sur le bon usage du réseau; certes tout le monde ne comprendra pas mais c'est nécessaire je trouve
 151 (14:47:33) claudine.mosozi: c'est une idée mais difficile à faire comprendre
 152 (14:47:53) progfou: mais selon moi, la meilleure stratégie c'est 1/ sensibiliser les usagers (merci Willy) et 2/ ne pas filtrer mais ralentir ce qui est indésirable en lui accordant la priorité la plus basse (=> c'est un projet d'étude et déploiement de QoS à lancer globalement à l'AuF)
 153 (14:49:08) claudine.mosozi: ok, je  comprend
 154 (14:49:12) progfou: tiens, un post intéressant ici :
 155 http://www.mail-archive.com/squid-users@squid-cache.org/msg52281.html
 156 (14:49:27) patrick.mwamba: Je pense aussi que il faut de fois vérifier à la fin de chaque journée les machines dont vous avez douté les utilisateurs si réellement vous aviez raison de le faire des reproches pour ne plus aller sur des sites porno. 
 157 (14:49:31) progfou: qui répond avec des exemples à tes questions plus haut
 158 (14:50:16) progfou: les questions de la surveillance et de la vérification posent un véritable problème légal...
 159 (14:50:28) progfou: c'est à la limite de la violation de la vie privée
 160 (14:50:33) willy: +1
 161 (14:50:45) progfou: avant d'avoir le droit de faire cela, il faut annoncer clairement aux utilisateurs qu'ils sont surveillés
 162 (14:50:56) progfou: et rien qu'en annonçant ça, tout de suite tout ira mieux ! ;-)
 163 (14:51:04) progfou: car ils auront peur de ce qu'on verra
 164 (14:51:12) progfou: donc ils n'iront pas sur ces sites
 165 (14:52:00) progfou: légalement, il faudrait pour qu'on ait le droit de surveiller que les utilisateurs aient signée une charte d'usage des ressources informatiques
 166 (14:52:26) progfou: dans cette charte il serait écrit très clairement ce qui est autorisé et ce qui est interdit et que tout est surveillé
 167 (14:52:46) progfou: à partir de là, avec un document signé par l'utilisateur avec une mention « lu et approuvé », on est protégé
 168 (14:53:06) progfou: sans ça, l'utilisateur peut nous poursuivre en justice pour abus de pouvoir et violation de vie privée
 169 (14:53:17) progfou: ça c'est l'aspect légal
 170 (14:53:27) progfou: à côté de ça il y a aussi l'aspect éthique
 171 (14:53:33) progfou: est-ce bien normal de surveiller les gens ?
 172 (14:53:35) willy: je ne sais pas si c'est le cas chez les autres mais chez nous, il y a une clause dans la charte d'utilisation des ressources informatiques où on demande aux abonnés d'utiliser le réseau "dans le cadre exclusif de l'activité professionelle des utilisateurs: activités de recherche, d'enseignement, de transfert de technologies,..."
 173 (14:53:55) progfou: moi je n'aimerais pas qu'on surveille tout ce que je fais... et on ne devrait pas avoir besoin de le faire !
 174 (14:54:11) patrick.mwamba: puisque en bloquant certaines choses il des risques puisque je me souviens un fois fois que j'avais fais ça avec un logiciel Windows il y a un utilisateur qui avait un compte où il y avait le mot gay. Donc à chaque fois que lui devrait aller dans sa boite il fallait que je désactive le logiciel sur la machine qu'il devait utilisé.
 175 (14:54:33) progfou: c'est pour ça que je pense que la stratégie d'ouverture avec ralentissement des accès pour les trucs indésirables est préférable
 176 (14:55:35) progfou: willy, cette clause seule ne suffit pas, il faut aussi des clauses qui expliquent qu'on surveille et ce qui se passe lors d'une faute constatée
 177 (14:57:00) progfou: patrick.mwamba, oui, c'est le danger du filtrage de mots arbitraires, surtout des mots aussi courts => ils peuvent se retrouver dans des mots plus longs (en vietnamien "gay" est dans "ngay" qui veut dire "jour, journée", donc c'est très commun comme mot)
 178 (14:57:25) patrick.mwamba: progfou: tu viens de me donner une idée il faudrait que je jète un coup d'œil sur notre charte. Puisque c'est le Responsable qu'il avait écrit. Comme ça j'y ajouterai aussi quelque chose du point de vue technique. Bien sûr avec son accord
 179 (14:58:05) progfou: oui, mais attention : modifier la charte veut dire qu'il faut refaire signer la nouvelle version par tous les usagers...
 180 (14:58:22) progfou: c'est le genre de document qu'il vaut mieux bien penser dès le départ... ;-)
 181 (14:59:18) progfou: Thomas Noël avait travaillé sur ce type de document, cf http://wiki.auf.org/wikiteki/Projet/CharteTechnique/RessourcesInformatiques
 182 (15:00:09) progfou: une version de ce document a été revue ensuite par des avocats, puis mise en place à Paris, et il me semble à Montréal aussi
 183 (15:00:32) progfou: si ça vous intéresse vous pouvez demander à l'ARI si un modèle officiel est disponible
 184 (15:01:26) patrick.mwamba: je le ferai d'autant plus ici chez nous nous sommes encore au début
 185 (15:01:40) progfou: voir le point D.4 pour les histoires de surveillance
 186 (15:01:44) claudine.mosozi: moi, ça m'intéresse
 187 (15:02:03) claudine.mosozi: je ne sais pas si un tel document existe ici
 188 (15:02:16) claudine.mosozi: je me suis débrouillé avec juste de petis affichages
 189 (15:02:32) claudine.mosozi: dans les salles publics
 190 (15:03:23) progfou: après, la loi c'est une chose, mais ça ne marche pas toujours, ça dépend des pays... il y a des pays où citer la loi fait sourire les gens, donc bon... ;-) dans ce cas il faut s'adapter et trouver la méthode adéquate en fonction de la culture locale
 191 (15:05:05) claudine.mosozi: ça c'est vrai
 192 (15:05:53) claudine.mosozi: merci à tous les intervenants pour cette semaine tech enrichissante, 
 193 (15:06:03) claudine.mosozi: bon week-*end à tous
 194 (15:06:10) progfou: bonne fin de semaine à toi :)
 195 (15:06:38) willy: on peut aussi clôturer cet atelier une fois ? :)
 196 (15:06:47) progfou: ah... on a oublié... :-D
 197 (15:06:55) willy: ok...
 198 (15:07:00) progfou: on a largement débordé là ;-)
 199 (15:07:07) willy: --------------------- FIN ATELIER : squid -----------------
 200 (15:07:12) progfou: faudra peut-être pas tout coller sur le wiki ;)
 201 (15:07:23) willy: (ok, c'est noté)
 202 (15:07:46) willy: ___FIN DE LA SEMAINE TECH__ !! Merci à tous :)
 203 (15:07:54) progfou: ou au moins séparer la discussion qui concernent ton atelier de ce qui a suivi
 204 (15:14:21) progfou: bon... on détruit ce salon maintenant ? ;-)
 205 (15:17:51) willy: oui

Projet/SemaineTech/2011/Ateliers/SquidEtAptCacherNG/Conversation (dernière édition le 2012-04-02 15:13:23 par VictorBruneau)