To display the most relevant entries to you in priority,
vote for the stories you are interested in
()
and reject those that you are not interested in
()
On en parle partout, même sur BFM TV, Google est sur le point de se lancer sur le
marché de la télévision. Oui, rien que ça. La firme va donc
s’inviter chez nous avec un chouette petit boîtier tournant sous Android et
qu’il suffira de brancher sur sa télévision. On pourra ainsi accéder
aux chaines [...] Related posts: Google Chrome passe à la télévision...
Google Wave, quand Google fait dans le...
Le « mode XP », qui permet de lancer une machine virtuelle Windows XP au sein des
éditions Professionnelle et Intégrale de Windows 7, pourra désormais
fonctionner sur tous les processeurs. Il était initialement [...]
Le « mode XP », qui permet de lancer une machine virtuelle Windows XP au sein des
éditions Professionnelle et Intégrale de Windows 7, pourra désormais
fonctionner sur tous les processeurs. Il était initialement [...]
Engadget le trés grand site que tous geek connait a pu faire une vidéo d’un
smartphone prototype de Asus tournant sous Windows Phone 7 Series. Donc, si vous
voulez vraiment voir ce que pourra donner cet OS, suivez le lien ci-dessous pour accéder
au guide complet fait par Engadget et à la vidéo et vous faire une opinion.
Après des mois et des mois sans nouvel article, j'ai décidé de me remettre
à mon blog. Je profite de l'occasion pour mettre à jour ma version de Wordpress, et
là, c'est le drame : la mise-à-jour foire, et impossible de me connecter en
administrateur (erreur dans la base de données). Je cherche alors un moteur de blog
alternatif, et je tombe sur PluXml.
PluXml est un moteur de blog assez récent et peu connu, en comparaison des monstres que
sont Wordpress et Dotclear. Sous licence GPL, ses principaux atouts sont sa taille réduite
(quelques centaines de ko), sa légèreté et sa rapidité. Ce qui a
également fait pencher la balance, c'est sa gestion tout en XML (d'où le nom), que
ce soient les fichiers de configuration ou les articles. Il suffit donc de faire un copie du
répertoire d'installation en cas de backup, et on ne se casse pas la nénette avec
une base de données. PluXml gère évidemment les commentaires, les thèmes et les plugins, mais ne dispose pas encore d'un gestionnaire de plugins
automatisé.
Au rayon des inconvénients, on pourra lui reprocher un manque dans le choix des plugins,
un éditeur de texte un peu simpliste et une galerie d'image un peu juste également.
Cependant, PluXml reste un choix parfait pour quiconque veut un blog simple et sans chichis,
rapide et efficace.
Billet original de Marty.Votez pour cet article sur le Planet Libre.
Depuis quelques mois, les solutions de VPN payant type Ipredator ont fleuri sur la toile. Ces
solutions d'anonymat, séduisantes au premier abord, possèdent un gros point noir :
qui se cache réellement derrière ces VPN ? N'y a-t-il pas un risque que ces «
bienfaiteurs de l'Internet libre » ne revendent un jour toutes les données
collectées ? Comme on n'est jamais mieux servi que par soi-même, nous allons voir
comment monter son propre serveur VPN grâce à OpenVPN. Par ailleurs, ce VPN pourra
aussi vous servir à passer les éventuelles restrictions mises en place sur votre
lieu de travail, ou sécuriser votre connexion lorsque vous devez vous connecter sur des
réseaux publics peu sécurisés.
Configuration du serveur
Avant toute chose, vous devez avoir accès à un serveur, si possible avec une bande
passante suffisante. En effet, ce serveur va servir de relai entre vous et la cible distante : la
bande passante en upload du serveur deviendra votre bande passante en download maximale.
Dès lors, mieux vaut se tourner vers un service professionnel, offrant souvent une bande
passante allant jusqu'à 100 Mb/s (environ 12 Mo/s). Cherchez donc du côté des
VPS (Virtual Private server) : vous
aurez toutes les possibilités d'un serveur dédié, mais à prix (et
performances) réduit. Un serveur OpenVPN est très léger, donc 128 Mo de RAM
devraient être suffisants. En France, Gandi, OVH
ou LWS ont des offres
intéressantes à moins de 15 € par mois. Partagée entre 2
ou 3 personnes de confiance, cette solution est rapidement plus avantageuse qu'une solution type
Ipredator. Attention tout de même car beaucoup de VPS promettent une bande passante de 100
Mbits/s, mais en pratique ce n'est pas le cas. La bande passante n'est pas partagée de
manière équitable entre les différentes machines virtuelles, et
résultat les performances laissent à désirer (j'ai déjà eu le
cas avec du 100 Mbits/s qui en pratique approchait péniblement le 100 kbits/s...).
Cherchez donc des solutions où la bande passante est moindre, mais assurée (comme
Gandi le propose).
Avant de mettre en place votre VPN, pensez à sécuriser votre serveur. Une machine avec IP fixe accessible 24h/24 sera
irrémédiablement la cible d'attaques.
Installation de OpenVPN et création des clés et certificats
Installez tout d'abord OpenVPN, bien souvent disponible dans les dépôts de base de
votre distribution :
marty@server:# apt-get install openvpn
OpenVPN peut fonctionner avec plusieurs types d'authentification. Nous utiliserons
l'authentification par clés et certificats, plus sûre que le classique login/mot de
passe. Pour générer les clés et certificats nécessaires, des scripts
ont été créés et se situent, sous Ubuntu 9.04, dans le dossier
/usr/share/doc/openvpn/examples/easy-rsa/2.0. Commençons par copier tout ceci dans un
répertoire de travail (tout le processus doit s'effectuer en tant que root) :
marty@server:# cd /etc/openvpn marty@server:# cp -r
/usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn marty@server:# mv 2.0/ easy-rsa/
marty@server:# cd easy-rsa/
Modifiez tout d'abord les variables du fichiers vars :
(vous devez bien écrire point/espace/point, ce n'est pas une erreur).
On efface les éventuelles clés présentes :
marty@server:# ./clean-all
On crée le certificat et la clé de l'Autorité de Certification (CA) :
marty@server:# ./build-ca
Les fichiers ca.crt et ca.key sont alors créés dans le dossier keys, et les
variables précédentes devront être confirmées. Ces fichiers sont les
fichiers centraux de la sécurité de votre serveur OpenVPN. La clé vous
servira à signer les clés du (des) serveur(s) ainsi que des différents
clients, et le certificat servira de « carte d'identité » à laquelle
serveur(s) et clients se réfèreront.
On crée le certificat et la clé pour le serveur :
marty@server:# ./build-key-server server
Laissez toutes les options par défaut (y compris la demande de mot de passe), et
répondez « yes » à la question de la signature :
Certificate is to be certified until Sep 5 14:02:19 2019 GMT (3650 days) Sign the certificate?
[y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y
Le certificat du serveur sera alors signé avec la clé de l'Autorité de
Certification. Les fichiers server.crt et server.key seront créés.
On crée le certificat et la clé pour le client :
marty@server:# ./build-key client1
De la même manière que pour le serveur, on laisse toutes les options par
défaut et on accepte la signature par avec la clé de la CA. Les fichiers
client1.crt et client1.key seront créés. Il est recommandé de créer
une paire certificat/clé par client, de manière à pouvoir les
révoquer par la suite si nécessaire (au cas où le client les perdrait).
Pour que notre serveur fonctionne, nous auront également besoin des paramètres de
Diffie-Hellman :
marty@server:# ./build-dh
Le fichier dh1024.pem est créé. J'avoue, je n'ai pas compris à quoi cela
servait précisément dans le cas de OpenVPN...
Finalement, nous augmentons encore la sécurité de notre serveur grâce
à tls-auth :
Au terme dela génération de ces diverses clés et certificats, nous obtenons
les fichiers suivants :
ca.crt : certificat de l'Autorité de Certification
ca.key : clé de l'Autorité de Certification
server.crt : certificat du serveur
server.key : clé du serveur
client1.crt : certificat du client1
client1.key : clé du client1
dh1024.pem : paramètres de Diffie-Hellman
ta.key : clé utilisée pour tls-auth
En vert, les fichiers qui ne sont pas secrets, en rouge les fichiers secrets. Attention toute
particulière au fichier ca.key qui sert à signer tous les certificats. Il permet
d'autoriser ou non un client, et il est donc fondamental qu'il soit gardé secret !
En pratique, les fichiers nécessaires sont :
serveur : ca.crt, server.crt, server.key, dh1024.pem et ta.key
client1 : ca.crt, client1.crt, client1.key et ta.key
Notez bien que le fichier ca.key n'est nécessaire ni sur le serveur, ni chez aucun client
! Gardez-le en lieu sûr ;-)
Fichier de configuration serveur
Toute la configuration s'effectue dans un fichier quelconque, ci-après server.conf.
Voilà un exemple typique :
#Configuration serveur mode server # c'est le fichier de configuration du serveur proto tcp #
protocole TCP port 443 # port 443 (https) dev tun # mode routé #Clefs ca keys/ca.crt cert
keys/server.crt key keys/server.key dh keys/dh1024.pem tls-auth keys/ta.key 0 # 0 pour le serveur
cipher AES-256-CBC # algorithme de chiffrement #Configuration VPN #client-to-client # permet la
connexion entre clients server 10.8.0.0 255.255.255.0 # adresse IP attribuées sur le VPN
push "redirect-gateway def1 bypass-dhcp" # redirection du flux de données push "dhcp-option
DNS 208.67.222.222" # utilisation de DNS alternatifs push "dhcp-option DNS 208.67.220.220"
keepalive 10 120 # ping toutes les 10 secondes, # considéré comme down après
120 secondes sans réponses #Divers user nobody # on passe de l'utilisateur root à
nobody group nogroup # nogroup est typique d'Ubuntu, groupe nobody pour les autres chroot
/etc/openvpn/ovpn_jail # chroot de openvpn persist-key # n'accède plus à certaines
options, persist-tun # car réduction des privilèges utilisateur comp-lzo #
compression des données #Log verb 3 # verbosité du log (1-9, 4 recommandé)
mute 20 # ne répète pas plus de 20 fois un message status openvpn-status.log #
fichier de statut log-append /var/log/openvpn.log # fichier de log
Tout d'abord, le port utilisé (443) a été choisi parce qu'il n'est jamais
bloqué (port https). Vous pouvez utiliser un autre port plus aléatoire si vous ne
devez pas contourner de blocages quelconques.
Le mode routé (dev tun) est préféré au mode bridgé pour sa
plus grande simplicité de configuration. Si vous avez une utilisation « basique
» du VPN, ne vous préoccupez pas de ça.
De nombreux algorithmes de chiffrement sont disponibles. Nous choisissons ici le chiffrement AES
256 bits, qui est assez élevé. Si votre serveur rame, tentez de passer à du
128 bits.
client-to-client permet à deux clients de se connecter l'un à l'autre, par exemple
via un serveur NFS. Dans notre cas, cette ligne est commentée.
server 10.8.0.0 255.255.255.0 définit le range d'adresses IP locales qui seront
attribuées. Le serveur prendra l'adresse 10.8.0.1, et les clients 10.8.0.2, 10.8.0.3,
10.8.0.4... Attention : cette adresse ne doit rentrer en conflit avec aucune autre. Évitez
donc d'utiliser les habituelles 192.168.x.x ou 10.108.x.x.
La ligne contenant « redirect-getaway » spécifie que tout le flux doit
être redirigé vers le VPN. Attention à cette ligne qui peut différer
d'une version à l'autre. Il semble que sous CentOS, il ne faille pas mettre les mots
clés « def1 bypass-dhcp », alors que sous Ubuntu 9.04 cela est obligatoire.
Par la suite, la sécurité est améliorée en diminuant les
privilèges du programme (« user nobody », « group nogroup ») et en
effectuant un chroot (le dossier spécifié doit être créé). De
cette manière, une éventuelle faille d'OpenVPN ne pourra être
exploitée qu'en tant qu'utilisateur restreint, dans un environnement restreint.
Vous pouvez faire un premier test, en commentant la ligne « log-append » pour que le
log s'affiche directement dans le terminal. Pour cela, on lance (en root, dans le dossier
où se trouvent le fichier server.conf ainsi que le répertoire keys) :
marty@server:# openvpn server.conf OpenVPN 2.1_rc11 i486-pc-linux-gnu [SSL] [LZO2] [EPOLL]
[PKCS11] built on Mar 9 2009 Diffie-Hellman initialized with 1024 bit key /usr/bin/openssl-vulnkey
-q -b 1024 -m Control Channel Authentication: using 'keys/ta.key' as a OpenVPN static key file
Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
TLS-Auth MTU parms [ L:1560 D:168 EF:68 EB:0 ET:0 EL:0 ] ROUTE default_gateway=XXX.XXX.XXX.XXX
TUN/TAP device tun0 opened TUN/TAP TX queue length set to 100 /sbin/ifconfig tun0
10.8.0.1 pointopoint 10.8.0.2 mtu 1500 /sbin/route add -net 10.8.0.0 netmask 255.255.255.0 gw
10.8.0.2 Data Channel MTU parms [ L:1560 D:1450 EF:60 EB:135 ET:0 EL:0 AF:3/1 ] chroot to
'/etc/openvpn/ovpn_jail' and cd to '/' succeeded GID set to nogroup UID set to nobody
Listening for incoming TCP connection on [undef]:443 Socket Buffers: R=[87380->131072]
S=[16384->131072] TCPv4_SERVER link local (bound): [undef]:443 TCPv4_SERVER link remote: [undef]
MULTI: multi_init called, r=256 v=256 IFCONFIG POOL: base=10.8.0.4 size=62 MULTI: TCP INIT
maxclients=1024 maxevents=1028 Initialization Sequence Complete
La première ligne en gras indique que l'interface tun0 a bien été
créée (c'est le réseau virtuel), et les 3 autres que le chroot ainsi que le
changement de propriétaire ont bien fonctionné. Dans un autre terminal, le ifconfig
donne :
Comme dans la section précédente, nous utiliserons Webmin pour configurer le
firewall.
Dans la section Packet filtering, on ajoute les règles :
Incoming packets (INPUT) Accept If protocol is TCP and destination port is 443 Accept If input
interface is tun0 Forwarded packets (FORWARD) Accept If input interface is tun0 Accept If output
interface is tun0
Et dans la section Network address translation :
Packets after routing (POSTROUTING) Masquerade If source is 10.8.0.0/24 and output interface is
eth0
Adaptez évidemment en fonction du protocole, port et adresse IP choisis.
Avec Iptables, cela donne :
iptables -A INPUT --dport 443 -p tcp iptables -A INPUT -i eth0 iptables -A FORWARD -i tun0 -j
ACCEPT iptables -A FORWARD -o tun0 -j ACCEPT iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0
-j MASQUERADE
Ces règles sont peut-être un peu trop permissives, il est surement possible de les
améliorer.
Configuration du client
Configurer un client est très simple, car cela repose sur la création dun fichier
client.conf, à la manière du server.conf. Voilà le fichier client.conf
associé au server.conf précédent :
#Configuration client client # mode client dev tun proto tcp-client remote XXX.XXX.XXX.XXX 443
#Remplacer XXX par l'adresse IP ou le nom d'hôte resolv-retry infinite nobind persist-key
persist-tun #Clefs ca keys/ca.crt cert keys/client1.crt key keys/client1.key tls-auth keys/ta.key 1
#1 pour le client cipher AES-256-CBC #Ces 3 lignes sont inutiles si spécifié dans la
configuration du serveur #redirect-gateway def1 bypass-dhcp #dhcp-option DNS 208.67.222.222
#dhcp-option DNS 208.67.220.220 comp-lzo verb 3
Il faut bien s'assurer que les options sont identiques entre client et serveur (compression,
port, protocole, chiffrement...), car une seule erreur et ça ne fonctionnera pas.
Après avoir fourni les clés fichiers nécessaires (voire section
précédente) ainsi que le fichier client.conf au client concerné,
installé OpenVPN sur la machine cliente, il suffit de lancer dans un terminal
(après avoir préalablement lancé OpenVPN sur le serveur):
marty@client:# openvpn client.conf OpenVPN 2.1_rc7 i486-pc-linux-gnu [SSL] [LZO2] [EPOLL] built
on May 8 2009 WARNING: No server certificate verification method has been enabled. See
http://openvpn.net/howto.html#mitm for more info. /usr/bin/openssl-vulnkey -q -b 1024 -m Control
Channel Authentication: using 'keys/ta.key' as a OpenVPN static key file Outgoing Control Channel
Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication Incoming Control Channel
Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication LZO compression
initialized Control Channel MTU parms [ L:1560 D:168 EF:68 EB:0 ET:0 EL:0 ] Data Channel MTU parms
[ L:1560 D:1450 EF:60 EB:135 ET:0 EL:0 AF:3/1 ] Local Options hash (VER=V4): '2f2c6498' Expected
Remote Options hash (VER=V4): '9915e4a2' Attempting to establish TCP connection with
XXX.XXX.XXX.XXX:443 [nonblock] TCP connection established with XXX.XXX.XXX.XXX:443 Socket Buffers:
R=[87380->131072] S=[16384->131072] TCPv4_CLIENT link local: [undef] TCPv4_CLIENT link
remote: XXX.XXX.XXX.XXX:443 TLS: Initial packet from XXX.XXX.XXX.XXX:443, sid=4421b77a 4dc14e71
VERIFY OK: depth=1,
/C=US/ST=CA/L=SanFrancisco/O=Fort-Funston/CN=Fort-Funston_CA/emailAddress=me@myhost.mydomain VERIFY
OK: depth=0, /C=US/ST=CA/L=SanFrancisco/O=Fort-Funston/CN=server/emailAddress=me@myhost.mydomain
Data Channel Encrypt: Cipher 'AES-256-CBC' initialized with 256 bit key Data Channel Encrypt: Using
160 bit message hash 'SHA1' for HMAC authentication Data Channel Decrypt: Cipher 'AES-256-CBC'
initialized with 256 bit key Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC
authentication Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA [server]
Peer Connection Initiated with XXX.XXX.XXX.XXX:443 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1)
PUSH: Received control message: 'PUSH_REPLY,redirect-gateway def1 bypass-dhcp,dhcp-option DNS
208.67.222.222,dhcp-option DNS 208.67.220.220,route 10.8.0.1,topology net30,ping 10,ping-restart
120,ifconfig 10.8.0.6 10.8.0.5' OPTIONS IMPORT: timers and/or timeouts modified OPTIONS IMPORT:
--ifconfig/up options modified OPTIONS IMPORT: route options modified OPTIONS IMPORT: --ip-win32
and/or --dhcp-option options modified TUN/TAP device tun0 opened TUN/TAP TX queue
length set to 100 ifconfig tun0 10.8.0.6 pointopoint 10.8.0.5 mtu 1500 route add -net
XXX.XXX.XXX.XXX netmask 255.255.255.255 gw 192.168.1.1 route add -net 0.0.0.0 netmask 128.0.0.0 gw
10.8.0.5 route add -net 128.0.0.0 netmask 128.0.0.0 gw 10.8.0.5 route add -net 10.8.0.1 netmask
255.255.255.255 gw 10.8.0.5 Initialization Sequence Complete
et ça devrait fonctionner ! Pour vérifier, on tente d'abord un ifconfig qui devrait
renvoyer quelque chose de similaire à ce qui s'affiche sur le serveur, et vérifier
son adresse IP sur http://checkip.dyndns.com. Vous devriez alors avoir l'adresse IP du serveur. Par
ailleurs, vérifiez également que vos DNS ont été changés
(allez sur le site http://www.opendns.com/,
et si c'est le cas « You're using OpenDNS » devrait être indiqué). Si ce
n'est pas le cas, changez-les manuellement dans le fichier /etc/resolv.conf ou via l'applet de
configuration réseau.
Un peu d'automatisation...
Côté serveur, on peut lancer OpenVPN grâce à la commande :
marty@server:# nohup openvpn server.conf &
nohup permet de ne pas terminer la commande (en l'occurence, openvpn) lorsqu'on coupera la
connexion SSH. Selon la distribution utilisée, il est possible qu'OpenVPN se lance
automatiquement au démarrage.
Côté client, il vous faudra installer le paquet network-manager-openvpn pour pouvoir
effectuer la configuration depuis l'applet réseau. Avec les versions récentes de ce
dernier, il suffit de glisser-déposer le fichier client.conf dans l'onglet VPN pour que la
configuration soit automatique. On activera/désactivera alors simplement la connexion via
l'applet réseau.
Conclusion
En principe, tout devrait être fonctionnel. Si ce n'est pas le cas, n'hésitez
à pas demander de l'aide au support de votre hébergeur, certains nécessitant
une configuration supplémentaire pour fonctionner.
Vous pouvez également vérifier le trafic réseau grâce à
Wireshark (à lancer en root). Allez dans Capture → Options, puis
cliquez sur Start. Dans la colonne Info, vous devriez voir la mention « Encrypted data
» de nombreuses fois, et des transferts vers le port https (si vous avez choisi le port
443, évidemment). Si c'est le cas, c'est que ça fonctionne !
Billet original de Marty.Votez pour cet article sur le Planet Libre.
Dans cet article, nous aborderons la connexion à distance vers un PC sous GNU/Linux.
L'intérêt premier est évidemment l'administration d'une machine à
distance, mais cela peut également être utile pour la récupération de
fichiers lors de
voyages à l'étranger. Outre la mise en place d'un serveur SSH, nous traiterons
de la gestion firewall, du routeur éventuel ainsi que de l'adresse IP dynamique.
Configuration du serveur
Le serveur est la machine à laquelle vous voulez vous connecter, et qui retiendra la
majorité de notre attention. Cette machine devra être équipée d'une
distribution GNU/Linux quelconque. Une installation sous Windows est possible, mais semble
être plus du bricolage qu'autre chose.
IP fixe sur le LAN
Par défaut, l'attribution de l'adresse IP sur le réseau local (LAN) se fait par
DHCP, et est donc
variable. Cela peut poser des problèmes lorsque, par exemple, le routeur devra
transférer les données vers votre serveur. La première chose à faire
est donc d'attribuer une IP fixe à votre serveur. Pour cela, vous devez connaitre
l'adresse IP de votre passerelle ainsi que la gamme d'adresses IP attribuées. Par exemple,
chez la passerelle est 192.168.1.1 et les IP sont attribuées entre 192.168.1.2 et
192.168.1.254. La configuration à appliquer dans votre système devra ressembler
à ça :
Configuration en IP fixe
Cette fenêtre varie d'une distribution à l'autre, mais elle est souvent accessible
via un clic sur l'applet de connexion réseau. Vous devrez peut-être aussi indiquez
les serveurs DNS (permettant de faire le lien entre une adresse IP et le nom de domaine) ;
indiquez ceux d'OpenDNS, à savoir 208.67.222.222 et 208.67.220.220.
Installation du serveur SSH
Installons tout d'abord le serveur SSH, à savoir OpenSSH. Sous debian/Ubuntu :
À ce stade, le serveur est déjà opérationnel, mais allons tout
d'abord faire un tour dans les options de configuration du fichier /etc/sshd.conf. La
majorité des options par défaut sont bonnes, mais nous allons en modifier quelques
unes. Tout d'abord le port d'écoute, par défaut 22, peut être modifié
:
Port 12345
Changer le port par défaut permet de réduire les tentatives de connexion par des
robots. Évidemment, une personne physique effectuant un scan de port complet pourra
facilement trouver les ports ouverts. Ensuite, s'assurer que la connexion en root est impossible
:
PermitRootLogin no
Root est le seul utilisateur commun à toutes les distributions (excepté Ubuntu,
pour lequel il est désactivé par défaut et remplacé par sudo). Par
conséquent, interdire la connexion à root obligera un attaquant éventuel
à trouver un nom d'utilisateur existant. Et finalement, désactiver
l'authentification par mot de passe :
PasswordAuthentication no UsePAM no
Comment allons-nous nous connecter au serveur ? Et bien en utilisant ce que nous avons appris
précédemment, à savoir une paire de clés ! De manière
similaire à ce que nous faisions avec GnuPG, nous génèrerons une paire de
clé sur chaque client, et nous fournirons la clé publique au serveur. De cette
façon, seuls les clients ayant une clé enregistrée sur le serveur pourront
s'y connecter. Notez que dans un premier temps, vous devrez avoir un accès physique au
serveur pour copier la clé publique. Si ce n'est pas le cas, laissez les paramètres
précédents sur « yes » le temps d'enregistrer votre clé.
Quand ces modifications ont été appliquées, relancez le démon ssh :
marty@serveur:~$ sudo /etc/init.d/ssh restart Routeur et configuration du firewall via Webmin
Si vous êtes derrière un routeur, et que votre serveur doit être accessible
depuis d'extérieur de votre LAN, vous devez transférer le port choisi vers votre
serveur. Concernant le firewall, si vous savez comment configurer le votre, ouvrez simplement le
port que vous avez attribué, sous le protocole TCP. Si ce n'est pas le cas ou que vous
voulez découvrir Webmin, lisez donc la suite ;-)
Tout bon serveur qui se respecte se doit d'avoir un firewall bien configuré. Sous
GNU/Linux, le firewall intégré au système est Netfilter. Il existe plusieurs
possibilités pour le configurer :
en ligne de commande, grâce à iptables ou shorewall
en utilisant le firewall Firestarter
grâce à Webmin, un outil d'administration
graphique assez général
Si Firestarter reste la solution la plus simple, c'est aussi la moins « propre » vu
ses possibilités limitées et sa configuration basique. Iptables requiert quant
à lui un peu d'expérience pour être manipulé correctement. Reste alors
Webmin, assez simple d'accès tout en proposant des possibilités de configuration
poussées. C'est celui-ci que nous allons utiliser. Notez que les firewalls graphiques
n'enregistrent pas leur configuration directement dans Netfilter : ils ont besoin d'être
lancés pour que les règles soient appliquées. En outre, si deux firewalls
fonctionnent en même temps, ce sont les règles du dernier ayant été
lancé qui seront appliquées. Veillez donc à n'avoir qu'un firewall bien
configuré sur votre machine pour éviter les embrouilles ;-)
Procurez-vous tout d'abord Webmin, celui-ci
étant disponible pour de nombreuses distributions. Après installation, rendez vous
sur la page https://localhost:10000/ via votre navigateur
web. L'utilisateur est root, et votre mot de passe est votre mot de passe root. Pour les
utilisateurs d'Ubuntu, veuillez vous référer à cette page pour activer le compte root. Rendez à la
page Networking → Linux Firewall.
Dans la partie Incoming packets (INPUT), voici les 5 règles de base à appliquer :
Accept If state of connection is ESTABLISHED,RELATED Accept If source is 127.0.0.1 and input
interface is lo Accept If protocol is ICMP Log packet Always Drop Always
La règle « Log packet » va, comme son nom l'indique, établir un log des
paquets qui seront rejetés dans /var/log/messages. Pour les retrouver facilement, je
conseille d'ajouter dans la case « Additional parameters » (lors de la
création de la règle) l'instruction :
--log-prefix "[IPTABLES DROP]: "
Dans la partie Forwarded packets (FORWARD), on refuse tout :
Drop Always
Je laisse la partie Outgoing packets (OUTPUT) vide, ce qui signifie que toutes les connexions
sortantes sont autorisées. Vous devriez trouver assez facilement comment créer ces
règle, ce n'est pas bien compliqué. Veillez tout de même à
sélectionner « Equals » au lieu de « Ignored » pour les cases
modifiées. L'ordre des règle est très important : elles seront
appliquées de haut en bas. Il faut donc toujours que la règle « Drop Always
» soit la dernière !
Pour SSH, la règle à appliquer dans Incoming packets (INPUT) est :
Accept If protocol is TCP and destination port is 12345
Nous parlons bien de port de destination. En effet, comme ce sont les paquets
entrant, leur destination est bien notre serveur. 12345 est évidemment à remplacer
par le port que vous avez choisi. Cliquez finalement sur « Apply Configuration », et
choisissez « Yes » pour « Activate on boot ».
Protection contre les attaques « brute force » : fail2ban
Une attaque par « force
brute » est une attaque tout ce qu'il y a de plus basique. Elle consiste à
essayer toutes les combinaisons possibles de lettres/chiffres jusqu'à trouver le bon mot
de passe. Elle est souvent combinée à une attaque par dictionnaire pour
améliorer la vitesse de cassage. On comprend facilement que l'efficacité de ce type
d'attaque dépend de la solidité du mot de passe choisi : «
banane76″ risque d'être découvert beaucoup plus rapidement que
« a0D€8È}~v£2%ï2″.
Pour se prémunir d'une telle attaque sur son serveur SSH, les précautions
précédentes (pas de connexion en root, changement du port pour limiter les attaques
par des robots) permettent déjà de limiter les risques. Si la connexion par mot de
passe est désactivée, ces attaques seront totalement inefficaces. Cependant, on
peut vouloir laisser cette possibilité active pour une raison ou une autre. Fail2ban va
nous aider à nous protéger contre les attaquants éventuels (et n'ayez
crainte, vous devrez y faire face très rapidement). Le principe est simple : bannir les
adresses IP qui ont effectué trop de tentatives infructueuses de connexion, via une
règle dans le firewall.
Tout d'abord, installer fail2ban :
marty@serveur:~$ sudo apt-get install fail2ban
Ouvrez ensuite le fichier /etc/fail2ban/jail.conf, et cherchez les parties suivantes :
La partie [DEFAULT] contient les options par défaut, alors que la partie [ssh] les options
propres à SSH (sans déconner !). Passons-les en revue :
ignoreip permet d'ignorer les connexions venant d'une certaine adresse IP, ici
l'adresse IP locale
bantime est la durée de bannissement d'une adresse attaquant
findtime est le laps de temps pendant lequel les connexions d'une même IP vont
être analysée
maxretry est le nombre maximum de tentative de connexions infructueuses avant
bannissement
Dans mon cas, si le serveur reçoit 6 connexions infructueuses (maxretry) en moins de 10
minutes (findtime), l'adresse IP sera bannie 15 minutes (bantime). Dans le cas de SSH, un mot de
passe est demandé 3 fois à chaque connexion, ce qui fait au maximum 72 essais par
heure et par adresse IP.
Après configuration, relancez fail2ban :
marty@serveur:~$ sudo fail2ban-client reload
Vous pouvez également vérifier s'il fonctionne correctement :
marty@serveur:~$ sudo /etc/init.d/fail2ban status
Voilà, avec ça vous devriez être tranquille.
Adresse IP dynamique
Si votre FAI vous attribue une adresse IP dynamique (adresse IP de votre ordinateur sur Internet,
pas sur le réseau local !), vous aurez besoin d'un service comme DynDNS. Celui-ci vous permettra d'associer à votre serveur un
nom de domaine, et ce gratuitement. L'adresse IP sera mise à jour grâce au logiciel
ddclient que nous installerons plus tard.
Vous devez tout d'abord vous créer un
compte sur le site de DynDNS. Allez ensuite sur la page « Host Services », et cliquez sur
« Add New Hostname ». Choisissez un nom de domaine, sélectionnez « Host
with IP address » et indiquez votre adresse IP. Pour mettre à jour l'IP, trois
possibilités :
le faire manuellement via l'interface de DynDNS (peu pratique)
via l'interface de votre modem/routeur/*box : certains appareils disposent en effet de la
possibilité d'enregistrer un compte et de mettre à jour votre IP automatiquement
en installant ddclient
Installez ddclient :
marty@serveur:~$ sudo apt-get install ddclient
La configuration du fichier /etc/ddclient.conf devrait ressembler à ceci :
## ddclient configuration file daemon=300 # check every 300 seconds syslog=yes # log update
msgs to syslog pid=/var/run/ddclient.pid # record PID in file. ssl=yes ## Detect IP with our
CheckIP server use=web, web=checkip.dyndns.com/, web-skip='IP Address' ## Default options
protocol=dyndns2 ## DynDNS username and password here server=members.dyndns.org
login=YYYYYYYYpassword='XXXXXXXX' ## Dynamic DNS hosts
blablabla.tatata.com
Indiquez votre login, mot de passe (entre guillemets simples) ainsi que le(s) nom(s) de domaine.
J'ai choisi de faire la mise à jour toutes les 5 minutes.
Configuration du client
Côté client, la configuration est très simple. Après installation du
paquet openssh-client, connectez-vous grâce à la commande :
où login est votre login sur le serveur et 12345 à remplacer par le port
choisi. Notez que si vous vous connectez depuis votre réseau local, il y a de fortes
chances pour que l'utilisation du nom de domaine ne fonctionne pas. Il faudra plutôt
utiliser l'adresse IP fixe du serveur. Si vous avez laissé le port par défaut (22),
l'option -p est inutile.
Authentification par clé publique/privée
Rappelez-vous : nous devions utiliser la connexion par clé publique/privée ! Dans
le cas où la connexion via mot de passe est désactivée, cette commande ne
fonctionnera pas. Générons la paire de clé :
marty@client:~$ ssh-keygen -t dsa
Laissez les options par défaut, et indiquez une phrase de passe. Ensuite, vous devrez
copier le contenu du fichier ~/.ssh/id_dsa.pub dans le fichier
/home/login/.ssh/authorized_keys de votre serveur. Si la connexion par mot de passe
n'est pas désactivée, vous pouvez utiliser la ligne :
(sur une seule ligne) Grâce à la même commande que précédemment,
connectez-vous sur votre serveur. Votre phrase de passe vous sera demandée à la
place de votre mot de passe, et si cela fonctionne, vous pouvez désactiver l'autorisation
par mot de passe si ce n'est déjà fait (soyez tout de même sûr de
pouvoir accéder physiquement au serveur au cas où votre clé privée
serait perdue).
Taper sa phrase de passe, c'est chiant... Oui, je sais. Nous allons donc utiliser ssh-agent pour
nous faciliter la vie. Dans un terminal, tapez :
marty@client:~$ ssh-add
et entrez votre phrase de passe. Connectez vous sur votre serveur et là, magie, votre
phrase de passe ne vous est plus demandée ! C'est là un énorme avantage
d'utiliser l'authentification par clé publique/privée plutôt que par mot de
passe. Il suffit d'entrer sa phrase de passe en début de session, et on est tranquille
toute la journée ;-) Il est possible de fournir la même clé publique sur
plusieurs serveurs SSH : une fois la passphrase enregistrée, les connexions se font sans
mot de passe. Qui plus est, on n'a pas à retenir un mot de passe différent pour
chaque serveur.
Transfert de fichiers
Il est possible de transférer des fichiers via SSH grâce à la commande scp.
Pour envoyer un fichier sur le serveur :
Le logiciel gftp permet de faire graphiquement la même chose que scp. Il se présente
sous la forme de deux fenêtres, une pour le client et une pour le serveur.
Gftp
Faites attention de sélectionner le bon type de fichier (ASCII -- fichier texte simple --
ou Binaire -- le reste) dans le menu « FTP ».
Et les autres OS ?
Le noyau de Mac OS X étant un dérivé de BSD, les lignes de commandes
devraient être identiques. Sous Windows, allez voir du côté de PuTTY pour la ligne de commande et WinSCP comme équivalent de gftp.
Billet original de Marty.Votez pour cet article sur le Planet Libre.
Il est temps à présent de s'attaquer à la partie la plus sensible du sujet :
comment partager des données anonymement. Nous verrons ici qu'il est tout à fait
possible d'être anonyme grâce à la décentralisation et au chiffrement
des données. Les réseaux existants (Bittorrent, eDonkey2000, etc.) n'ayant pas
été prévu dans cette optique, il nous faudra en utiliser de nouveaux. Le
point fort de certains logiciels présentés est de combiner un réseau
existant avec un réseau décentralisé, de sorte que les nouveaux
réseaux mis en place ne pêchent pas par leur manque de choix.
Je vous rappelle qu'il est interdit d'utiliser ces logiciels à des fins
illégales (piratage, contrefaçon ou toute autre activité étant
considérée hors-la-loi par les lois en vigueur dans votre pays de
résidence). Vous pouvez toutefois les utiliser pour toutes autres utilisations
privées, ou pour télécharger des données libres.
Il faut être un minimum honnête avec les créateurs qu'on
apprécie. Si vous aimez un disque, un film ou un jeux, achetez-le, allez aux concerts ou
au cinéma. Internet permet un accès à une culture gigantesque, et la moindre
des choses est d'encourager ceux qui vous font plaisir. Outre l'honnêteté, ayez
à l'esprit que c'est vous seul qui êtes responsable si un artiste arrête de
produire car il ne gagne plus assez.
Bittorrent : OneSwarm, un début prometteur
Mis en place en 2002, le protocole de peer-to-peer (P2P) Bittorrent a connu un succès
fulgurant, notamment pour les raisons suivantes :
Vitesses de téléchargement nettement supérieures à celles
atteintes par les autres réseaux P2P (quelques
explications), notamment grâce à un système de « récompense
» (plus on envoie vite, plus reçoit vite) assez agressif.
Nombre de fakes (fichier dont le contenu ne correspond pas au nom) réduit grâce
à la centralisation des liens sur les trackers et l'impossibilité de renommer un
fichier partagé.
De nombreuses distributions Linux ont alors pu être distribuées de cette
façon. Le protocole étant ouvert, de nombreux logiciels clients sont apparus, les
plus célèbre étant µTorrent, Azureus (Vuze) ou Deluge. Une
première avancée fut l'arrivée du chiffrement des données :
impossible alors pour le FAI de détecter que les données transitant étaient
de l'échange de fichier. Restait un problème majeur : la centralisation des
adresses IP des utilisateurs sur les trackers. Il suffit de se connecter à ce tracker pour
connaître toutes les personnes partageant ce fichier. Qui plus est, de nombreux sites
(notamment les trackers privés) gardent des logs assez complets, permettant de
déterminer qui a partagé quoi (voir par exemple l'affaire de SnowTiger).
Récemment, OpenBittorrent (ainsi que PublicBT ou encore Torrage), un
tracker Bittorrent ouvert à tous, a été lancé. L'idée est
tellement simple qu'on se demande pourquoi elle n'a pas été appliquée avant.
Habituellement, lorsque vous recherchez un fichier, vous devez naviguer sur le site du tracker
(The Pirate Bay, Demonoid, SnowTiger...), voire sur un méta-moteur (Btjunkie,
Mininova...). L'inconvénient est que le serveur qui gère les connexions Bittorrent
est lié au serveur de recherche de fichiers. Si le serveur de recherche de fichiers tombe
sous le coup de la justice, il entraine celui qui gère les connexions et les torrents sont
perdus. OpenBittorrent est un tracker public, et ne détient aucune information sur les
fichiers dont il se fait le relai. Chacun peut, lorsqu'il crée son torrent, ajouter le
tracker OpenBittorrent et utiliser sa bande passante pour les connexions. Juridiquement parlant,
il est très difficile de condamner ce tracker car :
Il ne pourra matériellement pas garder des logs détaillés.
Il ne pourra effectuer aucune censure ou filtrage vu qu'il ne détiendra aucune
information sur les fichiers qui lui sont ajoutés.
Il n'est lié d'aucune façon avec les personnes qui l'utilisent.
La partie la plus sensible vis-à-vis de la loi, c'est-à-dire l'indexation des
fichiers, est donc dissociée de tout serveur gérant les connexions. Si un moteur de
recherche de fichiers torrent doit fermer, cela n'aura aucun impact sur la santé du
réseau car d'autres moteurs de recherches existent. En théorie, OpenBittorrent
serait donc intouchable juridiquement... De plus, le service d'indexation des fichiers n'a aucune
information sur les données que vous avez partagées. Un « miroir » de
OpenBittorrent a été mis en place, il s'agit de PublicBT.
Plus fort que Openbittorrent, BitTorrent
Hydra est un tracker ouvert qui utilise le réseau Tor pour faire transiter les
requêtes. Grâce à l'anonymat fournit par Tor, il est impossible de savoir
où se situe ce tracker. Attention, cela fournit un anonymat au tracker, pas aux
utilisateurs.
Notons aussi l'existence de proxys spécialisés dans le trafic Bittorrent, comme
superchargemytorrent. Moyennant quelques euros, le
serveur servira de passerelle pour vos téléchargements, chiffrant par la même
occasion l'entièreté du flux. Il suffit de configurer le proxy dans les
paramètres de votre client Bittorrent.
Lancé récemment, OneSwarm est un
logiciel libre basé sur Azureus. Entièrement compatible avec le réseau
Bittorrent, il utilise également son propre réseau totalement chiffré et
décentralisé. Un fichier téléchargé sur le réseau
Bittorrent classique sera automatiquement mis en partage sur le réseau de OneSwarm, de
sorte qu'il soit disponible sans passer par le tracker. A l'instar de I2P ou Freenet, chaque
utilisateur joue également le rôle de passerelles entre les autres utilisateurs. Il
est donc impossible de savoir d'où viennent réellement les données,
où elles vont et ce qu'elles sont réellement (car chiffrées de
bout-en-bout). L'intérêt majeur de OneSwarm est de pouvoir pratiquer le friend-to-friend (F2F) : on ne se connecte alors
qu'à des personnes de confiance, ce qui rend l'utilisateur invisible sur le réseau
hors de son cercle d'ami.
OneSwarm est encore un peu jeune et n'est pas exempt de bugs. Cependant, il est activement
développé ce qui augure de très bonnes choses pour la suite
Installation et configuration
Note du 10 mars 2010 : depuis la rédaction de cet article, le logiciel a fortement
évolué. Référez-vous au site officiel pour plus de détails.
OneSwarm est open-source et
disponible pour Windows, Linux et Mac OS (Java est requis). Après installation (une simple
décompression du fichier compressé sous Linux), lancez l'exécutable et vous
verrez apparaître l'interface dans votre navigateur Web. A ce sujet, il semble que
ça ne fonctionne pas trop avec Internet Explorer, à vérifier. En
l'état, il n'est possible que d'utiliser le réseau Bittorrent classique. Vous
pourrez ajouter des fichiers .torrent comme vous le faisiez avec d'autres logiciels.
Pour utiliser le réseau chiffré anonyme, il vous faudra ajouter des amis dans votre
liste. Si vous n'avez pas d'amis, cliquez sur Add Friend et choisissez l'option « Subscribe
to a friend feed from a community server ». Configurez comme sur la figure ci-dessous, et
des amis vous seront ajoutés automatiquement. Cette liste sera régulièrement
mise-à-jour, et vous pourrez à tout moment ajouter d'autres serveurs. Vous noterez
que lors de l'ajout d'amis, l'option « Limited » est cochée par défaut.
En fait, un ami ajouté avec cette option ne pourra pas voir votre liste de fichiers. C'est
donc fondamental pour la sécurité d'enlever ce statut limité aux personnes
de confiance uniquement.
OneSwarm - Ajout d'amis
OneSwarm - Configuration d'un community server
Vous pouvez également ajouter ajouter un ami manuellement, grâce à l'option
« Add friends manually using public keys ». OneSwarm fonctionne sur le principe de
chiffrement asymétrique. Vous échangez votre clé publique avec celle de
votre ami, et le tour est joué.
OneSwarm - Ajout manuel d'amis
Il est tout de même conseillé d'avoir quelques amis pouvant accéder à
vos données, de manière à ce que vos fichiers puissent également
être partagés. OneSwarm gère également les groupes d'amis via «
More actions → Manage visibility ». Vous pourrez alors partager
certains fichiers avec un groupe en particulier uniquement.
Après avoir ajouté des amis, il vous suffit de faire une recherche dans le champ
dédié. Le choix est encore un peu maigre, mais les dernières
nouveautés arrivent assez vite compte tenu de l'utilisation parallèle du
réseau Bittorrent.
eMule : utilisation de I2P avec iMule
Apparu en 2000, le réseau eDonkey2000 (sur lequel se base eMule) est un réseau encore largement
utilisé pour le partage de fichiers. Son succès est dû principalement au
grand choix de fichiers disponibles. En effet, contrairement au réseau Bittorrent
centré sur le partage d'un nombre limité de fichiers, le réseau eDonkey2000
permet :
Le partage d'une grande quantité de fichiers, avec un système poussé de
gestion de file d'attente.
Une vitesse moindre. Si cela semble être un handicap, en pratique l'utilisateur
laissera un fichier plus longtemps en partage.
Une décentralisation des données, car les utilisateurs n'ont pas besoin de se
connecter à un tracker unique pour être mis en relation. Cependant, on trouve plus
facilement des fakes, car il suffit de renommer un fichier.
Un outil de recherche intégré au logiciel
Le plus célèbre des logiciels supportant le protocole eDonkey2000, eMule, propose
deux réseaux pouvant fonctionner de manière indépendante ou en
parallèle. Tout d'abord le réseau eDonkey2000 classique, pour lequel des serveurs
permettent de mettre en relation les utilisateurs et centraliser la liste des fichiers
partagés par toutes les personnes connectées. Ensuite le réseau Kademlia, où les serveurs sont inutiles car
les utilisateurs font également office de « mini-serveurs » pour mettre en
relation les utilisateurs connus.
eMule étant un logiciel libre, de nombreux MOD sont apparus (versions d'eMule
modifiées apportant certaines options). Parmi eux, aMule a été porté
sous Linux, puis a servi d'inspiration pour iMule.
iMule utilise un troisième réseau pour partager les fichiers : le réseau
I2P.
Tout comme pour Kademlia, les utilisateurs servent de relai pour mettre en relation les
utilisateurs, mais ils servent également de relai pour faire transiter les données
d'une personne à l'autre (comme OneSwarm). Cependant, il semble qu'il ne soit pas possible
(pour le moment) d'utiliser iMule comme un client eMule classique, en parallèle de son
utilisation sur le réseau I2P.
Je n'ai, à ce jour, pas encore testé iMule (il vous faut une distribution
récente ou Windows, ce que je n'ai pas). Le site du créateur est assez lent, et il
n'est pas rare qu'il soit injoignable. Parcourez le forum de I2P, vous y trouverez surement un sujet
parlant de la dernière
version en date et des liens pour la télécharger.
Direct Download, ou DDL (RapidShare, MegaUpload...) : toujours tranquille ?
Apparus récemment, les sites de partage de fichiers volumineux ont rapidement
été détournés pour le partage illégal de fichiers. En effet,
contre quelques euros par mois, ces sites proposent une vitesse de téléchargement
inégalable en P2P, tout en assurant l'anonymat des utilisateurs. Cependant, il persiste
plusieurs inconvénients :
Le prix de l'abonnement : même faible, il n'est pas nul. De plus, il faudra faire un
choix parmi les nombreux sites existants, et les limitations sont excessives si on n'est pas
abonné.
Trouver un fichier en particulier n'est pas toujours chose facile, car il existe de
nombreuses « boards » (sites où sont centralisés les liens).
Sur plainte d'un éditeur, un fichier sera purement et simplement supprimé des
serveurs, et il faudra attendre que quelqu'un veuille bien le remettre.
La centralisation des informations : pour trouver un fichier, on devra d'abord s'inscrire sur
une board pour avoir accès à la liste des fichiers proposés (les IP sont
très souvent enregistrées). Ensuite, payer l'abonnement au site de partage pour
télécharger dans de bonnes conditions (utilisation d'une carte de crédit
→ très facile de retrouver son propriétaire). Si pour
l'instant, ces sites promettent de ne pas stocker les logs permettant de savoir qui a
téléchargé quoi, qui sait ce qui se passera dans le futur.
Pour celui qui en a les moyens, RapidShare et ses équivalents sont très pratiques
une fois que les boards intéressantes ont été trouvées.
Malheureusement, ceci implique de laisser de nombreuses traces de son passage, et rien ne dit
qu'à l'avenir les utilisateurs ne soient pas inquiétés. N'oublions pas
qu'aucun de ces services n'est hébergé dans un pays laxiste en matière de
piratage (RapidShare est basé en Allemagne, MegaUpload aux USA...), donc un minimum de
collaboration des forces de police pourrait faire mal.
L'ancêtre : Usenet
Usenet est l'ancêtre de nos forums, et
est apparu en 1979, soit bien avant le World Wide Web. Il est articulé autour du principe
de « groupes de discussions » (ou newsgroups) : un groupe de discussion est
un groupe rassemblant les articles d'un sujet précis, ces articles étant
stockés sur des serveurs communicant ensemble. S'il est possible de déposer des
articles sur ces serveurs, ils est également possible d'y déposer des fichiers.
Moins populaire que les logiciels de P2P, cette méthode est toujours utilisée par
quelques irréductibles qui apprécient les vitesses de téléchargement
élevées et l'anonymat relatif.
Cependant, qui dit serveur centralisant les fichiers, dit service payant. Pour avoir accès
à ces newsgroups, il faudra s'abonner chez un fournisseur proposant plusieurs offres dont
le prix varie en fonction du volume de transfert alloué. Notons que certains FAI, comme
Free, proposent un service de newsgroup inclus dans l'abonnement.
Installation et configuration
Après avoir pris un abonnement chez un fournisseur (par exemple Giganews), vous devrez choisir parmi les nombreux newsreader. Choisissez-en
un qui gère facilement les fichiers, car ce n'est pas le cas de tous (rappelons
qu'à la base, Usenet est fait pour l'échange d'articles, pas le
téléchargement de fichiers). Parmi ceux qui reviennent souvent, GrabIt sous Windows et Pan
sous Linux. La configuration du logiciel varie de l'un à l'autre, mais reste assez facile
: vous aurez besoin de l'adresse du serveur du fournisseur, du port, de votre nom d'utilisateur
et mot de passe. Ensuite, partez à la recherche des fichiers NZB (ce sont les fichiers
rassemblant les informations qui permettent de télécharger les différentes
parties du fichier désiré) sur les moteurs de recherches comme Binsearch, Newzleech ou
MegaNZB. Une fois sauvé, ouvrez le NZB avec votre
logiciel, et le tour est joué.
Un VPN pour cacher son IP
Déjà présenté dans un précédent
article, l'utilisation d'un VPN vous permettra de masquer votre adresse IP, que ce soit lors
de l'utilisation du P2P ou du direct download, tout en conservant une vitesse de
téléchargement correcte. Outre le fait qu'il faille faire confiance aux
propriétaires de ce VPN concernant les données et logs conservés, le
paiement de ce service entrainera irrémédiablement des traces de votre passage.
Les réseaux alternatifs
En marge des réseaux de P2P les plus connus que sont Bittorrent et eDonkey2000, de
nombreux réseaux parallèles ont vu le jour. Historiquement pionnier dans le
domaine, GNUnet est un logiciel de P2P
conçu pour résister à la censure : chiffrement bout-à-bout,
décentralisation des données, utilisateurs servant de relais pour brouiller les
pistes, friend-to-friend, etc. Toutes ces recettes ont été reprises dans OneSwarm,
ou dans d'autres logiciels comme Ants P2P ou
MUTE.
Malgré la grande qualité des idées fondamentales de ces projets, ces
réseaux pêchent par le manque de choix, et par un développement nettement
moins actif que OneSwarm. La dernière version de Ants P2P date de 2007, celle de MUTE de
2008, et aucun développement ne semble être prévu. Le développement de
GNUnet est plus actif, mais mon dernier essai s'est soldé par un échec car le
logicel ne semblait pas très stable.
Les solutions hybrides
Et si nous pouvions combiner les avantages du P2P (décentralisation, recherche
aisée, choix) avec ceux du téléchargement direct (rapidité et
anonymat) ? Séduisant n'est-ce pas ? C'est ce que proposent des proxys Bittorrent comme
Furk, Torrent Relay ou même ImageShack (ce dernier nécessite une inscription pour voir
apparaitre l'option). Le proxy se charge de télécharger le fichier à votre
place, et quand cela est fait il ne vous reste plus qu'à le récupérer comme
un téléchargement classique. Les connexions sont évidemment
sécurisées, les taux de téléchargement très bons et vous
évitez les éventuels filtrage par votre FAI. Notons que Furk garde sur ses serveurs
les fichiers déjà téléchargés par d'autres utilisateurs, et
vous y donne accès gratuitement (avec des restrictions sur la vitesse, cependant). Tout
cela est bien évidemment payant, avec les risques que cela comporte.
Je ne suis cependant sceptique quant à la légalité de la chose... Si les
sites habituels de DDL comme RapidShare peuvent avoir un fond de commerce tout à fait
légal, ces sites ne sont là principalement que pour faciliter le
téléchargement d'Å“uvre protégées. Ce n'est d'ailleurs
pas pour rien qu'il sont situés au Canada ou aux Pays-Bas, pays plus laxistes en la
matière. J'ai donc de gros doutes sur leur pérennité.
Conclusion : peer-to-peer ou direct download, que choisir ?
Impossible de donner une réponse précise, car comme nous l'avons vu chaque
méthode a ses avantages et ses inconvénients. Tentons de faire un petit
récapitulatif...
Les avantages du peer-to-peer :
Une décentralisation des données, rendant difficile l'élimination des
fichiers mis en partage.
Une visibilité temporaire : dès qu'on ne partage plus le fichier, on disparait
de la liste des utilisateurs (mais gare aux trackers privés Bittorrent gardant des logs
détaillés). Cependant, il faut tempérer cette « visibilité
» : si toutes les personnes téléchargeant un fichier peuvent connaitre votre
adresse IP, il leur faudra intenter une action en justice pour mettre un nom dessus. Notons que
grâce aux nouveaux réseaux, cette visibilité devient quasi nulle.
Une notion de partage et de communauté plus forte : l'utilisateur n'est pas un simple
consommateur, il peut partager avec les autres membres ce qu'il apprécie.
Un service gratuit.
Les inconvénients du peer-to-peer :
L'introduction de fakes est plus ou moins aisée (très facile dans le cas
d'eMule, plus difficile dans le cas de Bittorrent).
Une vitesse pas toujours au rendez-vous.
Les risques juridiques plus élevés : en mettant à disposition des autres
utilisateurs du contenu non-libre de droit, des sanctions supplémentaires sont à
craindre. On est largement hors du cadre de la « copie privée ». Notons que
les condamnations ont toujours été faites sur base de la mise à disposition
illégale de contenu.
Les avantages du direct download :
Une vitesse maximale.
Un anonymat relatif : seuls les responsables du site ou newsgroup sur lequel vous
téléchargez savent ce que vous faites.
Très peu de fakes, car les liens sont référencés sur des boards
où les participants n'ont aucun intérêt à donner de faux liens aux
autres, sous peine d'être rapidement éjectés.
Les risques juridiques moindres car vous n'avez pas mis en partage vos données.
Les inconvénients du direct download :
Un service payant.
Des traces nombreuses, au risque qu'elles soient permanentes, rendant votre identification
facile et la liste de vos actions aisément consultable.
Un contenu susceptible de disparaitre des serveurs en cas de plainte de l'ayant-droit.
Pour le moment, les solutions payantes semblent les plus sures d'un point de vue juridique : ne
partageant rien vous-même, vous risquez moins que si vous mettez à disposition des
données. Cependant, ces solutions sont aussi les plus jeunes, contrairement aux
utilisateurs des réseaux P2P qui ont déjà subi plusieurs attaques des
ayants-droits (voir par exemple le
jugement de cette américaine). Rien ne dit que la facilité avec laquelle vos
téléchargements peuvent être listés ne se retournera pas contre vous
un jour ou l'autre...
Billet original de Marty.Votez pour cet article sur le Planet Libre.
Dans l'article
précédent, nous avons vu comment il était possible de protéger
ses données personnelles grâce à TrueCrypt. Nous allons à
présent voir comment il est possible de protéger des données à
échanger grâce à la cryptographie
asymétrique. Un récent article de Â@om
est très bien mais peut-être trop orienté Ubuntu. Je tenterai donc d'apporter
quelques éléments nouveaux.
Pourquoi chiffrer ses communications ?
Avant d'aller plus loin, posons nous la question : pourquoi donc chiffrer un e-mail, vu que votre
messagerie dispose d'un mot de passe et que vous n'avez rien à cacher ? Tout comme un
courrier classique, un e-mail risque de voyager entre plusieurs intermédiaires (au
minimum, les serveurs mails). L'inconvénient est qu'un e-mail classique peut être
facilement lu :
Par le serveur mail lui-même. Au minimum, votre serveur mail dispose d'un anti-spam :
le contenu sera donc analysé pour vérifier que certains mots-clés ne s'y
trouvent pas. Google, entre autres, étend ce principe pour vous proposer de la
publicité ciblée. Chaque mail reçu avec GMail est donc analysé pour
tracer votre portrait.
Les
éventuels mouchards du gouvernements français. Hé oui, il semble que
la réalité dépasse la fiction...
Votre FAI, si la connexion à votre webmail n'est pas chiffrée.
Un petit malin qui se serait infiltré sur votre réseau... Même si c'est
le moins probable, l'espionnage industriel n'est pas un mythe.
Contrairement à une lettre placée dans une enveloppe, le contenu d'un e-mail peut
donc être relativement facilement accessible. Il ne faut pas non plus sombrer dans
la paranoïa, car dans la vie courante de nombreuses traces sont également
semées ça et là. Pensez donc aux diverses cartes de fidélité
des grands magasins (Monsieur Auchan sait tout de vous, de vos habitudes alimentaires à
votre marque de PQ triple épaisseur préférée), aux inscriptions
diverses, abonnements... Sans compter que tous ces fichiers clients s'échangent. Inutile
donc de vouloir chiffrer le moindre échange si, en parallèle, vous semez des traces
à tout va. Certains sujets mériteraient, par contre, une attention plus
particulière. Monsieur Google ou Microsoft vous inspire-t-il suffisamment confiance pour
que vous lui racontiez vos problèmes sentimentaux, vos problèmes de santé ou
la dernière crasse que votre patron vous a faite ? A vous d'utiliser ces services «
gratuits » en connaissance de cause...
Un point n'a cependant pas été abordé, les erreurs humaines (que celui qui
n'a jamais envoyé un e-mail par erreur me jette la première bière ;-) ).
Dans le domaine industriel, cela pourrait être très problématique : envoyer
un rapport confidentiel à un concurrent, fournir des résultats financiers à
de mauvaises personnes, une blague de cul bien grasse à la vieille secrétaire
acariâtre...
Il n'est donc pas nécessaire d'avoir quelque chose à se reprocher pour utiliser le
chiffrement. De toutes façons, vous êtes légalement tenus de fournir votre
clé de déchiffrement aux autorités, sinon vous risquez la peine maximale du
délit dont on vous accuse.
Le principe de base de la cryptographie asymétrique
La cryptographie asymétrique se base sur l'utilisation d'une paire de clé,
composée d'une clé publique et d'une clé privée. La clé
publique est utilisée pour chiffrer des données, et la clé privée
pour les déchiffrer ansi que pour les signer (de manière à en assurer la
provenance). Ces deux clés étant mathématiquement liées, à
chaque clé publique ne correspond qu'une seule clé privée. Cependant,
déduire la clé privée à partir de la clé publique est
excessivement long (plusieurs centaines voire milliers d'années), ce qui assure une
très bonne sécurité.
Prenons un petit exemple : Bob désire envoyer des données secrètes à
Alice et Jack, mais il veut pas qu'Alice ait accès aux informations envoyées
à Jack, et inversement. En premier lieu, Bob, Alice et Jack génèrent chacun
une paire de clé. Chacun s'échange ensuite ses clés publiques respectives.
Pour envoyer un message à Alice, voilà ce qui va se passer :
Bob chiffre le message grâce à la clé publique d'Alice
Bob signe le message grâce à sa propre clé privée
Bob envoie le message à Alice
Alice vérifie la signature du message grâce à la clé publique de
Bob, et s'assure qu'il en est bien l'auteur
Alice déchiffre le message grâce à sa clé privée
Supposons que Jack soit une enflure et qu'il parvienne à intercepter le message de Bob.
Bien qu'il soit en possession de la clé publique d'Alice, il ne pourra rien en faire car
déduire la clé privée d'Alice à partir de sa clé publique est
très long. Bob et Alice peuvent donc communiquer sans risques.
Nous utiliserons GnuPG dans le texte qui suit, qui est une implémentation libre et open
source d'OpenPGP. Notez que GnuPG utilise une méthode de chiffrement hybride. En fait, le
chiffrement asymétrique s'applique à une clé symétrique qui est
utilisée pour le chiffrement des données.
Gestion de clés sous Linux
Avant tout chose, il sera nécessaire d'installer Seahorse ainsi que gnupg grâce
à votre gestionnaire de paquets.
Générer une paire de clés
Lancez tout d'abord Seahorse (il est possible qu'il se trouve sous l'appellation «
Applications → Accessoires → Mots de passe et
clés de chiffrement » sous Gnome). Pour générer une paire de
clés, cliquez tout d'abord sur Clé → Créer une nouvelle
clé, et choisir « Clé PGP ». Entrer ensuite vos informations
personnelles :
Entrer ses informations personnelles
A tout hasard, je décoche « N'expire jamais » et je choisis une clé de
4096 bits (sécurité maximale). Entrez ensuite votre passphrase, qui n'est rien
d'autre qu'un long mot de passe. La paire de clé générée apparait
dans votre liste de clés :
La clé est créée
L'identifiant de la clé permettra d'identifier votre clé lorsque vous la
déposerez sur un serveur de clés (voir plus loin). Dans les
propriétés de la clé (Clic droit →
Propriétés), vous pourrez changer la passphrase ainsi que la date d'expiration.
Sous l'onglet détails, vous trouverez également l'empreinte unique de votre
clé (chez moi : 5ED6 EE4A 8514 6203 A01E 688F 28CD 661C C961 9A0F). Cette empreinte vous
permettra d'identifier univoquement votre clé. En effet, il est tout à fait
possible de générer une clé avec des informations identiques (même
utilisateur, adresse e-mail et commentaire).
Les détails d'une clé
Nous constatons que la clé que la clé est en fait composée de deux
sous-clés. La clé DSA est utilisée pour signer le message (à
l'origine, DSA était destiné uniquement à la signature) et ElGamal est
utilisée pour le chiffrement.
Échanger sa clé publique
Maintenant que nous avons créé notre paire de clé, il va falloir
échanger notre clé publique. Pour cela, deux solutions : copier-coller ou
sauvegarder la clé publique, ou l'envoyer sur un serveur de clés.
Si on ne désire pas utiliser un serveur de clé, il suffit d'un clic droit sur une
clé et de choisir :
Copier, pour la copier dans le presse papier.
Exporter la clé publique, pour créer un fichier contenant la clé.
Rien de plus simple que de la transmettre à son correspondant (e-mail, IM...).
L'utilisation d'un serveur de clé peut cependant être utile car une clé peut
être sujette à modification. Il est possible de modifier la date d'expiration, de
révoquer (annuler) la clé ou d'ajouter sa signature à une clé
publique. En synchronisant son trousseau de clé avec le serveur, vos correspondant seront
mis au courant des éventuelles modifications. Pour cela, il suffit de choisir «
Synchroniser et publier des clés » lors du clic droit. Vous pouvez faire un tour du
côté des serveurs de clé. Personnellement, je n'ai jamais eu de
problème avec le serveur du MIT : hkp://pgp.mit.edu:11371.
Synchronisation d'une clé
Votre correspondant pourra chercher la clé grâce à la fonction de recherche,
disponible en cliquant sur Distant → Chercher des clés distantes. La
recherche s'effectue sur le nom, l'adresse mail ou le commentaire. Un simple Clic droit
→ Importer et la clé apparaitra dans l'onglet « Autres
clés obtenues ».
Signer une clé publique
Signer une clé publique reçue n'est pas un acte anodin : ceci est censé
assurer que vous êtes sûr de la provenance de la clé. Reprenons notre exemple
avec Bob, Alice et Jack. Supposons qu'Alice et Jack ne se connaissent pas, et que Bob connaisse
tout le monde.
Bob et Alice échangent leur clé, chacun s'assure qu'elle est correcte et la
signe grâce à sa clé privée.
Bob et Jack échangent leur clé, chacun s'assure qu'elle est correcte et la
signe grâce à sa clé privée.
Jack désire communiquer avec Alice, mais ne la connait pas. Si il
récupère la clé d'Alice sur un serveur de clé, il constatera qu'elle
a été signée par une personne de confiance, c'est-à-dire Bob. Il est
donc sûr que cette clé est la bonne.
Pour signer une clé d'un correspondant (apparaissant dans l'onglet « Autres
clés obtenues »), il suffit de faire un Clic droit → Signer la
clé et de choisir quelle clé privée sera utilisée pour la signer
(ainsi que le niveau de confiance).
Application : chiffrer/signer ou déchiffrer un fichier quelconque
Haaa, enfin une petite application ! Chiffrer un fichier n'est pas possible depuis Seahorse, et
en fonction de votre environnement de bureau, cela peut être différent. Pour Gnome,
un simple clic droit sur le fichier vous donne accès aux options voulues (voir l'article de
Â@om). C'est donc extrêmement simple. Si vous voulez une méthode
universelle, faites donc un petit tour plus bas dans la section ocncernant la ligne de commande.
Gestion de clés sous Windows
GnuPG est disponible sous Windows. Après
installation, deux interfaces de gestion des clés sont disponibles : WinPT et GPA. Le
principe est identique à Seahorse, donc pas de captures d'écrans :-D
Pour générer une clé dans le cas de GPA, il faut tout d'abord, cliquer sur
Edit → Preferences et cocher « Show advanced mode ». Ensuite, il
suffit de générer une clé en cliquant sur Keys → New
Key. Pour une raison que j'ignore, il n'est pas possible de générer une clé
de taille supérieure à 2048 bits.
Dans le cas de WinPT, il vous obligera à créer une clé au premier
démarrage, sans pouvoir spécifier d'options. Pour spécifier les options, il
suffira de générer une autre clé à partir du menu Key
→ New → Expert.
Chiffrer un e-mail
Le très intéressant blog de Â@om
propose une solution pour Evolution, client mail par défaut d'Ubuntu. Penchons-nous sur
Thunderbird et FireGPG.
Thunderbird
Thunderbird n'intègre pas par défaut le chiffrement PGP, mais il est possible de
lui ajouter cette fonctionnalité via Enigmail. Cette extension est sûrement
disponible dans les dépôts de votre distribution Linux, mais également sur le
site officel des modules de
Thunderbird. Outre les fonctions basiques que sont le chiffrement, la signature et le
déchiffrement d'un e-mail, Enigmail vous permet de gérer votre liste de contact de
façon à ce que la bonne clé soit automatiquement sélectionnée
en fonction du destinataire.
Après installation, le menu OpenPGP apparaitra dans la fenêtre principale de
Thunderbird. Un rapide coup d'Å“il dans Gestion de clés et vous trouverez vos
clés privées et publiques. En fait, ce gestionnaire vous permet de faire la
majorité des opérations classiques (création, suppression, exportation,
modification...).
Dans les paramètres des comptes (Édition → Paramètres
des comptes), il est possible de configurer l'utilisation par défaut d'Enigmail pour
chaque compte e-mail : clé privée, options cochées par défaut...
Gestion des clés à partir d'Enigmail
Paramètres des comptes
Dans les préférences d'Enigmail (OpenPGP →
Préférences), cochez Mode expert dans l'onglet Général, et vous aurez
accès à une gestion fine des clés via l'onglet Sélection clef. Si
vous cliquez sur Mofifier les règles, vous pourrez définir manuellement des
règles d'envoi en choisissant les destinataire et la clé à utiliser. Notez
qu'Enigmail peut également utiliser les adresses e-mails spécifiées dans les
identifiants des clés publiques. Par exemple, si l'adresse azerty@exemple.com est
indiquée dans une des clés publiques, Enigmail utilisera automatiquement cette
clé lorsqu'un e-mail sera envoyé à azerty@exemple.com.
Paramètres de sélection des clés
Création manuelle de règles
Pour envoyer un mail chiffré et signé, il suffit de cocher les cases
adéquates lors de la rédaction. Si le destinataire n'apparait ni dans les
règles manuelles, ni dans les clés publiques, il vous sera demandé de
choisir une clef. Sinon, les règles définies auparavant seront appliquées.
Rédaction d'un e-mail
FireGPG
FireGPG est une extension
intégrant le chiffrement et la signature de messages pour Firefox. Ceci se
révèle très utile lors de l'utilisation de divers webmails. Il suffit alors
de sélectionner le texte à chiffrer/signer ou déchiffrer, et de choisir
l'action désirée dans le menu FireGPG apparaissant lors du clic droit. FireGPG
s'intègre avec Gmail, et de manière générale repère les textes
chiffrés dans une page web pour y ajouter un bouton de déchiffrement. En outre, un
éditeur est disponible, ce qui peut être pratique si des brouillons sont
enregistrés à intervalles réguliers (l'extension les désactive par
défaut sur GMail).
Dans l'éditeur, tapez votre texte puis choisissez Chiffrer et signer. La clé
publique de chiffrement puis la clé privée de signature vous seront
demandées. Cette extension est très simple d'utilisation tout en restant
très puissante. Elle permet également le chiffrement symétrique d'un
message.
Chiffrer ses conversation IM
Tout comme les e-mails, les conversations utilisant les messageries instantanées (MSN,
GTalk, AIM, ICQ, Jabber...) sont susceptibles d'être interceptées. Nous verrons ici
comment il est possible d'utiliser les chiffrement PGP pour les chiffrer.
Pourquoi ne pas choisir MSN ?
Avant de vouloir chiffrer ses communications, il vaudrait mieux utiliser un logiciel et un
protocole sûr, n'est-ce pas ?
Si vous êtes un adepte d'MSN, vous avez surement déjà rencontré une
personne vous envoyant des messages automatiquement, signe qu'un virus avait infecté son
logiciel. Vous avez peut-être également connu la censure de Microsoft,
censée vous protéger des virus mais prouvant que vos messages sont scannés
en permanence. Si ce n'est pas le cas, posez-vous tout de même la question de savoir si un
protocole aussi fermé que celui d'MSN (donc faisant potentiellement transiter des
informations supplémentaires inconnues) est bien approprié pour des discussions
sécurisées. Si toutes les informations passent en plus par les serveurs de
Microsoft (vive la centralisation :/ ), la réponse est non.
Nettement moins connu, le protocole Jabber est :
open-source, donc gage de transparence
libre, donc l'utilisation de programmes différents est facilitée
(utilisé entre autre par Google Talk)
décentralisé, donc assez facile d'éparpiller les traces laissées
sur le réseau. Il est même possible de monter son propre serveur Jabber chez soi.
De plus, certains logiciels permettent l'utilisation du chiffrement PGP, de manière
totalement transparente une fois que les clés publiques ont été
échangées. Il suffit de créer un compte sur un serveur quelconque, par
exemple celui de l'APINC. Aucune information
confidentielle ne vous sera demandée, juste un nom d'utilisateur et un mot de passe.
Gajim
Choix le plus judicieux pour le protocole Jabber quand on tourne sous Linux, Gajim intègre par défaut la possibilité de
chiffrer ses conversations. Après installation (disponible par défaut dans la
majorité des distributions Linux) et ajout de contacts, faire un clic droit sur le contact
désiré et choisir Gérer le Contact → Assigner une
clé OpenPGP pour désigner la clé publique voulue. Le choix de la clé
privée se fait dans Édition → Comptes, onglet Informations
personnelles.
Pour chiffrer une conversation, aller dans les options avancées (dernier bouton de la
fenêtre de conversation), et cochez Activer le chiffrement GPG. Rien de très
compliqué dans tout cela, donc pas de screenshots ;-)
Gajim permet également de chiffrer ses communications en se passant de GPG, via l'option
« Activer le chiffrement de bout-en-bout ». Cette méthode est propre à
Gagim, et ne fonctionne qu'entre 2 clients Gajim. De plus, on perd toute la notion de signature.
Sous Windows, Gajim ne supporte pas le chiffrement, il faut donc se tourner vers Psi.
Psi
Psi est le choix le plus judicieux pour les personnes utilisant
Windows, car il permet d'utiliser le chiffrement GPG. Il est donc possible d'utiliser le
chiffrement entre un client Gajim et un client Psi.
Pidgin
Pidgin est le client par défaut sous Ubuntu, et a l'avantage d'être multi-protocole.
Le plugin pidgin-encryption est disponible dans les dépôts de la majorité des
distributions, ou sur le site officiel.
Après installation, se rendre dans Outils → Plugins et cocher
Pidgin-Encryption. Dans la fenêtre de conversation, un petit cadenas apparait en haut
à droite pour chiffrer la conversation. L'avantage de l'utilisation de Pidgin est que la
génération ainsi que l'échange de clés se fait de manière
automatique. Cette automatisation n'est cependant pas idéale pour la
sécurité des transmissions (les clés sont mises à jour
automatiquement, pas de système de signature...).
Un petit mot sur S/MIME
S/MIME est une méthode de chiffrement
différente de OpenPGP, fonctionnant sur base de certificats, utilisée pour les
e-mails. Ces certificats doivent être obtenus auprès d'une autorité de
certification, et sont souvent payants (StartSSL en
fournit cependant gratuitement). Les inconvénients majeurs sont :
Les clients mails ne supportent pas toujours S/MIME.
L'accès d'un webmail à la clé privée peut poser des
problèmes de sécurité.
S/MIME ne chiffre pas seulement le message, mais également les éventuels
malwares.
En bref... Mieux vaut utiliser OpenPGP.
Annexe : Gestion de clés en ligne de commande (tous les OS)
La ligne de commande de GnuPG est en principe universelle, donc vous pourrez l'utiliser sur
n'importe quel OS. Ce guide ne se veut pas exhaustif, mais donnera juste les exemples les plus
utilisés. Pour plus d'informations, la documentation du site d'Ubuntu-fr est très bien
faite. Et toujours, bien sûr, le manuel ainsi que la commande man !
Générer une paire de clés
La génération de la clé est extrêmement simple : il suffit d'utiliser
la commande gpg --gen-key. Des questions identiques vous seront posées :
[wacken@desktop ~]$ gpg --gen-key gpg (GnuPG) 1.4.9; Copyright (C) 2008 Free Software
Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO
WARRANTY, to the extent permitted by law. Sélectionnez le type de clé
désiré: (1) DSA et Elgamal (par défaut) (2) DSA (signature seule) (5) RSA
(signature seule) Votre choix ? 1 La paire de clés DSA fera 1024 bits. les
clés ELG-E peuvent faire entre 1024 et 4096 bits de longueur. Quelle taille de
clé désirez-vous ? (2048) 4096 La taille demandée est 4096 bits
Spécifiez combien de temps cette clé devrait être valide. 0 = la clé
n'expire pas = la clé expire dans n jours w = la clé expire dans n semaines m = la
clé expire dans n mois y = la clé expire dans n années La clé
est valide pour ? (0) 2y La clé expire le lun. 23 mai 2011 16:45:23 CEST
Est-ce correct ? (o/N) o Vous avez besoin d'un nom d'utilisateur pour identifier
votre clé; le programme le construit à partir du nom réel, d'un commentaire et
d'une adresse e-mail de cette manière: « Heinrich Heine (Der Dichter) »
Nom réel: Wacken2Adresse e-mail: wacken@exemple.comCommentaire: Ceci est un autre exemple Vous avez sélectionné ce nom
d'utilisateur: "Wacken2 (Ceci est un exemple) " Changer le (N)om, le (C)ommentaire,
l'(E)-mail ou (O)K/(Q)uitter ? oVous avez besoin d'une phrase de passe pour
protéger votre clé secrète.
En gras, les questions qui vous seront posées. Il vous sera également
demandé de taper au clavier pour augmenter le caractère aléatoire de
clé. Pour voir la liste des clés, un simple gpg --list-key :
[wacken@desktop ~]$ gpg --list-key /home/wacken/.gnupg/pubring.gpg
-------------------------------- pub 1024D/C9619A0F 2009-05-23 uid Wacken (Ceci est un exemple) sub
4096g/86261ABE 2009-05-23 pub 1024D/9B06A561 2009-05-23 [expire: 2011-05-23] uid Wacken2 (Ceci est
un autre exemple) sub 4096g/44981553 2009-05-23 [expire: 2011-05-23]
Nos deux clés apparaissent comme on pouvait s'y attendre ;-)
Échanger sa clé publique
Pour exporter une clé publique de Wacken dans le fichier wacken_key.asc :
Avant de se lancer dans la sécurisation de ses communications Internet, nous allons voir
comment protéger au mieux les données présentes sur votre ordinateur, votre
disque dur externe ou votre clé USB. La première partie de cet article sera
consacrée aux bonnes habitudes à prendre, et la seconde au chiffrement de vos
données.
Le B-A BA de la sécurité
Tout comme il est ridicule d'avoir un coffre-fort blindé quintuple épaisseur
à triple serrure et reconnaissance rectale exposé dans son jardin, il est
nécessaire de sécuriser un tant soit peu son PC ainsi que son réseau avant
de vouloir chiffrer ses données. Quelques conseils simples, pourtant méconnus voire
ignorés, permettent déjà d'atteindre un niveau de sécurité non
négligeable.
Utiliser un navigateur Internet sécurisé
S'il est bien un domaine ou Microsoft ne brille pas, c'est bien la sécurité. En
particulier Internet Explorer, son navigateur intégré, s'est souvent
révélé être une véritable passoire à virus, chevaux de
Troie, spywares et autre cochonneries. Bien que Microsoft maintienne mordicus, à chaque
nouvelle version, que son navigateur est le « plus sûr du monde car on a retenu la
leçon de la version précédente », force est de constater que les
scénarios se suivent et se ressemblent. On pourra sortir toutes études qu'on veut
comparant le nombre de failles de sécurités, l'important n'est pas le nombre de
failles mais la vitesse de correction de celles-ci. Dans ce domaine, un logiciel open-source est
bien souvent nettement supérieur à un logiciel propriétaire. Utiliser, par
exemple, Mozilla Firefox est donc une
première étape dans la sécurisation de son PC. De plus, celui-ci permet
l'utilisation de nombreux plugins qui
décuplent ses capacités. Citons, par exemple :
Adblock Plus, pour en finir avec
la publicité agressive
CustomizeGoogle, pour
améliorer l'utilisation de Google (notamment rendre anonyme le cookie de Google, pour
éviter que le géant ne trace un profil sur vous grâce à vos
recherches)
Flashblock, pour bloquer le
démarrage automatique des animations Flash qui alourdissent la navigation
Et j'en passe...
Utiliser un client mail sécurisé
Si l'utilisation des webmails (interface web permettant d'avoir accès à ses mails,
comme GMail ou Hotmail) est de plus en plus important, de nombreuses personnes utilisent encore
un client mail comme Outlook. Ceux-ci permettent en effet de gérer plusieurs comptes
facilement, sans devoir visiter chaque webmail séparément. Là encore,
l'utilisation d'un client mail comme Mozilla Thunderbird est un gage de
sécurité et de modularité supplémentaire grâce aux nombreux plugins disponibles.
Utiliser un antivirus. A jour...
Si, pour une raison ou une autre, vous êtes toujours sous Windows et que vous n'avez pas
sauté
le pas, vous avez surement installé un antivirus. Mais est-il à jour ? En
effet, de nouveaux virus apparaissent chaque jour, et il est nécessaire que la base de
données soit à jour. Un antivirus ne vous empêche pas de faire attention sur
ce que vous cliquez (pièces jointes dans les mails, sites peu fréquentables, etc.).
De manière générale, il faut appliquer la règle suivante : si c'est
trop beau, c'est qu'il y a une couille.
Des mots de passes de taille correcte
Chaque inscription à un site requiert l'utilisation d'un mot de passe. Utilisez des mots
de passe d'au minimum 6 caractères, en utilisant des majuscules, des chiffres et des
caractères spéciaux (par exemple
&@#§^”,;:?.=+%£-ÙÇÉÈÃÎÛÜAÂä...).
Éviter les mots de passe du genre « pierre1976 » ou « Chris06 »,
bien trop simples à deviner. N'utilisez pas le même mot de passe pour votre compte
MSN et votre compte Paypal, l'idéal étant d'utiliser un mot de passe
différent pour chaque site. Impossible de tous les retenir ? En effet, mais rien ne vous
empêche de les stocker dans un fichier... chiffré ! Nous y reviendrons par la suite.
Sécuriser son WiFi
Pour des raisons de facilité de configuration, le WiFi des routeurs ou les box sont
activés sans clé de connexion, au mieux avec une clé WEP. Ceci est
clairement insuffisant, et un voisin mal intentionné pourra sans problème infiltrer
votre réseau. Au mieux il se contentera de surfer et de télécharger sur
votre compte, au pire il ira fouiller le contenu de vos PC s'ils ne sont pas
protégés. Utilisez donc une clé WAP aléatoire de taille maximale (63
caractères). Si vous êtes en manque d'inspiration, des générateurs de
clés sont disponibles sur la toile.
Supprimer efficacement un fichier
Lorsqu'on supprime un fichier, les données ne sont pas réellement supprimées
du disque dur. En réalité, l'espace occupé par ces données est
indiqué comme libre, mais les données sont toujours présentes. Sous Linux,
la commande shred permet de détruire efficacement un fichier :
shred -n 35 -z -u fichier
Ceci aura pour effet de :
remplacer 35 fois les données du fichier par des déchets (-n 35)
remplacer ces données par des zéros pour masquer le déchiquettage (-z)
tronquer et supprimer le fichier (-u)
Cette méthode est déjà plus efficace ;-)
TrueCrypt, le couteau suisse du chiffrement
Il existe principalement 3 possibilités de chiffrement : chiffer un fichier particulier,
utiliser un conteneur chiffré et chiffrer une partition complète. TrueCrypt est
capable d'effectuer ces deux dernières tâches. TrueCrypt est un programme libre, et
est disponible ici. Il est disponible sous
Windows, Mac OS X et Linux (paquets disponibles pour OpenSuSE et Ubuntu). L'intérêt
de TrueCrypt est qu'il est multi-plateforme : il est possible de créer un conteneur sous
Linux et l'utiliser ensuite sous Windows ou Mac OS X, par exemple.
Créer un conteneur chiffré
Le but est de créer un fichier conteneur, une sorte de coffre-fort qui va contenir les
fichiers à protéger. Dans TrueCrypt, cliquer sur Volumes →
Create New Volume, puis sélectionner « Create a file container ». Deux choix
s'offrent à vous :
Standard TrueCrypt volume : comme son nom l'indique, un simple conteneur chiffré dans
lequel on stockera les fichiers à protéger.
Hidden TrueCrypt volume : plus subtil, le conteneur caché. Le principe est de
créer un gros conteneur constitué de deux parties. La première partie (Outer
volume) contiendra des faux fichiers à protéger, et la seconde les vrais fichiers
sensibles. Lorsqu'on accède à la première partie grâce à un
premier mot de passe, l'espace occupé par les fichiers sensibles est
spécifié comme étant libre. Si on accède à ce fichier via un
autre mot de passe, la partie contenant les vrais fichiers sensibles (Hidden volume) apparaitra.
Cette méthode est la plus sure, car il est absolument impossible de prouver la
présence des fichiers sensibles. Ce type de protection n'est nécessaire que si vos
fichiers sont susceptibles de vous porter préjudice.
Sélection entre fichier ou partition chiffré
Choix du type de conteneur
L'étape suivante est de sélectionner l'emplacement et le nom du fichier, si
possible il devra passer inaperçu sur le disque. L'étape suivante consiste à
choisir deux paramètres : l'algorithme de chiffrement et l'algorithme de hachage.
L'algorithme de chiffrement (voir l'article
précédent) est la fonction mathématique qui sera utilisée pour
chiffrer les données. Il est possible d'utiliser consécutivement 2 ou 3
algorithmes, ce qui augmente la sécurité mais diminue la vitesse d'accès. La
fonction de hachage sera
utilisé lors de la génération d'un nombre aléatoire et de la
création de la clé de chiffrement de l'entête (la partie du fichier qui
contient des données propres à TrueCrypt). A priori, peu importe la
fonction choisie. La taille du fichier se fait à l'étape suivante. Si vous
choisissez un conteneur caché, prenez soin de spécifier une taille
supérieure à la taille de vos fichiers confidentiels, étant donné que
vous devrez y placer des « leurres ».
Emplacement du fichier
Méthode de chiffrement et fonction de hachage
Taille du conteneur
Il vous sera ensuite demandé d'utiliser une phrase de passe, ou passphrase. C'est
l'équivalent d'un mot de passe, sauf qu'on vous demande... une phrase ;-) Il est
conseillé de choisir une phrase assez longue avec majuscules, chiffres et
caractères spéciaux. Vous avez également la possibilité d'utiliser
des keyfiles. Un keyfile est un fichier quelconque qui sera utilisé en complément
de votre passphrase. Il vous sera donc nécessaire de ne pas perdre, modifier ou supprimer
ces fichiers, car dans le cas contraire vous ne pourrez plus accéder à votre volume
chiffré. Notez que si vous avez choisi un conteneur caché, cette étape est
liée à la partie contenant les leurres. Choisissez donc une passphrase qui sera
différente de la passphrase qui servira à cacher vos vraies données
confidentielles.
Phrase de passe
Keyfiles
Si vous avez choisi un conteneur standard, l'étape suivante est celle du choix du formatage. Si vous ne savez que choisir, prenez FAT.
Ensuite, la clé de chiffrement de l'entête sera générée. Bougez
votre souris dans la fenêtre, cela augmentera le caractère aléatoire de cette
clé. Cliquez finalement sur Format, et votre conteneur sandard est
créé ! Dans le cas d'un conteneur caché, la prochaine étape consiste
à remplir partiellement le conteneur avec des leurres en cliquant sur Open Outer
Volume. Quand c'est fait, appuyez sur Next, et vous devrez configurer la partie
cachée de la même façon que la partie contenant des leurres.
Format de la partition
Génération de la clé d'entête
C'est fini !
Monter un conteneur chiffré
Pour monter un conteneur chiffré, rien de plus simple. Il suffit de choisir le fichier
puis de cliquer sur Volumes → Mount Volume, puis d'indiquer votre passphrase
ainsi que les éventuels keyfiles. Votre conteneur apparaitra alors de manière
similaire à une clé USB ou un disque dur externe. Sous Linux, les volumes sont
montés par défaut dans /media/truecrypt1. Dans le cas d'un volume caché,
vous avez trois possibilités :
Spécifier la passphrase et les keyfiles de votre partie leurre. La partie faussement
confidentielle sera montée, et les données confidentielles apparaîtront comme
espace vide. N'ajoutez aucun fichier à votre conteneur ainsi monté, car vos
données confidentielles seraient altérées voire détruites.
Spécifier la passphrase et les keyfiles de votre partie cachée. La partie
leurre n'apparait pas, vous pouvez donc ajouter, modifier ou supprimer des fichiers sans soucis.
Si vous cliquez sur Options, vous remarquerez la case Protect hidden volume when
mounting outer volume. Si vous spécifiez la passphrase et les keyfiles de votre
partie leurre et que vous cochez la case en spécifiant la passphrase et les keyfiles de
votre partie cachée, votre volume leurre sera monté tout en protégeant vos
données cachées. Vous pourrez ajouter, modifier ou supprimer des fichiers sans
risque de la corrompre.
Créer une partition chiffrée
Le principe est stictement identique, sauf que vous choisissez « Create a volume within a
partition/device » au début du processus de création. Vous pouvez alors
choisir de chiffrer une partition du disque dur, une clé USB, une carte mémoire, un
disque externe... Pour monter le volume, vous choisirez « Select Device ». Quelques
précautions à prendre tout de même :
Ne chiffrez pas des partitions système, car elles seraient formatées. Il faut
créer la partition avant d'installer le système, ce que TrueCrypt ne permet pas.
Par contre, vous pouvez tout à fait chiffrer une partition vide (en ayant
préalablement redimensionné les partitions, ou en ayant prévu cette
éventualité lors de l'installation de votre système).
Une clé USB a pour vocation de passer d'un PC à l'autre. TrueCrypt sera donc
obligatoire pour la lire.
Cryptsetup, pour les adeptes de la ligne de commande
Si, pour une raison ou pour une autre, vous ne pouvez ou ne voulez pas utiliser TrueCrypt,
Cryptsetup vous permet de faire la même chose en ligne de commande. Cryptsetup se trouve
dans les dépôts de la majorité des distributions. Un très bon tutoriel
est disponible sur
TheGlu's Blog.
Je dois dire que vu la simplicité de TrueCrypt, je n'utilise jamais Cryptsetup.
Crypter des partitions système
La majorité des distributions Linux vous proposent dès l'installation de chiffrer
la partition /home, censée contenir vos documents personnels ainsi que les
préférences des différents programmes. Personnellement, je trouve ça
assez inutile car je ne mets aucun document sensible dans mon /home. De plus, je
préfère scinder tout ce qui a trait au système des documents. A vous de voir
selon vos habitudes... En pratique, la partition sera déchiffrée au moment
où le mot de passe correspond au login sera donné.
Il est également possible d'avoir un système complètement chiffré,
avec une passphrase demandée au démarrage. Ceci n'est absolument pas
recommandé, surtout sur un portable : dans certains pays où la protection des
données personnelles est mal vue, les douaniers pourraient être suspicieux.
N'oubliez pas que si vous avez des choses à cacher, le mieux est de ne pas le crier sur
tous les toits ;-)
Seulement disponible en Corée, le SPH-W9705, également appelé AnyCall
Extreme, est la dernière arme de Samsung pour tous ceux qui pratiquent des sports
extrêmes et qui recherchent un téléphone mobile capable de résister
aux pires conditions climatiques... Poussière, sable, eau, froid, rien ne pourra faire
flancher ce téléphone Samsung.
Côté caractéristiques, le Samsung SPH-W9705 embarque un écran LCD de
2.4 pouces avec une résolution de 320 x 240 pixels, un écran externe de 1.07 pouces
avec une résolution de 96 x 96 pixels, le Bluetooth, le Wi-Fi, le GPS, un APN de 2
mégapixels, un lecteur de carte microSD, une boussole, un podomètre, ainsi
qu’un altimètre. Ce téléphone Clamshell mesure 52 x 101 x 23mm et
pèse 135g.
Disponible chez l’opérateur téléphonique KT en Corée pour 355$,
soit 250€
Le
Grand Prix de Hongrie ne pourra pas avoir lieu cette année en MotoGP. Le championnat se
rendra sur le circuit espagnol de Motorland Aragon à la place.
Le circuit de Balatonring devait être inauguré l'an dernier mais des retards dans les
travaux avaient poussé la MotoGP a annuler la course. Pour 2010, les travaux n'ont toujours
pas été finis et l'épreuve est donc à nouveau annulée.
Elle sera remplacée par une manche sur le circuit de Motorland Aragon, inauguré l'an
dernier. La date reste au 19 (...) - MotoGP
Square Enix va consacrer les images du jour de Dragon Quest Monsters Joker 2, aux bestioles du jeu,
ce qui tombe assez bien puisqu'elles seront au cœur du gameplay avec pas moins de 300
créatures à capturer pour ensuite les entraîner et au final les faire fusionner
pour en obtenir de plus puissantes qu'on pourra à nouveau entraîner et...
GigaPan vient de sortir une version motorisée de son trépied dédié
à la photo panoramique. L'Epic Pro, c'est son nom, pourra placer votre reflex en position de
photographier sur 360° sur les deux axes et peut supporter un matériel photo allant
jusqu'à 4,5 kg.
Le
week-end du Grand Prix de Bahreïn a été enrichissant pour HRT et Bruno Senna. Le
Brésilien espère que son équipe pourra rapidement revenir sur Virgin et Lotus.
Après ses problèmes financiers de l'intersaison, HRT a été prête
au tout dernier moment pour le Grand Prix de Bahreïn. Bruno Senna a dû attendre la fin
de la première séance d'essais pour prendre la piste. C'est pire pour Karun Chandhok,
qui n'avait pas fait le moindre tour avant les qualifications ! "Après ce week-end
difficile, mais très (...)
Le
week-end du Grand Prix de Bahreïn a été enrichissant pour HRT et Bruno Senna. Le
Brésilien espère que son équipe pourra rapidement revenir sur Virgin et
Lotus.
Après ses problèmes financiers de l'intersaison, HRT a été prête
au tout dernier moment pour le Grand Prix de Bahreïn. Bruno Senna a dû attendre la fin
de la première séance d'essais pour prendre la piste. C'est pire pour Karun Chandhok,
qui n'avait pas fait le moindre tour avant les qualifications !
"Après ce week-end difficile, mais très (...) - HRT / Bruno Senna, Fiche Bruno Senna, Fiche Lotus, Fiche HRT, Fiche Virgin
Il s'y sont mis à 4 pour réaliser cet excellent concept de magazine interactif pour
l'iPad : Alexx Henry, Andrew Grant, Cory Strassburger et Ming Hsiung. Dans leur vision
idéale - on se demande quel magazine pourra se payer ce type d'habillage, les articles sont
scénarisés autant que réduit...
Avec l'intérêt considérable suscité par la plate-forme mobile d'Apple, nombre de personnes aimeraient
s'essayer à la programmation pour prendre leur part à cette ruée vers l'or. Le
processus, cependant, peu rester obscur pour certains. Aussi, c'est avec un intérêt
certain qu'on pourra...
C’est lors du MIX10 qu’Engadget a
pu faire une vidéo d’un téléphone (prototype de Asus) tournant sous
Windows Phone 7 Series. On aime ou pas, mais franchement on ne pourra pas dire
cette fois-ci que l’interface ressemble à celle de l’iPhone !
Le fabricant d'appareils photo numériques Canon a annoncé mardi qu'il
commençait le processus d'acquisition pour le domaine de premier niveau .canon. Selon Wired,
l'entrerise pourra ainsi abriter son site à l'adresse http://canon.
Compatible toutes versions d'Android, écran 320x480 minimum, Navigon Mobile Navigator est
une solution GPS qui mérite d'être connue. Existant depuis de très nombreuses
années déjà sur Windows Mobile c'est un logiciel que nous ne pouvons que vous
inviter à découvrir si transformer votre smartphone Android en GPS est dans vos
intentions.
Si le logiciel est excellent on pourra toutefois regretter son tarif de 75 Euros même si pour
ce tarif là on a toute l'Europe. Un tarif plus agressif pour ne proposer que la carte d'un
pays par exemple aurait été le bienvenu. A noter que si par contre vous avez un
besoin ponctuel et urgent d'une solution GPS, le logiciel disponible gratuitement sur le Market
offre 30 jours d'essai gratuit, largement de quoi passer de bonnes vacances.
Avant hier
Ars Technica a publié que plus de 40% des possesseurs de Blackberry seraient
prêt à changer de de téléphone pour un iphone, un chiffre
énorme! Alors plutôt que de se baser sur des chiffres US pour en tirer des
conclusion sur l'avenir de RIM pourquoi ne pas vous demander si vous deviez changer de
téléphone cela serait pour quel type de smartphone?
Et comme plus il y aura de répondants plus on pourra dire des trucs intelligents,
n'hésitez pas à faire tourner et pourquoi pas intégrer ce formulaire sur
votre site ou blog. Le code pour intégrer le formulaire est là :
1 <iframe
src="https://spreadsheets.google.com/embeddedform?formkey=dFpveXl1S0EydjQ0QjQ2NmR4dVdGLVE6MA"
width="500" height="600" frameborder="0" marginheight="0"
marginwidth="0">Loading...</iframe># Autres articles pour aller plus loin...
Le saviez-vous ? Un iPod ou un iPhone peut afficher l’heure. Mieux, il peut même vous
réveiller le matin ! Mais on gagnera à lui joindre une enceinte comme par exemple
l’iMM190 d’iLuv, qui a pour particularité de fonctionner de
conserve avec une application, iLuv App Clock.
Celle-ci permet de lire de la musique sans interrompre l’affichage de l’horloge et
affiche également la météo. On pourra se servir de l’iPhone à
l’horizontale ou à la verticale. Le dock fonctionne sur le secteur ou avec 6 piles
AA, et intègre une entrée audio. Comptez 90$.
Comme on sait (ici),
l’Alex de Spring Design va bientôt être
disponible chez nos amis américains - mais on aimerait bien aussi en avoir, des e-books,
alors laissez-en un peu pour les autres ! Pour se consoler, on pourra toujours jeter un oeil sur
cette vidéo de prise en main de cet étonnant lecteur de livres numériques :
Elle avait été promise, elle est disponible, l'application Kindle for Mac d'Amazon.
Cet utilitaire - une sorte d'iTunes - permet de gérer les livres électroniques
achetés sur le site. On pourra ainsi les lire sur son Mac (nul besoin dans ce cas
d'être propriétaire d'un Kindle) ou transférer ses ...
A website that sorts everyday the most relevant information to you.
Vote for the news and Matoumba will learn your tastes and the information that you like the most.
It is all FREE!
Find here the history of the stories you found interesting.
Show this to people who share the same interests as you,
and if they use Matoumba, their own votes will fine recommandations to you.