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

Difference between revisions of "IRC/Chiffrement/WeeChat"

From Le L∞p's Wiki
Jump to: navigation, search
m (TOR: Syntaxe)
(OTR: Ajout)
Line 62: Line 62:
 
==== OTR ====
 
==== OTR ====
  
Installez {{Deb|weechat-plugins}}. Rendez-vous ensuite à l'adresse https://github.com/mmb/weechat-otr, lisez le README <small>(j'écris ça ?)</small> et laissez-vous guider.
+
Commencez par installer {{Deb|weechat-plugins}}.  
 +
 
 +
Rapatriez ensuite <code>[https://github.com/afflux/pure-python-otr potr]</code>, le module Python requis par <code>weechat-otr</code>, et le script <code>[https://github.com/mmb/weechat-otr weechat-otr]</code> lui-même :
 +
 
 +
mkdir <dossier provisoire> && cd !#^
 +
git clone git://github.com/afflux/pure-python-otr.git
 +
git clone git://github.com/mmb/weechat-otr.git
 +
cd pure-python-otr/ && sudo python setup.py install && cd ..
 +
 
 +
Copiez le script <code>weechat_otr.py</code> dans votre répertoire de configuration WeeChat, puis placez un lien symbolique vers le script dans le répertoire qui va bien pour qu'il puisse être chargé automatiquement à chaque démarrage du programme :
 +
 
 +
cp <dossier provisoire>/weechat-otr/weechat_otr.py ~/.weechat/python/
 +
ln -s ~/.weechat/python/weechat_otr.py ~/.weechat/python/autoload/
 +
 
 +
Retournez sur le tampon <code>'''core'''</code> de WeeChat. La commande <code>/reload</code> devrait vous charger le script. Vous pouvez constater qu'une nouvelle commande, <code>/otr</code>, est désormais disponible.
 +
 
 +
{{Bandeau||'''Rappelez-vous qu'OTR ne pourra chiffrer les échanges que si chacun des pairs dispose du greffon adapté pour son client de messagerie instantanée.'''}}
 +
 
 +
Pour être signifié-e de l'état des échanges OTR, vous pouvez ajouter l'objet <code>[otr]</code> dans votre barre de statut comme ceci :
 +
 
 +
/set weechat.bar.status.items "[time],[buffer_count],[buffer_plugin],buffer_number+:+buffer_name+{buffer_nicklist_count}+buffer_filter,[lag],[hotlist],completion,scroll,'''[otr]'''"
 +
 
 +
Vous vous retrouverez donc avec une barre de statut qui pourrait ressembler à ceci :
 +
 
 +
<code><div style="color:white; background:#6495ed;">[21:02] [7] [irc/freenode] '''7''':'''naar''' [Act: 5(8), 3(3), 4(2)] [OTR:<span style="color:red;">!SEC</span>]</div></code>
 +
 
 +
 
 +
'''Définition des états :'''
 +
* [,!]LOG : Identification
 +
* [,!]AUTH : Authentification
 +
* [,!]SEC : Chiffrement
 +
 
 +
Comme vous pourrez le constater vous-même en tapant <code>/set otr*</code>, certaines options d'affichage et de politique peuvent être configurées librement. Attardons-nous deux minutes sur cette politique.<br />
 +
Celle-ci établie simplement quelques conditions quant à l'échanges de messages avec vos correspondants.
 +
 
 +
La politique globale peut être définie par les commandes :
 +
 
 +
/set otr.policy.default.* "<'''on''' ou '''off'''>"
 +
 
 +
Vous pouvez également appliquer une politique propre à chaque correspondant. Pour cela, ouvrez une fenêtre d'échange privée avec l'utilisateur en question, puis définissez la politique à suivre :
 +
 
 +
/query <utilisateur>
 +
/otr policy <options> <'''on''' ou '''off'''>
 +
 
 +
<code><options></code> représente l'une des trois chaînes suivantes :
 +
* '''allow_v2''' : Autoriser l'usage de la [http://www.cypherpunks.ca/otr/Protocol-v2-3.1.0.html v2 du protocole OTR].
 +
* '''require_encryption''' : Refuser l'envoi de messages non chiffrés.
 +
* '''send_tag''' : Annoncer votre utilisation d'OTR grâce à l'espace blanche (''the whitespace'').
 +
 
 +
 
 +
Pour cette dernières option, il s'agit là d'attacher un tag, l'espace blanche, à chacun de vos messages en texte clair à destination de votre correspondant lui indiquant votre aptitude à communiquer par le biais du protocole OTR. Certains clients sont configurés de telle sorte qu'ils n'accepteront d'entamer une conversation par OTR qu'à la réception de cette demande explicite. Certains serveurs IRC les « aspire », tout simplement. Sachez-le.<br />
 +
Pour la petite info, vous pouvez envoyer ce tag manuellement en envoyant <code>'''?OTRv2?'''</code> <small><s>au 6 12 12</s></small> à votre destinataire dans votre tampon privée.
 +
 
 +
Par défaut, définies par la politique globale, la valeur de ces options se trouvent respectivement être '''on''', '''off''' et '''off'''. À vous de voir si cela vous convient ou non et de l'adapter en conséquence.
 +
 
 +
===== Démarrer une conversation privée =====
 +
 
 +
Pour amorcer le chiffrement de vos messages, dans le tampon de discussion privée, tapez :
 +
 
 +
/otr start
 +
 
 +
À chacun de vos premiers échanges par OTR avec un nouveau correspondant, vous serez amené-e à confirmer son authenticité. Vous tomberez donc face à quelque chose comme ça :
 +
 
 +
Vous pouvez vérifier que cette personne est bien celle qu'elle prétend être par l'une des manières suivantes :
 +
 +
1) Vérifier vos empreinte ''via'' un canal sécurisé <small>(par mails chiffrés par exemple)</small>
 +
  Votre empreinte : <votre empreinte>
 +
  Empreinte du pair : <son empreinte>
 +
  Utilisez alors la commande : /otr trust <pseudo du pair> <réseau>
 +
 +
