Archives par mot-clé : pan

[Newsgroups] Utilisation de Pan en SSL sous Ubuntu 10.10

Voici un article que j’ai commis dans le numéro de septembre 2010 de Linux Identity à propos des newsgroups et plus particulièrement de l’utilisation Pan avec le SSL dans Ubuntu 10.10.

Les groupes de nouvelles ou Newsgroups sont l’un des plus anciens réseaux de communication de l’ère informatique. Il ont été créés en 1979, avant même l’invention d’Internet. D’abord immense ensemble de forums, permettant de discuter et d’échanger sur de nombreux sujets, il a été par la suite détourné afin de pouvoir également échanger des données binaires, c’est à dire l’équivalent des pièces jointes par email, par opposition au texte brut des débuts. Par ce biais, on peut donc échanger et mettre à disposition des informations non textuelles (image ISO, musique, documents bureautiques, …) de manière aisée.

Pour accéder aux Newsgroups, il faut utiliser soit un logiciel de messagerie (si on ne veut consulter que des Newsgroups texte. Ils ont tous en général un module gérant le protocole NNTP propre aux groupes de nouvelles), soit un client de news si on veut télécharger des fichiers binaires (ces clients lisent aussi bien sûr les messages texte).
Sous Ubuntu, on peut utiliser Pan qui s’intègre parfaitement dans un environnement de bureau GNOME. Il se trouve dans les dépôts, donc vous pouvez l’installer via Synaptic, la logithèque Ubuntu ou en ligne de commande.
Ce programme supporte le cryptage via le protocole SSL au prix de quelques aménagements, ce qui permet de télécharger de manière anonyme, sans que personne ne sache ce qui va transiter par votre ligne Internet. La sécurisation des données est ainsi assurée.

L’autre pré-requis pour accéder aux Newsgroups est l’adhésion à un fournisseur d’accès (en général payant) et qui supporte le cryptage SSL. En effet, l’accès aux groupes binaires via les fournisseurs d’accès Internet traditionnels n’est plus possible.
Nous allons voir dans un premier temps comment paramétrer Pan pour utiliser un cryptage SSL, puis nous verrons rapidement comment l’utiliser.

Installation et paramétrage du SSL

Nativement, Pan ne permet pas de profiter du cryptage SSL. Il va donc falloir passer par le service stunnel pour pouvoir jouir de cette fonctionnalité. C’est stunnel qui va encrypter les données entrant et sortant de Pan pour les transmettre ensuite au fournisseur d’accès de Newsgroups.

Paramétrage de stunnel

Pour installer stunnel, vous pouvez choisir la méthode que vous préférez, mais recherchez le paquet stunnel4. Par exemple en ligne de commande :
sudo apt-get install stunnel4

Il faut ensuite configurer les options du programme. Pour cela, ouvrez avec les droits de super utilisateur le fichier /etc/stunnel/stunnel.conf dans un éditeur de texte (figure 1).
sudo gedit /etc/stunnel/stunnel.conf

stunnel.conf (-etc-stunnel) - gedit_001

Dans le fichier qui va s’ouvrir, les zones que vous devez modifier sont celles en gras ci-dessous :

; Certificate/key is needed in server mode and optional in client mode
;cert = /etc/ssl/certs/stunnel.pem
;key = /etc/ssl/certs/stunnel.pem

; Some debugging stuff useful for troubleshooting
debug = 7
output = /var/log/stunnel4/stunnel.log

; Use it for client mode
client = yes

; Service-level configuration
[nntp]
accept = localhost:119
connect = news.z51.biz:563

En résumé, on commente la ligne « cert = /etc/ssl/certs/stunnel.pem  » en mettant un « ; » devant et on décommente les lignes sur le debugging, le mode client, en enlevant le « ; » qui se trouve devant ces lignes dans le fichier d’origine.
Enfin, il faut ajouter les lignes du pavé [nntp] (voir ci-dessus) à la fin du fichier, entre le pavé [https] et « ; vim:ft=dosini ».
La ligne « accept » définit que l’on va passer par localhost sur le port 119 pour le client et « connect » que l’on va se connecter à l’adresse du fournisseur de Newsgroups (ici « news.z51.biz ») sur le port 563. Attention, certains fournisseurs ont des adresses différentes pour le SSL et le non SSL, renseignez bien l’adresse adéquate.
Enregistrez et fermez le fichier.

