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
(  )
NoFrag -
52 minutes ago
La mise à jour du jour pour Team Fortress 2 ajoute quelque chose promis il y a quelques
temps par Valve : du contenu créé par les utilisateurs. Plus
précisément, des armes et des chapeaux. Toutes les créations proposées
à Valve ne sont évidemment pas ajoutées, mais il y en a déjà un
paquet.
Selon Valve, c'est une autre manière (après l'enquête-annonce de Portal 2 en
début de mois) d'impliquer les joueurs et de transformer les jeux en services plus qu'en
produits. Dans un monde parfait, Ubisoft et tous les autres éditeurs utilisant des DRM
foireux prendraient des notes.
Lire la suite sur Nofrag...

|
Scoopeo En attente -
1 hours and 44 minutes ago
On en avait entendu parler il y a quelques temps, Dante's Inferno va se doter le 29 avril prochain
d'un DLC qui permettra deux choses : la création de niveaux par les utilisateurs (les
"Epreuves de Sainte Lucie", sur le même principe que les différentes épreuves
qu'on affronte vers la fin du jeu original, à savoir des vagues d'ennemis qui attaquent les
unes après les autres), et un mode coopératif online. Malheureusement, ce mode coop
ne permettra que de participer à deux à ces épreuves, et le DLC, aussi
ambitieux soit-il, semble donc se limiter à du monster bashing coopératif en
arène.
|
L'Atelier.fr : Actualité -
2 hours and 17 minutes ago
Foyers de création et d'innovation, les espaces de coworking s'exportent en province. Le but
: dynamiser les acteurs de l'innovation et de la création, en s'adaptant aux usages de
chaque région.
|
Atelier.fr -
2 hours and 17 minutes ago
Foyers de création et d'innovation, les espaces de coworking s'exportent en province. Le but
: dynamiser les acteurs de l'innovation et de la création, en s'adaptant aux usages de
chaque région.
|
Assemblée nationale -
3 hours and 18 minutes ago
Projet de loi ratifiant l'ordonnance n°2010-11 du 7 janvier 2010 portant extension et
adaptation de l'ordonnance n°2009-866 du 15 juillet 2009 relative aux conditions
régissant la fourniture de services de paiement et portant création des
établissements de paiement à la Nouvelle -Calédonie, à la
Polynésie française et aux îles Wallis et Futuna, n° 2384
|
Assemblée nationale -
3 hours and 57 minutes ago
Proposition de résolution de M. Noël Mamère tendant à la création
d'une commission d'enquête relative aux conséquences et à la gestion de la
tempête Xynthia survenue les 27 et 28 février 2010, n° 2380
|
Playlist : blog musique -
4 hours and 41 minutes ago
C'est un sous-genre au sein de la création audiovisuelle qui retient de plus en plus
l'attention des artistes musicaux, vidéastes et du public. En dessin-animé, en
pâte à modeler, quelles créations attirent votre attention ? Participez
à notre foru...
Lire la suite | commentaire
|
AgoraVox le média citoyen -
5 hours and 16 minutes ago
L'UNASUR a franchi un pas de plus vers leur indépendance vis à vis des Etats-Unis, et
dans leur processus d'intégration régional. Comme nos analyses semblent le montrer :
l'Amérique Latine bouge... En effet, réunis à la Riviera Maya, Cancun
(Mexique), les représentants de 33 pays d'Amérique latine et de la Caraïbe ont
décidé, le 23 février 2010, la création d'un nouveau bloc
régional dont ni les Etats-Unis ni le Canada ne feront partie, alors qu'ils sont (...) -
International