2) Secret préalablement partagé connu des deux pairs :
 +
    /otr smp ask <pseudo du pair> <réseau> <secret>
 +
 +
3) Secret préalablement partagé connu des deux pairs avec une question :
 +
    /otr smp ask <pseudo du pair> <réseau> <secret> <question>
 +
 
 +
Une fois la discussion terminée, tapez :
 +
 
 +
/otr finish

Revision as of 01:59, 27 March 2013

SASL

Les commandes qui suivent (y compris celles des sections ci-dessous) sont à taper dans le tampon core. Pour ajouter un réseau dans votre configuration, voir /help server.

Chiffrement du mot de passe :

# Défaut : "plain" (texte en clair)
# : "dh-blowfish" (texte chiffré)
# : "external" (certificat TLS côté client)
/set irc.server.freenode.sasl_mechanism "dh-blowfish" ou "external"

Votre mot de passe, puis votre nom d'utilisateur ou d'utilisatrice :

/set irc.server.freenode.sasl_password "<votre mot de passe>"
/set irc.server.freenode.sasl_username "<votre pseudo>"

Sauvegardez, puis rechargez votre fichier de configuration :

/save
/reload

TLS

Déplacez maintenant votre fichier PEM et son empreinte dans le dossier ~/.weechat/ssl/ .

Indiquez ici le chemin vers le certificat des autorités de confiance :

# Défaut : "%h/ssl/CAs.pem" (%h → ~/.weechat)
# Alt : "/etc/ssl/certs/ca-certificates.crt"
/set weechat.network.gnutls_ca_file "<chemin vers le certificat>"

Freenode over TLS :

/set irc.server.freenode.addresses "chat.freenode.net/6697"

Activez le chiffrement :

/set irc.server.freenode.ssl "on"

Indiquez ici le chemin vers votre certificat SSL pour authentifier automatiquement votre pseudo auprès du serveur :

/set irc.server.freenode.ssl_cert "%h/ssl/<votre pseudo>.pem"

Indiquez la taille de la clé pour l'échange de clés Diffie-Hellman (de mémoire, Freenode n'accepte pas les clés de taille supérieure à 1024 bits) :

# Défaut : "2048"
/set irc.server.freenode.ssl_dhkey_size "1024"

Activez la vérification du certificat du serveur :

# Défaut : "on"
/set irc.server.freenode.ssl_verify " "

À présent, sauvegardez puis rechargez votre configuration. Connectez-vous à Freenode et communiquez à NickServ votre empreinte :

/msg nickserv cert add <votre empreinte>

TOR

Créez un proxy socks5 pour TOR (le nom/IP ainsi que le port dépendent de votre configuration) :

/proxy add tor socks5 127.0.0.1 9050

Maintenant, ajoutez un nouveau serveur :

/server add freenode-tor p4fsi4ockecnea7l.onion

Enfin, activez l'utilisation du proxy :

/set irc.server.freenode-tor.proxy "tor"

Pour finir, si vous êtes amené-e à conserver les deux configurations pour accéder à Freenode (TLS et TOR), pensez bien à ajuster vos autoconnect en conséquence.

