Pour éditer le wiki, il faut demander un compte à un Lapin !

IRC/Chiffrement

From Le L∞p's Wiki
< IRC
Revision as of 16:37, 3 August 2013 by Naar (Talk | contribs) (TLS: fix)

Jump to: navigation, search

Dans la mesure où vous souhaiteriez sécuriser vos échanges sur les réseaux IRC, voici quelques pistes vers lesquelles s'orienter. Cette page n'est qu'un lâche copier-coller de documentations officielles, mais bon... c'est pas un drame non plus. Ça pourrait même s'avérer utile, au final.

SASL

SASL (Simple Authentication and Security Layer) est une mécanisme permettant de s'authentifier automatiquement auprès des serveurs IRC (entre autres). Il vous est fortement recommandé de configurer l'authentification par SASL en premier lieu si vous songez à protéger vos correspondances avec les outils qui suivent. Bien sûr, ça marchera mieux si vous avez enregistré votre pseudo auprès du service approprié (NickServ dans la plupart des cas).


WeeChat Irssi XChat Pidgin

TLS

TLS (Transport Layer Security) est un protocole cryptographique permettant de chiffrer une connexion d'un bout à l'autre et d'en authentifier les données y circulant. Vous devrez avoir installé les paquets OpenSSL et CA-Certificates au préalable.

Générer son certificat

Pour simplifier la suite, créez un dossier provisoire et rendez-y-vous :

user@host:~$ mkdir <dossier provisoire> && cd !!$

Puis générez votre certificat TLS comme ceci :

openssl req -newkey rsa:4096 -days 730 -x509 -keyout <votre pseudo>.key -out <votre pseudo>.cert

Le certificat sera valide durant deux ans, paramétré via l'option -days 730. Modifier donc cette option pour allonger ou raccourcir cette durée.
Entrez ensuite une phrase de passe, confirmez-la, puis concaténez votre certificat et sa clé dans un même fichier PEM :

cat <votre pseudo>.cert <votre pseudo>.key > <votre pseudo>.pem

Extraire l'empreinte

Vous devrez par la suite renseigner votre empreinte auprès du service NickServ. Enregistrez-donc provisoirement la sortie de cette commande dans un fichier :

openssl x509 -sha1 -noout -fingerprint -in <votre pseudo>.pem | sed -e 's/^.*=//;s/://g;y/ABCDEF/abcdef/' > fingerprint

Pour finir

Vous pouvez désormais détruire le certificat et sa clé séparés, puis définir les permissions d'accès aux fichiers restants :

shred --iterations=35 --zero --remove <votre pseudo>.{cert,key}
chmod 600 *
Attention.png Attention : Notez que shred (paquet coreutils) se fie à une supposition très importante : le système de fichiers écrase les données en place. Il s'agit de la procédure traditionnelle, mais beaucoup de systèmes de fichiers modernes ne satisfont pas cette supposition. Plus de détails dans le manuel de shred...

WeeChat Irssi XChat Pidgin

Tor

Attention.png Attention : Certains réseaux IRC bloquent les connexions passant par Tor, à l'instar de Freenode. Ils fournissent cependant souvent un service caché auquel il faut se connecter depuis Tor (voir Freenode via Tor).


Tor (The Onion Router) est un réseau mondial acentré de routeurs organisés en couches, appelés « nœuds de l’oignon », dont la tâche est de transmettre de manière anonyme des flux TCP. C’est ainsi que tout échange Internet basé sur TCP peut être rendu anonyme en utilisant Tor.

Évidemment, vous devrez avoir installé et configuré Tor comme il se doit. Notez qu'il n'est pas nécessaire d'utiliser TLS pour chiffrer des échanges transitant par Tor si le serveur dispose d'un service caché (accessible par une adresse terminant par .onion), Tor s'occupant déjà de ça. Si ce n'est pas le cas, il vous l'est en revanche vivement recommandé.


WeeChat Irssi XChat Pidgin

OTR

Attention.png Attention : Pour fonctionner, OTR doit être présent chez chaque interlocuteur.


OTR (Off-the-Record) est un autre protocole cryptographique vous permettant lui aussi de chiffrer les échanges avec votre correspondant. Il intègre également un mécanisme d'authentification par échange de clés.

Extraits de la FAQ du site officiel

En quoi est-ce différent du greffon pidgin-encryption
Le greffon pidgin-encryption fournit chiffrement et authentification, mais pas le déni plausible ou la confidentialité persistante. Si un attaquant ou un virus accèdent à votre machine, toutes vos conversations passées chiffrées par pidgin-encryption seront rétroactivement compromise. De plus, tous les messages étant signés numériquement, il est difficile de réfuter les propos que vous avez tenu : ce n'est pas ce que nous voulons pour une conversation censée être privée.
En quoi est-ce différent de SILC
SILC se base sur un réseau de serveurs complètement isolé et son propre protocole réseau. Dans certains environnements, tels que ceux disposant d'un pare-feu ou d'une configuration d'entreprise, où un protocole propriétaire de messagerie instantanée est peut-être utilisé, SILC pourrait ne pas être disponible. De plus, en exécution normale, tous les messages SILC sont partagés avec le serveur SILC ; si vous désirez envoyer des messages qui ne pourront être lus que par votre correspondant, vous devrez :

1. Partager un secret au préalable (ce qui est gênant pour la confidentialité persistante).
ou

2. Être en mesure d'effectuer une connexion directe de pair à pair avec le client de votre interlocuteur, afin d'engager un accord de clé (ce qui vous sera peut-être impossible, en fonction de la configuration du NAT et du pare-feu de votre réseau).


Icone information.png Note : Si le greffon de votre client vous empêche de consulter les services IRC proposés dans certains réseaux (NickServ par exemple), il vous suffit de le décharger.
WeeChat Irssi XChat Pidgin

SILC

Dès qu'on en aura le besoin, promis.