|
AgoraVox le média citoyen -
5 hours and 16 minutes ago
L'UNASUR a franchi un pas de plus vers leur indépendance vis à vis des Etats-Unis, et
dans leur processus d'intégration régional. Comme nos analyses semblent le montrer :
l'Amérique Latine bouge... En effet, réunis à la Riviera Maya, Cancun
(Mexique), les représentants de 33 pays d'Amérique latine et de la Caraïbe ont
décidé, le 23 février 2010, la création d'un nouveau bloc
régional dont ni les Etats-Unis ni le Canada ne feront partie, alors qu'ils sont (...) -
International
|
Multimodal -
6 hours and 47 minutes ago
Dimanche chaque voix comptera. Voter pour le Rassemblement de la Gauche et des Ecologistes,
c’est donner du poids aux écologistes pour changer les politiques régionales.
Nos engagements communs :
- Accompagner la création de 50 000 emplois « verts »,
- Mettre en place un Plan climat-énergie qui exclut le développement du
nucléaire,
- Agir efficacement sur la préservation du foncier face au bitumage et au
bétonnage,
- Investir 100% du budget des transports dans le rail et le fluvial (pas 1 €
sur les projets routiers, sauf en Ardèche),
- Conditionner les aides économiques aux exigences environnementales et sociales,
- Exclure de recourir aux banques qui sont présentes dans les paradis fiscaux,
- Créer un droit d’initiative citoyenne,
- Atteindre 100 % de lycées éco-responsables, toujours plus de bio et de local
dans les cantines,
- Garantir une région sans OGM et engagée dans la préservation de la
biodiversité.
Europe Ecologie Rhône-Alpes, c’est la volonté de réorganiser toute
l’action politique autour du bien commun, de l’avenir de nos enfants et de la
planète.
Plus d'infos sur le tract à télécharger au format PDF (370
ko)