OTR

Commencez par installer weechat-plugins.

Rapatriez ensuite potr, le module Python requis par weechat-otr, et le script weechat-otr lui-même :

mkdir <dossier provisoire> && cd !#^
git clone git://github.com/afflux/pure-python-otr.git
git clone git://github.com/mmb/weechat-otr.git
cd pure-python-otr/ && sudo python setup.py install && cd ..

Copiez le script weechat_otr.py dans votre répertoire de configuration WeeChat, puis placez un lien symbolique vers le script dans le répertoire qui va bien pour qu'il puisse être chargé automatiquement à chaque démarrage du programme :

cp <dossier provisoire>/weechat-otr/weechat_otr.py ~/.weechat/python/
ln -s ~/.weechat/python/weechat_otr.py ~/.weechat/python/autoload/ 

Retournez sur le tampon core de WeeChat. La commande /reload devrait vous charger le script. Vous pouvez constater qu'une nouvelle commande, /otr, est désormais disponible.

Rappelez-vous qu'OTR ne pourra chiffrer les échanges que si chacun des pairs dispose du greffon adapté pour son client de messagerie instantanée.

Pour être signifié-e de l'état des échanges OTR, vous pouvez ajouter l'objet [otr] dans votre barre de statut comme ceci :

/set weechat.bar.status.items "[time],[buffer_count],[buffer_plugin],buffer_number+:+buffer_name+{buffer_nicklist_count}+buffer_filter,[lag],[hotlist],completion,scroll,[otr]"

Vous vous retrouverez donc avec une barre de statut qui pourrait ressembler à ceci :

[21:02] [7] [irc/freenode] 7:naar [Act: 5(8), 3(3), 4(2)] [OTR:!SEC]


Définition des états :

  • [,!]LOG : Identification
  • [,!]AUTH : Authentification
  • [,!]SEC : Chiffrement

Comme vous pourrez le constater vous-même en tapant /set otr*, certaines options d'affichage et de politique peuvent être configurées librement. Attardons-nous deux minutes sur cette politique.
Celle-ci établie simplement quelques conditions quant à l'échanges de messages avec vos correspondants.

La politique globale peut être définie par les commandes :

/set otr.policy.default.* "<on ou off>"

Vous pouvez également appliquer une politique propre à chaque correspondant. Pour cela, ouvrez une fenêtre d'échange privée avec l'utilisateur en question, puis définissez la politique à suivre :

/query <utilisateur>
/otr policy <options> <on ou off>

<options> représente l'une des trois chaînes suivantes :

  • allow_v2 : Autoriser l'usage de la v2 du protocole OTR.
  • require_encryption : Refuser l'envoi de messages non chiffrés.
  • send_tag : Annoncer votre utilisation d'OTR grâce à l'espace blanche (the whitespace).


Pour cette dernières option, il s'agit là d'attacher un tag, l'espace blanche, à chacun de vos messages en texte clair à destination de votre correspondant lui indiquant votre aptitude à communiquer par le biais du protocole OTR. Certains clients sont configurés de telle sorte qu'ils n'accepteront d'entamer une conversation par OTR qu'à la réception de cette demande explicite. Certains serveurs IRC les « aspire », tout simplement. Sachez-le.
Pour la petite info, vous pouvez envoyer ce tag manuellement en envoyant ?OTRv2? au 6 12 12 à votre destinataire dans votre tampon privée.

Par défaut, définies par la politique globale, la valeur de ces options se trouvent respectivement être on, off et off. À vous de voir si cela vous convient ou non et de l'adapter en conséquence.

Démarrer une conversation privée

Pour amorcer le chiffrement de vos messages, dans le tampon de discussion privée, tapez :

/otr start

À chacun de vos premiers échanges par OTR avec un nouveau correspondant, vous serez amené-e à confirmer son authenticité. Vous tomberez donc face à quelque chose comme ça :

Vous pouvez vérifier que cette personne est bien celle qu'elle prétend être par l'une des manières suivantes :

1) Vérifier vos empreinte via un canal sécurisé (par mails chiffrés par exemple)
 Votre empreinte : <votre empreinte>
 Empreinte du pair : <son empreinte>
 Utilisez alors la commande : /otr trust <pseudo du pair> <réseau>

2) Secret préalablement partagé connu des deux pairs :
   /otr smp ask <pseudo du pair> <réseau> <secret>

3) Secret préalablement partagé connu des deux pairs avec une question :
   /otr smp ask <pseudo du pair> <réseau> <secret> <question>

Une fois la discussion terminée, tapez :

/otr finish