<?xml version="1.0" encoding="utf8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ref="http://purl.org/rss/1.0/modules/reference/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://purl.org/rss/1.0/">
	<channel rdf:about="http://www.kik-it.com/rss.rdf">
		<title>Kik it Productions - Computer related stuff ...</title>
		<link>http://www.kik-it.com/index.php</link>
		<description><![CDATA[]]></description>
		<items>
			<rdf:Seq>
				<rdf:li resource="http://www.kik-it.com/index.php?entry=entry080825-092307" />
				<rdf:li resource="http://www.kik-it.com/index.php?entry=entry080708-183800" />
				<rdf:li resource="http://www.kik-it.com/index.php?entry=entry080707-084103" />
				<rdf:li resource="http://www.kik-it.com/index.php?entry=entry080704-084523" />
				<rdf:li resource="http://www.kik-it.com/index.php?entry=entry080331-155948" />
				<rdf:li resource="http://www.kik-it.com/index.php?entry=entry071107-222718" />
				<rdf:li resource="http://www.kik-it.com/index.php?entry=entry070920-105928" />
				<rdf:li resource="http://www.kik-it.com/index.php?entry=entry070815-094426" />
				<rdf:li resource="http://www.kik-it.com/index.php?entry=entry070310-024206" />
				<rdf:li resource="http://www.kik-it.com/index.php?entry=entry070309-073501" />
			</rdf:Seq>
		</items>
	</channel>
	<item rdf:about="http://www.kik-it.com/index.php?entry=entry080825-092307">
		<title>Déterminer la taille des sous dossiers (OS GNU/Linux)</title>
		<link>http://www.kik-it.com/index.php?entry=entry080825-092307</link>
		<description><![CDATA[Créons une nouvelle commande shell capable de nous informer sur la taille des sous dossiers du dossier courant ou du dossier indiqué en paramètre.<br />Dans un but pratique et plus spécifique que les commandes df et du on ne souhaite pas fournir d&#039;option de ligne de commande, on souhaite simplement obtenir en sortie une liste des sous dossiers présents et leur taille.<br /><br />La commande qui va nous faire ca est une boucle :<br /><br /><code>for el in `ls -1p $1|grep /`; do du -s --block-size=M $1$el; done</code><br /><br />En français : Pour chaque dossier contenu dans le dossier $1 (ou courant si absent), affiche la taille en Mo de cet élément.<br /><br />Pour que cela soit simple et rapide à utiliser on en fera un script :<br /><br /><code>sudo nano /usr/bin/fu</code><br /><br />Ce script doit être exécutable :<br /><code><br />sudo chmod +x /usr/bin/fu</code><br /><br />Exemples :<br /><br /><code>fred@homer /home % sudo fu /usr/                                                                                                                        :(<br />111M	/usr/bin/<br />1M	    /usr/games/<br />7M	    /usr/include/<br />153M	/usr/lib/<br />1M	    /usr/local/<br />27M	    /usr/sbin/<br />197M	/usr/share/<br />1M	    /usr/src/<br />1M	    /usr/X11R6/<br /><br />fred@homer /home % fu           <br />137M	fred/<br />7944M	tftpboot/</code>]]></description>
	</item>
	<item rdf:about="http://www.kik-it.com/index.php?entry=entry080708-183800">
		<title>Quels paquets installez vous juste après une install toute fraîche ?</title>
		<link>http://www.kik-it.com/index.php?entry=entry080708-183800</link>
		<description><![CDATA[Juste après :<br /><br />sudo apt-get install nmap htop iftop zsh dsniff sysvconfig screen tcpick smartmontools<br /><br />Pas longtemps après :<br /><br />sudo apt-get install streamripper powertop recode<br /><br />]]></description>
	</item>
	<item rdf:about="http://www.kik-it.com/index.php?entry=entry080707-084103">
		<title>Quick URL sniffer</title>
		<link>http://www.kik-it.com/index.php?entry=entry080707-084103</link>
		<description><![CDATA[urlsnarf est un utilitaire du paquet debian/ubuntu dsniff, c&#039;est un sniffer de requetes web très simple et pratique, une petite commande :<br /><pre><br />urlsnarf -i eth0</pre><br /><br />et il écoute sur eth0, décortique les requetes web et affiche : l&#039;IP du client, le mode de la requete GET ou POST, l&#039;url demandée, l&#039;url du referer et le navigateur utilisé.<br /><br />C&#039;est bien mais avec un peu de couleur c&#039;est mieux :<br /><br /><pre>sudo urlsnarf -n -i eth0 | grep --color -E &quot;^([0-9]{1,3}\.){3}[0-9]{1,3} |(( ftp| https?)://\S+)&quot;</pre><br /><br />ici on utilise la capacité de grep à colorer les patterns qui matchent et on lui demande de trouver une IP en début de ligne et une requete http, https ou ftp, et quand c&#039;est salient c&#039;est évident ...]]></description>
	</item>
	<item rdf:about="http://www.kik-it.com/index.php?entry=entry080704-084523">
		<title>Port mirroring sur Cisco 3750 via gtkTerm et commandes IOS</title>
		<link>http://www.kik-it.com/index.php?entry=entry080704-084523</link>
		<description><![CDATA[La passerelle de mon réseau n&#039;a pas d&#039;interface graphique, pour sniffer le trafic en direction de ma passerelle web (port 1 sur un cisco 3750) je souhaite mirrorer le trafic réseau du port 1 vers le port de mon sniffer graphique (port 8) pour utiliser etherape principalement.<br /><br />Démarche : se connecter sur le cisco via le port console grâce au logiciel gtkTerm (que je préfère à minicom) et afficher les &quot;monitor&quot; ...<br /><br /><pre><br />catalystA con0 is now available<br /><br /><br />Press RETURN to get started.<br /><br /><br />catalystA&gt;sho<br /><br />catalystA&gt;show moni<br /><br />catalystA&gt;show monitor <br /><br /> No SPAN configuration is present in the system. <br /><br /><br /><br />catalystA&gt;<br /></pre><br /><br />Aucun monitor n&#039;est actif, définissons en un pour mirrorer le port 8 sur le port 1 :<br /><br /><pre><br /><br />catalystA&gt;enable<br /><br />Password: <br /><br />catalystA#conf<br /><br />catalystA#configure t<br /><br />catalystA#configure terminal <br /><br />Enter configuration commands, one per line.  End with CNTL/Z.<br /><br />catalystA(config)#moni<br /><br />catalystA(config)#monitor sess<br /><br />catalystA(config)#monitor session 1 sou<br /><br />catalystA(config)#monitor session 1 source gi<br /><br />catalystA(config)#monitor session 1 source gig ?<br /><br />  interface  SPAN source interface<br /><br />  remote     SPAN source Remote<br /><br />  vlan       SPAN source VLAN<br /><br /><br /><br />catalystA(config)#monitor session 1 source in<br /><br />catalystA(config)#monitor session 1 source interface gi<br /><br />catalystA(config)#monitor session 1 source interface gigabitEthernet 1/0/1<br /><br />catalystA(config)#monito<br /><br />catalystA(config)#monitor sessi<br /><br />catalystA(config)#monitor session 1 des<br /><br />catalystA(config)#monitor session 1 destination in<br /><br />catalystA(config)#monitor session 1 destination interface gi<br /><br />catalystA(config)#monitor session 1 destination interface gigabitEthernet 1/0/8<br /><br />catalystA(config)#end<br /><br />catalystA#<br /><br />catalystA#sho<br /><br />catalystA#show mon<br /><br />catalystA#show monitor <br /><br />Session 1<br /><br />---------<br /><br />Type              : Local Session<br /><br />Source Ports      :<br /><br />    Both          : Gi1/0/1<br /><br /><br />Destination Ports : Gi1/0/8<br /><br />    Encapsulation : Native<br /><br />          Ingress : Disabled<br /><br /><br /><br /><br /><br />catalystA#<br /><br /></pre><br /><br />résumé de la démarche :<br />après authentification &quot;enable&quot;, on passe en mode configuration &quot;configure terminal&quot; puis on tape les commandes qui définissent le mirroring (les lignes coupées trahissent l&#039;utilisation de la touche Tab pour profiter de l&#039;auto-complétion)<br /><br />Pour stopper le mirroring :<br /><br /><pre><br />catalystA(config)#no monitor session 1<br />catalystA(config)#end<br /></pre><br />]]></description>
	</item>
	<item rdf:about="http://www.kik-it.com/index.php?entry=entry080331-155948">
		<title>Hardy Heron</title>
		<link>http://www.kik-it.com/index.php?entry=entry080331-155948</link>
		<description><![CDATA[<p align="center">
<script type="text/javascript" src="http://www.ubuntu.com/files/countdown/display.js"></script>
</p>]]></description>
	</item>
	<item rdf:about="http://www.kik-it.com/index.php?entry=entry071107-222718">
		<title>Quad Screen Sous Ubuntu</title>
		<link>http://www.kik-it.com/index.php?entry=entry071107-222718</link>
		<description><![CDATA[Après quelques jours de recherche, (heureusement pas à temps plein !) mon quad screen fonctionne enfin sous Ubuntu. C&#039;était la dernière raison pour laquelle je restais sous Windows XP... Maintenant je suis 100% libéré, youpi ...<br /><br />Voici ma configuration, 2 (vieilles) cartes ATI Radeon dual Head, une AGP et l&#039;autre PCI :<br /><code>fred@pod ~ % lspci|grep VGA                                                                                                            <br />01:00.0 VGA compatible controller: ATI Technologies Inc Radeon RV100 QY [Radeon 7000/VE]<br />02:09.0 VGA compatible controller: ATI Technologies Inc Radeon RV200 QW [Radeon 7500]</code><br /><br />J&#039;utilise 3 écrans 19 pouces en 1280x1024 pour &quot;travailler&quot;, 2 LCD et un CRT et le quatrième écran est un video projecteur HD Ready 1280*768.<br /><br />Dans le /etc/X11/xorg.conf se débrouiller pour avoir au moins un écran fonctionnel sur chaque carte graphique, (Ce que l&#039;install de base du système devrait réussir à faire...) on se retrouve donc avec les sorties de chaque carte en mode clone (ou la deuxième head désactivée ...)<br /><br />Si un écran VGA est connecté sur une prise DVI avec un adaptateur VGA/DVI cela peut empecher xrandr de détecter l&#039;écran et les modes supportés ... Dans la section screen du xorg.conf il faut ajouter :<br /><code>Option &quot;ConnectorTable&quot; &quot;3,0,0,2,4,1,0,3&quot;</code><br /><br />On interroge nos écrans avec xrandr :<br /><code>fred@pod ~ % xrandr -q<br />Screen 0: minimum 320 x 200, current 2560 x 1024, maximum 2560 x 1024<br />VGA-0 connected 1280x1024+0+0 (normal left inverted right) 330mm x 320mm<br />   1280x1024@60   60.0* <br />   1280x1024      60.0  <br />   1280x960@60    60.0  <br />   1024x768@60    60.0  <br />   1024x768       60.0  <br />   800x600@60     60.3  <br />   800x600        60.3     56.2  <br />   800x600@56     56.2  <br />   640x480@60     60.0  <br />   640x480        60.0  <br />DVI-0 connected 1280x1024+1280+0 (normal left inverted right) 330mm x 320mm<br />   1280x1024      74.9*    75.0     60.0  <br />   1024x768       84.9     75.1     70.1     60.0  <br />   800x600        84.9     72.2     75.0     60.3     56.2  <br />   640x480        84.6     75.0     72.8     60.0  <br />   720x400        70.1  </code><br /><br />Cette sortie de commande xrandr -q est valable uniquement pour la carte qui gère l&#039;écran sur lequel on a lancé la commande ... la preuve, la même commande lancée sur l&#039;autre écran (autre carte) :<br /><code>fred@pod ~ % xrandr -q<br />Screen 1: minimum 320 x 200, current 2560 x 1024, maximum 2560 x 1024<br />VGA-0 connected 1280x768+1280+0 (normal left inverted right) 0mm x 0mm<br />   1280x800       60.0  <br />   1280x768       60.0* <br />   1024x768       60.0  <br />   800x600        60.3  <br />   640x480        59.9  <br />DVI-0 connected 1280x1024+0+0 (normal left inverted right) 355mm x 265mm<br />   1280x1024      84.8*    75.0  <br />   1152x870       74.9  <br />   1024x768       84.9     75.1     70.1  <br />   832x624        74.6  <br />   800x600        84.9     75.0  <br />   640x480        84.6     75.0     60.0  <br />S-video disconnected (normal left inverted right)</code><br /><br />Ca c&#039;est l&#039;astuce qui permet de pas perdre 3 jours ... Car en plus, les  deux écrans portent les mêmes noms sur les deux cartes, mais on se rend compte que les modes sont bien différents ...<br /><br />Dans la section &quot;device&quot; de chaque carte :<br /><code>	Driver		&quot;radeon&quot;</code><br /><br />Dans chaque section Screen définir un écran virtuel capable d&#039;accueillir la somme des deux écrans en résolution :<br /><code>	SubSection &quot;Display&quot;<br />		Depth	16<br />		Virtual 2560 1024<br />	EndSubSection</code><br /><br />Ensuite sur le premier écran :<br /><code>xrandr --output &quot;VGA-0&quot; --mode 1280x1024<br />xrandr --output &quot;DVI-0&quot; --mode 1280x1024 --right-of VGA-0</code><br /><br />Puis sur le deuxième écran :<br /><code>xrandr --output &quot;VGA-0&quot; --mode 1280x768                  <br />xrandr --output &quot;DVI-0&quot; --mode 1280x1024 --left-of VGA-0</code><br /><br /><i>Veiller à bien lancer les commandes sur l&#039;écran géré par la carte à affecter</i><br /><br /><br />Quelques détails à régler :<br />On peut lancer un script contenant les commandes xrandr à lancer au démarrage avec le menu Système/Préférences/Sessions, mais seulement pour l&#039;écran par défaut car pour le deuxième il faudrait lancer le script depuis l&#039;écran concerné ... si vous avez une idée dites moi :)<br />On ne peut pas faire passer une fenetre d&#039;une carte à l&#039;autre, ca doit etre possible de ne faire qu&#039;un seul bureau des quatre écrans... dites moi comment :)<br />]]></description>
	</item>
	<item rdf:about="http://www.kik-it.com/index.php?entry=entry070920-105928">
		<title>Pong is back</title>
		<link>http://www.kik-it.com/index.php?entry=entry070920-105928</link>
		<description><![CDATA[Il y a bien longtemps, j&#039;ai développé un petit outil &quot;Pong&quot; pour pinguer des centaines de machines rapidement avec une syntaxe courte...<br />J&#039;ai recodé completement cet utilitaire en python, Pong est donc maintenant multiplateforme (potentiellement, pas testé sous Windows) et multithreads :)<br /><br />Comment ca marche ? Basiquement, comme ping :<br /><code>pong 172.16.0.1</code><br /><br />Plus spécifiquement :<br /><code>pong 172.16.50,52,54,60.1-25</code><br />cette commande ping 100 machines<br /><br />Ca donne quoi sur une console ?<br /><pre><br />mymachine% pong 172.16.52.1-10<br />IP              MAC                Status  Times (ms)<br />172.16.52.1     0F:14:2F:3F:37:F0  Up      0.247 1.988<br />172.16.52.2                        Down<br />172.16.52.3                        Down<br />172.16.52.4                        Down<br />172.16.52.5     00:1F:22:FE:AA:FA  Up      0.263 0.868<br />172.16.52.6     00:14:2F:3F:46:F9  Up      0.220 0.730<br />172.16.52.7     00:1F:22:3F:46:F9  Up      0.226 4.058<br />172.16.52.8     00:14:2F:3F:46:7F  Up      0.238 3.742<br />172.16.52.9     00:1F:22:3F:68:FF  Up      0.256 2.980<br />172.16.52.10    00:1F:2F:3F:45:5F  Up      0.250 1.333<br /><br />Pong Report :       10 IPs Ponged in : 0h 0m 2s 0909ms<br />                     7 Hosts Up<br />                     3 Hosts Down<br />                     0 Hosts Weird<br /><br /></pre><br /><br />Pong V3.00 est un soft sous licence GPLv3<br /><br />Voir section <a href="http://www.kik-it.com/downloads/PYTHON_STUFF/" target="_blank" >downloads</a> un paquet deb pour debian/ubuntu (contenu pong et page de man) et la source python]]></description>
	</item>
	<item rdf:about="http://www.kik-it.com/index.php?entry=entry070815-094426">
		<title>Memo installation webcam GSPCA</title>
		<link>http://www.kik-it.com/index.php?entry=entry070815-094426</link>
		<description><![CDATA[sudo aptitude install module-assistant gspca-source camstream<br />sudo m-a prepare<br />sudo m-a a-i gspca<br />sudo modprobe gspca<br /><br />camstream]]></description>
	</item>
	<item rdf:about="http://www.kik-it.com/index.php?entry=entry070310-024206">
		<title>Passerelle Filtrante DansGuardian/Squid (proxy cache transparent)</title>
		<link>http://www.kik-it.com/index.php?entry=entry070310-024206</link>
		<description><![CDATA[
<H1><FONT SIZE=4>Objectif</FONT></H1>
<P>	Installer DansGuardian et Squid sur un routeur linux
(debian/ubuntu) pour filtrer l’accès au web.</P>

<H2><FONT SIZE=4>Pourquoi DansGuardian</FONT>
<FONT SIZE=3>(et pas SquidGuard )</FONT><FONT SIZE=4>
?</FONT></H2>
<P>	SquidGuard utilise une liste noire de sites interdits qu'il faut
tenir à jour. DansGuardian peut lui aussi utiliser des listes
noires (sites, mots, extensions ...), mais plus futé, il
analyse le contenu des pages et détermine si elles doivent

être bloquées en fonction de leur niveau de
« naughtiness ». 
</P>
<H2><FONT SIZE=4>Installation de Squid</FONT></H2>
<P>Pour fonctionner, DansGuardian a besoin d'un serveur proxy. 
</P>
<P><TT># aptitude install squid</TT></P>
<H2><FONT SIZE=4>Configuration de Squid</FONT></H2>
<P><TT><FONT FACE="Times New Roman, serif">	Le fichier de
configuration de Squid est énorme mais il s'agit surtout de
commentaires, il y a très peu de choses à modifier.</FONT></TT></P>

<P><FONT FACE="Courier New, monospace"><TT><FONT FACE="Courier New, monospace">#
nano /etc/squid/squid.conf</FONT></TT></FONT></P>
<P>	Rechercher la partie concernant la déclaration des acl
(rechercher « <STRONG>acl all </STRONG> ») ,
ajouter vos subnets réseau :</P>
<P><TT>acl ourLANs src 172.16.0.0/16 172.20.0.0/16</TT></P>
<P><TT><FONT FACE="Times New Roman, serif">	Plus bas, avant la ligne
« http_access deny all » ajoutez :</FONT></TT></P>

<P><TT><FONT FACE="Times New Roman, serif"># INSERT YOUR OWN RULE(S)
HERE TO ALLOW ACCESS FROM YOUR CLIENTS</FONT></TT></P>
<P><TT>http_access allow ourLANs</TT></P>
<P><TT>	Re</TT>démarrer le Squid pour prendre en compte les
modifications :</P>
<P><TT># /etc/init.d/squid restart</TT></P>
<H2>Test de Squid</H2>
<P>Pour tester squid, il suffit de configurer un navigateur web pour
qu’il l’utilise. Par exemple, pour Firefox, il faut
faire : <BR><IMG SRC="http://www.coagul.org/puce.gif" NAME="Image3" ALT="-" ALIGN=BOTTOM WIDTH=8 HEIGHT=11 BORDER=0>  Menu

« Éditions / Préférences »
onglet « Avancé », bouton
« Paramètres ». <BR><IMG SRC="http://www.coagul.org/puce.gif" NAME="Image4" ALT="-" ALIGN=BOTTOM WIDTH=8 HEIGHT=11 BORDER=0>  Mettre
« <STRONG> AdresseIPPasserelle </STRONG> » dans
le champ « Proxy HTTP » <BR><IMG SRC="http://www.coagul.org/puce.gif" NAME="Image5" ALT="-" ALIGN=BOTTOM WIDTH=8 HEIGHT=11 BORDER=0>  Mettre

« <STRONG> 3128 </STRONG> » dans le champ
« Port » <BR><IMG SRC="http://www.coagul.org/puce.gif" NAME="Image6" ALT="-" ALIGN=BOTTOM WIDTH=8 HEIGHT=11 BORDER=0>  Cocher
« Utiliser ce serveur proxy pour tous les protocoles »</P>
<P>Si après ce réglage, l’accès web
fonctionne toujours c’est que le proxy est opérationnel.</P>

<P>Et normalement en arrêtant le proxy, cela doit bloquer
l’accès web :</P>
<P><TT># /etc/init.d/squid stop</TT></P>
<P>Il faut le 		démarrer pour refaire fonctionner l’accès
au web :</P>
<P><TT># /etc/init.d/squid start</TT></P>
<H2>Installation de DansGuardian</H2>

<P><TT># aptitude install dansguardian</TT></P>
<P>	<I>L’installation de « DansGuardian entraîne
l’installation de l’antivirus « </I><STRONG><I>
Clamav </I></STRONG><I> ». </I>
</P>
<H2>Configuration de DansGuardian</H2>
<P>DansGuardian utilise plusieurs fichiers de configuration situés
dans « <STRONG>/etc/dansguardian</STRONG> ».</P>

<H3>Configuration de « /etc/dansguardian/dansguardian.conf »</H3>
<P>Pour activer la configuration, il faut commenter ou supprimer
cette ligne :</P>
<P><TT>#UNCONFIGURED</TT></P>
<P>La ligne suivante permet d’indiquer le port utilisé
par le proxy squid :</P>
<P><TT>proxyport = 3128</TT></P>
<P>Cette ligne permet d’avoir les messages en français
en cas de blocage des sites :</P>

<P><TT>language = 'french'</TT></P>
<P>Cette ligne permet de désactiver l’antivirus :</P>
<P><TT>virusscan = off</TT></P>
<H3>Configuration de « /etc/dansguardian/dansguardian1.conf »</H3>
<P>La ligne suivante permet de paramétrer le filtrage en
fonction de l’âge des personnes concernées :</P>

<P><TT>naughtynesslimit = 150</TT></P>
<P>La valeur par défaut de « 50 » donne
un filtrage très dur et peu de sites sont accessibles. Plus
cette valeur est élevée et plus le filtrage est faible.</P>
<P>Cette ligne permet de désactiver l’antivirus :</P>
<P><TT>virusscan = off</TT></P>

<H3>Configuration du fichier  /etc/dansguardian/bannedextensionlist </H3>
<P>Ce fichier permet de définir des types de fichiers qui
seront interdits de télécharger. Par défaut, la
liste est très restrictive. il faut donc commenter les types
de fichiers que vous souhaitez autoriser.</P>
<H3>Configuration du fichier  /etc/dansguardian/bannedmimetypelist </H3>
<P>Là encore il s’agit de restreindre des types de
fichiers.</P>

<P ALIGN=LEFT><TT>#application/gzip<BR>#application/x-gzip<BR>#application/zip</TT></P>
<H3>Configuration du fichier  /etc/dansguardian/bannedregexpurllist </H3>
<P>L’ajout de cette ligne à la fin du fichier permet de
bloquer la plupart des sites français de rencontres en ligne :</P>
<P><TT>(webcam|tchat|t'chat|rencontre|meetic|amour)</TT></P>
<H3>Configuration du fichier
/etc/dansguardian/phraselists/pornography/weighted_french </H3>

<P>Il est possible d’ajouter des mots ou des listes de mots
dans ce fichier, avec des coefficients positifs (mauvais mot) ou
négatifs (bons mots) :</P>
<P ALIGN=LEFT><TT>< tchat ><20><BR>< t'chat ><20></TT></P>
<H3>Prise en compte des modifications dans la configuration de
DansGuardian</H3>
<P>Pour prendre en compte les modifications, il faut relancer
DansGuardian :</P>

<P><TT># /etc/init.d/dansguardian restart</TT></P>
<H2>Test de DansGuardian</H2>
<P>Pour tester « <STRONG> DansGuardian </STRONG> »,
il suffit de configurer un navigateur web pour qu’il l’utilise.
Par exemple, pour Firefox, il faut faire : <BR><IMG SRC="http://www.coagul.org/puce.gif" NAME="Image7" ALT="-" ALIGN=BOTTOM WIDTH=8 HEIGHT=11 BORDER=0>  Menu
« Éditions / Préférences »
onglet « Avancé », bouton

« Paramètres ». <BR><IMG SRC="http://www.coagul.org/puce.gif" NAME="Image8" ALT="-" ALIGN=BOTTOM WIDTH=8 HEIGHT=11 BORDER=0>  Mettre
« <STRONG> AdresseIPPasserelle </STRONG> » dans
le champ « Proxy HTTP » <BR><IMG SRC="http://www.coagul.org/puce.gif" NAME="Image9" ALT="-" ALIGN=BOTTOM WIDTH=8 HEIGHT=11 BORDER=0>  Mettre
« <STRONG> 8080 </STRONG> » dans le champ
« Port » (et non plus « 3128 »

qui est le port utilisé par le proxy)<BR><IMG SRC="http://www.coagul.org/puce.gif" NAME="Image10" ALT="-" ALIGN=BOTTOM WIDTH=8 HEIGHT=11 BORDER=0>  Cocher
« Utiliser ce serveur proxy pour tous les protocoles »</P>
<H2><FONT SIZE=4>Test du filtrage</FONT></H2>
<P>Dans Firefox, allez sur <A HREF="http://www.google.fr/">www.google.fr</A>
et faites une recherche sur « gros seins ». Les
sites retournés par cette recherche devraient être
bloqués et la page d’avertissement :

<TT>/etc/dansguardian/languages/french/template.html </TT>s’affiche
à la place.</P>
<P>Faites maintenant une recherche sur « grosseur seins ».
Les pages retournées ne sont pas bloquées, elles
offrent des informations sur le dépistage du cancer du sein
...</P>
<H2><FONT SIZE=4>Configuration d’iptables
pour rendre DansGuardian incontournable</FONT></H2>
<P>Avec la configuration précédente, il suffit de
désactiver le proxy dans le navigateur pour accéder au
web sans filtrage. Pour remédier à ce problème,
il faut configurer iptables pour rediriger toutes requête web
vers DansGuardian, on rend ainsi le proxy « transparent ».
Pour cela, il suffit d’ajouter cette ligne à la
configuration de votre parefeu :</P>

<P ALIGN=LEFT><TT>iptables -t nat -A PREROUTING -i ! $ext_if -p tcp
--dport 80 -j REDIRECT --to-port 8080</TT></P>
<P>Ou mieux, pour empecher les clients de passer directement par le proxy squid sur le port 3128 en évitant DansGuardian en configurant leur navigateur :<BR> iptables -t nat -A PREROUTING -i ! $ext_if -p tcp -m multiport --dport 80,3128 -j REDIRECT --to-port 8080</P>
<P ALIGN=LEFT><TT><FONT FACE="Times New Roman, serif">Il faut
également configurer le mode transparent dans</FONT>
/etc/squid/squid.conf<FONT FACE="Times New Roman, serif"> :</FONT></TT></P>
<P><TT>http_port 3128 transparent</TT></P>
<P ALIGN=LEFT><TT>always_direct allow all</TT></P>
<H2><FONT SIZE=4>Utilisation des listes
noires de SquidGuard</FONT></H2>
<P>Vous trouverez sur ce site, des listes noires régulièrement
actualisées pour SquidGuard :

<BR><IMG SRC="http://www.coagul.org/puce.gif" NAME="Image12" ALT="-" ALIGN=BOTTOM WIDTH=8 HEIGHT=11 BORDER=0>  <A HREF="http://cri.univ-tlse1.fr/documentations/cache/squidguard.html">http://cri.univ-tlse1.fr/documentations/cache/squidguard.html</A></P>
<P>Adresse du fichier blacklists :
<A HREF="ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz">ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz</A>
à décompresser dans :</P>
<P><TT># mkdir /etc/dansguardian/blacklists</TT></P>
<P><TT><FONT FACE="Times New Roman, serif">Les blacklists sont
disponibles individuellement, pour la blacklist « Adult »
par exemple :</FONT></TT></P>
<P><TT>wget

<FONT SIZE=2>ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/adult.tar.gz</FONT>
</TT>
</P>
<P><TT><BR><B><FONT SIZE=4><H2>Créer un script pour Automatiser la mise à jour des blacklists</H2></FONT></B></P>
<P><TT>#!/bin/bash</TT></P>
<P><TT>cd /etc/dansguardian/blacklists</TT></P>
<P><TT>wget
<FONT SIZE=2>ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz</FONT></TT></P>

<P><TT>tar -xvzf <TT><FONT SIZE=2>blacklists</FONT></TT>.tar.gz -C
<TT>/etc/dansguardian/blacklists</TT></TT></P>
<P><TT>/etc/init.d/dansguardian restart</TT></P>
<P>Ajouter les chemins d'accès aux blacklists que vous
souhaitez utiliser dans <SPAN STYLE="font-weight: medium">/</SPAN><STRONG><SPAN STYLE="font-weight: medium">etc/dansguardian/bannedsitelist</SPAN></STRONG></P>
<P><TT><FONT SIZE=1 STYLE="font-size: 8pt">

.Include /etc/dansguardian/blacklists/blacklists/adult/domains
...
.Include /etc/dansguardian/blacklists/blacklists/warez/domains
</FONT></TT></P>

<P>Pour prendre en compte les modifications, redémarrer
DansGuardian :</P>
<P><TT># /etc/init.d/dansguardian restart </TT>
</P>
<P>Pour tester que la liste est bien opérationnelle, il faut
tester l’un des sites proposés dans le fichier
« domains » la mention « Site
Interdit » est utilisée si le blocage est lié

à la présence de l'url dans une blacklist, sinon la
mention <SPAN STYLE="font-weight: medium"><FONT COLOR="#000000">« </FONT></SPAN><STRONG><SPAN STYLE="font-weight: medium"><FONT COLOR="#000000">Limite
de ponderation depassee »</FONT></SPAN></STRONG> est
utilisée... on peut aussi regarder les logs :</P>
<P># nano /var/log/dansguardian/access.log</P>
<P><TT>2007.2.17 11:49:44 - 127.0.0.1 votresite.com *DENIED*
Site interdit: votresite.com GET 0</TT></P>
<P><BR><BR>
</P>
<P><FONT SIZE=4><B><H2>Monitorer l'activité

du proxy avec SARG </H2><FONT SIZE=3>(log analyser pour squid et
dansguardian)</FONT></B></FONT></P>
<P># aptidude update<BR># aptitude install sarg</P>
<P># nano /etc/squid/sarg.conf<BR>
dans la config de SARG /etc/squid/sarg.conf mettre le log de dansguardian à la place de celui de squid :<BR>

access_log /var/log/dansguardian/access.log<BR>

report_type topusers topsites sites_users users_sites date_time denied auth_failures site_user_time_date downloads denied<BR>


dans /etc/dansguardian/dansguardian.conf mettre :<BR>

loglevel = 3<BR>
logfile format = 3 <BR>
</P>
<P>&nbsp;</P>
<P>&nbsp;</P>
<P>Sources :</P>

<P><A HREF="http://www.fido-fr.net/linux_squid_installer.shtml">http://www.deckle.co.za/squid-users-guide/Transparent_Caching/Proxy</A></P>
<P><A HREF="http://www.coagul.org/article.php3?id_article=570">http://www.coagul.org/article.php3?id_article=570</A></P>
<P><A HREF="http://www.coagul.org/article.php3?id_article=184">http://www.coagul.org/article.php3?id_article=184</A></P>
<P></P>
]]></description>
	</item>
	<item rdf:about="http://www.kik-it.com/index.php?entry=entry070309-073501">
		<title>Port Knocking : Toc Toc c&#039;est moi laisse moi faire du ssh</title>
		<link>http://www.kik-it.com/index.php?entry=entry070309-073501</link>
		<description><![CDATA[<font face="Verdana, Arial, Helvetica, sans-serif" size="-2"><P>Avoir ssh sur ses serveurs c'est vraiment sympa pour les administrer à distance mais devoir laisser son port ssh accessible 24/7 pour notre petit confort c'est pas top niveau sécurité ...</P>
<P>On peut tenter de verrouiller les accès au port ssh histoire de pas se faire brute forcer son mot de passe avec quelque chose de ce style :</P>

<P><FONT color=navy>iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set<BR>iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP</FONT></P>
<P>ce qui aura pour effet d'ignorer les requêtes arrivant à un rythme supérieur à 3 par minute. C'est pas mal déjà, mais en ce  moment la mode est au port Knocking, et c'est pas si compliqué...</P>
<P>Il suffit de 10 lignes dans iptables pour établir un port Knocking de trois "<FONT color=navy>tocs</FONT>" afin d'ouvrir le port ssh si les bons ports ont été "<FONT color=navy>Knockés</FONT>" (et dans le bon ordre :)</P>
<P><STRONG><FONT color=darkgreen>Le principe</FONT></STRONG></P>
<P>Avant de pouvoir utiliser le port 22 on doit le débloquer en contactant des ports précis dans un ordre précis, ce qui constitue la "<FONT color=navy>clef</FONT>" pour ouvrir notre port 22.</P>

<P>Dans notre exemple la clef est 103 202 301, si on contacte ces ports dans cet ordre, le port 22 sera ouvert pendant 5 secondes, juste le temps pour nous de faire une connexion ssh qui sera maintenue au delà de 5 secondes grâce aux règles qui acceptent les connexions <FONT color=navy>ESTABLISHED</FONT>.</P>
<P><STRONG><FONT color=darkgreen>Le script</FONT></STRONG></P>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<P><FONT color=navy>iptables -N Step2<BR>iptables -A Step2 -m recent --name Key1 --remove<BR>iptables -A Step2 -m recent --name Key2 --set</FONT></P>
<P><FONT color=navy>iptables -N Step3<BR>iptables -A Step3 -m recent --name Key2 --remove<BR>iptables -A Step3 -m recent --name Key3 --set</FONT></P>
<P><FONT color=navy>iptables -A INPUT -p tcp --dport 103 -m recent --set --name Key1<BR>iptables -A INPUT -p tcp --dport 202 -m recent --rcheck --name Key1 -j Step2<BR>iptables -A INPUT -p tcp --dport 301 -m recent --rcheck --name Key2 -j Step3</FONT></P>

<P><FONT color=navy>iptables -A INPUT -p tcp --dport 22 -m recent --rcheck --seconds 5 --name Key3 -j ACCEPT</FONT></P></BLOCKQUOTE>
<P><STRONG><FONT color=darkgreen>Les explications</FONT></STRONG></P>
<P>On utilise ici le module "<FONT color=navy>recent</FONT>" d'iptables : <FONT color=navy>iptables -m recent --help<BR></FONT> <BR><FONT color=gray>recent v1.2.11 options:<BR>[!] --set                       Add source address to list, always matches.<BR>[!] --rcheck                    Match if source address in list.<BR>[!] --update                    Match if source address in list, also update last-seen time.<BR>[!] --remove                    Match if source address in list, also removes that address from list.<BR>    --seconds seconds           For check and update commands above.<BR>                                Specifies that the match will only occur if source address last seen within<BR>                                the last 'seconds' seconds.<BR>    --name name                 Name of the recent list to be used.  DEFAULT used if none given.<BR>    --rsource                   Match/Save the source address of each packet in the recent list table (default).<BR>    --rdest                     Match/Save the destination address of each packet in the recent list table.<BR>ipt_recent v0.3.1: Stephen Frost <</FONT><A href="mailto:sfrost@snowman.net"><FONT color=gray>sfrost@snowman.net</FONT></A><FONT color=gray>>.  </FONT><A href="http://snowman.net/projects/ipt_recent/"><FONT color=gray>http://snowman.net/projects/ipt_recent/</FONT></A></P>

<P>Ce module permet de créer des listes dans lesquelles on va pouvoir lire/enregistrer des IPs ...<BR>On créer deux <FONT color=navy>chaînes</FONT>, <FONT color=navy>Step2</FONT> et <FONT color=navy>Step3</FONT>, pour vérifier que la séquence des <FONT color=darkgreen>tocs</FONT> sur nos ports est bien respectée :</P>
<P dir=ltr style="MARGIN-RIGHT: 0px"><FONT color=navy>iptables -N Step2<BR>iptables -A Step2 -m recent --name Key1 --remove<BR>iptables -A Step2 -m recent --name Key2 --set<BR></FONT><FONT color=darkgreen>ici, lorsque le paquet traverse Step2, on ajoute l'adresse source du paquet qui est précédemment passé par le port 103 dans la liste "Key2" et on la retire de "Key1"</FONT></P>

<P><FONT color=navy>iptables -N Step3<BR>iptables -A Step3 -m recent --name Key2 --remove<BR>iptables -A Step3 -m recent --name Key3 --set<BR></FONT><FONT color=darkgreen>ici, lorsque le paquet traverse Step3, on ajoute l'adresse source du paquet qui est précédemment passé par le port 202 dans la liste "Key3" et on la retire de "Key2"</FONT></P>
<P><FONT color=darkgreen>la ligne :<BR></FONT><FONT color=navy>iptables -A INPUT -p tcp --dport 103 -m recent --set --name Key1<BR></FONT><FONT color=darkgreen>ajoute l'adresse source d'un paquet qui arriverait sur le port 103 dans la liste "Key1"</FONT></P>
<P><FONT color=darkgreen>la ligne :</FONT><BR><FONT color=navy>iptables -A INPUT -p tcp --dport 202 -m recent --rcheck --name Key1 -j Step2<BR></FONT><FONT color=darkgreen>ajoute l'adresse source d'un paquet qui arriverait sur le port 202 et dont l'adresse source serait dans "Key1" dans la liste "Key2" (cela se produit en traversant la chaîne "Step2")</FONT></P>
<P><FONT color=darkgreen>la ligne :<BR></FONT><FONT color=navy>iptables -A INPUT -p tcp --dport 301 -m recent --rcheck --name Key2 -j Step3<BR></FONT><FONT color=darkgreen>ajoute l'adresse source d'un paquet qui arriverait sur le port 301 et dont l'adresse source serait dans "Key2" dans la liste "Key3" (cela se produit en traversant la chaîne "Step3")</FONT></P>

<P><FONT color=darkgreen>Enfin, la ligne suivante laisse passer les paquets à destination du port 22 dont l'adresse source est dans la liste "Key3" depuis moins de 5 secondes :<BR></FONT><FONT color=navy>iptables -A INPUT -p tcp --dport 22 -m recent --rcheck --seconds 5 --name Key3 -j ACCEPT</FONT></P>
<P> </P>
<P>Un script de test complet pour un serveur pourrait être :</P>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<P><FONT color=navy><FONT color=gray>#On fait le ménage<BR></FONT>iptables -F<BR>iptables -X<BR>iptables -t nat -F<BR>iptables -t nat -X<BR>iptables -t mangle -F<BR>iptables -t mangle -X</FONT></P>
<P><FONT color=navy><FONT color=gray>#On est pas causant par défaut<BR></FONT>iptables -P INPUT DROP<BR>iptables -P OUTPUT DROP<BR>iptables -P FORWARD DROP</FONT></P>

<P><FONT color=navy><FONT color=gray>#On accepte de parler et d'entendre les réponses à nos questions<BR></FONT>iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT<BR>iptables -A OUTPUT -m state --state NEW,ESTABLISHED -j ACCEPT</FONT></P>
<P><FONT color=navy><FONT color=gray>#On met en place un port Knocking afin d'ouvrir le port ssh 5 secondes<BR></FONT>iptables -N Step2<BR>iptables -A Step2 -m recent --name Key1 --remove<BR>iptables -A Step2 -m recent --name Key2 --set</FONT></P>
<P><FONT color=navy>iptables -N Step3<BR>iptables -A Step3 -m recent --name Key2 --remove<BR>iptables -A Step3 -m recent --name Key3 --set</FONT></P>
<P><FONT color=navy>iptables -A INPUT -p tcp --dport 103 -m recent --set --name Key1<BR>iptables -A INPUT -p tcp --dport 202 -m recent --rcheck --name Key1 -j Step2<BR>iptables -A INPUT -p tcp --dport 301 -m recent --rcheck --name Key2 -j Step3</FONT></P>

<P><FONT color=navy>iptables -A INPUT -p tcp --dport 22 -m recent --rcheck --seconds 5 --name Key3 -j ACCEPT</FONT></P></BLOCKQUOTE>
<P><BR>Bon maintenant qu'on a la partie serveur, voyons la partie client :</P>
<P>Il faut faire toc toc sur les ports 103 puis 202 puis 301, certains conseillent d'utiliser telnet avec des commandes du style :</P>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<P><FONT color=navy>$> alias toc='telnet ip_address'<BR>$> toc 103 ; toc 202 ; toc 301 ; ssh ip_address<BR></FONT><FONT color=darkgreen>puis Ctrl-C 3 fois pour killer les telnets et retomber sur la commande ssh</FONT></P></BLOCKQUOTE>
<P>il m'a semblé que telnet introduisait trop de latence et que globalement ca marchait pas.</P>

<P>Je préfère utiliser un petit script "<FONT color=navy>knock</FONT>" du style :</P>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<P><FONT color=navy>nmap -PA103,202,301 -r -M1 $1<BR>ssh $1</FONT></P></BLOCKQUOTE>
<P><FONT color=darkgreen>Explications :</FONT> pour être certain que nmap contacte les ports dans l'ordre indiqué on ajoute "-r" et on fixe le maximum de sockets à 1 avec "-M1" pour être bien certain qu'il fera chaque toc l'un après l'autre.</P>
<P><STRONG><FONT color=darkgreen></FONT></STRONG> </P>
<P><STRONG><FONT color=darkgreen>Finalement</FONT></STRONG></P>
<P><FONT color=gray>sous GNU/Linux on contacte notre serveur ssh avec la commande : </FONT></P>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">

<P> <FONT color=navy>#./knock ip_address</FONT></P></BLOCKQUOTE>
<P><FONT color=gray>et sous Windows ca marche aussi didon :</FONT></P>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<P> il nous faut nmap pour win32 : <A href="http://www.insecure.org/nmap/download.html">http://www.insecure.org/nmap/download.html</A><BR> et winpcap : <A href="http://www.winpcap.org/install/default.htm">http://www.winpcap.org/install/default.htm</A><BR> on met <FONT color=navy><STRONG>putty</STRONG></FONT> dans le dossier d'nmap ...<BR> plus l'équivalent de notre petit script :</P>
<P> ----<FONT color=navy>knock.bat</FONT>----<BR> set IP=%1<BR> if %1.==. set /p IP=Adresse IP ?<BR> nmap -p103,202,301 -r --host_timeout 2000 %IP%<BR> putty %IP%<BR> -----------------<BR></P></BLOCKQUOTE>

<P dir=ltr>Et voilà Youpi notre port ssh est joignable 5 secondes après 3 tocs secrets et fermé le reste du temps, quel bonheur cet iptables ;)</P>
<P dir=ltr> </P> 
            </font>
]]></description>
	</item>
</rdf:RDF>