|
Recettes -
6 hours and 58 minutes ago
Vous qui aimez la cuisine et le vin, et particulièrement le rosé, vous pouvez encore
participer au
Grand Concours
:
"
ACCORD METS ET VIN ROSE DE TAVEL - DOMAINE DE LA MORDOREE
"
C'est un concours de création culinaire, qui fait appel à votre imagination et vos
talents en cuisine.
Ce concours est organisé pour la France, la Belgique, le Luxembourg, la vallée
d'Aoste et la Suisse romane, et a pour thème :
« Comment, et avec quels ingrédients, obtenir la préparation culinaire
adéquate afin d'augmenter le plaisir des sens et rehausser les saveurs du mets. Le
rosé de Tavel de la Mordorée
doit exalter les saveurs du plat et paraître lui-même...
|
Invention - Europe -
14 hours and 47 minutes ago
Ralentissement économique oblige, les demandes d'enregistrement international de marques ont
reculé de 16%. C'est la plus importante baisse jamais recensée, selon l'Organisation
mondiale de la propriété intellectuelle (OMPI). Signe du ralentissement
économique mondial, les demandes d'enregistrement international de marques ont reculé
en 2009 de 16%. Selon l'Organisation mondiale de la propriété intellectuelle (OMPI),
il s'agit de "la plus grosse baisse" jamais recensé depuis la création de cettte
instance onusienne. En 2009, 35.195 demandes ont été enregistrées, contre
42.075 en 2008. Toutefois, certains des 84 pays membres du système de Madrid, qui
protège plus de 515.000 marques dans le monde n'ont pas réduit la voilure. C'est
notamment le cas du Japon (+2,7%), de Singapour (+20,5%) et de la Corée du sud (33,9%).
Francis Gurry, le directeur de l'OMPI, s'attend à "une hausse modeste pour 2010" sur la base
d'une hausse des demandes de 2% en moyenne constatée en janvier en février.
|
Xbox360 France.com -
15 hours and 47 minutes ago
C'est lors de la présentation parisienne de Medal of Honor à laquelle nous avons
récemment assisté (lire notre aperçu), que notre hôte de luxe Richard
Farrelly, le directeur de création senior du jeu s'est prêté au jeu des
questions-réponses de la communauté. Voici donc cette interview orchestrée
p...
|
Planet Libre -
16 hours and 25 minutes ago
Article publié le 14/03/2010
Le but de cet article est de présenter un rapide tutoriel d'installation de Seeks, un moteur de recherche dont
le but est de regrouper les utilisateurs ayant des requêtes similaires, mais qui permet
également de classer les résultats provenant de divers moteurs de recherche.
Avant toute chose, n'oubliez pas que des nœuds de
test ont été mis en place, notamment à cette adresse. Cela vous permettra de
tester le moteur de recherche avant de l'installer chez vous.
Compilation du proxy
Seeks étant encore jeune et en développement, il vous faudra le compiler. Tout
d'abord, installer les outils nécessaires :
marty@babar:~$ sudo apt-get install autoconf automake libtool libcurl4-gnutls-dev libpcre3-dev
Télécharger la dernière version stable de seeks sur Sourceforge. Décompressez
l'archive et lancez la génération des fichiers de configuration et du Makefile :
marty@babar:seeks$ ./autogen.sh
On croise les doigts, on lance le script de configuration et on compile :
marty@babar:seeks$ ./configure && make
Si tout s'est bien passé, ça devrait se finir avec :
make[3]: quittant le répertoire « /home/marty/seeks/src » make[2]: quittant
le répertoire « /home/marty/seeks/src » make[2]: entrant dans le
répertoire « /home/marty/seeks » make[2]: quittant le répertoire «
/home/marty/seeks » make[1]: quittant le répertoire « /home/marty/seeks »
On lance le proxy pour vérifier qu'il fonctionne :
marty@babar:seeks$ cd src marty@babar:src$ ./seeks Mar 13 23:30:54.535 b76d66d0 Info:
listen_loop(): seeks proxy configuration successfully loaded Mar 13 23:30:54.535 b76d66d0 Info:
Reloading configuration file 'lsh/lsh-config' Mar 13 23:30:54.535 b76d66d0 Info: listen_loop(): lsh
configuration successfully loaded Mar 13 23:30:54.536 b76d66d0 Info: listen_loop(): attempt to find
plugins... Mar 13 23:30:54.540 b76d66d0 Info: loaded plugin websearch-hp Mar 13 23:30:54.540
b76d66d0 Info: Reloading configuration file
'/home/marty/seeks/src/plugins/websearch/websearch-config' Mar 13 23:30:54.541 b76d66d0 Info:
Registering plugin websearch, and 7 CGI dispatchers Mar 13 23:30:54.541 b76d66d0 Info: registering
CGI dispatcher websearch-hp Mar 13 23:30:54.541 b76d66d0 Info: registering CGI dispatcher
seeks_hp_search.css Mar 13 23:30:54.541 b76d66d0 Info: registering CGI dispatcher seeks_search.css
Mar 13 23:30:54.541 b76d66d0 Info: registering CGI dispatcher search Mar 13 23:30:54.541 b76d66d0
Info: registering CGI dispatcher search_cache Mar 13 23:30:54.541 b76d66d0 Info: registering CGI
dispatcher search_similarity Mar 13 23:30:54.541 b76d66d0 Info: registering CGI dispatcher
search_clusterize Mar 13 23:30:54.541 b76d66d0 Info: Listening on port 8118 on IP address 127.0.0.1
Seeks va donc tourner comme un proxy (il est basé sur Privoxy), et on l'interrogera via le
port 8118. La configuration du proxy se fait via le fichier « config » (dans le
répertoire src).
Utilisation de Seeks comme proxy local
Tout d'abord, il faut régler Firefox pour qu'il passe par le proxy :
Configuration de Firefox
On peut ensuite accéder à Seeks de différentes façons :
- via la page http://s.s/websearch-hp ;
- grâce au plugin de recherche pour Firefox. Il faut pour cela copier le fichier
src/plugins/websearch/public/opensearch.xml dans le dossier
~/.mozilla/firefox/xxxxxxxx.default/searchplugins (à créer si
nécessaire), puis relancer Fifefox ;
- via le plugin de recherche Google, Bing, Cuil ou leur page de recherche respective.
Ce dernier comportement est assez ennuyeux, car Seeks intercepte toutes les recherches et les
effectue lui-même. Du coup, impossible d'effectuer une simple recherche sur
Google ! Pour éviter cela, éditez le fichier
src/plugins/websearch/patterns/qi_patterns, et commentez (# en début de ligne) les moteurs
de recherche dont les requêtes ne seront pas interceptées. Pour ma part, aucune
requête ne doit être interceptée :
#.google.*/search? #.google.*/custom? #.bing.*/search? #.cuil.com/search?
Relancez Seeks pour que les paramètres soient pris en compte.
Installation d'un serveur web et création du noeud public Seeks
La seconde partie consiste en l'installation d'un serveur web, qui permettra de mettre en place
une page web qui interrogera le proxy et gèrera les recherches. Il existe plusieurs scripts qui peuvent
être utilisés. Le plus simple est d'utiliser le script PHP, avec le serveur web
lighttpd. On installe tout le nécessaire :
marty@babar:~$ sudo apt-get install lighttpd php5-cgi php5-curl
On active le module fastcgi, et on relance :
marty@babar:~$ sudo lighty-enable-mod fastcgi marty@babar:~$ sudo /etc/init.d/lighttpd
force-reload
Il reste à copier le script PHP (clic droit
→ Enregistrer la cible du lien sous...) dans le dossier /var/www/seeks :
marty@babar:~$ wget http://15minutesoffame.be/nico/blog2/data/documents/search.php
marty@babar:~$ sudo mkdir /var/www/seeks && sudo mv search.php /var/www/seeks
On lance le proxy, et on accède à la page de recherche à l'adresse http://localhost/seeks/search.php/websearch-hp
(remplacez localhost par votre nom de domaine quand vous y accédez de l'extérieur).
Dernières astuces
Pour éviter le log des recherches :
marty@babar:src$ ./seeks 2> /dev/null
Le proxy est encore instable, pour le relancer automatiquement lorsqu'il plante on le lance dans
une boucle infinie :
marty@babar:src$ while true; ./seeks; done
La configuration du moteur de recherche se fait via le fichier
src/plugins/websearch/websearch-config. On peut par exemple modifier la liste des moteurs de
recherche interrogés, et activer le « content analysis » :
enable-content-analysis 1
Pensez également à configurer votre firewall pour autoriser les connexions
entrantes sur le port 80 si vous voulez qu'on puisse accéder à votre serveur web.
Billet original de Marty.Votez pour cet article sur le Planet Libre.

|
Planet Libre -
16 hours and 26 minutes ago
Article publié le 13/03/2010
Depuis une dizaine d'années, Google étend ses tentacules dans tous les domaines de
l'informatique. Tout a commencé avec un moteur de recherche, puis les services se sont
multipliés : hébergement de vidéos, d'images, e-mail, cartographie du monde,
actualités, édition de documents en ligne, chat, réseau social, navigateur
et maintenant systèmes d'exploitation (Android pour smartphones et bientôt Chrome
OS). Si des alternatives viables existent pour tous ces domaines, le moteur de recherche reste,
de loin, le
plus utilisé. Fautes d'alternatives ? Pas sûr...
Avant de commencer, une question s'impose : pourquoi se passer de Google si il fonctionne
très bien ? Tout est question de monopole et de contrôle de l'information. A l'heure
actuelle, 85 % des recherches se fait via Google. Il ne faut pas chercher loin avant d'entrevoir
les dérives que cela peut entraîner : si Google supprime une page de ses
résultats, celle-ci disparaît aux yeux de 85 % de la population. Ceci constitue un
contrôle potentiel de l'information suffisamment dangereux pour remettre en cause le
monopole du géant de Mountain View.
Les autres poids lourds
En concurrence directe avec Google, plusieurs essayent de se faire un nom sur le marché.
Tout d'abord, Yahoo, qui essaie tant bien que mal
d'empiéter sur les plates-bandes de Google. Yahoo propose un package assez complet :
moteur de recherche assez performant, e-mail, actualités, hébergement d'images...
Le concurrent direct, mais avec un gros point faible : Yahoo ne propose rien de bien original
face au géant.
Récemment, Microsoft a laissé tombé son MSN search totalement ignoré
de tous par Bing, étroitement lié aux services
déjà existants comme Hotmail. Là encore, rien de nouveau sous le soleil qui
mérite l'attention...
Parmi les autres concurrents, Exalead a, pendant un
temps, attiré l'attention de par ses innovations technologiques, mais le succès n'a
jamais été au rendez-vous.
Le seul intérêt de ces moteurs est de présenter leurs résultats dans
un ordre différent de celui de Google, ce qui est déjà un avantage.
Les moteurs « caritatifs »
Basés sur les moteurs de recherche cités ci-dessus, ces moteurs ont pour but
d'aider des associations grâce aux bénéfices générés par
la publicité. Hooseek, Doona, Veosearch ou encore
Ecosia permettent de sélectionner des associations qui
recevront une certaine somme à chacune de vos utilisations.
A noter, un gros point noir : il est souvent nécessaire de créer un compte de
manière à « choisir les associations qui seront rétribuées
». Il faut être conscient que cela signifie la création d'un profil
utilisateur qui en dira long sur vos centres d'intérêt.
Les moteurs qui préservent l'anonymat
La politique de traitement des données utilisateurs de Google a déjà
été pointée du doigt : grâce à l'utilisation de cookies ou d'un
compte iGoogle, le géant peut dresser un profil de chaque utilisateur et, entre autres,
proposer de la publicité ciblée.
C'est dans un esprit totalement opposé que des moteurs respectueux de la vie privée
sont apparus. Tout d'abord, Ixquick, qui non seulement
propose une version sécurisée de son moteur de recherche (https), mais ne conserve
aucuns adresse IP (ce qui est certifié par de jolis logos dont je n'ai aucune idée
de la validité réelle). Ixquick agit également comme un méta-moteur :
il consulte plusieurs moteurs de recherche et compile les résultats.
Ensuite, Yauba, qui dans le même esprit ne conserve
aucune trace des utilisateurs. Yauba possède également un avantage
intéressant, celui de compiler les résultats de recherche par source : sites web,
blogs, actualités, vidéos. Finalement, il intègre un proxy qui permet de
visiter anonymement les résultats de recherche.
Notez qu'au niveau anonymat, le fait d'avoir une adresse IP dynamique et d'effacer les cookies
à chaque session (sélectionner « Conserver les cookies jusqu'à la
fermeture de Firefox », dans l'onglet « Vie privée » de Firefox) permet
déjà un anonymat relatif, ou du moins évite de créer un profil
utilisateur dans n'importe quel moteur de recherche. A moins de faire des recherches sur des
sujets pas très nets, c'est souvent largement suffisant.
Les moteurs P2P
Pour aller plus loin dans la décentralisation des recherches, il existes des moteurs de
recherche fonctionnant sur le principe du P2P. Ceci permet d'échapper à
toute forme de filtrage éventuel.
YaCy (sous licence GPL) est un moteur de recherche fonctionnant
sur ce principe : chaque personne installe son client, et la recherche va se faire en
interrogeant les autres clients connectés. Il dispose également de son propre
« web crawler », c'est-à-dire qu'il peut indexer des liens à partir
d'un page de référence. Je dois avouer que je n'ai pas été vraiment
convaincu... Il semble que la recherche ne tienne pas compte de la langue, et du coup on se
retrouve avec des résultats plutôt inexploitables. Je m'y suis peut-être mal
pris, remarquez...
À mi-chemin entre le moteur P2P est le méta-moteur, Seeks est un moteur de recherche libre (AGPL) dont le but
est de garder en cache les recherches d'un groupe de personne ayant les mêmes centres
d'intérêt. En pratique, on l'installe sur un serveur, et à chaque
requête Seeks va (i) chercher dans son cache les éventuelles recherches similaires
et (ii) rapatrier les résultats des grands moteurs de recherche (Google, Yahoo, Bing et
Cuil). Il dispose également d'une option de « clustering », qui est
censée regrouper les résultats selon leur contenu (et ainsi les classer selon les
homonymies). Le projet est encore un peu jeune et pas exempt de bugs, mais je dois avouer que je
suis fan. A terme, Seeks permettra aux utilisateurs de classer les résultats, et les
noeuds Seeks pourront communiquer pour partager leur index.
Des nœuds
publics ont été mis en place, notamment sur le site principal ainsi qu'un autre accessible en connexion
sécurisée. Pour ajouter Seeks dans la barre de recherche Firefox, copiez ce fichier dans le
dossier ~/.mozilla/firefox/xxxxxxxx.default/searchplugins (créez searchplugins si
nécessaire). Il n'est, pour le moment, pas possible de faire une recherche d'images via
Seeks.
Dans le prochain article, nous verrons comment installer son propre nœud Seeks.
Billet original de Marty.Votez pour cet article sur le Planet Libre.

|
Planet Libre -
16 hours and 28 minutes ago
Article publié le 23/09/2009
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 :
export KEY_COUNTRY="US" export KEY_PROVINCE="CA" export KEY_CITY="SanFrancisco" export
KEY_ORG="Fort-Funston" export KEY_EMAIL="me@myhost.mydomain"
Initialisez-le via la commande :
marty@server:# . ./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 :
marty@server:# openvpn --genkey --secret keys/ta.key
Le fichier ta.key est créé.
Résumé des fichiers créés
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 :
eth0 Link encap:Ethernet HWaddr 00:16:3e:51:5f:e9 inet addr:XXX.XXX.XXX.XXX
Bcast:XXX.XXX.XXX.255 Mask:255.255.252.0 inet6 addr: fe80::216:3eff:fe51:5fe9/64 Scope:Link UP
BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:162377096 errors:0 dropped:0 overruns:0
frame:0 TX packets:153812357 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000
RX bytes:4278174076 (4.2 GB) TX bytes:2956197161 (2.9 GB) lo Link encap:Local Loopback inet
addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:127075 errors:0 dropped:0 overruns:0 frame:0 TX packets:127075 errors:0 dropped:0
overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:77312107 (77.3 MB) TX bytes:77312107 (77.3
MB) tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr: 10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255 UP POINTOPOINT RUNNING
NOARP MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0
errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:0 (0.0 B) TX bytes:0
(0.0 B)
L'adresse IP du serveur sur le réseau virtuel (tun0) est bien 10.8.0.1.
En l'état, votre serveur ne fonctionnera pas. Pourquoi ? Parce que le firewall n'a pas
été configuré bien sûr ;-)
Configuration du firewall
Avant toute chose, on s'assure que le forwarding est activé en tapant dans un terminal (en
root) :
marty@server:# echo 1 > /proc/sys/net/ipv4/ip_forward
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.

