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 !

lundi 18 janvier 2010

Blague de geek

Avant-Propos : je prépare un serveur IRC pour ma boîte, je vous ferai un petit tuto quand j'aurai résolu tous les problèmes !



Tiens j'en ai une bonne...


Mon serveur refuse de démarrer, je me bats contre les fichiers de conf pendant des heures pour faire communiquer le serveur IRC et ses services.

Puis au bout d'une après midi, ça me gonfle je décide de regarder le démon pour comprendre le message d'erreur :

"root@UGLYTAVERN:/etc# /etc/init.d/hybserv start
Not starting Hybserv 2 IRC Services: please edit /etc/hybserv/hybserv.conf first"



Et voilà ce que je trouve dans le démon !

""
if [ "$1" = "start" ] || [ "$1" = "restart" ] || [ "$1" = "force-reload" ]; then
        if [ ! `grep '#NOT-EDITED#' /etc/hybserv/hybserv.conf | wc -l` -eq 0 ]; then
                echo "Not starting $DESC: please edit /etc/hybserv/hybserv.conf first..."
                exit 0
        fi
fi

""
NB : je croise le mec qui a fait ça : je le tue !




Voilà désolé pour la blague de geek, c'est du vécu ! Joli foutage de gueule !


Explication pour les non-geeks : le programme qui lance le serveur vérifie dans le fichier de configuration du serveur si il trouve la ligne qui contient #NOT-EDITED#. S'il la trouve il ne lance pas le serveur !

Bon bah ensuite, vous configurez votre serveur, et vous le lancez en boucle sur "Not starting hybserv please edit /etc/hybserv/hybserv.conf first..." alors que vous venez de l'éditer ! 


Pour une fois ce n'est pas RTFM, c'est read that fucking daemon ! RTFD !


 PS : désolé pour ceux qui rigolent/comprennent pas ! J'aurais essayé !