<?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>Geekfault &#187; ssh</title>
	<atom:link href="http://geekfault.org/tag/ssh/feed/" rel="self" type="application/rss+xml" />
	<link>http://geekfault.org</link>
	<description>If it doesn&#039;t segfault, you&#039;re doing it wrong.</description>
	<lastBuildDate>Sun, 16 Oct 2011 00:54:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Reverse SSH : accéder à un serveur derrière un NAT/Firewall</title>
		<link>http://geekfault.org/2011/02/19/reverse-ssh-acceder-a-un-serveur-derriere-un-natfirewall/</link>
		<comments>http://geekfault.org/2011/02/19/reverse-ssh-acceder-a-un-serveur-derriere-un-natfirewall/#comments</comments>
		<pubDate>Sat, 19 Feb 2011 14:30:35 +0000</pubDate>
		<dc:creator>Tito</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[réseau]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[nat]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[tunnel]]></category>

		<guid isPermaLink="false">http://geekfault.org/?p=5530</guid>
		<description><![CDATA[Le SSH tout le monde le sait, c&#8217;est magique. Mais malheureusement ça ne marche pas OOTB. On a tous en tête plusieurs situations où on s&#8217;est dit &#8220;Damn, si seulement j&#8217;avais un accès SSH sur cette machine&#8221;, la machine étant inaccessible parce que derrière un firewall ou routeur NAT que vous ne contrôlez pas. Imaginez [...]
<h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/05/27/lighttpd-php-iphone/' rel='bookmark' title='Serveur Lighttpd avec PHP sur iPhone'>Serveur Lighttpd avec PHP sur iPhone</a></li>
<li><a href='http://geekfault.org/2009/12/14/facebook-lancer-son-serveur-xmpp/' rel='bookmark' title='Facebook s&#8217;apprêterait à lancer son serveur XMPP'>Facebook s&#8217;apprêterait à lancer son serveur XMPP</a></li>
<li><a href='http://geekfault.org/2009/05/14/tunnel-ssh/' rel='bookmark' title='Le tunnel SSH facile'>Le tunnel SSH facile</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://geekfault.org/wp-content/uploads/2011/02/ssh.jpg" title="ssh" rel="lightbox.5530"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2011/02/ssh-300x196.jpg" alt="" title="ssh" width="300" height="196" class="alignleft size-medium wp-image-5699" /></a>Le SSH tout le monde le sait, c&#8217;est magique. Mais malheureusement ça ne marche pas OOTB. On a tous en tête plusieurs situations où on s&#8217;est dit &#8220;Damn, si seulement j&#8217;avais un accès SSH sur cette machine&#8221;, la machine étant inaccessible parce que derrière un firewall ou routeur NAT que vous ne contrôlez pas.</p>
<p>Imaginez avoir accès en SSH à la machine de ce noob qui ne sait pas configurer son NAT. Ou bien vous assurer que votre laptop soit toujours joignable en SSH peu importe la connexion sur laquelle il est&#8230;</p>
<p><a href="http://www.youtube.com/watch?v=U4oB28ksiIo&#038;t=3m12s">Cette conférence du DEF-Con</a> m&#8217;a interloqué : comment le mec a repris la main sur une machine qui était probablement derrière un NAT? Peut-être grâce au reverse SSH !<br />
<!--more--></p>
<h3>Principe de fonctionnement</h3>
<p>Le principe est assez simple : c&#8217;est l&#8217;ordinateur derrière le NAT (nous l&#8217;appellerons <strong><em>distant</em></strong>) qui doit établir la première connexion. Il établit en fait un <a href="http://geekfault.org/2009/05/14/tunnel-ssh/">tunnel SSH</a> vers vous (nous l&#8217;appellerons <strong><em>local</em></strong>) et ainsi en remontant le tunnel dans l&#8217;autre sens on accède très facilement à la destination.</p>
<div style="text-align:center;"><img src="http://geekfault.org/wp-content/uploads/2011/02/reverse-ssh.png" alt="" title="reverse-ssh" width="580" height="154" class="alignnone size-full wp-image-5702" /></div>
<p>On suppose donc que la connexion SSH vers l&#8217;ordinateur <strong>local</strong> est aisée (serveur dédié ou NAT bien configuré).</p>
<h3>Avantages</h3>
<p><a href="http://geekfault.org/wp-content/uploads/2011/02/reverse-ssh-firewall.jpg" title="reverse-ssh-firewall" rel="lightbox.5530"><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;' align="right"   src="http://geekfault.org/wp-content/uploads/2011/02/reverse-ssh-firewall-300x189.jpg" alt="" title="reverse-ssh-firewall" width="300" height="189" class="alignright size-medium wp-image-5705" /></a>
<ul>
<li>Plus besoin de connaître ou de modifier la configuration du réseau sur lequel est branché distant pour pouvoir y établir une connexion SSH. Tant que le port 22 est ouvert en outgoing ça fonctionnera (on peut même envisager de déplacer le serveur de local sur un port moins restreint tel que le 80 ou 443)</li>
<li>Plus besoin de connaître l&#8217;IP où se trouve distant, c&#8217;est lui qui établit le contact vers local</li>
</ul>
<h3>Vérifiez la configuration du serveur SSH local</h3>
<p>Il faut que le serveur sur local autorise les tunnels (<strong>/etc/ssh/sshd_config</strong>) :<br />
<code>AllowTcpForwarding yes</code></p>
<h3>Let&#8217;s go!</h3>
<p>Sur <strong>distant</strong> (la machine inaccessible), créez le tunnel :<br />
<code>distant$ ssh -NR 22222:localhost:22 user@local</code><br />
Bien entendu local est l&#8217;IP de votre machine et user est un utilisateur qui y a accès.</p>
<p>Une fois le tunnel établi, il ne vous reste plus qu&#8217;à remonter le tunnel pour établir la connexion SSH depuis <strong>local</strong> :<br />
<code>local$ ssh -p 22222 user@127.0.0.1</code></p>
<h3>Service au démarrage</h3>
<p>Avec <strong>autossh</strong> (disponible dans le package manager de votre distro préférée) et une <a href="http://geekfault.org/2009/05/15/ssh-sans-mot-de-passe/">connexion SSH sans mot de passe</a>, vous pouvez très facilement créer un script de démarrage sur distant pour que le tunnel soit toujours récréé sans intervention humaine :<br />
<code># autossh -i /path/to/privateKey.rsa -NR 22222:localhost:22 user@local</code></p>
<p>Il vous suffit d&#8217;ajouter cette commande dans vos scripts de boot (/etc/rc.local par exemple).</p>
<h3>Aller plus loin</h3>
<p>Ici nous utilisons du SSH pour ouvrir l&#8217;accès à un serveur SSH, mais on pourrait envisager d&#8217;ouvrir l&#8217;accès à n&#8217;importe quel serveur qui tournerait sur distant, par exemple un serveur web pour du <a href="http://geekfault.org/2010/02/20/monitoring-munin/">monitoring Munin</a> :<br />
<code>distant$ ssh -NR 22280:localhost:80 user@local<br />
local$ firefox "http://127.0.0.1:22280"</code></p>
<p>Vous l&#8217;aurez compris, vous pouvez aussi centraliser sur votre serveur (&#8220;local&#8221;) des tunnels venant de tous les n00bs que vous aidez régulièrement, l&#8217;astuce est de remplacer 22222 dans les diverses commandes citées sur cette page par un autre code de port compris entre 1024 et 65535. Et de maintenir une liste exhaustive de ceux-ci !</p>
<p><h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/05/27/lighttpd-php-iphone/' rel='bookmark' title='Serveur Lighttpd avec PHP sur iPhone'>Serveur Lighttpd avec PHP sur iPhone</a></li>
<li><a href='http://geekfault.org/2009/12/14/facebook-lancer-son-serveur-xmpp/' rel='bookmark' title='Facebook s&#8217;apprêterait à lancer son serveur XMPP'>Facebook s&#8217;apprêterait à lancer son serveur XMPP</a></li>
<li><a href='http://geekfault.org/2009/05/14/tunnel-ssh/' rel='bookmark' title='Le tunnel SSH facile'>Le tunnel SSH facile</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geekfault.org/2011/02/19/reverse-ssh-acceder-a-un-serveur-derriere-un-natfirewall/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Devenez miroir de Wikileaks sans risque (corrigé)</title>
		<link>http://geekfault.org/2010/12/05/devenez-miroir-de-wikileaks-sans-risque/</link>
		<comments>http://geekfault.org/2010/12/05/devenez-miroir-de-wikileaks-sans-risque/#comments</comments>
		<pubDate>Sat, 04 Dec 2010 23:14:55 +0000</pubDate>
		<dc:creator>Tito</dc:creator>
				<category><![CDATA[Actualité]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[chroot]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[sftp]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[wikileaks]]></category>

		<guid isPermaLink="false">http://geekfault.org/?p=5476</guid>
		<description><![CDATA[Bon, d&#8217;habitude on se refuse de parler politique sur Geekfault&#8230; Mais on ne peut pas se taire plus longtemps sur ce qui se passe du côté de Wikileaks. En tant que geeks nous devons nous lever et protester contre ces atteintes à la liberté d&#8217;expression sur Internet. Wikileaks a aujourd&#8217;hui publié sa solution à la [...]
<h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/05/15/ssh-sans-mot-de-passe/' rel='bookmark' title='SSH sans mot de passe'>SSH sans mot de passe</a></li>
<li><a href='http://geekfault.org/2010/05/09/choisir-son-keymap-x-org-1-8-sans-xorg-conf-ni-hack/' rel='bookmark' title='Choisir son keymap X.org 1.8 sans xorg.conf ni hack'>Choisir son keymap X.org 1.8 sans xorg.conf ni hack</a></li>
<li><a href='http://geekfault.org/2010/07/15/zeroconf-reseaux-ip-sans-configuration/' rel='bookmark' title='Zeroconf : Réseaux IP sans configuration'>Zeroconf : Réseaux IP sans configuration</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://geekfault.org/wp-content/uploads/2010/12/wikileaks.png" title="wikileaks" rel="lightbox.5476"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2010/12/wikileaks-130x300.png" alt="" title="wikileaks" width="130" height="300" class="alignleft size-medium wp-image-5479 noborder" /></a>Bon, d&#8217;habitude on se refuse de parler politique sur Geekfault&#8230; Mais on ne peut pas se taire plus longtemps sur ce qui se passe du côté de Wikileaks. En tant que geeks nous devons nous lever et protester contre ces atteintes à la liberté d&#8217;expression sur Internet.</p>
<p>Wikileaks a aujourd&#8217;hui publié sa solution à la censure : le mirroring. Si Wikileaks est consultable sur des centaines de noms de domaine et des centaines d&#8217;IPs, il sera d&#8217;autant plus difficile de tous les faire taire.</p>
<p>A noter que cet article, bien qu&#8217;entièrement orienté autour de ce sujet, s&#8217;applique aussi si vous souhaitez offrir à quelqu&#8217;un <strong>un accès SSH chrooté et aux commandes limitées</strong>.</p>
<p><em><strong>Mise à jour :</strong> Mes mesures de sécurité étaient trop optimistes : Rsync n&#8217;utilise pas du SFTP mais doit pouvoir lancer un serveur Rsync sur sa destination en SSH. Voici donc une nouvelle version de cet article, testé et approuvé.</em><br />
<!--more--></p>
<h3>Le problème</h3>
<p>Pour décentraliser la chose, les administrateurs de Wikileaks demande à tous les volontaires de leur offrir un accès en SSH à leur serveur pour pouvoir y pousser un miroir de Wikileaks et le garder à jour grâce à Rsync.</p>
<p>Ca qui m&#8217;a dérangé c&#8217;est le fait de donner un accès SSH à des inconnus sur mon serveur. Mais la solution existe : <strong>CHROOTER</strong> ce compte à un endroit où il ne peut faire aucun mal au système. Voici comment faire.</p>
<p><strong>Attention : cet article ne porte bien évidemment pas sur la sécurisation de votre serveur. Il présente juste une manière d&#8217;éviter que les administrateurs de Wikileaks (que vous ne connaissez pas) aient trop de libertés sur votre serveur (et, oui, je suis paranoïaque sur le coup).</strong></p>
<p><em>NB : Si vous souhaitez devenir très simplement un miroir Wikileaks et que vous leur faites entièrement confiance, les étapes &#8220;<a href="#creerutilisateur">Créer l’utilisateur</a>&#8220;, &#8220;<a href="#virtualhost">Configurer un nom de domaine et un VirtualHost</a>&#8221; et &#8220;<a href="#soumettre">Soumettre votre miroir à Wikileaks</a>&#8221; sont suffisantes.</em></p>
<h3>Sécuriser OpenSSH</h3>
<p>On va donner à Wikileaks (ou toute personne ayant leur clé RSA privée) un accès SSH sur notre serveur. Mais on ne veut prendre aucun risque : cet accès n&#8217;aura aucune autre possibilité que de déposer des fichiers là où on l&#8217;y autorise, c&#8217;est-à-dire dans sa <em>home</em>.</p>
<p>Pour cela, modifiez votre fichier <strong>/etc/ssh/sshd_config</strong>. Vérifiez d&#8217;abord que vous avez ces trois lignes qui autorisent la <a href="http://geekfault.org/2009/05/15/ssh-sans-mot-de-passe/">connexion avec une clé publique RSA</a>.<br />
<code>RSAAuthentication yes<br />
PubkeyAuthentication yes<br />
AuthorizedKeysFile      %h/.ssh/authorized_keys</code></p>
<p>Dernièrement, à la fin du fichier créez une nouvelle règle d&#8217;override telle que celle-ci :<br />
<code>Match user wikileaks<br />
         ChrootDirectory /home/wikileaks<br />
         X11Forwarding no<br />
         AllowTcpForwarding no</code><br />
Cette règle est assez explicite et fait simplement en sorte que l&#8217;utilisateur <strong>wikileaks</strong> soit Chrooté dans sa home. Redémarrez SSHd.</p>
<h3 id="creerutilisateur">Créer l&#8217;utilisateur</h3>
<p>Rien de bien sorcier :<br />
<code># mkdir /home/wikileaks<br />
# useradd -d /home/wikileaks -s /bin/bash wikileaks<br />
# chown wikileaks:wikileaks /home/wikileaks</code></p>
<p>Ensuite autorisons la connexion des administrateurs de Wikileaks :<br />
<code># su - wikileaks<br />
$ mkdir ~/.ssh<br />
$ wget http://wikileaks.ch/id_rsa.pub -O ~/.ssh/authorized_keys<br />
$ chmod 600 ~/.ssh/authorized_keys</code></p>
<p>Pour finir, n&#8217;oublions pas de créer le répertoire où sera hébergé le miroir :<br />
<code>$ mkdir ~/www</code></p>
<h3>Créer l&#8217;environnement chroot</h3>
<p>Pour qu&#8217;un chroot fonctionne correctement, il faut que sa racine appartienne à root. Nous créons aussi les deux répertoires indipensables à l&#8217;exécution d&#8217;un rsync : <strong>/bin</strong> et <strong>/lib</strong>.<br />
<code># chown root:root /home/wikileaks<br />
# mkdir /home/wikileaks/bin<br />
# mkdir /home/wikileaks/lib</code></p>
<p>Ensuite copions les binaires nécessaires pour faire un Rsync :<br />
<code># cp `which bash` /home/wikileaks/bin/bash<br />
# cp `which rsync` /home/wikileaks/bin/rsync</code></p>
<p>Pour que ces binaires fonctionnent, il faut aussi copier les librairies nécessaires. Pour lister ces librairies vous pouvez exécuter un <strong>ldd</strong> puis copiez une à une ces libraires<br />
<code># ldd `which bash` `which rsync`<br />
# cp /lib/libncurses.so.5 /home/wikileaks/lib/<br />
...</code><br />
Attention : si votre serveur est un système <strong>64bits</strong> il faudra créer le dossier <strong>/home/wikileaks/lib64/</strong> et le peupler avec les librairies venant de <strong>/lib64</strong>.</p>
<p>Au final vous devriez arriver à une structure proche de celle-ci :<br />
<code>bin<br />
 |- bash<br />
 |- rsync<br />
lib<br />
 |- ld-linux.so.2<br />
 |- libacl.so.1<br />
 |- libattr.so.1<br />
 |- libc.so.6<br />
 |- libdl.so.2<br />
 |- libncurses.so.5<br />
 |- libpopt.so.0</code><br />
Dès maintenant, si on se chroote dans /home/wikileaks on n&#8217;aura que très très peu de possibilités : les commandes internes à bash et rsync.</p>
<h3>Un dummyshell</h3>
<p>Oui, je suis d&#8217;accord, les commandes internes de bash c&#8217;est encore trop! Nous permettons un accès SSH qui pourrait potentiellement lancer une fork bomb par exemple. Nous allons donc créer un shell stupide qui ne permet que de lancer un serveur Rsync. Créez le fichier <strong>/home/wikileaks/bin/dummyshell</strong> :<br />
<code lang="bash">#!/bin/bash<br />
if (( $# == 0 )); then<br />
        printf "%s\n" "shell access is disabled. sorry."<br />
        exit 1<br />
elif (( $# == 2 )) &#038;&#038; [[ $1 == "-c" &#038;&#038; $2 == "rsync --server"* ]]; then<br />
        exec $2<br />
fi</code></p>
<p>Il faut ensuite le rendre exécutable et utilisé comme shell par défaut de l&#8217;utilisateur :<br />
<code># chmod +x /home/wikileaks/bin/dummyshell<br />
# ln -s /home/wikileaks/bin/dummyshell /bin/dummyshell<br />
# usermod -s /bin/dummyshell wikileaks</code><br />
C&#8217;est maintenant officiel, <strong>l&#8217;utilisateur wikileaks ne peut rien faire de plus que lancer un serveur Rsync</strong> ! Et il y a aussi la sécurité du Chroot.</p>
<h3>Test</h3>
<p>Je vous recommande de tester le tout, pour être sûr que Wikileaks pourra uploader son site sur votre serveur. Pour cela ajoutez votre propre clé RSA dans une nouvelle ligne de /home/wikileaks/.ssh/authorized_keys et tentez d&#8217;envoyer un fichier :<br />
<code>$ rsync -ave ssh test.html wikileaks@votreServeur:/www</code></p>
<p>Vous pouvez également éprouver la sécurité en tentant de vous connecter en SSH ou d&#8217;exécuter une commande en SSH -t.</p>
<h3 id="virtualhost">Configurer un nom de domaine et un VirtualHost</h3>
<p>Je suppose que vous vous en sortirez sur ce point-là : créez un nom de domaine (ou un sous-domaine) pour votre miroir et configurez votre serveur web en conséquence.</p>
<p>Le DocumentRoot à spécifier est bien <strong>/home/wikileaks/www</strong></p>
<p>Profitez-en pour empêcher l&#8217;exécution de scripts sur le répertoire :<br />
<code lang="xml"><Directory "/home/wikileaks/www"><br />
        AllowOverride None<br />
        Options -ExecCGI<br />
</Directory></code></p>
<h3 id="soumettre">Soumettre votre miroir à Wikileaks</h3>
<p>Rendez-vous sur <a href="http://46.59.1.2/mass-mirror.html">http://46.59.1.2/mass-mirror.html</a> et soumettez votre miroir !</p>
<p>Sous &#8220;<em>absolute path where we should upload the html data</em>&#8221; mettez simplement <strong>&#8220;/www/&#8221;</strong>.<br />
<a href="http://geekfault.org/wp-content/uploads/2010/12/wikileaks-submit.png" title="wikileaks-submit" rel="lightbox.5476"><img style=' display: block; margin-right: auto; margin-left: auto;' align="center"   src="http://geekfault.org/wp-content/uploads/2010/12/wikileaks-submit-580x225.png" alt="" title="wikileaks-submit" width="580" height="225" class="aligncenter size-large wp-image-5480" /></a></p>
<p>Normalement Wikileaks pushera l&#8217;entièreté du site sur votre serveur. Félicitations, vous défendez la liberté d&#8217;expression sans risque majeur pour votre serveur !</p>
<p><h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/05/15/ssh-sans-mot-de-passe/' rel='bookmark' title='SSH sans mot de passe'>SSH sans mot de passe</a></li>
<li><a href='http://geekfault.org/2010/05/09/choisir-son-keymap-x-org-1-8-sans-xorg-conf-ni-hack/' rel='bookmark' title='Choisir son keymap X.org 1.8 sans xorg.conf ni hack'>Choisir son keymap X.org 1.8 sans xorg.conf ni hack</a></li>
<li><a href='http://geekfault.org/2010/07/15/zeroconf-reseaux-ip-sans-configuration/' rel='bookmark' title='Zeroconf : Réseaux IP sans configuration'>Zeroconf : Réseaux IP sans configuration</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geekfault.org/2010/12/05/devenez-miroir-de-wikileaks-sans-risque/feed/</wfw:commentRss>
		<slash:comments>43</slash:comments>
		</item>
		<item>
		<title>DenyHosts pour empêcher le bruteforce sur SSH</title>
		<link>http://geekfault.org/2010/02/24/denyhosts-pour-empecher-le-bruteforce-sur-ssh/</link>
		<comments>http://geekfault.org/2010/02/24/denyhosts-pour-empecher-le-bruteforce-sur-ssh/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 10:31:35 +0000</pubDate>
		<dc:creator>Lord</dc:creator>
				<category><![CDATA[internet]]></category>
		<category><![CDATA[Logiciel]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[réseau]]></category>
		<category><![CDATA[sécurité]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://geekfault.org/?p=2206</guid>
		<description><![CDATA[Ras le bol de voir des tentatives de connexion sur votre SSH ? Il existe plusieurs logiciel pour vous en prémunir avec en tête de liste le célèbre Fail2ban qui permet de protéger SSH ainsi que la plupart des autres serveurs logguant l&#8217;authentification. Mais alors pourquoi choisir DenyHosts ? DenyHosts se limite à la protection [...]
<h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/05/16/rsnapshot/' rel='bookmark' title='Mise en place d&#8217;un système de backup avec Rsnapshot'>Mise en place d&#8217;un système de backup avec Rsnapshot</a></li>
<li><a href='http://geekfault.org/2009/05/15/ssh-sans-mot-de-passe/' rel='bookmark' title='SSH sans mot de passe'>SSH sans mot de passe</a></li>
<li><a href='http://geekfault.org/2009/03/28/ubuntu-jaunty-jackalope-9-04/' rel='bookmark' title='On a testé pour vous : Ubuntu Jaunty Jackalope 9.04'>On a testé pour vous : Ubuntu Jaunty Jackalope 9.04</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-2207" href="http://geekfault.org/2010/02/24/denyhosts-pour-empecher-le-bruteforce-sur-ssh/denyhosts/"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   class="alignleft size-full wp-image-2207" title="denyhosts" src="http://geekfault.org/wp-content/uploads/2010/02/denyhosts.png" alt="" width="347" height="73" /></a>Ras le bol de voir des tentatives de connexion sur votre SSH ? Il existe plusieurs logiciel pour vous en prémunir avec en tête de liste le célèbre Fail2ban qui permet de protéger SSH ainsi que la plupart des autres serveurs logguant l&#8217;authentification. Mais alors pourquoi choisir DenyHosts ? DenyHosts se limite à la protection SSH mais sa force provient de deux fonctionnalités :  utiliser un système de synchronisation entre plusieurs DenyHosts ( je ne l&#8217;aborde pas ), mais également le partage des IP incriminées. Afin de récupérer des IP à blacklister et de d&#8217;offrir les siennes afin de se fabriquer une blacklist évolutive.</p>
<p>Un attaquant vera son adresse IP inscrite dans le fichier <em>/etc/hosts.deny</em> l&#8217;empêchant de se logguer.</p>
<p><!--more--></p>
<h3>Installation</h3>
<p>Gentoo</p>
<p><code>emerge denyhosts</code></p>
<p>Debian et dérivés</p>
<p><code>aptitude install denyhosts</code></p>
<p>Red Hat et consorts</p>
<p><code>yum install denyhosts</code></p>
<h3>Configuration</h3>
<p><em>/etc/denyhosts</em></p>
<p><code>#Doit pointer vers votre fichier logguant les tentatives de connexions<br />
SECURE_LOG = /var/log/auth.log</p>
<p>#Doit pointer vers votre fichier de blacklist<br />
HOSTS_DENY = /etc/hosts.deny<br />
BLOCK_SERVICE  = sshd</p>
<p>#Nombre d'essai avant d'être bloqué pour une connexion non root<br />
DENY_THRESHOLD_INVALID = 5<br />
DENY_THRESHOLD_VALID = 5</p>
<p>#Nombre d'essai avant d'être bloqué pour une connexion en temps que root<br />
DENY_THRESHOLD_ROOT = 3<br />
DENY_THRESHOLD_RESTRICTED = 1<br />
WORK_DIR = /var/lib/denyhosts<br />
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES<br />
HOSTNAME_LOOKUP=YES<br />
LOCK_FILE = /var/run/denyhosts.pid</p>
<p>#Vers quelle adresse email signaler une attaque infructueuse<br />
ADMIN_EMAIL = votre@mail<br />
SMTP_HOST = localhost<br />
SMTP_PORT = 25<br />
SMTP_FROM = DenyHosts <denyhosts@localhost><br />
SMTP_SUBJECT = DenyHosts Report<br />
SYSLOG_REPORT=YES</p>
<p>#temps avant la remise à zéro du compteur<br />
AGE_RESET_VALID=5d<br />
AGE_RESET_ROOT=10d<br />
AGE_RESET_RESTRICTED=25d<br />
AGE_RESET_INVALID=10d<br />
RESET_ON_SUCCESS = yes<br />
DAEMON_LOG = /var/log/denyhosts<br />
DAEMON_LOG_TIME_FORMAT = %b %d %H:%M:%S<br />
DAEMON_LOG_MESSAGE_FORMAT = %(asctime)s - %(name)-12s: %(levelname)-8s %(message)s<br />
DAEMON_SLEEP = 30s<br />
DAEMON_PURGE = 1h</p>
<p>#Ces dernières lignes permettent d'utiliser le partage d'IP. On peut se limiter au partage montant ou descendant<br />
#C'est purement facultatif mais je vous le recommande.<br />
SYNC_SERVER = http://xmlrpc.denyhosts.net:9911<br />
SYNC_UPLOAD = yes<br />
SYNC_DOWNLOAD = yes</code></p>
<p>Puis pour le lancer :<br />
<code>/et/init.d/denyhosts start</code></p>
<p>Sous Gentoo pour le lancer automatiquement au boot vous devez l&#8217;ajouter à votre « rc par défaut » :<br />
<code>rc-update add denyhosts default</code></p>
<h3>Logs</h3>
<p>Allons faire un tour dans les logs de DenyHosts pour voir à quoi s&#8217;attendre.</p>
<p>Exemple de synchro où l&#8217;on récupère des IP à blacklister :</p>
<p><code>Feb 20 04:42:43 - denyhosts   : INFO     received new hosts: ['217.10.117.161', '194.185.200.156', '91.75.180.114', '202.141.132.50', '60.248.91.64', '211.100.42.83', '202.165.    177.203', '211.155.227.171', '58.221.34.18', '88.191.15.133', '210.51.36.162', '220.165.28.66', '91.205.74.41', '61.178.74.43', '202.117.54.134', '74.127.18.195', '195.250.39.6    6', '216.229.160.194', '122.70.147.103', '200.195.168.194', '202.44.11.60', '94.190.187.113', '213.5.64.164', '201.116.98.210', '163.13.175.44', '119.149.189.199', '93.152.156.    13', '125.7.209.4', '210.51.48.71', '88.117.234.162', '217.97.185.35', '217.20.183.73', '117.41.228.195', '201.20.186.222', '79.39.6.98', '221.165.162.4', '211.72.171.76', '209    .255.67.10', '80.203.122.116', '12.152.124.2', '70.169.201.74', '202.5.95.205', '217.219.67.131', '65.98.97.98', '218.241.155.144', '80.14.186.105', '96.31.68.39', '218.108.247    .138', '61.138.217.19', '82.230.95.10']</code></p>
<p>Ajout d&#8217;un attaquant + upload au serveur central :</p>
<p><code>Feb 21 09:25:31 - denyhosts   : INFO     new denied hosts: ['81.7.171.15']<br />
Feb 21 09:43:01 - sync        : INFO     sent 1 new host</code></p>
<p>Reset du compteur en cas de login réussi :</p>
<p><code>Feb 21 11:35:03 - loginattempt: INFO     resetting count for: 10.0.0.3</code></p>
<h3>Liens</h3>
<p><a href="http://www.denyhosts.sourceforge.net">Site officiel</a><br /> <a href="http://stats.denyhosts.net/stats.html">Statistiques mondiales de DenyHosts</a></p>
<p><h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/05/16/rsnapshot/' rel='bookmark' title='Mise en place d&#8217;un système de backup avec Rsnapshot'>Mise en place d&#8217;un système de backup avec Rsnapshot</a></li>
<li><a href='http://geekfault.org/2009/05/15/ssh-sans-mot-de-passe/' rel='bookmark' title='SSH sans mot de passe'>SSH sans mot de passe</a></li>
<li><a href='http://geekfault.org/2009/03/28/ubuntu-jaunty-jackalope-9-04/' rel='bookmark' title='On a testé pour vous : Ubuntu Jaunty Jackalope 9.04'>On a testé pour vous : Ubuntu Jaunty Jackalope 9.04</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geekfault.org/2010/02/24/denyhosts-pour-empecher-le-bruteforce-sur-ssh/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Internet sur votre laptop via un iPhone</title>
		<link>http://geekfault.org/2009/05/27/internet-via-iphone/</link>
		<comments>http://geekfault.org/2009/05/27/internet-via-iphone/#comments</comments>
		<pubDate>Tue, 26 May 2009 22:50:49 +0000</pubDate>
		<dc:creator>Tito</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[gsm]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[tunnel]]></category>

		<guid isPermaLink="false">http://geekfault.org/?p=720</guid>
		<description><![CDATA[Après avoir découvert les services de Mobile Vikings et les tunnels SSH, voici une bonne compilation des deux: se connecter à internet grâce à la connexion EDGE ou 3G de son iPhone. Cette technique fonctionne pour tous les laptops ayant une ligne de commande SSH: Linux et Mac OS. Votre iPhone doit être jailbreaké avec [...]
<h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/06/29/iphone-os-30/' rel='bookmark' title='iPhone OS 3.0'>iPhone OS 3.0</a></li>
<li><a href='http://geekfault.org/2009/07/12/transformer-laptop-en-routeur-wifi/' rel='bookmark' title='Partager la connexion de son laptop'>Partager la connexion de son laptop</a></li>
<li><a href='http://geekfault.org/2009/05/27/lighttpd-php-iphone/' rel='bookmark' title='Serveur Lighttpd avec PHP sur iPhone'>Serveur Lighttpd avec PHP sur iPhone</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/05/iphone-tethering-300x201.png" alt="Principe du tethering" title="Principe du tethering" width="300" height="201" class="alignleft size-medium wp-image-724" />Après avoir découvert <a href="http://geekfault.org/2009/03/30/mobile-vikings/">les services de Mobile Vikings</a> et les <a href="http://geekfault.org/2009/05/14/tunnel-ssh/">tunnels SSH</a>, voici une bonne compilation des deux: se connecter à internet grâce à la <strong>connexion EDGE ou 3G de son iPhone</strong>.</p>
<p>Cette technique fonctionne pour tous les laptops ayant une ligne de commande SSH: Linux et Mac OS. Votre iPhone doit être <strong>jailbreaké</strong> avec <strong>OpenSSH</strong> (Cydia) installé.<br />
<!--more--></p>
<h3>Réseau WiFi Ad-Hoc</h3>
<p>Créez un réseau WiFi <strong>Ad-Hoc sur votre laptop</strong>. C&#8217;est aisément rélisable avec NetworkManager et pas vraiment plus compliqué en ligne de commande, je ne le détaillerai donc pas. Je vous conseille une <strong>configuration IP manuelle</strong>, sans DNS ni routeur.<br />
<code>Adresse IP: 10.42.42.1<br />
Broadcast: 10.42.42.255<br />
Sous-réseau: 255.255.255.0</code></p>
<p>Connectez-vous ensuite à ce WiFi sur votre iPhone. Il est ici <strong>impératif</strong> que la <strong>configuration IP</strong> soit <strong>manuelle</strong>. Il ne faut en effet ni routeur, ni DNS.<br />
<code>Adresse IP: 10.42.42.2<br />
Sous-réseau: 255.255.255.0</code></p>
<h3>Tunnel SSH</h3>
<p>Tout d&#8217;abord ouvrez une page quelconque avec Safari sur votre iPhone. Cela permettra de réécrire les routes pour que l&#8217;iPhone se connecte via l&#8217;EDGE/3G et non via sa connexion WiFi active, connexion qui ne mène à rien. Cela peut prendre quelques secondes.</p>
<p>Comme expliqué dans <a href="http://geekfault.org/2009/05/14/tunnel-ssh/">l&#8217;article sur le tunnel SSH</a>, il vous suffit ensuite d&#8217;initier le proxy local. Le mot de passe par défaut est <strong>alpine</strong>.<br />
<code>ssh -ND 9999 root@10.42.42.2</code></p>
<p>Configurez ensuite vos logiciels pour utiliser le proxy <strong>SOCKS5 sur localhost:9999</strong> et à vous l&#8217;internet partout en Belgique \o/</p>
<h3>iPhone OS 3.0</h3>
<p>Une des nouvelles fonctionnalités du prochain firmware de l&#8217;iPhone sera l&#8217;<strong>Internet Tethering</strong>, c&#8217;est-à-dire le partage de la connexion EDGE/3G via <strong>Bluetooth</strong> ou <strong>USB</strong>!</p>
<p>On en reparlera après le présentation de l&#8217;iPhone OS 3.0 au <a href="http://fr.wikipedia.org/wiki/WWDC">WWDC</a> entre le 8 et le 12 juin.</p>
<p>Via <a href="http://lifehacker.com/327066/use-your-iphones-internet-connection-on-your-laptop">Lifehacker (en)</a> et <a href="http://www.mydigitallife.info/2008/07/27/how-to-tether-and-connect-iphone-1g-2g-and-3g-as-modem-for-internet-gateaway/">MyDigitalLife (en)</a>.</p>
<p><h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/06/29/iphone-os-30/' rel='bookmark' title='iPhone OS 3.0'>iPhone OS 3.0</a></li>
<li><a href='http://geekfault.org/2009/07/12/transformer-laptop-en-routeur-wifi/' rel='bookmark' title='Partager la connexion de son laptop'>Partager la connexion de son laptop</a></li>
<li><a href='http://geekfault.org/2009/05/27/lighttpd-php-iphone/' rel='bookmark' title='Serveur Lighttpd avec PHP sur iPhone'>Serveur Lighttpd avec PHP sur iPhone</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geekfault.org/2009/05/27/internet-via-iphone/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mise en place d&#8217;un système de backup avec Rsnapshot</title>
		<link>http://geekfault.org/2009/05/16/rsnapshot/</link>
		<comments>http://geekfault.org/2009/05/16/rsnapshot/#comments</comments>
		<pubDate>Sat, 16 May 2009 14:15:28 +0000</pubDate>
		<dc:creator>bragon</dc:creator>
				<category><![CDATA[Logiciel]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[sécurité]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://geekfault.org/?p=511</guid>
		<description><![CDATA[rsnapshot la solution pour backuper incrémentalement en local ou à distance.
<h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/10/24/backup-dun-compte-gmail/' rel='bookmark' title='Backup d&#8217;un compte Gmail'>Backup d&#8217;un compte Gmail</a></li>
<li><a href='http://geekfault.org/2009/05/19/authentification-avec-une-cle-usb/' rel='bookmark' title='S&#8217;authentifier avec une clé USB'>S&#8217;authentifier avec une clé USB</a></li>
<li><a href='http://geekfault.org/2009/05/15/ssh-sans-mot-de-passe/' rel='bookmark' title='SSH sans mot de passe'>SSH sans mot de passe</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_527" class="wp-caption alignleft" style="width: 310px"><a href="http://geekfault.org/wp-content/uploads/2009/05/rsnapshot1.png" title="Schéma de la solution à déployer" rel="lightbox.511"><img src="http://geekfault.org/wp-content/uploads/2009/05/rsnapshot1-300x195.png" alt="Schéma de la solution à déployer" title="Schéma de la solution à déployer" width="300" height="195" class="size-medium wp-image-527" /></a><p class="wp-caption-text">Schéma de la solution à déployer</p></div>Qui ne s&#8217;est jamais retrouvé dans la merde après ne pas avoir sauvegardé ses données? Je vous propose aujourd&#8217;hui un petit tutoriel qui va vous permettre d&#8217;effectuer des backups réguliers sous GNU/Linux.</p>
<p>Avec <strong>rsnapshot</strong> il est possible de faire des <strong>backups locaux</strong> (une copie régulière d&#8217;un disque sur un autre) ou des <strong>backups distants</strong> (via une connexion SSH), soit les deux en même temps !<br />
<!--more--></p>
<h3>Principe de Rsnapshot</h3>
<p>Basé sur <strong>SSH et rsync</strong>, rsnapshot est en fait une boite à outil. Pour ceux qui ne connaissent pas rsync, c&#8217;est un outil de synchronisation de fichiers libre et puissant qui ne copie que les différences entre deux backups, et non l&#8217;entièreté du système, pour économiser de la bande passante.</p>
<p>Rsnapshot est un logiciel qui tourne <strong>sur le serveur de backup</strong>. La machine qui se voit ainsi sauvegardée est totalement passive, il faut juste qu&#8217;elle ait un serveur SSH activé.</p>
<p>Quelques scripts rsync/ssh pourraient évidemment faire la même chose que rsnapshot, mais rsnapshot est fiable et sa configuration triviale, alors pourquoi s&#8217;en passer?</p>
<h3>Installation</h3>
<p><strong>Première étape</strong> : Installez rsnapshot sur le serveur où seront stockés les backups. Je ne décris pas cette installation qui est triviale et propre à chaque distribution.</p>
<p><strong>Deuxième étape</strong> : Permettez à ce serveur de se connecter automatiquement en SSH sur la machine à sauvegarder. Je vous renvoie vers l&#8217;article <a href="http://geekfault.org/2009/05/15/ssh-sans-mot-de-passe/"><strong>SSH sans mot de passe</strong></a> qui explique comment générer une paire de clés publique/privée afin de chiffrer la connexion SSH avec le protocole RSA.</p>
<p><strong>Troisième étape</strong> (facultative) : Modifiez votre fichier <strong>/etc/hosts</strong>, qui permet d&#8217;utiliser des short-names dans la configuration de rsnapshot (c&#8217;est plus propre et plus joli).</p>
<p><strong>Quatrième étape</strong> : Configurez rsnapshot dans <strong>/etc/rsnapshot.conf</strong>. Vous pouvez vous inspirer de <a href="http://geekshell.org/~bragon/doku/doku.php?id=rsnapshot.conf#rsnapshot.conf">cet exemple</a>.</p>
<h3>Lancer le backup</h3>
<p>Vous êtes maintenant prêt pour votre premier backup! Lancez la commande suivante:<br />
<code>/usr/bin/rsnapshot -cv /etc/rsnapshot.conf daily</code></p>
<p>Si tout se passe bien, vous n&#8217;avez plus qu&#8217;à ajouter cette commande à votre <strong>crontab</strong> afin d&#8217;automatiser la procédure.</p>
<h3>Problèmes connus</h3>
<ul>
<li>La toute première connection ssh du serveur de backup vers la machine à backuper doit être établi manuellement.</li>
<li>Le fichier <em>rsnapshot.conf</em> doit être réécrit en séparant les valeurs avec des <strong>tabulations</strong>. Si vous ne remplacez pas les espaces par des tabulations, rsnapshot ne fonctionnera pas.</li>
</ul>
<h3>Liens de référence</h3>
<ul>
<li><a href="http://rsnapshot.org" target="_blank">Site du projet</a></li>
<li><a href="http://geekshell.org/~bragon/doku/doku.php?id=rsnapshot.conf">Exemple de configuration</a></li>
</ul>
<p><h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/10/24/backup-dun-compte-gmail/' rel='bookmark' title='Backup d&#8217;un compte Gmail'>Backup d&#8217;un compte Gmail</a></li>
<li><a href='http://geekfault.org/2009/05/19/authentification-avec-une-cle-usb/' rel='bookmark' title='S&#8217;authentifier avec une clé USB'>S&#8217;authentifier avec une clé USB</a></li>
<li><a href='http://geekfault.org/2009/05/15/ssh-sans-mot-de-passe/' rel='bookmark' title='SSH sans mot de passe'>SSH sans mot de passe</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geekfault.org/2009/05/16/rsnapshot/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SSH sans mot de passe</title>
		<link>http://geekfault.org/2009/05/15/ssh-sans-mot-de-passe/</link>
		<comments>http://geekfault.org/2009/05/15/ssh-sans-mot-de-passe/#comments</comments>
		<pubDate>Fri, 15 May 2009 15:49:54 +0000</pubDate>
		<dc:creator>Tito</dc:creator>
				<category><![CDATA[Création Geekfault]]></category>
		<category><![CDATA[Logiciel]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[mot de passe]]></category>
		<category><![CDATA[planet-libre]]></category>
		<category><![CDATA[rsa]]></category>
		<category><![CDATA[sécurité]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://geekfault.org/?p=341</guid>
		<description><![CDATA[Après avoir vu comment facilement utiliser un tunnel SSH comme proxy pour toutes vos connexions, voilà un moyen simple de ne plus avoir à rentrer son mot de passe lors de la connexion SSH et donc de pouvoir automatiser certaines connexions. Je n&#8217;ai pas trouvé de tutoriel clair et concis en français sur Google alors le [...]
<h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/05/16/rsnapshot/' rel='bookmark' title='Mise en place d&#8217;un système de backup avec Rsnapshot'>Mise en place d&#8217;un système de backup avec Rsnapshot</a></li>
<li><a href='http://geekfault.org/2010/12/05/devenez-miroir-de-wikileaks-sans-risque/' rel='bookmark' title='Devenez miroir de Wikileaks sans risque (corrigé)'>Devenez miroir de Wikileaks sans risque (corrigé)</a></li>
<li><a href='http://geekfault.org/2009/05/19/authentification-avec-une-cle-usb/' rel='bookmark' title='S&#8217;authentifier avec une clé USB'>S&#8217;authentifier avec une clé USB</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/05/serveur-150x150.png" alt="Principe du chiffrement asymétrique" title="Principe du chiffrement asymétrique" width="150" height="150" class="alignleft size-thumbnail wp-image-363" />Après avoir vu <a href="http://geekfault.org/2009/05/14/tunnel-ssh/">comment facilement utiliser un  tunnel SSH comme proxy</a> pour toutes vos connexions, voilà un moyen simple de <strong>ne plus avoir à rentrer son mot de passe</strong> lors de la connexion SSH et donc de pouvoir automatiser certaines connexions.</p>
<p>Je n&#8217;ai pas trouvé de tutoriel clair et concis en français sur Google alors le voici.<br />
<!--more--></p>
<h3>Le principe</h3>
<p>Cette astuce ne consiste pas à encoder votre mot de passe en clair quelque part sur votre poste client. Il est basé sur un <strong>échange de clés de cryptage</strong> <a href="http://fr.wikipedia.org/wiki/Rivest_Shamir_Adleman">RSA</a> entre le serveur et le client.</p>
<div style="text-align: center;"><img src="http://geekfault.org/wp-content/uploads/2009/05/cle-rsa.png" alt="Principe du chiffrement asymétrique" title="Principe du chiffrement asymétrique" width="580" height="180" class="alignnone size-full noborder wp-image-363" /></div>
<p>Le cryptage RSA repose sur une paire de clés : une publique et une privée. Vous l&#8217;aurez compris, la clé privée reste sur votre ordinateur client et vous pouvez partager votre clé publique avec tous les serveurs sur lesquels vous souhaites vous authentifier.</p>
<p>Lors de chaque connexion, <strong>le serveur chiffre une chaine de caractères aléatoire</strong> avec la clé publique. Seule la clé privée est suffisante pour <strong>déchiffrer</strong> cette chaine de caractères et la transmettre au serveur (sans risque puisque les transmissions SSH sont elles-mêmes cryptées). C&#8217;est le principe de toutes les procédures d&#8217;authentification (GnuPG, BeID, cartes bancaires, &#8230;)</p>
<h3>Générer les clés de cryptage</h3>
<p>Il faut donc, sur le cient, générer les <strong>clés RSA</strong> qui lui permettront de signer. Il existe d&#8217;autres types de clés mais le RSA est simple et sécurisé.<br />
<code>$ ssh-keygen -t rsa</code></p>
<p>Une <strong>passphrase</strong> permet d&#8217;avoir un seul mot de passe pour toutes vos connexions SSH, même si le vrai mot de passe de connexion est différent sur chaque serveur. Si vous ne voulez pas utiliser de passphrase pour une connexion entièrement automatisée, <strong>tapez simplement <em>enter</em></strong>.</p>
<h3>Copier la clé publique sur le serveur</h3>
<p>Il faut maintenant <strong>copier la clé publique</strong> générée sur le serveur SSH, pour qu&#8217;il puisse bien vérifier que c&#8217;est vous qui signez la demande de connexion. On le fait par un petit <em>scp</em> (copie de fichier sur SSH):<br />
<code>$ scp ~/.ssh/id_rsa.pub utilisateur@serveur:~/.ssh/authorized_keys</code></p>
<p>Et voilà! C&#8217;est tout! Vous pouvez maintenant vous connecter sur votre serveur SSH sans mot de passe:<br />
<code>ssh utilisateur@serveur</code></p>
<h3>Exécuter une commande sur le SSH</h3>
<p>Une dernière petite astuce, si vous souhaitez <strong>directement exécuter une commande sur le serveur SSH</strong>, utilisez le paramètre<br />
<em>-t</em>. Par exemple, pour ouvrir votre screen IRC:<br />
<code>$ ssh utilisateur@serveur -t screen -x irc</code></p>
<p><h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/05/16/rsnapshot/' rel='bookmark' title='Mise en place d&#8217;un système de backup avec Rsnapshot'>Mise en place d&#8217;un système de backup avec Rsnapshot</a></li>
<li><a href='http://geekfault.org/2010/12/05/devenez-miroir-de-wikileaks-sans-risque/' rel='bookmark' title='Devenez miroir de Wikileaks sans risque (corrigé)'>Devenez miroir de Wikileaks sans risque (corrigé)</a></li>
<li><a href='http://geekfault.org/2009/05/19/authentification-avec-une-cle-usb/' rel='bookmark' title='S&#8217;authentifier avec une clé USB'>S&#8217;authentifier avec une clé USB</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geekfault.org/2009/05/15/ssh-sans-mot-de-passe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Le tunnel SSH facile</title>
		<link>http://geekfault.org/2009/05/14/tunnel-ssh/</link>
		<comments>http://geekfault.org/2009/05/14/tunnel-ssh/#comments</comments>
		<pubDate>Wed, 13 May 2009 22:06:24 +0000</pubDate>
		<dc:creator>Tito</dc:creator>
				<category><![CDATA[Logiciel]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[tunnel]]></category>
		<category><![CDATA[vpn]]></category>

		<guid isPermaLink="false">http://geekfault.org/?p=309</guid>
		<description><![CDATA[Un tunnel SSH permet d&#8217;utiliser n&#8217;importe quel serveur SSH comme proxy. C&#8217;est une alternative intéressante à certaines utilisations d&#8217;un VPN (et bien plus facile à mettre en oeuvre): Accéder au réseau local du serveur SSH Se balader sur internet avec l&#8217;IP du serveur SSH Contourner un firewall trop restrictif Sécuriser ses communications sur un réseau public douteux [...]
<h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/05/27/internet-via-iphone/' rel='bookmark' title='Internet sur votre laptop via un iPhone'>Internet sur votre laptop via un iPhone</a></li>
<li><a href='http://geekfault.org/2009/05/15/ssh-sans-mot-de-passe/' rel='bookmark' title='SSH sans mot de passe'>SSH sans mot de passe</a></li>
<li><a href='http://geekfault.org/2009/05/16/rsnapshot/' rel='bookmark' title='Mise en place d&#8217;un système de backup avec Rsnapshot'>Mise en place d&#8217;un système de backup avec Rsnapshot</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://geekfault.org/wp-content/uploads/2009/05/tunnel-ssh.jpg" title="tunnel-ssh" rel="lightbox.309"><img style=' float: left; padding: 4px; margin: 0 7px 2px 0;' align="left"   src="http://geekfault.org/wp-content/uploads/2009/05/tunnel-ssh-300x218.jpg" alt="tunnel-ssh" title="tunnel-ssh" width="300" height="218" class="alignleft size-medium wp-image-312" /></a>Un tunnel SSH permet d&#8217;utiliser <strong>n&#8217;importe quel serveur SSH comme proxy</strong>. C&#8217;est une alternative intéressante à certaines utilisations d&#8217;un VPN (et bien plus facile à mettre en oeuvre):</p>
<ul>
<li>Accéder au <strong>réseau local</strong> du serveur SSH</li>
<li>Se balader sur internet <strong>avec l&#8217;IP du serveur</strong> SSH</li>
<li><strong>Contourner un firewall</strong> trop restrictif</li>
<li><strong>Sécuriser ses communications</strong> sur un réseau public douteux</li>
</ul>
<p>Roidelapluie m&#8217;a aujourd&#8217;hui montré à quel point il était facile de créer un tunnel SSH remplissant ces fonctions.<br />
<!--more--></p>
<h3>Le serveur proxy</h3>
<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;' align="right"   src="http://geekfault.org/wp-content/uploads/2009/05/laptop-150x150.png" alt="laptop" title="laptop" width="150" height="150" class="alignright size-thumbnail wp-image-322" />Prérequis : un accès utilisateur sur un serveur SSH. J&#8217;appellerai <em>client</em> l&#8217;ordinateur sur lequel vous êtes et <em>serveur</em> le serveur SSH.</p>
<p>L&#8217;idée générale est donc de faire tourner <strong>sur le client</strong> un <strong>serveur proxy</strong> relayant toutes les connexions vers le serveur. Cela se fait en une seule commande:<br />
<code>ssh -ND 9999 utilisateur@serveur</code><br />
Une fois authentifié sur le serveur SSH, laissez l&#8217;invite de commande tourner. Vous avez désormais un <strong>serveur proxy SOCKS</strong> (compatible v4 et v5) tournant sur <em>localhost:9999</em></p>
<h3>Les applications clientes</h3>
<p>Vous pouvez maintenant simplement régler votre système, votre navigateur ou toute autre application pour utiliser un serveur proxy <strong>SOCKS</strong>, uniquement SOCKS. Vous pouvez par exemple vérifier que ça a bien fonctionné pour Firefox en comparant <a href="http://myip.dk">votre IP</a> avant et après.</p>
<div style="text-align: center;"><img src="http://geekfault.org/wp-content/uploads/2009/05/your-ip.jpg" alt="your-ip" title="your-ip" width="533" height="222" class="size-full wp-image-315" /></div>
<p>Si le logiciel que vous souhaitez faire passer dans le tunnel ne supporte pas les proxys ou que vous voulez quelque chose de plus universel qu&#8217;un réglage logiciel au cas par cas, vous pouvez installer <strong>proxychains</strong>. Modifiez la dernière ligne de /etc/proxychains.conf pour qu&#8217;elle ressemble à ceci:<br />
<code>socks5 127.0.0.1 9999</code></p>
<p>Il suffit ensuite de lancer l&#8217;application en ajoutant proxychains avant la commande:<br />
<code>proxychains links2 "http://myip.dk"</code></p>
<p><h3>Si vous avez aimé ce post...</h3><ol>
<li><a href='http://geekfault.org/2009/05/27/internet-via-iphone/' rel='bookmark' title='Internet sur votre laptop via un iPhone'>Internet sur votre laptop via un iPhone</a></li>
<li><a href='http://geekfault.org/2009/05/15/ssh-sans-mot-de-passe/' rel='bookmark' title='SSH sans mot de passe'>SSH sans mot de passe</a></li>
<li><a href='http://geekfault.org/2009/05/16/rsnapshot/' rel='bookmark' title='Mise en place d&#8217;un système de backup avec Rsnapshot'>Mise en place d&#8217;un système de backup avec Rsnapshot</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://geekfault.org/2009/05/14/tunnel-ssh/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