|
Planet Libre -
16 hours and 29 minutes ago
Article publié le 27/08/2009
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 :
marty@serveur:~$ sudo apt-get install openssh-server
À 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 :
[DEFAULT] ignoreip = 127.0.0.1 bantime = 900 findtime = 600 maxretry = 3 [ssh] enabled = true
port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 6
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=YYYYYYYY password='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 :
marty@client:~$ ssh -p 12345 login@blablabla.tatata.com
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 :
marty@client:~$ ssh login@blablabla.tatata.com "echo $(cat ~/.ssh/id_dsa.pub) >>
.ssh/authorized_keys"
(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 :
marty@client:~$ scp -P 12345 fichier marty@serveur:/dossier/serveur
Pour récupérer un fichier du serveur :
marty@client:~$ scp -P 12345 marty@serveur:/dossier/fichier /dossier/client
Attention, c'est bien un P majuscule !
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.

|
Planet Libre -
16 hours and 33 minutes ago
Article publié le 27/05/2009
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: Wacken2 Adresse e-mail: wacken@exemple.com
Commentaire: 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 ? o Vous 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 :
[wacken@desktop ~]$ gpg --armor --export Wacken > wacken_key.asc
Il est également possible d'utiliser le numéro de la clé, dans notre cas :
[wacken@desktop ~]$ gpg --armor --export C9619A0F > wacken_key.asc
(...)

|
Planet Libre -
16 hours and 34 minutes ago
Article publié le 22/05/2009
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 ;-)
À suivre, partie 3 : sécuriser ses
échanges.
Billet original de Marty.Votez pour cet article sur le Planet Libre.

