jeudi 21 janvier 2010

Les limites de Debian : serveur IRC sécurisé

Suite des aventures sur mon serveur IRC


Comme vous êtes supposés être au courant en suivant les aventures du poulpe, ses tentacules affrontent actuellement un serveur IRC. Ça fera l'objet d'un petit article pour les gars qui voudront mettre un t'chat sur leur site. Ou alors faire comme le poulpe : un serveur sécurisé en SSL/

J'ai toujours été un fervent défenseur de Linux ! Mais là, je mets un "-1" à Debian !

Donc ça fait plusieurs jours que je fais un serveur IRC pour la team Pearltrees. Les contraintes de sécurité qu'on m'a données sont énormes. Et justement, pour moi Debian c'est le signe du "bon sens" et de la "sécurité" : des paquets (programmes disponibles) pré-configurés, et théoriquement bien stabilisés avec les droits minimaux pour bien démarrer sa config...

Et là je teste plein de serveurs IRC, j'en trouve un plus simple et mieux réputé que les autres, compatible avec les services utilisateurs/salons qui vont avec. Le choix est fait, la configuration, les tests, la rédaction de la documentation commencent.

Puis à la fin, je teste le SSL ! Je pensais que ça allait être une simple formalité : "tu suis le manuel à la lettre, tu vérifies si ça marche, et tu optimises ensuite".

Je tombe sur deux galères d'affilée, un fichier de configuration stupide avec un démon (lanceur de services au démarrage de Linux, en gros) qui tourne en boucle : voir mon post précédent et les commentaires.
Et la seconde aujourd'hui. Tout est bien paramétré sur le serveur (y a même le bot qui dit de la merde), j'active le SSL (pour crypter les données) et là : "Hmmm, le port ne s'ouvre pas et je n'ai pas de message d'erreur" !

Après de longues tentatives (changer les ports, vérifier s'il y a un parefeu, augmenter la verbosité des logs...) : je tombe sur une discussion entre les créateurs de ircd-hybrid avec les gars qui maintiennent openssl sur Debian ! Pour info OpenSSL est le paquet/programme qui permet par exemple de faire un site en HTTPS (cryptage et éventuellement authentification en SSL) gratuitement comme l'impose le librisme, sage philosophie binaire !

Voilà un geek qui parle à Debian et visiblement ça n'a pas fonctionné.

En résumé malgré toutes les docs que j'ai lues genre "README.debian" c'était que du vent ! Du coup je me dis que la private joke de mon précédent article était peut-être une vacherie volontaire de la part de la team qui développe ircd-hybrid : vous remarquerez au passage la date du dernier commit. C'est plutôt marrant car j'ai voulu poster sur leur support et j'ai vu qu'il y avait un serveur IRC et une mailing list ! Sur IRC, quelqu'un finit par me répondre (sûrement un autre libriste au boulot donc il faut être patient sur IRC !) et direct il me dit : "build it".

Et moi je lui dis "Non mec moi j'ai DEBIAN" ! Je lui dis que j'ai peur de la compilation ! Et je lui pose des tas de questions sur mon fichier de config et la beauté de mes certificats openSSL !

Et bah voilà, ça fait presque deux demi-journées de perdues sur de la merde ! Les gars de debian laissent des trucs qu'ils ne testent pas et qu'ils ne maintiennent pas. Et du coup le plus drôle c'est que c'est la même chose sur Ubuntu (qui est Debian based).

J'espère que comme moi cet article vous donnera envie de tester des serveurs plus exotiques ! Evidemment y a le pour et le contre ! Je fantasme sur Gentoo ou LFS (linux from scratch). Le souci c'est que ça me demanderait une sacré période d'acclimatation ; l'autre truc c'est que je me vois mal rédiger des documentations pro sur des distrib qui demandent énormément de connaissances.

Et oui Debian tu mérites ton "-1", je vais donc "build it" demain depuis le "last commit 287 days" je crois que ça ne devrait pas être pire que la version Debian ! Et enfin je pourrais activer le support SSL et remplir mon cahier des charges et ma doc !

Un petit pearltree pour suivre l'évolution du "dossier IRC"

J'espère que vous aimerez ce support
 Serveur IRC (hybrid-ircd + hybserv) 
Voici mon pearltree relatant mes déboires et savoirs ircées ainsi que ma scission avec moi-même au sujet de Debian ! Enjoy !

3 commentaires:

  1. Hmmm ! Décidément va me falloir du repos

    ┌─────────────────────────────────────────────────────────────────┤ Configuring ircd-hybrid ├──────────────────────────────────────────────────────────────────┐
    │ │
    │ Due to licensing issues ircd-hybrid is no longer built by default with OpenSSL. This will be addressed in a future release, pending a rewrite of the SSL │
    │ layer with GNUTLS. │
    │ │
    │ If any of your existing server links take advantage of cryptlinks, refer to /usr/share/doc/ircd-hybrid/CRYPTLINKS.txt to find out how to build ircd-hybrid │
    │ with SSL support (easily.) │
    │ │
    │ All OpenSSL support is now disabled by default; continue? │
    │ │

    RépondreSupprimer
  2. Attention, attention... Debian est une excellente distribution, qui fait de véritables effort pour fournir un OS 100% libre et parfaitement transparent et clair vis à vis des problèmes de licences et de brevets.
    Au final, un OS qui se veut parfaitement universel : toujours légal dans chaque pays et très performant.
    Au vu de leur philosophie, ils ne peuvent se permettre de proposer un package incluant le support SSL.

    Debian ne t'empeche pas de recompiler tes binaires avec d'autres options et dépendances, mais n'ira pas saborder son image pour une option de compilation sur un package (relativement mineur, de plus).
    Par contre, as usual sous Linux, tu es sur TON système et libre à toi de faire ce que tu veux ! Et peut etre meme qu'apt-build te permettra de générer ton .deb personnalisée directement avec les outils de la distribution ! Après tout, pourquoi sinon cet outil existerait-il ?

    On notera de plus dans le lien que tu fournis que le mainteneur coté Debian tente de trouver une solution avec les auteurs : l'ajout d'une clause simple dans la licence coté HybridIRC est vraiment une solution très raisonnable, et il leur prépare meme les millestone a respecter pour faire ce changement.
    La réponse recue est "non, mais on veut bien que vous intégriez d'office a votre distribution un paquage facultatif, avec tous les impacts éventuels que cela peut avoir sur vos utilisateurs lors de leur prochaine mise a jour". Ce n'est pas très sérieux...

    Pour moi, dans cette histoire Debian est irréprochable. Bien sur, ces petits détails idiots, ca fait du boulot en plus pour l'administrateur système mais si le boulot devient trop simple on va s'ennuyer :)



    Pour les distributions, je t'encourage a tester une Gentoo (pas en production :p) ! C'est extremement formateur, très bien documenté et avec tous les outils qui vont bien pour gérer confortablement ton système inclus. Que demande le Poulpe ?!

    RépondreSupprimer
  3. Pourquoi IRC .... C'est dépassé. Utilise plutôt Jabber. C'est très facile à mettre en place. Ça offre tout ce qu'un serveur IRC peut offrir et bien plus.

    Et niveau sécurité, c'est bien mieux pensé!!!

    Va voir du côté d'ejabberd comme serveur.

    RépondreSupprimer