<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Highersecurity's blog</title>
	<atom:link href="http://highersecurity.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://highersecurity.wordpress.com</link>
	<description>Et si on parlait sécurité ?</description>
	<lastBuildDate>Thu, 28 Feb 2008 16:39:48 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='highersecurity.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Highersecurity's blog</title>
		<link>http://highersecurity.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://highersecurity.wordpress.com/osd.xml" title="Highersecurity&#039;s blog" />
	<atom:link rel='hub' href='http://highersecurity.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Configuration de L2TP</title>
		<link>http://highersecurity.wordpress.com/2008/02/20/configuration-de-l2tp/</link>
		<comments>http://highersecurity.wordpress.com/2008/02/20/configuration-de-l2tp/#comments</comments>
		<pubDate>Wed, 20 Feb 2008 10:48:55 +0000</pubDate>
		<dc:creator>highersecurity</dc:creator>
				<category><![CDATA[VPN]]></category>
		<category><![CDATA[IPSec]]></category>
		<category><![CDATA[L2TP]]></category>

		<guid isPermaLink="false">http://highersecurity.wordpress.com/?p=11</guid>
		<description><![CDATA[Nous allons maintenant détailler la mise en œuvre d&#8217;un tunnelde niveau 2 avec le protocole L2TP. Pour cela, il faut préalablement installer le logiciel Xl2tp. Sa configuration prendra en compte une authentification de l&#8217;utilisateur à l&#8217;aide d&#8217;un serveur Radius dont la configuration a été détaillée ici. La configuration de Xl2tp se fait dans le fichier [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highersecurity.wordpress.com&amp;blog=2366944&amp;post=11&amp;subd=highersecurity&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Nous allons maintenant détailler la mise en œuvre d&#8217;un tunnelde niveau 2 avec le protocole <b>L2TP</b>. Pour cela, il faut préalablement installer le logiciel Xl2tp. Sa configuration prendra en compte une authentification de l&#8217;utilisateur à l&#8217;aide d&#8217;un serveur Radius dont la configuration a été détaillée <a href="http://highersecurity.wordpress.com/2007/12/21/configuration-de-radius/" target="_blank">ici</a>.</p>
<p>La configuration de Xl2tp se fait dans le fichier <font color="#3366ff"><i>/etc/xl2tpd.conf</i></font>.</p>
<p><b>Serveur :</b></p>
<p><i><font color="#3366ff"> [global]<br />
</font><font color="#000000"><br />
# port d&#8217;écoute</font></i><i><font color="#3366ff"><br />
port = 1701</font></i></p>
<p><i><font color="#3366ff"><font color="#000000"># Adresse IP de l&#8217;interface d&#8217;écoute</font><br />
listen-addr = 82.241.148.190</font></i></p>
<p><i><font color="#3366ff">[lns default]<br />
<font color="#000000"> # Plage d&#8217;adresses libres attribuées aux clients</font><br />
ip range = 192.168.0.64-192.168.0.70</font></i></p>
<p><i><font color="#3366ff"><font color="#000000"># IP de l&#8217;interface virtuelle</font><br />
local ip = 192.168.0.63</font></i></p>
<p><i><font color="#3366ff"><font color="#000000"># Règles d&#8217;authentification</font><br />
require chap = yes<br />
refuse pap = yes<br />
require authentication = yes<br />
ppp debug = yes</font></i></p>
<p><i><font color="#3366ff"><font color="#000000"># Fichier de configuration de PPP</font><br />
pppoptfile = /etc/ppp/options.l2tpd<br />
length bit = yes</font></i></p>
<p><b> Configuration de <i><font color="#3366ff">/etc/ppp/options.l2tpd :</font></i></b></p>
<p><font color="#3366ff"><i>ipcp-accept-local<br />
ipcp-accept-remote<br />
noipdefault<br />
require-chap<br />
connect-delay 5000<br />
noccp<br />
noauth<br />
idle 1800<br />
mtu 1410<br />
mru 1410<br />
nodefaultroute<br />
debug<br />
lock<br />
proxyarp<br />
</i></font></p>
<p><font color="#000000"><i># Commenter si vous n&#8217;utilisez pas de serveur Radius</i></font><br />
<font color="#3366ff"><i>plugin radius.so</i></font><br />
Dans le cas où vous n&#8217;utilisez pas de serveur Radius, vous pouvez stocker les identifiants dans le fichier <font color="#3366ff"><i>/etc/ppp/chap-secret</i></font> pour une authentification chap.</p>
<p><font color="#3366ff"><i>toto    *  &#8220;montsupermotdepasse&#8221; *</i></font></p>
<p><b>Pour lancer le démon :</b> <font color="#3366ff"><i>xl2tpd -c /etc/xl2tpd/xl2tpd.conf -D</i></font></p>
<p><b>Client :</b></p>
<p>La configuration est sensiblement la même.</p>
<p><font color="#3366ff"><i>[global]<br />
listen-addr =<font color="#000000"> IP de l&#8217;interface d&#8217;écoute (l&#8217;IP publique dans la plupart des cas)<br />
</font> </i></font></p>
<p><font color="#000000"><i># port utilisé</i></font><br />
<font color="#3366ff"><i>port = 1701</i></font></p>
<p><font color="#3366ff"><i>[lac L2TP]<br />
lns = IP du serveur distant<br />
require chap = yes<br />
refuse pap = yes<br />
require authentication = yes<br />
</i></font></p>
<p><font color="#000000"><i># l&#8217;identifiant de l&#8217;utilisateur     </i></font><br />
<font color="#3366ff"><i>name = toto<br />
ppp debug = yes<br />
pppoptfile = /etc/ppp/options.l2tpd.client<br />
length bit = yes</i></font></p>
<p><b>Configuration de  <font color="#3366ff"><i> /etc/ppp/options.l2tpd.client :</i></font></b></p>
<p><font color="#3366ff"><i>ipcp-accept-local<br />
ipcp-accept-remote<br />
noipdefault<br />
noccp<br />
auth <font color="#000000"># authentification requise</font><br />
idle 1800<br />
mtu 1410<br />
mru 1410<br />
nodefaultroute<br />
debug<br />
lock<br />
proxyarp<br />
connect-delay 5000 </i></font></p>
<p>Le login et  Le mot de passe de l&#8217;utilisateur sont dans le fichier <i><font color="#3366ff">/etc/ppp/chap-secrets</font></i></p>
<p><i><font color="#3366ff">toto    * &#8220;monsupermotdepasse&#8221; * </font></i></p>
<p>La configuration est terminée.</p>
<p><b>Pour lancer le démon :</b> <font color="#3366ff"><i>xl2tpd -c /etc/xl2tpd/xl2tpd.conf -D</i></font></p>
<p><b>Pour lancer la connexion : </b><i><font color="#3366ff">echo &#8220;c L2TP&#8221; &gt; /var/run/xl2tpd/l2tp-control</font></i></p>
<p><b>Pour se déconnecter : </b><font color="#3366ff"><i>echo &#8220;d L2TP&#8221; &gt; /var/run/xl2tpd/l2tp-control</i></font></p>
<p>Où L2TP est le nom donné dans le fichier <i><font color="#3366ff">xl2tp.conf</font></i></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/highersecurity.wordpress.com/11/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/highersecurity.wordpress.com/11/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/highersecurity.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/highersecurity.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/highersecurity.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/highersecurity.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/highersecurity.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/highersecurity.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/highersecurity.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/highersecurity.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/highersecurity.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/highersecurity.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/highersecurity.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/highersecurity.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/highersecurity.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/highersecurity.wordpress.com/11/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highersecurity.wordpress.com&amp;blog=2366944&amp;post=11&amp;subd=highersecurity&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://highersecurity.wordpress.com/2008/02/20/configuration-de-l2tp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d3bb01ff06ef2ce83c530413fe914dea?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">highersecurity</media:title>
		</media:content>
	</item>
		<item>
		<title>Configuration de IPSec</title>
		<link>http://highersecurity.wordpress.com/2008/01/20/10/</link>
		<comments>http://highersecurity.wordpress.com/2008/01/20/10/#comments</comments>
		<pubDate>Sun, 20 Jan 2008 09:26:05 +0000</pubDate>
		<dc:creator>highersecurity</dc:creator>
				<category><![CDATA[VPN]]></category>
		<category><![CDATA[Certificats]]></category>
		<category><![CDATA[IPSec]]></category>
		<category><![CDATA[L2TP]]></category>
		<category><![CDATA[Strongswan]]></category>

		<guid isPermaLink="false">http://highersecurity.wordpress.com/2008/01/20/10/</guid>
		<description><![CDATA[Nous avons vu précédemment la configuration de OpenVPN en détail. Mais OpenVPN utilise SSL qui est au niveau 4 de la couche OSI. Il existe un autre type de VPN beaucoup plus sécuritaire (niveau 2 &#38; 3) : L2TP/IPSec. Par contre, ce type de VPN n&#8217;est pas très adapté pour les accès nomades car des [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highersecurity.wordpress.com&amp;blog=2366944&amp;post=10&amp;subd=highersecurity&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Nous avons vu précédemment la configuration de OpenVPN en détail. Mais OpenVPN utilise SSL qui est au niveau 4 de la couche OSI. Il existe un autre type de VPN beaucoup plus sécuritaire (niveau 2 &amp; 3) : <b>L2TP/IPSec</b>.</p>
<p>Par contre, ce type de VPN n&#8217;est pas très adapté pour les accès nomades car des firewalls ou autre dispositifs de filtrage peuvent bloquer ces accès. Contrairement à OpenVPN qui utilise le port 443,  L2TP/IPSec nécessite que certains ports spécifiques soient ouverts. C&#8217;est pour cette raison que ces VPN sont souvent utilisés pour relier deux sites.</p>
<p>Voyons néanmoins sa configuration  avec une authentification Radius, réalisée précédemment.</p>
<p>Nous avons utilisé le logiciel <b>Strongswan</b>, qui est une implémentation de IPSec pour Linux et qui support IKEv2. Ce dernier réduit le nombre d&#8217;échanges pour la gestion des clés et utilise notamment le NAT traversal pour passer le nattage.</p>
<p>Après avoir installer le paquet nous allons voir  la configuration de IPSec.</p>
<p><b>Côté serveur : </b></p>
<p>Il faut copier les certificats créés <a href="http://highersecurity.wordpress.com/2007/12/21/certificats/">ici </a>dans le dossier <i><font color="#3366ff">/etc/ipsec.d</font></i></p>
<p>Certificat du serveur : <font color="#3366ff"><i>RAS.pem</i></font><i><font color="#3366ff"><i><font color="#3366ff"> </font></i></font></i><font color="#000000">dans</font><i><font color="#3366ff"><i><font color="#3366ff"> /etc/ipsec.d/certs/</font></i></font></i></p>
<p>Certificat de l&#8217;autorité : <i><font color="#3366ff">caCertif.pem</font></i> dans <i><font color="#3366ff">/etc/ipsec.d/cacerts/</font></i></p>
<p>Clé privée (avec les droits root) : <font color="#3366ff"><i>RAS.key</i></font> dans <i><font color="#3366ff">/etc/ipsec.d/private/</font></i></p>
<p>Modifier votre fichier <i><font color="#3366ff">/etc/ipsec.secrets</font></i> qui va contenir votre mot de passe de la clé secrète.</p>
<p><i><font color="#3366ff">: RSA /etc/ipsec.d/private/RAS.key &#8220;votremotdepasse&#8221; </font></i></p>
<p>Passons à la configuration de <i><font color="#3366ff">/etc/ipsec.conf </font></i>proprement  dite :<br />
<font color="#3366ff"><i>version 2<br />
config setup</i></font></p>
<p><i># active le nat traversal</i><br />
<font color="#3366ff"><i>nat_traversal=yes </i></font></p>
<p><font color="#3366ff"><i><tt>conn L2TP</tt><br />
authby=secret<br />
pfs=no<br />
rekey=no<br />
keyingtries=3</i></font></p>
<p><tt><font color="#3366ff"><font color="#000000"><i># defaultroute est la route par défaut. Dans le cas où la passerelle dispose de plusieurs interfaces, il faut remplacer defaultroute par l'interface correspondante.</i><br />
</font> </font><i><font color="#3366ff">                                                                                                               left=%defaultroute<br />
leftprotoport=17/1701</font></i>     </tt></p>
<p><tt></tt><br />
<tt><i> # Si on autorise la connexion que d'une seule IP.</i><br />
<i><font color="#3366ff"># right= IP</font></i></tt></p>
<p><tt><i># Connexion de n'importe quelle adresse IP<br />
<font color="#3366ff">right=%any<br />
rightprotoport=17/%any<br />
</font></i></tt></p>
<p># adresse du sous réseau<br />
<font color="#3366ff"><i>leftsubnet=192.168.0.0/24<br />
<font color="#3366ff"></font></i></font></p>
<p><font color="#3366ff"><i><font color="#000000"> # On active la configuration.</font><font color="#3366ff"><br />
auto=add</font></i></font></p>
<p><font color="#000000"><b>Côté client : </b></font></p>
<p><font color="#000000">La procédure est la même que pour le serveur :</font></p>
<p><font color="#3366ff"><font color="#000000">Certificat du client : </font><font color="#3366ff"><i>clientCertif.pem</i></font><i><font color="#3366ff"><i><font color="#3366ff"> </font></i></font></i><font color="#000000">dans</font><i><font color="#3366ff"><i><font color="#3366ff"> /etc/ipsec.d/certs/</font></i></font></i></font></p>
<p><font color="#3366ff"><font color="#000000">Certificat de l&#8217;autorité : </font><i><font color="#3366ff">caCertif.pem</font></i> <font color="#000000">dans</font> <i><font color="#3366ff">/etc/ipsec.d/cacerts/</font></i></font></p>
<p><font color="#3366ff"><font color="#000000">Clé privée (avec les droits root) :</font><font color="#3366ff"><i> client.key</i></font> <font color="#000000">dans</font> <i><font color="#3366ff">/etc/ipsec.d/private/</font></i></font></p>
<p><font color="#000000">Comme pour le serveur :</font></p>
<p><font color="#000000">Modifier votre fichier <i>/etc/ipsec.secrets</i> qui va contenir votre mot de passe de la clé secrète.</font></p>
<p><font color="#3366ff"><i><font color="#3366ff">: RSA /etc/ipsec.d/private/client.key &#8220;votremotdepasse&#8221; </font></i></font></p>
<p><font color="#000000">Fichier <span style="color:#3366ff;">/etc/ipsec.conf </span>:</font></p>
<p style="color:#3366ff;font-style:italic;"><font color="#3366ff">version    2.0<br />
config setup<br />
nat_traversal=yes</font></p>
<p style="color:#3366ff;font-style:italic;"><font color="#3366ff">    <span style="color:#000000;"># L&#8217; interface ppp0 est l&#8217;interface relié à Internet.</span><br />
interfaces=&#8221;ipsec0=ppp0&#8243;</font></p>
<p style="color:#3366ff;font-style:italic;"><b><font color="#000000"><span style="color:#000000;"># connection IPSec Pur</span></font></b><font color="#3366ff"><br />
conn ipsec<br />
left=IP du client</font></p>
<p style="color:#3366ff;font-style:italic;"><font color="#3366ff"> <span style="color:#000000;">  # nom du certificat du client</span><br />
leftcert=client.pem</font></p>
<p><font color="#3366ff">  <span style="color:#000000;"> # IP distante du serveur</span><br />
<i>right=IPDistante</i></font></p>
<p><font color="#000000"># adresse du sous réseau distant</font><br />
<font color="#3366ff"><font color="#3366ff"><i>rightsubnet=192.168.0.0/24</i></font></font></p>
<p style="color:#3366ff;font-style:italic;"><font color="#3366ff"><i><span style="color:#000000;">   # Champ du certificat</span></i><br />
<i>rightid=&#8221;C=FR, ST=France, O=M2IRCOMS, OU=Serveur, CN=Serveur&#8221;</i><br />
</font><br />
<span style="color:#3366ff;font-style:italic;"><font color="#3366ff">   <span style="color:#000000;"></span></font></span><font color="#3366ff"><span style="color:#3366ff;font-style:italic;">auto=add</span></font><br />
<span style="color:#3366ff;font-style:italic;"></span><font color="#3366ff"><br />
<b><font color="#000000"><span style="font-style:italic;"># Connection avec L2TP</span></font></b><br />
conn l2tp<br />
left=IPDistante                                                                                                                                                                                                  leftcert=client.pem<br />
leftprotoport=17/1701<br />
right=IPServeur<br />
<font color="#3366ff"><i>rightsubnet=192.168.0.0/24</i></font><br />
rightid=&#8221;C=FR, ST=France, O=M2IRCOMS, OU=Serveur, CN=Serveur&#8221;<br />
rightprotoport=17/1701<br />
auto=add</font></p>
<p><font color="#000000">Il faut relancer IPSec sur le serveur et le client. Sur le client, tapez <span style="color:#3366ff;font-style:italic;">ipsec up l2tp</span> ou <span style="font-style:italic;color:#3366ff;">ipsec up ipsec</span> pour établir la connection.</font></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/highersecurity.wordpress.com/10/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/highersecurity.wordpress.com/10/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/highersecurity.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/highersecurity.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/highersecurity.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/highersecurity.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/highersecurity.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/highersecurity.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/highersecurity.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/highersecurity.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/highersecurity.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/highersecurity.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/highersecurity.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/highersecurity.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/highersecurity.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/highersecurity.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highersecurity.wordpress.com&amp;blog=2366944&amp;post=10&amp;subd=highersecurity&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://highersecurity.wordpress.com/2008/01/20/10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d3bb01ff06ef2ce83c530413fe914dea?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">highersecurity</media:title>
		</media:content>
	</item>
		<item>
		<title>Configuration de OpenVPN</title>
		<link>http://highersecurity.wordpress.com/2008/01/03/configuration-de-openvpn/</link>
		<comments>http://highersecurity.wordpress.com/2008/01/03/configuration-de-openvpn/#comments</comments>
		<pubDate>Thu, 03 Jan 2008 14:56:55 +0000</pubDate>
		<dc:creator>highersecurity</dc:creator>
				<category><![CDATA[VPN]]></category>
		<category><![CDATA[OpenVPN]]></category>
		<category><![CDATA[Radius]]></category>

		<guid isPermaLink="false">http://highersecurity.wordpress.com/2008/01/03/configuration-de-openvpn/</guid>
		<description><![CDATA[Une fois OpenVPN installé, passons à sa configuration. Je rappelle que la configuration détaillée ci-dessous comprend une authentification forte de type Radius. Il faut auparavant créer une clé de 2048 pour l&#8217;échange Diffie-Hellman (uniquement sur le serveur). openssl dhparam -out dh 2048.pem 2048 On peut utiliser un mécanisme de sécurité supplémentaire nommé tls-auth. Cela protège [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highersecurity.wordpress.com&amp;blog=2366944&amp;post=6&amp;subd=highersecurity&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Une fois OpenVPN installé, passons à sa configuration. Je rappelle que la configuration détaillée ci-dessous comprend une authentification forte de type Radius.</p>
<p>Il faut auparavant créer une clé de 2048 pour l&#8217;échange Diffie-Hellman (uniquement sur le serveur).</p>
<p><i><font color="#3366ff">openssl dhparam -out dh 2048.pem 2048</font></i></p>
<p>On peut utiliser un mécanisme de sécurité supplémentaire nommé <span style="font-weight:bold;">tls-auth</span>. Cela protège contre ls attaques DoS, le flooding du port UDP, du scan de ports  pour découvrir le port d&#8217;écoute sur le serveur et des vulnérabilités du buffer overflow.</p>
<p>Pour cela, il suffit de créer une clé sur le serveur et le client et de la mettre dans /etc/openvpn/:</p>
<p style="color:#3366ff;font-style:italic;">openvpn &#8211;genkey &#8211;secret ta.key</p>
<p> Ensuit, il faut ajouter dans le fichier de configuration :</p>
<p><span style="font-style:italic;color:#3366ff;">tls-auth ta.key 0</span> pour le serveur;</p>
<p><span style="font-style:italic;color:#3366ff;">tls-auth ta.key 1 </span><span style="color:#3366ff;"><span style="color:#000000;">pour le client.</span></span></p>
<p>Voici le fichier de configuration détaillé pour le <b>serveur</b> :</p>
<p><font color="#3366ff"><i><font color="#000000"># port et protocole d&#8217;openvpn</font><br />
port 443<br />
proto udp</i></font></p>
<p><font color="#3366ff"><i><font color="#000000"># tunnel de niveau 2</font><br />
dev tap</i></font></p>
<p><font color="#3366ff"><i><font color="#000000"># clés et certificats du serveur et de l&#8217;autorité</font><br />
ca </i></font><i><font color="#3366ff"><i><font color="#3366ff">caCertif.pem</font></i></font></i><br />
<font color="#3366ff"><i> cert RAS.pem<br />
key RAS.key</i></font></p>
<p><font color="#3366ff"><i><font color="#000000"># fonction PFS avec Diffie Hellman</font><br />
dh dh2048.pem<br />
</i></font></p>
<p><font color="#3366ff"><i><font color="#000000"># authentification tls<br />
</font></i></font><span style="font-style:italic;color:#3366ff;">tls-auth ta.key 0</span></p>
<p><span style="font-style:italic;color:#3366ff;"></span><font color="#3366ff"><i><font color="#000000"># plage d&#8217;adresses pour les clients</font><br />
server 10.8.0.0 255.255.255.0</i></font></p>
<p><i> # routage</i><br />
<i><font color="#3366ff">push &#8220;route 192.168.0.0 255.255.255.0&#8243;</font></i></p>
<p><i># défini la route par défaut<br />
<font color="#3366ff">push &#8220;redirect-gateway def1</font></i></p>
<p><font color="#3366ff"><i>ifconfig-pool-persist ipp.txt</i></font></p>
<p><font color="#3366ff"><i><font color="#000000"># on utilise le même certificat pour tous les clients</font><br />
duplicate-cn</i></font></p>
<p><font color="#3366ff"><i>keepalive 10 120</i></font></p>
<p><font color="#3366ff"><i><font color="#000000"># compression</font><br />
comp-lzo</i></font></p>
<p><font color="#3366ff"><i>user nobody<br />
group nogroup<br />
persist-key<br />
persist-tun<br />
status openvpn-status.log<br />
verb 3</i></font></p>
<p><font color="#3366ff"><i><font color="#000000"># authentification radius</font><br />
plugin /usr/lib/openvpn/openvpn-auth-pam.so openvpn<br />
username-as-common-name</i></font></p>
<p>Pour le <b>client</b>, la configuration est sensiblement la même :</p>
<p><font color="#000000"><i># fonctionnement en mode client</i></font><br />
<i><font color="#3366ff">client</font></i></p>
<p><i><font color="#3366ff"><font color="#000000"># interface de niveau 2</font><br />
dev tap<br />
proto udp</font></i></p>
<p><i><font color="#3366ff"><font color="#000000"># adresse IP du serveur</font><br />
remote IPDistante<br />
resolv-retry infinite<br />
nobind<br />
persist-key<br />
persist-tun</font></i></p>
<p><i><font color="#3366ff"><font color="#000000"># clés et certificats</font><br />
ca </font></i><i><font color="#3366ff"><i><font color="#3366ff">caCertif.pem</font></i></font></i><br />
<i><font color="#3366ff"> cert </font></i><i><font color="#3366ff"><i><font color="#3366ff">clientCertif.pem</font></i></font></i><br />
<i><font color="#3366ff"> key client.key</font></i></p>
<p><font color="#3366ff"><i><font color="#000000"># authentification tls<br />
</font></i></font><span style="font-style:italic;color:#3366ff;">tls-auth ta.key 1</span></p>
<p><i><font color="#3366ff">comp-lzo<br />
verb 1</font></i></p>
<p><i># authentification Radius </i><br />
<i><font color="#3366ff">auth-user-pass </font></i></p>
<p>Il faut penser à relancer OpenVPN sur le serveur et client et lors de la connexion du client, un login et mot de passe sera demandé ainsi que le mot de passe pour la clé secrète. Avec cette configuration, l&#8217;utilisateur itinérant peut accéder à la machine 192.168.0.1 de façon sécurisée.</p>
<p><b>Vérifier la configuration  :</b></p>
<p><i><font color="#3366ff">openvpn &#8211;config fichier_de_configuration</font></i></p>
<p><b>Connexion d&#8217;un client : </b></p>
<p><i><font color="#3366ff">openvpn /etc/openvpn/client.conf</font></i></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/highersecurity.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/highersecurity.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/highersecurity.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/highersecurity.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/highersecurity.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/highersecurity.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/highersecurity.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/highersecurity.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/highersecurity.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/highersecurity.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/highersecurity.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/highersecurity.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/highersecurity.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/highersecurity.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/highersecurity.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/highersecurity.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highersecurity.wordpress.com&amp;blog=2366944&amp;post=6&amp;subd=highersecurity&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://highersecurity.wordpress.com/2008/01/03/configuration-de-openvpn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d3bb01ff06ef2ce83c530413fe914dea?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">highersecurity</media:title>
		</media:content>
	</item>
		<item>
		<title>Configuration de Radius</title>
		<link>http://highersecurity.wordpress.com/2007/12/21/configuration-de-radius/</link>
		<comments>http://highersecurity.wordpress.com/2007/12/21/configuration-de-radius/#comments</comments>
		<pubDate>Fri, 21 Dec 2007 09:51:33 +0000</pubDate>
		<dc:creator>highersecurity</dc:creator>
				<category><![CDATA[VPN]]></category>
		<category><![CDATA[Freeradius]]></category>
		<category><![CDATA[Radius]]></category>

		<guid isPermaLink="false">http://highersecurity.wordpress.com/2007/12/21/configuration-de-radius/</guid>
		<description><![CDATA[Radius est un serveur AAA (authentication, authorization, and accounting). Dans notre cas, nous avons créer deux comptes utilisateur dans le fichier de Radius. Néanmoins, il est tout à fait possible d&#8217;utiliser un annuaire LDAP, une base de données SQL&#8230; afin de stocker les utilisateurs. Il faut vérifier que le paquet freeradius est installé sur le [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highersecurity.wordpress.com&amp;blog=2366944&amp;post=4&amp;subd=highersecurity&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Radius est un serveur AAA (<font size="-1">authentication, authorization, and accounting).  Dans notre cas, nous avons créer deux comptes utilisateur dans le fichier de Radius. Néanmoins, il est tout à fait possible d&#8217;utiliser un  annuaire LDAP, une base de données SQL&#8230; afin de stocker les utilisateurs.</font></p>
<p>Il faut vérifier que le paquet <b><font color="#000000">freeradius</font></b> est installé sur le serveur.</p>
<p>Il faut ajouter les utilisateurs dans le fichier &#8220;<i><font color="#3366ff">/etc/freeradius/users</font></i>&#8221;  :</p>
<p><i><font color="#3366ff">&#8220;utilisateur1&#8243; Auth-Type := EAP, User-Password ==&#8221;topsecret&#8221;<br />
&#8220;utilisateur2&#8243; Auth-Type := Local, User-Password ==&#8221;monmotdepasse&#8221;<br />
&#8220;utilisateur3&#8243; Auth-Type := CHAP, User-Password ==&#8221;monmotdepasse&#8221;</font></i></p>
<p>L&#8217;utilisateur1 s&#8217;authentifie en utilisant la méthode EAP et l&#8217;utilisateur2 est utilisé pour se connecter localement durant les tests.</p>
<p>Le second fichier a modifié est &#8220;<i><font color="#3366ff">/etc/freeradius/radiusd.conf</font></i>&#8220;. Il faut veiller qu&#8217;il contient les paramètres suivants :</p>
<p><font color="#3366ff"><i>pam {<br />
pam_auth = radius</i> <font color="#000000"># <i>on appelle le fichier /etc/pam.d/radius</i></font><br />
<i>}</i></font></p>
<p><font color="#3366ff"><i>authorize { <font color="#000000"># on définit l&#8217;autorisation chap, mschap et eap</font><br />
preprocess<br />
chap<br />
mschap<br />
suffix<br />
eap<br />
files <font color="#000000"># on lit le fichier users</font><br />
}</i></font></p>
<p><font color="#3366ff"><i>authenticate {<br />
eap <font color="#000000"># authentification eap<br />
<font color="#3366ff">}</font></font></i><i> </i></font></p>
<p>Par manque de moyens techniques, nos serveurs radius et VPN sont sur la même machine. Dans la plupart des cas, ils sont situés sur des serveurs distincts. Il convient donc de spécifier l&#8217;adresse IP du client (serveur VPN) dans le fichier <font color="#3366ff"><i>clients.conf</i><b><i> </i></b></font>de Freeradius.</p>
<p><font color="#3366ff"><i>client 127.0.0.1 { </i><i> <font color="#000000"># adresse IP du serveur</font><br />
secret        = testing123<br />
shortname    = localhost<br />
nastype     = other   </i></font><br />
<font color="#3366ff"><i> }</i></font></p>
<p>Afin que les utilisateurs puissent authentifier le serveur en eap-tls, il faut configurer le fichier <font color="#3366ff"><i>eap.conf<font color="#000000"> :</font></i></font></p>
<p><i><font color="#3366ff">eap {</font></i></p>
<p><i><font color="#3366ff">    tls {</font></i></p>
<p><i><font color="#3366ff">            private_key_password = monmotdepasse<br />
private_key_file = ${raddbdir}/certs/radius.key </font></i></p>
<p><i><font color="#3366ff">            CA_file = ${raddbdir}/certs/certificatdelautorite.pem </font></i></p>
<p><i><font color="#3366ff">            dh_file = /dev/null<br />
random_file = /dev/urandom</font></i></p>
<p><i><font color="#3366ff"> </font></i></p>
<p><i><font color="#3366ff">        }}</font></i></p>
<p>Il ne faut pas oublier de redémarrer le service freeradius pour prendre en compte les changements.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/highersecurity.wordpress.com/4/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/highersecurity.wordpress.com/4/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/highersecurity.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/highersecurity.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/highersecurity.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/highersecurity.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/highersecurity.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/highersecurity.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/highersecurity.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/highersecurity.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/highersecurity.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/highersecurity.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/highersecurity.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/highersecurity.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/highersecurity.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/highersecurity.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highersecurity.wordpress.com&amp;blog=2366944&amp;post=4&amp;subd=highersecurity&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://highersecurity.wordpress.com/2007/12/21/configuration-de-radius/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d3bb01ff06ef2ce83c530413fe914dea?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">highersecurity</media:title>
		</media:content>
	</item>
		<item>
		<title>Création de certificats</title>
		<link>http://highersecurity.wordpress.com/2007/12/21/certificats/</link>
		<comments>http://highersecurity.wordpress.com/2007/12/21/certificats/#comments</comments>
		<pubDate>Fri, 21 Dec 2007 08:25:24 +0000</pubDate>
		<dc:creator>highersecurity</dc:creator>
				<category><![CDATA[VPN]]></category>
		<category><![CDATA[Certificats]]></category>
		<category><![CDATA[openssl]]></category>
		<category><![CDATA[Radius]]></category>
		<category><![CDATA[SSL]]></category>

		<guid isPermaLink="false">http://highersecurity.wordpress.com/2007/12/21/certificats/</guid>
		<description><![CDATA[Nous allons mettre en place un vpn de type SSL avec certificats doublée d&#8217;une authentification forte Radius. Voici l&#8217;architecture de notre réseau : Pour cela, dans un premier temps, nous devons créer ces certificats. Nous avons utilisé la distribution OpenSuse mais toute autre distribution convient parfaitement. Avant de continuer, vérifier que Openssl est installé. Dans [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highersecurity.wordpress.com&amp;blog=2366944&amp;post=3&amp;subd=highersecurity&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Nous allons mettre en place un vpn de type SSL avec certificats doublée d&#8217;une authentification forte Radius.</p>
<p>Voici l&#8217;architecture de notre réseau :</p>
<p>Pour cela, dans un premier temps, nous devons créer ces certificats.</p>
<p>Nous avons utilisé la distribution OpenSuse mais toute autre distribution convient parfaitement.</p>
<p>Avant de continuer, vérifier que <b>Openssl</b> est installé. Dans le cas contraire, allez faire un tour dans Yast !</p>
<div style="text-align:center;"><a href="http://highersecurity.files.wordpress.com/2008/01/reso.png" title="reso2"></a></p>
<div style="text-align:center;"><a href="http://highersecurity.files.wordpress.com/2008/01/reso.png" title="reso2.png"><img src="http://highersecurity.files.wordpress.com/2008/01/reso.png?w=486&#038;h=214" alt="reso2.png" height="214" width="486" /></a></div>
</div>
<p>Nous allons commencer par créer une autorité de certification autosignée  qui signera tous les certificats.</p>
<p>Placez-vous dans un répertoire de travail quelconque pour exécuter ces commandes. Par exemple, créez un dossier ssl dans votre répertoire personnel.</p>
<p>Cette commande permet de créer une clé privée de taille 2048 <font color="#3366ff"><font color="#000000">(</font>caKey.key<font color="#000000">)</font></font> et un certificat autosigné (<font color="#3366ff"><i>caCertif.pem)<font color="#000000"> valable 10 ans.</font><br />
</i></font></p>
<p><font color="#3366ff"><i># openssl req -x509 -days 3650 -newkey rsa:2048 -keyout caKey.key -out caCertif.pem</i></font></p>
<p><b>Pour afficher le certificat :</b></p>
<p><i><font color="#3366ff"># </font><font color="#3366ff">openssl x509 -in </font></i><font color="#3366ff"><i>caCertif.pem</i></font><i><font color="#3366ff"> -text -noout</font></i></p>
<p>Une fois notre autorité créée, passons au certificat pour la passerelle VPN.</p>
<p><b>On créé une clé privée et un certificat valable 1 an :</b></p>
<p><i><font color="#3366ff"># openssl req -newkey rsa:2048 -keyout RAS.key -out RASReq.pem<br />
</font></i></p>
<p><i><font color="#3366ff"><b><font color="#000000">On signe le certificat par l&#8217;autorité :</font></b></font></i></p>
<p><i><font color="#3366ff"><i><font color="#3366ff"># openssl ca -in RASReq.pem -days 365 -out RAS.pem -notext -cert caCertif.pem -keyfile caKey.key</font></i></font></i></p>
<p><font color="#000000"><b>Si on veut afficher le certificat :</b></font></p>
<p><i><font color="#3366ff"><i><font color="#3366ff"># </font><font color="#3366ff">openssl x509 -in </font></i><i><font color="#3366ff">RAS.pem</font></i><i><font color="#3366ff"> -text -noout</font></i></font></i></p>
<p><font color="#000000">La procédure est identique pour un client.</font></p>
<p><i><font color="#3366ff"><i><font color="#3366ff"># openssl req -newkey rsa:2048 -keyout client.key -out clientReq.pem<br />
# openssl ca -in clientReq.pem -days 365 -out clientCertif.pem -notext -cert caCertif.pem -keyfile caKey.key</font></i></font></i></p>
<p>Certificat et clé pour que le serveur Radius puisse être identifié par les clients :</p>
<p><i><font color="#3366ff"><i><font color="#3366ff"># openssl req -newkey rsa:2048 -keyout radius.key -out radiusReq.pem<br />
# openssl ca -in </font></i></font></i><i><font color="#3366ff"><i><font color="#3366ff">radiusReq</font></i></font></i><i><font color="#3366ff"><i><font color="#3366ff">.pem -days 365 -out radiusCertif.pem -notext -cert caCertif.pem -keyfile caKey.key</font></i></font></i></p>
<p><font color="#000000">La mise en place et configuration du VPN SSL se fera dans un prochain billet.</font></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/highersecurity.wordpress.com/3/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/highersecurity.wordpress.com/3/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/highersecurity.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/highersecurity.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/highersecurity.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/highersecurity.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/highersecurity.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/highersecurity.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/highersecurity.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/highersecurity.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/highersecurity.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/highersecurity.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/highersecurity.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/highersecurity.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/highersecurity.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/highersecurity.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=highersecurity.wordpress.com&amp;blog=2366944&amp;post=3&amp;subd=highersecurity&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://highersecurity.wordpress.com/2007/12/21/certificats/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d3bb01ff06ef2ce83c530413fe914dea?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">highersecurity</media:title>
		</media:content>

		<media:content url="http://highersecurity.files.wordpress.com/2008/01/reso.png" medium="image">
			<media:title type="html">reso2.png</media:title>
		</media:content>
	</item>
	</channel>
</rss>