|
LE FIGARO - France -
16 hours and 58 minutes ago
La 38e édition du Salon mondial de l'horlogerie et de la bijouterie a ouvert ses portes
jeudi à Bâle. Jusqu'au 25 mars prochain, petites et grandes marques
présenteront leurs créations dans un marché placé sous de meilleurs
auspices que l'an dernier. » DOSSIER SPÉCIAL - L'actualité du Salon de
Bâle
|
Gameblog.fr -
19 hours and 17 minutes ago
Depuis deux mois maintenant et pendant toute une année, Gameblog vous invite à
plonger dans l'intimité d'un studio de jeu vidéo pour découvrir toutes les
ficelles de la création vidéoludique. Grâce à…
|
La république des livres -
20 hours and 55 minutes ago
«Â Je n’écoute plus rien ; et, pour jamais,
adieu.../ Pour jamais ! Ah ! Seigneur, songez-vous en
vous-même/ Combien ce mot cruel est affreux quand on aime ?/
Dans un mois, dans un an, comment souffrirons-nous,/ Seigneur, que tant de mers me
séparent de vous ?/ Que le jour recommence et que le jour
finisse. Sans que jamais Titus puisse voir
Bérénice... »
  Jean d’Ormesson (mais non, c’est pas du
d’Ormesson !) ne pouvait décemment commencer son
discours de réception à Simone Veil à l’Académie
française autrement que par le rappel des plaintes de Bérénice.
Sixième femme académicienne depuis la création de l’institution en
1635, elle est en effet devenue cet après-midi l’héritière du
13ème fauteuil dont Racine fut le plus prestigieux séant (pardon Claudel, mais
c’est ainsi, la consultation de la liste est sans
appel). Pourtant, à la lecture des deux
discours qui furent prononcés aujourd’hui sous la coupole, le nom que l’on
retiendra n’est ni son nom, ni celui de
tout autre génie de la langue française, mais celui d’un camp
d’extermination. Là où elle est née à l’âge de 16
ans. Son ombre portée a comme enveloppé l’assistance durant ces quelques
heures. Quels qu’aient été les mérites de Simone Veil à divers
égards au cours de sa carrière, et ils sont nombreux, tout l’y
ramène : le regard des autres et le sien propre.
   Le nom d’Auschwitz résonna tout au long de