Petite aparté pour ceux qui ne sont pas familiers avec les fichiers de configuration au format texte, les points virgules (;) devant certaines lignes servent à les commenter, c’est à dire à ne pas les faire prendre en compte lors des traitements. Cela peut servir à ne pas activer certaines fonctionnalités ou à laisser des commentaires ou des indications sur la façon de se servir du fichier. Vous rencontrerez également le caractère dièse (#) avec ce rôle.

Une fois paramétré, il faudra activer le service stunnel. Pour cela, il faut encore modifier un fichier de configuration en mode texte, toujours avec les droits de super utilisateur (figure 2).
sudo gedit /etc/default/stunnel4

stunnel4 (-etc-default) - gedit_002

Le changement à apporter est en gras :

# Change to one to enable stunnel automatic startup
ENABLED=1
FILES= »/etc/stunnel/*.conf »
OPTIONS= » »

Il faut mettre la valeur ENABLED (sous la ligne « # Change to one to enable stunnel automatic startup  ») à 1 au lieu de 0.
On enregistre le fichier et on le ferme. On peut désormais lancer le service stunnel pour qu’il soit opérationnel. Cela se fait en ligne de commande en tapant :
sudo /etc/init.d/stunnel4 start

Si tout se passe bien stunnel devrait se lancer à chaque démarrage. Si toutefois vous aviez un problème de lancement du service, vous pouvez utiliser la commande suivante pour relancer stunnel :
sudo /etc/init.d/stunnel4 restart

Paramétrage de Pan

Pan devant déjà être installé, il faut le lancer, via le menu Applications > Internet > Pan Newsreader. (figure 3)

Menu_003

Si c’est la première fois que vous utilisez Pan, il va vous demander d’ajouter un serveur de news. Sinon, vous pouvez arriver au même résultat en passant par le menu Edit > Edit New Servers.(figure 4)

Menu_004

Dans le pavé qui s’affiche, vous allez remplir « Address » avec « Localhost » et le port avec « 119 ». En effet, c’est à travers cette adresse (que nous avons renseignée dans le fichier de configuration de stunnel) que nous allons faire passer les données via SSL. C’est la raison pour laquelle vous ne rentrez pas l’adresse de votre fournisseur ici. Ensuite, renseignez vos login et mot de passe pour accéder aux Newsgroups.

Pan_ Add a Server_006

Les 3 derniers choix sont à votre convenance. Toutefois, si vous pouvez télécharger avec plus que 4 connexions simultanées (Connection Limit), il vous faudra éditer le fichier /home/votre_nom_d_utilisateur/.pan2/servers.xml et de remplacer 4 par le nombre de connexions auxquelles vous avez droit avec la propriété .

Ce qui donnera pour 5 connexions :

5

En revanche, faites attention après cela à ne pas changer vos paramétrage en passant par le menu « Edit Server » de Pan, car vous devriez recommencer cette manipulation.

Utilisation de Pan

Une fois le SSL et Pan paramétrés, il reste à l’utiliser pour télécharger. Pour cela, il y existe deux solutions complémentaires. Soit vous choisissez de regarder les sujets dans les groupes de discussion qui vous intéressent, soit vous passez par un moteur de fichiers nzb, qui sont un peu l’équivalent des annuaires de fichiers torrent.

Téléchargement directement dans les groupes de discussions

La première chose à faire est de mettre à jour la liste des groupes. Pour cela, aller dans le menu Groups > Refresh Group List. (figure 5)

Menu_001

Dans mon cas, c’est plus de 70 000 groupes qui sont récupérés et qui s’affichent dans la zone de gauche de l’interface (figure 6). Mais pas de panique, on peut facilement faire le tri dans ceux qui vont nous intéresser. En effet, les groupes ont une règle de nommage assez précise et qui facilite les choses.

Pan_002

Le pavé de saisie qui est juste au dessus de la partie gauche de l’interface (« Group Name ») permet de filtrer au fur et à mesure de la saisie. Donc si on tape « linux », le choix se resserre. Reste à savoir à quoi on a affaire. Pour effectuer un téléchargement, il faut choisir les groupes qui comportent dans leur nom le terme « binaries » (binaire en français). Les autres seront des groupes texte, de discussion pure.

Si on clique sur le nom du groupe, Pan propose alors de télécharger les en-têtes (headers) du groupe de plusieurs façons : pour les N derniers jours, les nouveaux en-têtes, tous les en-têtes du groupe (attention sur certains groupes ça peut être très long) et les N derniers en-têtes (figure 7).

Pan_ alt.comp.linux_004

En général, il vaut mieux télécharger lors de la première fois, les en-têtes des N derniers jours (en fonction de la rétention de votre fournisseur de Newsgroups). Et par la suite, choisir de rapatrier les nouveaux en-têtes.

Une fois qu’ils sont récupérés, la partie droite de l’interface se remplit de messages, qui vont vous permettre d’effectuer la recherche permettant de trouver ce que nous cherchons. Le plus simple pour cela est encore une fois d’utiliser la zone de saisie qui contient une petite loupe (« Subject or Author »). Par exemple, j’ai ici saisi « unet » et on voit qu’il me remonte des lignes qui contiennent les sources d’Unetbootin (un programme de création de clé usb bootable). (figure 8)

Pan_ alt.binaries.linux_003

Pour le télécharger, il suffit de sélectionner ces lignes (avec Ctrl + A, ou clic souris en maintenant Ctrl appuyé ou avec le clavier), de cliquer droit et de choisir « Save Articles ». Il ne reste plus qu’à sélectionner le dossier de sauvegarde et de cliquer sur « Save » et c’est fini. (figure 9)

Pan_ Save Articles_006

Les téléchargements se retrouvent dans la file d’attente que l’on peut afficher en cliquant sur le bouton « Tasks » qui se trouve en bas à gauche.

Le gros avantage de ce type de fonctionnement est qu’on peut voir tout ce qui se passe sur un groupe donné. L’inconvénient est que si ce groupe comporte énormément d’en-têtes, ça peut prendre beaucoup de temps. Heureusement, il existe une autre méthode, qui consiste à passer par des sites recensant des fichiers nzb.

Téléchargement grâce aux fichiers nzb

Un fichier nzb est un fichier (codé en langage xml) qui reprend toutes les informations nécessaires à Pan (et à tout logiciel de Newsgroups) pour récupérer des fichiers binaires (non des en-têtes, serveur, groupe de nouvelles, …).

Je vous laisse chercher par vous même un annuaire de fichiers nzb, vous devriez trouver facilement en tapant dans un moteur de recherche les termes nzb, annuaire, télécharger, Newsgroups.

Une fois ce site trouvé, tapez simplement dans la barre de recherche la requête que vous désirez, « Ubuntu » par exemple et vous devriez avoir une liste de résultats si des fichiers correspondent à votre demande. La manœuvre exacte va varier en fonction des sites, mais il y aura une option permettant de générer un fichier nzb avec les résultats remontés.

Quand ce fichier aura été sauvegardé sur votre disque dur, ouvrez Pan, puis via le menu File > Import NZB file, vous choisissez votre fichier nzb, puis le dossier de sauvegarde des fichiers à télécharger.(figure 10)

Menu_007

Cette manière de faire est très pratique, beaucoup plus rapide que celle précédemment décrite. Elle est très efficace si vous savez ce que vous cherchez. L’inconvénient est que ces sites ne recensent en général pas tous les fichiers postés.

Pour conclure, le téléchargement via les Newsgroups est très efficace, très bien sécurisé si on implémente le protocole SSL. De plus, cela peut être très rapide en fonction de votre connexion Internet, car en général on télécharge au maximum de son débit descendant avec cette méthode, ce qui n’est pas toujours le cas, même lorsqu’on télécharge via un site web en http, par exemple des distributions GNU/Linux, en fonction des sites miroirs utilisés.