<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Antoine Benkemoun &#187; Sécurité</title>
	<atom:link href="http://www.antoinebenkemoun.fr/category/securite/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.antoinebenkemoun.fr</link>
	<description>Sécurité informatique, Virtualisation, Administration système et Réseaux</description>
	<lastBuildDate>Wed, 07 Jul 2010 00:11:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>La sécurité de la virtualisation : suite et fin</title>
		<link>http://www.antoinebenkemoun.fr/2010/06/la-securite-de-la-virtualisation-suite-et-fin/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/06/la-securite-de-la-virtualisation-suite-et-fin/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 22:01:53 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Libre]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Evénement]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Xen]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=1223</guid>
		<description><![CDATA[Cet article complète le précédent sur le sujet de la sécurité de la virtualisation en abordant l&#8217;aspect réseau de stockage et essaye de présenter les risques réels de sécurité des plateformes de virtualisation. Il s&#8217;agira également du dernier billet sur ce sujet bien que je compte revenir sur ce sujet par la suite.
La sécurisation du [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/07/tech-presentation-2.gif"><img class="alignleft size-full wp-image-225" title="tech-presentation-2" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/07/tech-presentation-2.gif" alt="" width="157" height="140" /></a>Cet article complète le <a href="http://www.antoinebenkemoun.fr/2010/06/la-securite-de-la-virtualisation-erratum/">précédent</a> sur le sujet de la sécurité de la virtualisation en abordant l&#8217;aspect réseau de stockage et essaye de présenter les risques réels de sécurité des plateformes de virtualisation. Il s&#8217;agira également du dernier billet sur ce sujet bien que je compte revenir sur ce sujet par la suite.</p>
<h3>La sécurisation du stockage</h3>
<p>La virtualisation n&#8217;ajoute pas de risque particulier à partir du moment où l&#8217;on suppose que l&#8217;attaquant dispose d&#8217;un accès physique aux données. Ce type d&#8217;exploit est donc uniquement inhérent au stockage sur disque.</p>
<p>Les réseaux de stockage en Fibrechannel n&#8217;ajoutent également pas de risque particulier. Seul les hyperviseurs ont accès aux supports de stockage distribués par le réseau de stockage. De plus, il est possible de gérer finement les accès aux différents supports de disque par les biais des techniques de &laquo;&nbsp;zoning&nbsp;&raquo;. Le zoning est une technique équivalente aux &laquo;&nbsp;Private VLAN&nbsp;&raquo; de Cisco dans le cas des réseaux Ethernet.</p>
<p>Contrairement à ce qui a été présenté Samedi dernier, la connexion des équipements Fibrechannel au réseau Ethernet n&#8217;ouvre pas de faille supplémentaire. Il n&#8217;est pas possible d&#8217;utiliser cette interface pour accéder aux données transitant sur le réseau de stockage. L&#8217;interface Ethernet permet uniquement d&#8217;accéder aux informations de configuration du commutateur.</p>
<p>Supposons qu&#8217;il soit possible d&#8217;accéder aux données transitant sur le réseau Fibrechannel par le biais de cette interface Ethernet. Toute tentative de spoofing d&#8217;adresse MAC serait parfaitement inutile car les réseaux Fibrechannel n&#8217;utilisent pas d&#8217;adresses MAC mais des WWN qui n&#8217;ont rien à voir. Les protocoles de communication sont différents et ne sont pas compatibles.</p>
<p>Cette problématique est cependant intéressante dans le cas des réseaux iSCSI qui n&#8217;ont même pas été mentionnés. Il n&#8217;est absolument pas souhaitable que les LAN iSCSI soient routables vers d&#8217;autres réseaux. Il est même recommandé d&#8217;avoir des équipements uniquement dédiés aux fonctionnalités iSCSI dans la mesure du possible.</p>
<h3>Récapitulons&#8230;</h3>
<p>Les potentielles interfaces d&#8217;attaque vers les hyperviseurs sont très peu nombreuses. Dans le cas de la virtualisation totale et de la virtualisation matérielle assistée, ces interfaces sont même inexistantes. Dans le cas des interfaces de paravirtualisation, leur utilisation est standardisée par le biais d&#8217;API mais la découverte de failles reste envisageable bien qu&#8217;aucune n&#8217;ait été trouvée à ce jour.</p>
<p>Les mécanismes de DoS sont régulés voire supprimés par les mécanismes classiques d&#8217;ordonnancement présents dans toutes les solutions de virtualisation.</p>
<h3>Quels sont les risques ?</h3>
<p>Les risques réels de sécurité inhérents aux plateformes de virtualisation se situent, d&#8217;une part, au niveau des interface de gestion. Les interfaces de gestion ne sont pas propres à la virtualisation mais leur utilisation dans ce cas particulier est généralisé.</p>
<p>L&#8217;accès aux interfaces de gestion doivent être sécurisés par les mécanismes réseau traditionnels ainsi que par le biais de méthodes d&#8217;authentification. Dans le cas d&#8217;une compromission de ces interfaces, les données  et l&#8217;accès aux machines virtuelles reste indemne. Les interfaces ne disposent généralement pas d&#8217;accès particulier aux données, elles disposent uniquement d&#8217;une vue globale permettant la configuration des supports de stockage. En ce qui concerne l&#8217;accès aux VM, il reste protégé par les protections classiques telles que le couple login et mot de passe. Le passage dans des modes plus privilégiés attireraient inévitablement l&#8217;attention car cela nécessiterait des redémarrages non planifiés.</p>
<h3>Conclusion</h3>
<p>Traditionnellement, on considère qu&#8217;une technologie est sécurisée jusqu&#8217;à preuve du contraire. Il n&#8217;est pas utile de céder au sensationnalisme en décriant des potentielles failles qui n&#8217;ont pas été découvertes et qui n&#8217;ont jamais été exploitées (dans le cas de Xen).</p>
<p>Si nous suivons cette supposition traditionnelle, nous pouvons affirmer que la virtualisation est une technologie sécurisée. Comme toute technologie informatique, il est nécessaire d&#8217;être vigilant lors de son implémentation en suivant quelques règles de bon sens.</p>
<p>Pour revenir au sujet de la présentation effectué lors de la nuit du hack, j&#8217;ai été largement déçu par cette présentation aux conclusions au mieux hâtives et des nombreuses autres imprécisions que je n&#8217;ai pas évoqué ici.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/06/la-securite-de-la-virtualisation-suite-et-fin/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>La sécurité de la virtualisation</title>
		<link>http://www.antoinebenkemoun.fr/2010/06/la-securite-de-la-virtualisation-erratum/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/06/la-securite-de-la-virtualisation-erratum/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 14:05:57 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Libre]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Evénement]]></category>
		<category><![CDATA[Xen]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=1214</guid>
		<description><![CDATA[Ce weekend avait lieu la Nuit du Hack 2010. Il s&#8217;agit d&#8217;un événement orienté vers tous les types de hacking. De nombreuses conférences étaient proposées au public venu pour l&#8217;occasion avec notamment une présentation du hacking de l&#8217;iPhone et de la PS3.
Une présentation a particulièrement attiré mon attention mais pas pour de bonnes raisons. En [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/07/tech-presentation-2.gif"><img class="alignleft size-full wp-image-225" title="tech-presentation-2" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/07/tech-presentation-2.gif" alt="" width="157" height="140" /></a>Ce weekend avait lieu la <a href="http://www.nuitduhack.com/">Nuit du Hack 2010</a>. Il s&#8217;agit d&#8217;un événement orienté vers tous les types de hacking. De nombreuses conférences étaient proposées au public venu pour l&#8217;occasion avec notamment une présentation du hacking de l&#8217;iPhone et de la PS3.</p>
<p>Une présentation a particulièrement attiré mon attention mais pas pour de bonnes raisons. En fin de soirée avait lieu une conférence intitulé &laquo;&nbsp;Virtualisation et sécurité&nbsp;&raquo;. J&#8217;attendais donc avec impatience cette conférence. Autant dire que cela a été une grande déception. Le sujet était traité d&#8217;un point de vue beaucoup trop global mais, surtout, les informations soutenues étaient plus que discutables.</p>
<p>Je vais donc profiter de cette espace pour tenter d&#8217;éclaircir certains points par rapport à la sécurité de la virtualisation.</p>
<h3>Classification</h3>
<p>Avant de plonger dans l&#8217;étude à proprement dit de la sécurité dans la virtualisation, il est intéressant de se replonger dans la classification des solutions. Lors de la présentation, il avait été différencié les types de virtualisation suivants : &laquo;&nbsp;full virtualisation&nbsp;&raquo;, &laquo;&nbsp;paravirtualisation&nbsp;&raquo; et &laquo;&nbsp;hyperviseurs&nbsp;&raquo;.</p>
<p>Un hyperviseur n&#8217;est pas un type de virtualisation mais une application qui peut effectuer de la virtualisation. Il est possible de les classifier selon deux catégories bien que cette division <a href="http://www.antoinebenkemoun.fr/2009/10/de-la-differenciation-hyperviseur-type-1-type-2/">ne me plaise pas</a> particulièrement.</p>
<h3>La sécurisation de l&#8217;hyperviseur : DoS &amp; DDoS</h3>
<p>Lors de la présentation, le DoS (Denial of Service) et le DDoS (Distributed Denial of Service) ont été désignés comme des solutions simples et efficaces de neutraliser une plateforme de virtualisation.</p>
<p>Dans le cas de Xen, il est pratiquement impossible de communiquer avec l&#8217;hyperviseur. Il ne faut bien sur par confondre hyperviseur et domaine 0 (ou console de gestion dans le cas de VMWare). L&#8217;attaque DoS est donc difficile à imaginer dès le départ. L&#8217;interface de communication avec l&#8217;hyperviseur dont nous disposons est l&#8217;API des hypercalls, remplaçants des appels systèmes classiques dans le cas de la paravirtualisation.</p>
<p>L&#8217;utilisation des ces hypercalls est limitée par les algorithmes d&#8217;ordonnancement système ce qui empêche une utilisation abusive. Il s&#8217;agit du même mécanisme que celui utilisé pour le partage des ressources physiques. Le DoS semble donc impossible par ce biais.</p>
<p>Les outils d&#8217;administration sont également un potentiel point d&#8217;entrée supplémentaire. Ces outils ne sont accessibles qu&#8217;à partir du domaine 0 qui peut difficilement être considéré en tant que VM comme les autres. Un attaque DoS sur le domaine 0 rendrait les mêmes résultats qu&#8217;une attaque DoS sur les autres machines virtuelles étant donné les mécanismes d&#8217;ordonnancement.</p>
<p>La communication avec l&#8217;hyperviseur n&#8217;étant possible que par ces interfaces, il parait impossible d&#8217;y effectuer une attaque DoS capable d&#8217;atteindre toutes les machines virtuelles de la plateforme.</p>
<h3>La sécurisation de l&#8217;hyperviseur : cloisonnement</h3>
<p>Le cloisonnement des machines virtuelles est bien sûr une caractéristique élémentaire d&#8217;une plateforme de virtualisation. Contrairement à ce qui a été dit, l&#8217;hyperviseur n&#8217;a pas &laquo;&nbsp;la main&nbsp;&raquo; sur les machines virtuelles. Il a simplement la possibilité de les éteindre, de les démarrer ou de les mettre en pause. Ni plus, ni moins.</p>
<p>Le cloisonnement est géré par la restriction des accès mémoire. Les hyperviseurs ont été spécifiquement prévus afin d&#8217;éviter un débordement des accès vers la mémoire. Le seul vecteur d&#8217;exploitation de ce type de faille est les hypercalls dans le cas de Xen. A ce jour aucune faille connu permet d&#8217;accéder à des zones mémoires non autorisées.</p>
<p>De plus dans le cas de la virtualisation totale et de la virtualisation matérielle assistée, les machines virtuelles ne disposent même pas d&#8217;interface spécifique avec l&#8217;hyperviseur ce qui rend pratiquement impraticable de ce type de vulnérabilité.</p>
<p>Les risques d&#8217;erreur de cloisonnement ne sont pas inexistants bien entendu cependant il ne faut pas perdre de vue qu&#8217;il s&#8217;agit de l&#8217;objectif même de la conception de l&#8217;hyperviseur et que les machines virtuelles disposent de très peu ou aucune interface de communication avec l&#8217;hyperviseur afin de l&#8217;induire en erreur.</p>
<p>Dans le prochain (et dernier épisode), nous étudierons les autres points abordés lors de la présentation et les risques réels associés à la virtualisation. Loin de moi l&#8217;idée de prêcher la sécurisation totale de la virtualisation, je pense cependant qu&#8217;il est très facile et réducteur d&#8217;agiter des menaces sans fondement pratique.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/06/la-securite-de-la-virtualisation-erratum/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Livre sur la cryptographie : Cryptographie en pratique</title>
		<link>http://www.antoinebenkemoun.fr/2010/05/livre-sur-la-cryptographie-cryptographie-en-pratique/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/05/livre-sur-la-cryptographie-cryptographie-en-pratique/#comments</comments>
		<pubDate>Mon, 17 May 2010 20:26:18 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Humeur]]></category>
		<category><![CDATA[livre]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=1157</guid>
		<description><![CDATA[En tant qu&#8217;administrateurs réseau ou systèmes, nous utilisons quotidiennement un élément sur lequel repose la majeure de partie de la sécurité de nos infrastructures : la cryptographie. Nous la retrouvons pour chiffrer les données que nous ne souhaitons pas voir interceptées ou bien pour effectuer de la déduplication de données (au hasard). La cryptographie est [...]]]></description>
			<content:encoded><![CDATA[<p>En tant qu&#8217;administrateurs réseau ou systèmes, nous utilisons quotidiennement un élément sur lequel repose la majeure de partie de la sécurité de nos infrastructures : la cryptographie. Nous la retrouvons pour chiffrer les données que nous ne souhaitons pas voir interceptées ou bien pour effectuer de la <a href="http://www.antoinebenkemoun.fr/2010/05/la-deduplication-de-donnees/">déduplication de données</a> (au hasard). La cryptographie est un élément central dans l&#8217;informatique depuis de très nombreuses années.</p>
<p>Souhaitant mieux comprendre ce domaine, je suis parti à la quête d&#8217;un livre. De nombreux livres en cryptographie ne sont clairement pas tournés vers les informaticiens mais vers le mathématiciens. Un tel niveau de compréhension n&#8217;est pas forcément nécessaire. &laquo;&nbsp;Cryptographie en pratique&nbsp;&raquo; est un ouvrage adapté à notre situation. Un niveau lycée en mathématiques est demandé pour les explications les plus compliquées ainsi qu&#8217;un peu de patience et de relecture pour certains passages.</p>
<p style="text-align: center;"><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/05/41XEZVW1JAL._SS500_.jpg"><img class="size-medium wp-image-1158 aligncenter" title="41XEZVW1JAL._SS500_" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/05/41XEZVW1JAL._SS500_-300x300.jpg" alt="" width="300" height="300" /></a></p>
<p>Ce livre a pour but d&#8217;effectuer un tour d&#8217;horizon des différentes techniques de chiffrement utilisées aujourd&#8217;hui et leurs applications dans le monde réel. Ainsi, vous pourrez comprendre ce qu&#8217;est un MAC ou bien comment fonctionne AES. Les auteurs, <a href="http://www.schneier.com/">Bruce Schenier</a> et <a href="http://fr.wikipedia.org/wiki/Niels_Ferguson">Nils Ferguson</a>, sont de réelles pointures dans la matière et distillent les retours d&#8217;expérience à travers cet ouvrage.</p>
<p>Une partie du contenu de ce livre ne doit plus être tout à fait à jour car il date de 2002 mais une grande partie est clairement atemporel.</p>
<p>Au final, ce livre a été un plaisir à lire et m&#8217;a permis de mieux comprendre le fonctionnement et les enjeux de la cryptographie. Je vous le recommande très chaleureusement.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/05/livre-sur-la-cryptographie-cryptographie-en-pratique/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Génération de certificats OpenVPN par lots</title>
		<link>http://www.antoinebenkemoun.fr/2010/04/generation-de-certificats-openvpn-par-lots/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/04/generation-de-certificats-openvpn-par-lots/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 09:01:39 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[Explication]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[OS]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=1094</guid>
		<description><![CDATA[J&#8217;ai déjà eu l&#8217;occasion de parler d&#8217;OpenVPN plusieurs fois sur ce blog car je pense qu&#8217;il s&#8217;agit d&#8217;une application très intéressante. J&#8217;avais déjà traité l&#8217;installation d&#8217;OpenVPN sur OpenSolaris et le client MacOS Viscosity. Une problématique régulièrement rencontrée est la génération de certificats SSL pour OpenVPN afin de créer des accès utilisateur à un serveur.
La méthode [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/02/site_internet.jpg"><img class="alignleft size-medium wp-image-947" title="site_internet" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/02/site_internet-300x225.jpg" alt="" width="189" height="142" /></a>J&#8217;ai déjà eu l&#8217;occasion de parler d&#8217;OpenVPN plusieurs fois sur ce blog car je pense qu&#8217;il s&#8217;agit d&#8217;une application très intéressante. J&#8217;avais déjà traité l&#8217;<a href="http://www.antoinebenkemoun.fr/2010/01/installation-dopenvpn-sur-opensolaris/">installation d&#8217;OpenVPN sur OpenSolaris </a>et le client <a href="http://www.antoinebenkemoun.fr/2009/07/un-client-openvpn-pour-mac-os-viscosity/">MacOS Viscosity</a>. Une problématique régulièrement rencontrée est la génération de certificats SSL pour OpenVPN afin de créer des accès utilisateur à un serveur.</p>
<p>La méthode la plus simple consiste à utiliser les outils <em>easy-rsa</em> en ligne de commande. Ces outils simplifient réellement la tâche par rapport à l&#8217;utilisation directe d&#8217;OpenSSL. Le problème avec l&#8217;utilisation de ces outils est la nécessité d&#8217;interagir avec le terminal. Cet outil va vous demander bon nombre de renseignements tels que le pays, la ville, l&#8217;adresse email, etc. Cette interaction rend compliquée la création par lots de certificats.</p>
<p>Une méthode plus compliquée, mais plus efficace, consiste à adapter les scripts <em>easy-rsa</em> afin de rendre leur utilisation plus linéaire et non interactive afin qu&#8217;un script puisse les exécuter. De plus, j&#8217;ai souhaité donner la possibilité de spécifier la durée de validité du certificat au cas par cas, ce qui n&#8217;est pas possible par défaut.</p>
<p>Le premier script, <em>build-key-batch</em>, permet de créer une clé en spécifiant une durée de validité. Il n&#8217;y a qu&#8217;une toute petite modification qui permet de récupérer la durée de validité passée en argument.</p>
<blockquote><p>#!/bin/sh</p>
<p>if test $# -ne 2; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo &laquo;&nbsp;usage: build-key-batch &lt;name&gt; &lt;duree&gt;&nbsp;&raquo;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit 1<br />
fi</p>
<p>if test $KEY_DIR; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cd $KEY_DIR &amp;&amp; \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;openssl req -days $2 -nodes -new -keyout $1.key -out $1.csr -batch -config $KEY_CONFIG &amp;&amp; \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;openssl ca -days $2 -out $1.crt -in $1.csr -batch -config $KEY_CONFIG &amp;&amp; \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;chmod 0600 $1.key<br />
else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo you must define KEY_DIR<br />
fi</p></blockquote>
<p>Par défaut, <em>easy-rsa</em> nécessite d&#8217;exécuter le fichier vars dont le rôle est d&#8217;exporter un certain nombre de variables d&#8217;environnement utilisées par les scripts de génération de clé. Cela ne me convenait pas car je souhaitais exécuter un seul fichier contenant toutes les informations dont je pouvais avoir besoin. J&#8217;ai donc créé un script nommé <em>build-batch</em> qui contient toutes les options.</p>
<blockquote><p>#!/bin/sh<br />
if test $# -ne 2; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo &laquo;&nbsp;usage: batch-build &lt;name&gt; &lt;duree&gt;&nbsp;&raquo;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit 1<br />
else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Definition des variables<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export D=`pwd`<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export KEY_CONFIG=$D/openssl.cnf<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export KEY_DIR=$D/keys<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export KEY_SIZE=1024<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export KEY_COUNTRY=FR<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export KEY_PROVINCE=XX<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export KEY_CITY=Paris<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export KEY_ORG=&nbsp;&raquo;Keeyyyy&nbsp;&raquo;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export KEY_EMAIL=&nbsp;&raquo;$1&#8243;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export KEY_CNAME=$1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;./build-key-batch $1 $2<br />
fi</p></blockquote>
<p>Ce script nécessite une petite modification du fichier openssl.cnf présent dans le dossier <em>easy-rsa</em> qui est la suivante :</p>
<blockquote><p>commonName                      = Common Name (eg, your name or your server\&#8217;s hostname)<br />
commonName_max                  = 64<br />
++ commonName_default              = $ENV::KEY_CNAME</p></blockquote>
<p>Le script a exécuter afin de générer un certificat est donc <em>build-batch</em> suivi de deux arguments qui sont le nom du certificat et la durée de validité. Vous pourrez ainsi générer des certificats pour OpenVPN simplement et efficacement sans nécessiter une intervention humaine.</p>
<p>Source : <a href="http://intuitinnovations.com/blog/archives/100">insights</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/04/generation-de-certificats-openvpn-par-lots/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Architecture réseau d’une LAN Party : Configuration des ASA</title>
		<link>http://www.antoinebenkemoun.fr/2010/03/architecture-reseau-d%e2%80%99une-lan-party-configuration-des-asa/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/03/architecture-reseau-d%e2%80%99une-lan-party-configuration-des-asa/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 20:43:24 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[LAN]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=1015</guid>
		<description><![CDATA[Ce billet fait suite au précédent qui avait eu pour objectif de définir le contexte de filtrage IP que nous souhaitons mettre en place. Aujourd&#8217;hui, nous allons faire un tour de vue du fonctionnement de nos équipements de sécurité et de routage : les Cisco ASA 5510.
Avant de rentrer dans le vif du sujet, arrêtons-nous [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/03/gathering.jpg"><img class="alignleft size-medium wp-image-992" title="gathering" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/03/gathering-300x225.jpg" alt="" width="189" height="142" /></a>Ce billet fait suite au précédent qui avait eu pour objectif de définir le contexte de filtrage IP que nous souhaitons mettre en place. Aujourd&#8217;hui, nous allons faire un tour de vue du fonctionnement de nos équipements de sécurité et de routage : les Cisco ASA 5510.</p>
<p>Avant de rentrer dans le vif du sujet, arrêtons-nous pour faire un petit point d&#8217;avancement. Nous commençons à avoir des configurations de base relativement solides qui nous permettent de déployer la topologie IP du réseau à chaque session de travail. Le montage de cette topologie ne pose désormais plus de problème particulier. Nous avons réussi à résoudre le problème de la communication entre deux interfaces d&#8217;un même ASA. La résolution de ce problème nous a permis de simplifier grandement nos configurations en supprimant toutes les identités NAT des interfaces à security-level 100, soit toutes nos interfaces internes. Je suis content de notre avancement et nous devrions aboutir sur une préparation satisfaisante.</p>
<p>Les ASA sont la gamme d&#8217;équipements de sécurité Cisco orientés vers l&#8217;entreprise. J&#8217;emplois le terme d&#8217;équipement de sécurité et non de pare-feu car cette terminologie est bien plus proche de la réalité. Les fonctionnalités d&#8217;un ASA dépassent très largement celles de filtrage protocolaire IP, TCP et UDP. Je vous laisse consulter la liste de fonctionnalités sur le <a href="http://www.cisco.com/en/US/products/ps6120/prod_models_comparison.html">site de Cisco</a>. Nous avons également une carte SSM-AIP pour chaque ASA permettant de faire de l&#8217;IPS ce que nous utiliserons pendant l&#8217;événement si nous nous ennuyons (sait-on jamais).</p>
<p>Nous avons 4 équipements Cisco ASA 5510 à notre disposition. La version logicielle associée est la version &laquo;&nbsp;Base&nbsp;&raquo; contrairement à son équivalent haut de gamme, &laquo;&nbsp;Security Plus&nbsp;&raquo;. La différence entre ces deux versions est réellement énorme. La version &laquo;&nbsp;Security Plus&nbsp;&raquo; permet de transformer deux interfaces 10/100 en interfaces Gigabit, de débloquer l&#8217;interface 3 et d&#8217;utiliser le port de &laquo;&nbsp;Management&nbsp;&raquo; en tant qu&#8217;interface de données.</p>
<p style="text-align: center;"><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/03/CiscoASA5510.jpg"><img class="size-medium wp-image-1024 aligncenter" title="CiscoASA5510" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/03/CiscoASA5510-300x240.jpg" alt="" width="300" height="240" /></a></p>
<p>La configuration des ASA est légèrement différente de celle de routeurs Cisco classiques. Cette différence est liée au fait que les ASA ne sont pas basés sur un IOS mais un &laquo;&nbsp;Security Appliance OS&nbsp;&raquo;. Il y a de nombreuses similarités mais suffisamment de différences pour devoir se documenter spécifiquement.</p>
<p>Je ne vais pas pouvoir détailler toute la configuration des Cisco ASA dans ce billet car il ferait de très nombreuses pages. Je vais cependant relever les points clés qui nous ont posé problème.</p>
<p>Tout d&#8217;abord, les ASA sont faits pour faire du NAT entre toutes les interfaces par défaut. Ceci vient de leur héritage historique vis-à-vis des PIX. Ce comportement induit la nécessité d&#8217;effectuer de très nombreuses règles de NAT. Il est, heureusement, possible de désactiver ce comportement grâce à la commande &laquo;&nbsp;<em>no nat-control</em> &laquo;&nbsp;. Une fois le nat-control désactivé, il sera possible de router en direct entre les interfaces tant qu&#8217;on effectue une descente dans les security-level. Il sera nécessaire de faire une petite règle de NAT afin de remonter les security-level. Il est cependant tout à fait possible d&#8217;effectuer une règle de NAT qui ne modifie aucunement les adresses IP ni les ports afin que l&#8217;ASA se comporte comme un routeur.</p>
<p>Ensuite, les ASA considèrent par défaut que du trafic entre deux interfaces de même security-level effectue une montée de security-level. Ce comportement implique la création de nouvelles règles de NAT. Afin d&#8217;éviter ce comportement et de minimiser les lignes de configuration, il est possible d&#8217;utiliser la commande &laquo;&nbsp;<em>same-security-traffic permit inter-interface</em> &laquo;&nbsp;. Ainsi, vous simplifiez votre configuration ce qui est très intéressant.</p>
<p>Je mets à votre disposition la <a href="http://www.tekevo.net/Conf-Fuji.txt" class="broken_link" rel="nofollow">configuration</a> de l&#8217;ASA nommé <a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/03/TopoLogique.png">Fuji</a> afin que vous puissiez y jeter un regard plus approfondi que mes explications assez superficielles. Il manque les ACL de filtrage en mode tournoi car nous ne les avons pas encore intégrées ainsi que le paramétrage avancé de l&#8217;OSPF.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/03/architecture-reseau-d%e2%80%99une-lan-party-configuration-des-asa/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Architecture réseau d&#8217;une LAN Party : Introduction</title>
		<link>http://www.antoinebenkemoun.fr/2010/03/architecture-reseau-dune-lan-party-introduction/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/03/architecture-reseau-dune-lan-party-introduction/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 15:09:22 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Explication]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=991</guid>
		<description><![CDATA[J&#8217;avoues avoir un peu de mal à poster des billets régulièrement en ce moment. Cela s&#8217;explique en partie par une petite baisse de motivation pour le faire mais aussi la reprise des cours qui sont un peu plus nombreux que prévus.
Un autre projet qui va me prendre beaucoup de temps est l&#8217;Utt Arena. Mais qu&#8217;est [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/03/gathering.jpg"><img class="alignleft size-medium wp-image-992" title="gathering" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/03/gathering-300x225.jpg" alt="" width="216" height="162" /></a>J&#8217;avoues avoir un peu de mal à poster des billets régulièrement en ce moment. Cela s&#8217;explique en partie par une petite baisse de motivation pour le faire mais aussi la reprise des cours qui sont un peu plus nombreux que prévus.</p>
<p>Un autre projet qui va me prendre beaucoup de temps est l&#8217;<a href="http://www.uttarena.org">Utt Arena</a>. Mais qu&#8217;est ce que l&#8217;Utt Arena me diriez-vous ? Il s&#8217;agit d&#8217;une LAN Party ou, pour faire plus &laquo;&nbsp;marketing&nbsp;&raquo;, un tournoi de jeux vidéo. Ce n&#8217;est pas la première fois que je m&#8217;investis dans ce projet car j&#8217;en avais été président en 2007 et 2008. Depuis, j&#8217;ai essentiellement aidé occasionnellement. Pour l&#8217;édition 2010, je me suis proposé avec l&#8217;aide d&#8217;un ami et d&#8217;un &laquo;&nbsp;nouveau&nbsp;&raquo; pour mettre en place et gérer la partie réseau de cette LAN.</p>
<p>Une LAN est un événement d&#8217;envergure dans lequel les joueurs ramènent chacun leur ordinateur. Le principal problème provient de ce fait. Il serait possible de croire que les joueurs ont des machines &laquo;&nbsp;de course&nbsp;&raquo; avec une installation (Windows, forcément) propre. La réalité est tout autre. Nous retrouvons les &laquo;&nbsp;versions&nbsp;&raquo; les plus exotiques de Windows remplies jusqu&#8217;aux oreilles de malware et d&#8217;applications non recommandables.</p>
<p>Lors des précédentes éditions, nous avons choisi la simplicité par manque de moyens matériels et humains. Tous les joueurs étaient disposés sur un même LAN (au sens IP du terme) avec un DHCP pour leur allouer des adresses IP automatiquement. L&#8217;inconvénient est que tous les ordinateurs pouvaient communiquer sans restriction. Dans de telles conditions, les partages de films interdits aux mineurs et la prolifération des malwares en tous genre sont optimaux.</p>
<p>De plus, il était quasiment impossible d&#8217;avoir une visibilité quelconque sur les différents flux échangés ainsi qu&#8217;une évaluation de la latence. Ah la latence, parlons-en. Les participants à une LAN ne jurent que par elle. Au dessus de 10 ms affichées par le jeu Counter-Strike, le réseau est considéré trop lent. Bien que des astuces soient possibles au niveau des serveurs de jeu afin d&#8217;optimiser l&#8217;affichage de cette latence, l&#8217;optimisation du réseau est primordiale.</p>
<p>Cette année, nous avons réussi à mettre la main sur une batterie d&#8217;équipements de sécurité robustes. Nous aurons à notre disposition 4 firewalls Cisco ASA 5510 ainsi que quelques routeurs Cisco 2800 Series. L&#8217;ajout d&#8217;intermédiaires de communication au niveau IP induira inéluctablement une latence supplémentaire. Cela nous permettra cependant de pouvoir réellement maitriser notre réseau et de bénéficier des fonctionnalités de QoS du Modular Policy Framework Cisco. Nous espérons sincèrement que cet ajout de latence sera minime au regard des avantages fournis par les fonctionnalités de ces équipements.</p>
<p>Ce billet est le premier d&#8217;une série de billets ayant pour objectif de détailler le processus de mise en place de cette architecture ainsi que des différents outils (open source, bien sur) d&#8217;évaluation des performances réseau. Elle sera clôturée par un retour d&#8217;expérience suite à l&#8217;événement qui aura lieu du 16 au 18 Avril. En attendant, je retourne éplucher les différentes documentations des ASA.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/03/architecture-reseau-dune-lan-party-introduction/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Livre sur la sécurité informatique : Menaces sur le réseau</title>
		<link>http://www.antoinebenkemoun.fr/2010/03/livre-sur-la-securite-informatique-menaces-sur-le-reseau/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/03/livre-sur-la-securite-informatique-menaces-sur-le-reseau/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 00:35:07 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Livres]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[livre]]></category>
		<category><![CDATA[OS]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=965</guid>
		<description><![CDATA[Cela faisait quelques temps que je ne vous avais pas recommandé de livre. La dernière fois remonte tout de même à Octobre avec le livre sur Xen. Cette fois-ci, je ne vous recommanderais pas un livre parlant de Xen ou même de virtualisation, mais plutôt de sécurité informatique.
J&#8217;ai pu emprunter ce livre deux semaines à [...]]]></description>
			<content:encoded><![CDATA[<p>Cela faisait quelques temps que je ne vous avais pas recommandé de livre. La dernière fois remonte tout de même à Octobre avec le <a href="http://www.antoinebenkemoun.fr/2009/10/nouveau-livre-sur-xen/">livre</a> sur Xen. Cette fois-ci, je ne vous recommanderais pas un livre parlant de Xen ou même de virtualisation, mais plutôt de sécurité informatique.</p>
<p>J&#8217;ai pu emprunter ce livre deux semaines à la <a href="http://www.universcience.fr/fr/bibliotheque-bsi">Bibliothèque des Sciences et de l&#8217;Industrie</a> située à l&#8217;intérieur de la Cité des Sciences. Je me suis tourné vers cette bibliothèque car il s&#8217;agissait de la plus proche de mon lieu de travail avant la reprise des cours. J&#8217;y ai cependant trouvé un large choix de livre récents traitant de nombreux sujets informatiques. J&#8217;avais plutôt été habitué aux livres poussiéreux des bibliothèques classiques. Je vous recommande donc ce lieu si vous passez dans le coin !</p>
<p>&laquo;&nbsp;Menaces sur le réseau&nbsp;&raquo; est un ouvrage traitant de la sécurité informatique au sens très large. Il a été écrit par un chercheur en sécurité informatique polonais qui explique les différents concepts avec une pédagogie exceptionnelle. Ce livre reprend rapidement les bases théoriques nécessaires à la compréhension des éléments techniques et vous explique différentes techniques d&#8217;attaques. Il est donc à lire si vous avez certaines bases en systèmes d&#8217;exploitation et en réseaux IP.</p>
<p style="text-align: center;"><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/03/menacesreseau.jpg"><img class="size-medium wp-image-967 aligncenter" title="menacesreseau" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/03/menacesreseau-300x300.jpg" alt="" width="198" height="198" /></a></p>
<p>Ce livre permet de comprendre plus concrètement le monde de la sécurité informatique. Un exemple est l&#8217;explication du fingerprinting de systèmes d&#8217;exploitation dont l&#8217;auteur semble particulièrement friant. Vous comprendez quelles sont les traces laissées par les systèmes d&#8217;exploitation dans tous les paquets IP qu&#8217;ils émettent. Un autre exemple est le fingerprinting d&#8217;OS en se basant uniquement sur les ID des paquets IP, ce qui est pour le moins créatif mais surtout impressionnant. Grâce à une analyse statique graphique, l&#8217;auteur arrive à démontrer la possibilité de cette technique, intimement liée au fait que les ID ne sont pas générés tout à fait aléatoirement.</p>
<p>Au final, ce livre est à lire absolument pour tous ceux qui souhaitent s&#8217;intéresser à la sécurité dans le domaine des systèmes d&#8217;exploitation et des réseaux et qui ont quelques bases dans ces domaines. Pour ceux qui souhaitent s&#8217;intéresser aux aspects &laquo;&nbsp;management&nbsp;&raquo; de la sécurité, passez votre chemin.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/03/livre-sur-la-securite-informatique-menaces-sur-le-reseau/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Dangers du cloud computing : la sécurité des données</title>
		<link>http://www.antoinebenkemoun.fr/2010/02/dangers-du-cloud-computing-la-securite-des-donnees/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/02/dangers-du-cloud-computing-la-securite-des-donnees/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 11:36:28 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Stockage]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=960</guid>
		<description><![CDATA[Ce billet fait suite aux précédents billets ayant pour objectif de présenter sur différents niveaux le cloud couputing. Je vais continuer cette série de billets en parlant des dangers liés à cette technologie.
Les dangers liés au cloud computing sont la conséquence directe de la dématérialisation des infrastructures physiques.
Tout d&#8217;abord, la première problématique est la localisation [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/01/v92.jpg"><img class="alignleft size-medium wp-image-885" title="v92" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/01/v92-190x300.jpg" alt="" width="133" height="210" /></a>Ce billet fait suite aux précédents billets ayant pour objectif de présenter sur différents niveaux le cloud couputing. Je vais continuer cette série de billets en parlant des dangers liés à cette technologie.</p>
<p>Les dangers liés au cloud computing sont la conséquence directe de la dématérialisation des infrastructures physiques.</p>
<p>Tout d&#8217;abord, la première problématique est la localisation des données. L&#8217;abstraction des infrastructures physiques rend la localisation de données spécifiques significativement plus compliquée. Cette incertitude induit une sécurité pas forcément amoindrie mais certainement considérablement complexifiée.</p>
<p>Cette première problématique est évidente dans le cas des clouds publics ou privés-publics. Le client des infrastructures de cloud computing accorde une confiance totale aux prestataires en lui livrant toutes ses données. Bien que la plupart des argumentaires commerciaux mettent en avant une sécurité des données et, le plus souvent, un chiffrement, il est impossible de vérifier cela. Le client devient spectateur de la sécurisation de ces données.</p>
<p>Nous pouvons faire une exception à cette problématique dans le cas de clouds privés-publics. Ce cloisonnement reste tout à fait relatif. Ce cloisonnement peut être, dans le cas d&#8217;infrastructures &laquo;&nbsp;bas de gamme&nbsp;&raquo; seulement un mécanisme réseau tel que les VLAN. Ce mécanisme peut difficilement être considéré en tant que mécanisme de cloisonnement de données efficace.</p>
<p>Dans le cas d&#8217;infrastructures &laquo;&nbsp;haut de gamme&nbsp;&raquo;, nous pouvons imaginer une architecture de type &laquo;&nbsp;cloud computing&nbsp;&raquo; exclusive à chaque client. Cette alternative se place dans le haut de gamme par le coût que cela engendre. Ce type d&#8217;offre permettrait, au passage, une plus grande flexibilité dans l&#8217;architecture à tous les niveaux.</p>
<p>Au final, la sécurité des données est une réelle problématique du cloud computing. Nous nous intéresserons plus tard aux problématiques d&#8217;interopérabilité des plateformes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/02/dangers-du-cloud-computing-la-securite-des-donnees/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Installation d&#8217;OpenVPN sur OpenSolaris</title>
		<link>http://www.antoinebenkemoun.fr/2010/01/installation-dopenvpn-sur-opensolaris/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/01/installation-dopenvpn-sur-opensolaris/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 15:58:37 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[Chiffrement]]></category>
		<category><![CDATA[Explication]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[VPN]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=889</guid>
		<description><![CDATA[Cela fait un bon bout de temps que je n&#8217;ai pas eu l&#8217;occasion de vous parler d&#8217;OpenSolaris. Le dernier article remonte même à mi-Novembre ! Je n&#8217;ai pas abandonné ni laissé tomber OpenSolaris, loin de là. La machine virtuelle hébergeant ce blog a été migrée sur OpenSolaris comme j&#8217;avais eu l&#8217;occasion de l&#8217;expliquer dans un [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/01/opensolaris.jpg"><img class="alignleft size-full wp-image-898" title="opensolaris" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/01/opensolaris.jpg" alt="" width="216" height="162" /></a>Cela fait un bon bout de temps que je n&#8217;ai pas eu l&#8217;occasion de vous parler d&#8217;OpenSolaris. Le <a href="http://www.antoinebenkemoun.fr/2009/11/configuration-reseau-dopensolaris/">dernier article</a> remonte même à mi-Novembre ! Je n&#8217;ai pas abandonné ni laissé tomber OpenSolaris, loin de là. La machine virtuelle hébergeant ce blog a été migrée sur OpenSolaris comme j&#8217;avais eu l&#8217;occasion de l&#8217;expliquer dans un <a href="http://www.antoinebenkemoun.fr/2009/10/installation-dopensolaris-2009-06-sur-xen/">article précédent</a>. Je vais donc profiter de ces quelques jours de vacances rallongées (hélas) pour vous parler de l&#8217;installation d&#8217;OpenVPN sur OpenSolaris.</p>
<p>Pour rappel, OpenVPN est une application qui permet de créer des tunnels VPN chiffrés afin d&#8217;y faire passser du trafic IP. Cette application est relativement simple à utiliser une fois qu&#8217;on a réussi à comprendre rapidement son fonctionnement. Je vous en avais déjà parlé à travers l&#8217;article sur <a href="http://www.antoinebenkemoun.fr/2009/07/un-client-openvpn-pour-mac-os-viscosity/">Viscosity</a>, client VPN pour MacOS. Si vous êtes intéressés par un tutoriel d&#8217;installation sous Linux, je vous renverrais vers l&#8217;excellent <a href="http://www.gayuxweb.fr/learn/openvpn">tutoriel</a> écrit par <a href="http://blog.louisdurufle.eu/">Smurf</a>.</p>
<h3>Pré-requis</h3>
<p>Afin de pouvoir installer OpenVPN sur OpenSolaris, il va vous falloir une installation fonctionnelle d&#8217;OpenSolaris. Logique, non ? Nous allons ensuite travailler avec les packages fournis par <a href="http://www.blastwave.org">Blastwave</a>. Il s&#8217;agit d&#8217;un dépot de paquets spécifiques de manière similaire au dépots Sun. L&#8217;avantage de Blastwave est que les paquets sont plus nombreux et plus récents. Le nom des paquets Blastwave commencent par CSW au lieu de SUNW pour les paquets Sun. Afin de pouvoir installer facilement des paquets Blastwave, il est nécessaire de récupérer et installer l&#8217;utilitaire d&#8217;installation pkgutil (sorte d&#8217;équivalent à apt-get).</p>
<blockquote><p># wget ftp://ftp.belnet.be/packages/blastwave.org/pkgutil_1.6.1_i386.pkg</p>
<p># pkgadd -d pkgutil_1.6.1_i386.pkg</p></blockquote>
<p>Une fois cette utilitaire installé, nous allons pouvoir installer le reste beaucoup plus simplement.</p>
<h3>Installation</h3>
<p>Tout d&#8217;abord, nous allons devoir récupérer et installer les modules tun et tap nécessaires pour le fonctionnement d&#8217;OpenVPN. Une fois que ces modules seront installés, nous allons pouvoir nous occuper d&#8217;OpenVPN. De manière similaire à apt-get, la récupération des binaires et leur installation est automatique.</p>
<blockquote><p># /opt/csw/bin/pkgutil -i tun tap<br />
# /opt/csw/bin/pkgutil -i openvpn</p></blockquote>
<p>L&#8217;installation de tous ces paquets se fait toute seule. Il sera juste peut être nécessaire de confirmer l&#8217;installation en tapant un simple &laquo;&nbsp;y&nbsp;&raquo;.</p>
<h3>Génération des certificats</h3>
<p>Une fois l&#8217;installation initiale des paquets terminée, nous allons nous attaquer à la génération des certificats. Nous allons tout d&#8217;abord créer le certificat racine de notre serveur OpenVPN. Le certificat racine est le certificat d&#8217;origine qui servira à signer tous les certifications délégués aux utilisateurs de notre concentrateur VPN.</p>
<blockquote><p># cd /etc/csw/openvpn/easy-rsa<br />
# source vars<br />
NOTE: when you run ./clean-all, I will be doing a rm -rf on /etc/csw/openvpn/easy-rsa/keys<br />
# ./clean-all<br />
# ./build-ca<br />
Generating a 1024 bit RSA private key<br />
.++++++<br />
&#8230;&#8230;&#8230;..++++++<br />
writing new private key to &#8216;ca.key&#8217;</p></blockquote>
<p>Un certain nombre de questions vous seront ensuite posées. Les réponses à ces questions permettront de pouvoir identifier plus clairement votre certificat racine. Rassurez-vous, il n&#8217;y a donc pas de mauvaise réponse. Une fois que vous aurez fini, vous remarquerez que deux nouveaux fichiers ont été créés : ca.crt et ca.key. Le fichier ca.key est à garder précieusement car c&#8217;est ce dernier qui permet de signer et de créer de nouveaux certificats donnant accès à votre concentrateur VPN. Nous allons ensuite créer le jeu de clés du serveur OpenVPN.</p>
<blockquote><p># ./build-key-server server<br />
Generating a 1024 bit RSA private key<br />
&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;++++++<br />
&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..++++++<br />
writing new private key to &#8217;server.key&#8217;</p></blockquote>
<p>Une fois le certificat du serveur créé, vous retrouverez les fichiers server.key et server.crt. Nous allons ensuite pouvoir créer les certificats de nos utilisateurs. Des informations vous seront également demandées sur l&#8217;utilisateur pour la création de certificat. Ces informations permettent d&#8217;identifier vos utilisateurs, vous avez donc tout intérêt à les remplir précisément.</p>
<blockquote><p># ./build-key antoine<br />
# ./build-key jeanmarc</p></blockquote>
<p>Afin d&#8217;achever la génération des certificats, nous allons devoir créer le paramètre de Diffie-Hellman. La génération peut prendre du temps surtout sur un processeur peu occupé.</p>
<blockquote><p>/etc/csw/openvpn/easy-rsa# ./build-dh<br />
Generating DH parameters, 1024 bit long safe prime, generator 2<br />
This is going to take a long time</p></blockquote>
<h3>Configuration d&#8217;OpenVPN</h3>
<p>Tout d&#8217;abord, nous allons devoir rendre accessible au service les différents certificats dont il va avoir besoin.</p>
<blockquote><p># cd /etc/csw/openvpn<br />
# /etc/csw/openvpn# cp openvpn.conf.CSW openvpn.conf<br />
# /etc/csw/openvpn# ln -s easy-rsa/keys/dh1024.pem<br />
# /etc/csw/openvpn# ln -s easy-rsa/keys/server.crt<br />
# /etc/csw/openvpn# ln -s easy-rsa/keys/server.key<br />
# /etc/csw/openvpn# ln -s easy-rsa/keys/ca.crt</p></blockquote>
<p>Il est nécessaire ensuite de renseigner les différentes informations dans le fichier de configuration d&#8217;OpenVPN. Je ne parlerais pas de ce fichier en détail ici car d&#8217;autres sites le font déjà et bien mieux que moi. Les lignes importantes sont les suivantes. L&#8217;utilisation de TCP pour un VPN est sous-optimal mais permet de contourner une bonne partie des firewalls associé avec le port 443 (HTTPS).</p>
<blockquote><p>port 443<br />
proto tcp<br />
dev tun<br />
ca ca.crt<br />
cert server.crt<br />
key server.key<br />
dh dh1024.pem<br />
server 172.19.0.0 255.255.255.0</p></blockquote>
<p>Ensuite, vous allez pouvoir tester votre paramétrage en exécutant le service OpenVPN.</p>
<blockquote><p># ifconfig tun0 unplumb<br />
# /opt/csw/sbin/openvpn /etc/csw/openvpn/openvpn.conf</p></blockquote>
<p>L&#8217;affichage des logs sera fera directement sur votre écran ce qui vous permettra de diagnostiquer d&#8217;éventuelles erreurs de configurations ou de connexion. Et ensuite, pour lancer définitivement le démon :</p>
<blockquote><p># ifconfig tun0 unplumb &amp;&amp; /etc/init.d/openvpn start</p></blockquote>
<p>Au final, ce petit tutoriel vous permettra de créer un tunnel OpenVPN afin de pouvoir communiquer avec votre serveur de manière sécurisée. Je ferais un autre billet expliquant les manipulations supplémentaires pour passer toute sa connexion Internet dans ce même VPN. Ce tutoriel est largement inspiré d&#8217;un autre <a href="http://www.higherpass.com/opensolaris/Tutorials/Installing-And-Configuring-Openvpn-In-Opensolaris/2/">tutoriel</a> en anglais.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/01/installation-dopenvpn-sur-opensolaris/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cloisonnement d’un réseau à l’aide de VRF : BGP</title>
		<link>http://www.antoinebenkemoun.fr/2009/12/cloisonnement-d%e2%80%99un-reseau-a-l%e2%80%99aide-de-vrf-bgp/</link>
		<comments>http://www.antoinebenkemoun.fr/2009/12/cloisonnement-d%e2%80%99un-reseau-a-l%e2%80%99aide-de-vrf-bgp/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 14:56:47 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Explication]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=828</guid>
		<description><![CDATA[Tout d&#8217;abord, je souhaite vous souhaiter de bonnes fêtes car c&#8217;est la période de l&#8217;année habituelle pour le faire. J&#8217;espère également que le père Noël aura été généreux en jouets et gadgets électroniques de tous genres. Je vais profiter de cette journée calme au travail afin de vous écrire le dernier épisode de cette série [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/07/stepfinal2.png"><img class="alignleft size-full wp-image-285" title="stepfinal2" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/07/stepfinal2.png" alt="" width="139" height="139" /></a>Tout d&#8217;abord, je souhaite vous souhaiter de bonnes fêtes car c&#8217;est la période de l&#8217;année habituelle pour le faire. J&#8217;espère également que le père Noël aura été généreux en jouets et gadgets électroniques de tous genres. Je vais profiter de cette journée calme au travail afin de vous écrire le dernier épisode de cette série d&#8217;article.</p>
<h3>Rappel des épisodes précédents</h3>
<p>Dans le <a href="http://www.antoinebenkemoun.fr/2009/11/cloisonnement-dun-reseau-a-laide-de-vrf-introduction/">premier épisode</a>, je vous ai présenté l&#8217;architecture réseau qui avait été mise en place ainsi que les équipements. Nous avons également vu l&#8217;objectif que nous cherchions à atteindre. Pour rappel, l&#8217;objectif était de faire du cloisonnement de réseaux tout en gardant la possibilité de partager des routes entre ces réseaux. C&#8217;est pour cela que nous avions choisi d&#8217;utiliser les VRF.</p>
<p>Dans le <a href="http://www.antoinebenkemoun.fr/2009/12/cloisonnement-d%e2%80%99un-reseau-a-l%e2%80%99aide-de-vrf-mise-en-place/">second épisode</a>, nous avons fait la création des VRF ainsi que la configuration IP des interfaces associées.</p>
<h3>Protocole de routage : BGP</h3>
<p>A la suite de ces deux épisodes précédents, nous avons une configuration IP basique. Afin d&#8217;atteindre l&#8217;objectif que nous nous étions fixé, il va être nécessaire de partager les routes entre les différentes VRF. Il ne suffira pas de partager toutes les routes à tout le monde car dans ce cas-là les VRF n&#8217;aura pas grand intérêt. Nous allons propager les routes de manière sélective.</p>
<p>Le protocole de routage permettant de propager les routes de manière très sélective parmi des VRF est le BGP. Ce protocole de routage ne sert pas uniquement à cela, loin de là. Le BGP est entre autre le protocole de routage utilisé par tous les routeurs de bordure d&#8217;Internet afin de propager la totalité des routes de l&#8217;Internet. Nous en utiliserons qu&#8217;une petite fonctionnalité dans le cas présent.</p>
<p>Afin de pouvoir propager les routes de manière sélective, il va être nécessaire de se baser sur un critère de sélection. Vous vous rappelez surement des &laquo;&nbsp;Route Distinguisher&nbsp;&raquo; ou RD. Les RD sont une sorte d&#8217;étiquettes appliquée aux routes d&#8217;une VRF spécifique. Nous allons donc pouvoir choisir les routes que nous propagerons et celles que nous propagerons pas.</p>
<p>Le schéma suivant récapitule les échanges de routes que nous allons effectuer.</p>
<p style="text-align: center;"><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/12/importexport.png"><img class="size-full wp-image-833 aligncenter" title="importexport" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/12/importexport.png" alt="" width="322" height="235" /></a></p>
<h3>Configuration des VRF</h3>
<p>Nous allons donc configurer les VRF avec les import / export que nous avons défini dans le schéma ci-dessus. La configuration des VRF est assez explicite. Je ne pense pas qu&#8217;il soit possible de détailler plus que cela.</p>
<blockquote><p>ROUTEUR2(config)# ip vrf client1</p>
<p>ROUTEUR2(config-vrf)# route-target export 200:1</p>
<p>ROUTEUR2(config-vrf)# route-target import 100:1</p>
<p>ROUTEUR2(config-vrf)# route-target import 400:1</p>
<p>ROUTEUR2(config)# ip vrf client2</p>
<p>ROUTEUR2(config-vrf)# route-target export 300:1</p>
<p>ROUTEUR2(config-vrf)# route-target import 100:1</p>
<p>ROUTEUR2(config-vrf)# route-target import 400:1</p>
<p>ROUTEUR2(config)# ip vrf prod</p>
<p>ROUTEUR2(config-vrf)# route-target export 100:1</p>
<p>ROUTEUR2(config-vrf)# route-target import 200:1</p>
<p>ROUTEUR2(config-vrf)# route-target import 300:1</p>
<p>ROUTEUR2(config-vrf)# route-target import 400:1</p>
<p>ROUTEUR2(config)# ip vrf interco</p>
<p>ROUTEUR2(config-vrf)# route-target export 400:1</p>
<p>ROUTEUR2(config-vrf)# route-target import 100:1</p>
<p>ROUTEUR2(config-vrf)# route-target import 200:1</p>
<p>ROUTEUR2(config-vrf)# route-target import 300:1</p></blockquote>
<h3>Configuration du BGP</h3>
<p>Nous allons maintenant configurer le BGP afin de faire la distribution de route que nous souhaitons. Dans le cadre de la configuration de BGP, il sera nécessaire de définir une &laquo;&nbsp;address-family&nbsp;&raquo; par VRF. Une &laquo;&nbsp;address-family&nbsp;&raquo; est un groupe de configuration qui va permettre d&#8217;appliquer des directives spécifiques à un groupe de routes.</p>
<blockquote><p>ROUTEUR2(config)# router bgp 1</p>
<p>ROUTEUR2(config-router)# no auto-summary</p>
<p>ROUTEUR2(config-router)# address-family ipv4 vrf prod</p>
<p>ROUTEUR2(config-router-af)# redistribute connected</p>
<p>ROUTEUR2(config-router-af)# synchronization</p>
<p>ROUTEUR2(config-router)# address-family ipv4 vrf interco</p>
<p>ROUTEUR2(config-router-af)# redistribute connected</p>
<p>ROUTEUR2(config-router-af)# redistribute static</p>
<p>ROUTEUR2(config-router-af)# synchronization</p>
<p>ROUTEUR2(config-router)# address-family ipv4 vrf client1</p>
<p>ROUTEUR2(config-router-af)# redistribute connected</p>
<p>ROUTEUR2(config-router-af)# synchronization</p>
<p>ROUTEUR2(config-router)# address-family ipv4 vrf client2</p>
<p>ROUTEUR2(config-router-af)# redistribute connected</p>
<p>ROUTEUR2(config-router-af)# synchronization</p></blockquote>
<p>Cette configuration va nous permettre donc de propager les routes entre nos VRF. La prise en compte des modifications n&#8217;est pas forcément instantanée et peut prendre quelques minutes. Une fois le BGP configuré de cette sorte, il ne nous manque plus qu&#8217;une route : la route par défaut. Le BGP n&#8217;est pas un protocole réfléchi pour propager des routes par défaut. Il est cependant possible de lui forcer la main pour qu&#8217;il le fasse tout de même.</p>
<blockquote><p>ROUTEUR2(config)# router bgp 1</p>
<p>ROUTEUR2(config)# default-information originate</p>
<p>ROUTEUR2(config-router)# address-family ipv4 vrf interco</p>
<p>ROUTEUR2(config-router)# default-information originate</p></blockquote>
<p>Vous devriez voir toutes les routes appropriées dans les bonnes VRF. Les VRF clientes doivent donc avoir les routes vers les réseaux de prod et d&#8217;interco mais pas l&#8217;autre client. Les VRF d&#8217;interco et de prod doivent avoir une route vers l&#8217;un, l&#8217;autre et les VRF clientes.</p>
<p>Cet article clot la série des billets sur le cloisonnement de réseaux par le biais des VRF Cisco. Je vous ai uploadé les configuration que j&#8217;ai fait : <a href="http://www.tekevo.net/routeur1.txt" class="broken_link" rel="nofollow">Routeur1</a> &amp; <a href="http://www.tekevo.net/routeur2.txt" class="broken_link" rel="nofollow">Routeur2</a>.  Si vous avez des questions ou que vous pensez qu&#8217;il y a des imprécisions, n&#8217;hésitez pas à me le signaler par le biais des commentaires. J&#8217;espère que ce tutoriel vous aura été utile.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2009/12/cloisonnement-d%e2%80%99un-reseau-a-l%e2%80%99aide-de-vrf-bgp/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