l’après-midi comme jamais en ces lieux qui eurent bien des indulgences pour
l’esprit vichyste, pendant l’Occupation et bien après. Après la
cérémonie, les plus curieux auront eu à cÅ“ur d’approcher
l’élue non pour lui parler mais, comme il est d’usage, pour contempler son
épée et découvrir ce qu’elle y avait fait graver. On en connaît
au moins deux motifs : la devise «Â Liberté ,
égalité, fraternité », le nom
“Birkenau” et 78 651. Son numéro de matricule. On
songe alors à Primo Levi qui obtint que le sien (174Â 517) figurât en
bonne place sous son nom au cimetière où il est enseveli. Preuve que si les
rescapés ont réussi à quitter le camp, le camp ne les a jamais
quittés.
   Contrairement à d’autres, Simone Veil
née Jacob s’est refusée à faire effacer son tatouage de
l’avant-bras. Un soir, après une émission de télévision
à laquelle nous avions participé, comme elle me proposait de me ramener dans sa
voiture, j’en profitais pour lui demander si elle, que l’on crédite d’un
certain caractère (entendez : un mauvais caractère), si elle
n’avait jamais baissé la garde. Elle m’a alors raconté que cela ne lui
était arrivé qu’une seule fois, jusqu’à fondre en larmes en
public, la cuirasse s’étant soudainement fendue : jeune magistrate dans
une délégation en visite en Allemagne, alors qu’elle discutait avec des
collègues dans un cocktail à l’ambassade de France, elle fut interrompue par
un Français qui, désignant son bras nu, lui
demanda : «Â C’est votre numéro de
vestiaire ? ». Impossible de ne pas y penser en regardant
cette épée.
 Â
   On se dit alors que, dans cet endroit qui tient son
charme à ce qu’il ne sert à rien sinon à maintenir une tradition, il
est remarquable qu’une femme qui a déjà goûté de tous les
honneurs et joui de tous les pouvoirs, trouve un certain bonheur à faire graver ce qui lui
fut autrefois une marque d’infamie dans ce qui lui sera à jamais un objet de
fierté.
(Photo Philippe Wojazer/ Reuters)

|
Electronique International. Actualités -
1 days ago
[p]Les français Schneider Electric et Legrand ainsi que l'italien Scame viennent d'annoncer
la création de l'[i]EV Plug Alliance[/i], afin d...
|
PhoenixJP.News -
1 days ago
Les boîtiers multimédias évoluent sans cesse : connexion au web, nouveaux
services ou encore création de jukebox vidéo. Que nous réserve l'avenir,
quelles sont les visions du marché des différents...
|
Generation Nouvelles Technologies -
1 days ago
PARIS, March 18, 2010 /PRNewswire/ -- FINEO, cabinet de conseil stratégique en communication
financière et relations investisseurs internationales, annonce la création de l'Ecole
de la Communication financière, The School of Investor ...
|
|
What is Matoumba?
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!
|