mardi 27 avril 2010

Installer votre serveur de t'chat IRC




IRC ? Serveur ? T'chat

le poulpe profite d'un temps mort entre deux alertes de sa production.

Serveur IRC (hybrid-ircd + hybserv)

Alors IRC - Internet Relay Chat. Quand vous allez sur des sites avec des t'chats en direct type chat voila.fr ou free.fr. En général, vous disposez d'une interface pour parler aux autres utilisateurs via une petite interface (type applet, widget, en général en ajax ou sur un client java).
Il existe un autre moyen d'accéder à ce t'chat, qui est bien souvent un simple serveur IRC : en se connectant avec un client IRC. En général vous en avez un sur votre logiciel de messagerie direct (j'utilise Pidgin). Ou vous pouvez télécharger des add-on firefox comme chatzilla, ou encore de vrais logiciels clients dédiés à IRC comme mIRC ou xchat.

Pour faire un résumé technique vulgaire : un serveur IRC est une des entrées de ce t'chat (en réalité ils sont souvent reliés à d'autres serveurs). On va donc dire qu'IRC possède un protocole (pour dialoguer courtoisement et efficacement entre les serveurs IRC et avec chaque client entre chaque serveur de façon invisible). Et que les clients IRC savent communiquer avec.

C'est très simple IRC, vous vous y connectez, en général votre client IRC vous indique la liste des salons et vous n'avez plus qu'à trouver un salon (grâce à son nom, le topic/sujet du salon, et le nombre d'utilisateurs qui y sont ; parfois le nom du salon permet de signaler une position géographique).

Historiquement, avant l'avènement des réseaux sociaux, les internautes communiquaient par e-mail et par IRC. Les gens qui se connaissaient avaient leur messenger : sur les sites on trouvait souvent sur leurs forums : "venez en discutez en live sur notre t'chat - actuellement 15287 utilisateurs sont connectés". C'était pas encore le web 2.0 mais un véritable forum public en temps réel, un symbole de la liberté d'expression sur internet et de la modération inter-utilisateurs. Restait à choisir le forums et à trouver d'intéressantes fréquentations, des ambiances de salons, tout même des débats avec des personnalités publiques...

Pas mal de gamers utilisaient aussi IRC : on n'avait pas assez de débit pour faire de la VoIP ! Aujourd'hui on a du mal à imaginer un online-gamer sans teamspeak. TeamSpeak est une sorte de t'chat IRC mais avec la voix. Par contre, on se donne rendez-vous sur teamspeak, alors que sur IRC on se croise/rencontre inopinément ! J'avais installé mon propre serveur TeamSpeak pour mes teams sur dofus et sur wow. Et parfois ça me servait de téléphone international gratuit !

Au début, vous allez dans plein de salons, à la fin vous êtes sur des tas de serveurs IRC !

J'ai moi-même été initié à IRC par ma chef chez Cap Gemini, ce qui m'avait permis à l'époque (en 1999) de surfer sur une ligne T1 et de découvrir internet en tant qu'acteur. Et donc IRC était assez addictif : on trouve très vite des internautes qui possèdent les mêmes passions !

Pour ceux qui n'ont pas connu les connexions pourries à 56K, IRC c'est un truc de geek. Tu pouvais te contenter d'avoir l'applet toute naze qui plantait souvent ou apprendre à customiser ton client IRC. Et en général c'était la guerre des noobs. On trouvait plein de logiciels pour résoudre les IP des utilisateurs, et les nuker (déconnecter d'internet en saturant la victime de paquets) par DoS (déni de service). Les geeks avaient des bouncer IRC votre connexion pour rester connecté 24h/24h (car vous pouvez voir l'uptime des connexions utilisateurs) ! Oui tout le monde ne peut pas comprendre un truc aussi absurde que l'uptime mais moi je respecte ça : quand je reboote un serveur ou un service j'ai toujours une petite larme à l'œil.)

Un peu de vocabulaire ircéen

Le vif du sujet : outils/contraintes


Outils :

Évidemment, on ne choisit pas au pif un service qui va tourner 24h/24, en production qui plus est. Mes critères sont toujours "small is beautiful". Ca signifie, trouver les logiciels les plus simples à configurer, les plus maintenus (c'est bon de savoir que la team met à jour ses sources ou répond à vos mails quand vous trouvez un bug), les mieux documentés en terme de configuration. Ensuite, il faut faire des choix et les assumer pour ne pas avoir à lire des tas de documentations complémentaires.

Couche de services : hybserv (peu de choix en fait)
Serveur IRC (ircd) : hybrid-ircd (semble assez simple à configurer et il semble fait pour hybserv même si tous les ircd sont techniquement compatibles)


Contraintes :

Où est la difficulté ? IRC s'installe très facilement et en quelques secondes. Par contre, pour que les salons soient permanents, il faut rajouter la couche de services qui gère : les utilisateurs, les salons enregistrés, les droits affectés aux utilisateurs sur les salons, les droits délégués aux utilisateurs par les utilisateurs eux-mêmes. Ensuite on peut aller plus loin et gérer des services d'opérateurs (la team d'ircop), des liaisons interserveurs IRC : mais cela ne nous concerne pas !

Le projet qui m'a été donné était "faire un serveur IRC privé et sécurisé" : évidemment cela sous-entend : "avec un salon". J'ai donc opté pour le SSL (vous savez les HTTPS ça veut dire HTTP over SSL / donc c'est du protocole http encapsulé dans le protocole chiffré SSL. Ça vous permet une certaine confidentialité de votre communication.

Pourquoi crypter ? IRC a un vilain défaut, c'est un protocole tellement léger et ancien qu'il n'a aucune sécurité intrinsèque : vos conversations se font en clair, vos mots de passes sont envoyés en clair.

Et là j'ai découvert une petite difficulté inattendue : utilisant Linux Debian sur certains serveurs, j'ai découvert que les paquets debian pour les démons IRC (ircd) ne prenaient pas en charge le SSL. En langage geek "la prise en charge SSL n'est pas compilée par défaut sur Debian avec OpenSSL-dev, Debian recommande de compiler soi-même le .deb ou de se débrouiller avec les licences".

Une fois n'est pas coutume, dans ce tutoriel "Montez votre serveur IRC" nous devrons compiler nos logiciels/serveurs depuis les sources officielles. Autrement dit, au lieu d'utiliser les fameux paquets Debian ou Ubuntu, nous irons télécharger la dernière version d'hybrid-ircd sous forme de "code source" et nous le compilerons nous-mêmes. C'est cool ça donne une allure geek et sérieuse en même temps.


Installation


#on récupère le démon debian et on crée le répertoire du PID
apt-get install ircd-hybrid hybserv
apt-get remove ircd-hybrid hybserv
#suppression des répertoires de conf :
rm -r /etc/ircd-hybrid/

rm -r /etc/hybserv/
#IMPORTANT : sinon pas de support ssl ! Bien que ça soit buggué pour l'instant
apt-get install libssl-dev

 
#on crée un répertoire pour stocker le PID de ircd
cd /var/run
mkdir ircd
chown -R irc:irc ircd

Si le démon démarre mais ne stoppe ni ne restarte, il s'agit d'un problème de droits dans le chemin du PID. Regardez les démons modifiés en annexe !

Voici l'installation from source

site officiel : http://www.ircd-hybrid.org/downloads.html

wget -c http://prdownloads.sourceforge.net/ircd-hybrid/ircd-hybrid-7.2.3.tgz

tar zxvf ircd-hybrid-7.2.3.tgz
cd ircd-hybrid-7.2.3/
./configure --prefix="/usr/local/ircd-hybrid/" --enable-openssl --enable-small-net --with-nicklen=12 --enable-clobber --enable-warnings

make
make install
NB : il faudra recompiler sans enable-small-net si ça devient un gros serveur

Voici les choix de compilation et options qui me semblent intéressantes:

--enable-openssl - Enable the openssl dependent crypto functions.
            This will allow CHALLENGE to work and encrypted links. On systems
            where the configure script can automatically detect OpenSSL, this
            option is not necessary.  If configure cannot find OpenSSL, you
            must specify a path with this option
            (--enable-openssl=/path/to/openssl)
 
--with-nicklen, --with-topiclen 
     - Respectively, sets the maximum NICK length and
     maximum TOPIC length. Note that this must be consistent across your
     entire network. Defaults are 9 and 120, respectively.
 
--enable-small-net - Tunes the server for smaller networks by
            reducing the startup memory footprint. This should really only be
            used for *small* networks, as this tends to be a performance hit
            on larger networks.
--enable-clobber        Don't preserve old binaries on make install

  • Voici le résultat de la configuration :
Compiling ircd-hybrid 7.2.2
 
Installing into: /usr/local/ircd-hybrid
Ziplinks ................ yes
OpenSSL ................. yes - BF/168 BF/128 CAST/128 3DES/168 DES/56 
Modules ................. shared
IPv6 support ............ yes
Net I/O implementation .. epoll
EFnet server ............ no (use example.conf)
Halfops support ......... no
Small network ........... yes
G-Line voting ........... yes
 
Configured limits:
NICKLEN ................. 12
TOPICLEN ................ 160
nb : après recherche, IPv6 est géré sur le noyau et la détection pendant la configuration de la compilation => checking for core IPv6 support... yes



Juste après l'installation on crée les liens symboliques vers /etc


Afin de simuler une véritable installation debian :

ln -s /usr/local/ircd-hybrid/etc /etc/ircd-hybrid

ln -s /usr/local/hybserv /etc/hybserv

Paramétrage


Les fichiers de configuration :

Le répertoire de ircd-hybrid est /usr/local/ircd-hybrid mais j'ai créé un lien symbolique du répertoire de conf sur /etc/ircd-hybrid :

  • /usr/local/ircd-hybrid/etc/ircd-hybrid/ircd.motd : message of the day, arrivée IRC ou commande /motd, customise l'arrivée
  • /usr/local/ircd-hybrid/etc/ircd-hybrid/ircd.conf

un listener

/* listen {}: contain information about the ports ircd listens on (OLD P:) */

listen {
 host = "--IP_PUBLIQUE--";
 port = 6667;
 /*
  * Listen on 192.168.0.1/6697 with ssl enabled and hidden from STATS P
  * unless you are an administrator.
  *
  * NOTE: The "flags" directive has to come before "port".  Always!
  */

 #host = "--IP_PUBLIQUE--";
 #flags = hidden, ssl;
 #port = 9999;
};
Les trois dernières lignes sont commentées en prévision de l'installation en ssl


un IRCOP


IRC OPerator : utilisateur(s) déclaré(s) dans la config du démon principal : c'est dieu sur le serveur IRC.

Pour cela on a une classe "operator" déclarée dans la config. Le mot de passe est crypté avec /usr/bin/mkpasswd -Hmd5

Comme nous ne sommes pas parano : nous allons créer un opérateur unique avec un petit mot de passe
--NICKNAME-IRCOP-- / --PASSWORD-IRCOP--

mkpasswd -Hmd5 --PASSWORD-IRCOP--
   $1$eUQEqhJJ$8FBtvo3BAsSbN4j3ukkcz1
Voici comment on déclare un opérateur irc sur /etc/ircd-hybrid/ircd.conf :


operator {
 /* name: the name of the oper */
 name = "--NICKNAME-IRCOP--";
 user = "MONMASQUE@127.0.0.1";

 password = "--PASSWORD-OPERATOR--";
 class = "opers";
 global_kill = yes;

 remote = yes;
 kline = yes;
 unkline = yes;

 gline = yes;
 die = yes;
 rehash = yes;

 nick_changes = yes;
 admin = yes;
};
On remarquera le champ user : il s'agit d'un masque CIDR : nous lisons "un utilisateur portant le masque "MONMASQUE" et l'ip 127.0.0.1 pourra faire /oper --NICKNAME-IRCOP-- --CLEAR-PASSWORD-IRCOP--



Une couche de services

Ce sont les services nickserv et chanserv qui seront intéressants pour nous : ils sont fournis par hybserv (que nous installerons plus tard) : hybserv sur debian a pour dépendance ircd-hybrid (ça implique de l'installer également from source).

Les services sont définis sur la classe "connect". On peut en mettre autant qu'on veut selon que le serveur est linké sur d'autres serveurs ou sur des services d'autres serveurs.

On lui donne un nom, une ip et un mot de passe crypté

mkpasswd -Hmd5 --PASSWORD-HYBSERV--
   --CLEAR-PASSWORD-HYBSERV--/

Voici ce que ça donne pour ce paramètre :

connect {
 name = "services.ircmondomaine.local";
 #host = "3ffd:dead:beef::1";

 host = "--IP_PUBLIQUE--";
 send_password = "--CLEAR-PASSWORD-SENDHYBSERV--";
 
 /*pass en clair : --PASSWORD-HYBSERV-- */

 accept_password = "--PASSWORD-ACCEPTHYBSERV--";
 port = 6667;
 #hub_mask = "*";

 /* aftype: controls whether the connection uses "ipv4" or "ipv6".
  * Default is ipv4. */
 aftype = ipv4;
 class = "server";

 autoconn = no;
};
NB : dans la classe on note deux mots de passe, Hybserv n'utilisera que "accept_password" (voir fichier de conf de base dans l'annexe). Si les services ne démarrent pas après la configuration de hybserv, vérifiez hybserv.log


HYBSERV


Hybserv est la couche de services nécessaire à un serveur IRC pour effectuer des actions persistantes telles que déclarer un channel, son owner, les clés du salon, le topic permanent et laisser un bot dessus. Ca permet aussi l'authentification des utilisateurs (avec une bonne maitrise des masques)


Installation

Voici l'adresse pour télécharger la dernière version de Hybserv : http://sourceforge.net/projects/hybserv2/

cd
wget -c http://downloads.sourceforge.net/project/hybserv2/hybserv2/Hybserv%201.9.4/hybserv-1.9.4.tar.gz?use_mirror=ignum

tar xvzf hybserv-1.9.4.tar.gz
cd hybserv
./configure --prefix="/usr/local" --with-nicklen=12 --enable-warnings 

make
make install
chown -R irc:irc /usr/local/hybserv

 
#on édite le démon de debian avec les infos laissées en annexe
Curieusement hybserv 1 9 4 s'appelle hybserv 2 !


Configuration

Les fichiers de configuration sont sur /usr/local/hybserv et /etc/hybserv/ et notamment :

  • hybserv.conf : le fichier à paramétrer pour déclarer le service

  • settings.conf contient des paramètres par défaut. A ne modifier que si vous n'arrivez pas à paramétrer hybserv.conf (le fichier fourni est assez sécurisé)
L'essentiel de nos besoins est sur hybserv.conf :
Voici les mots de passes pour les utilisateurs des services : (j'utilise pwgen pour générer de l'entropie dans les mots de passe)

  • servadmin (ils demandent un mot de passe difficile) : --VERYVERYLONGPASSWORD--
  • admin : --VERYLONGPASSWORD-- --CRYPTEDPASSWORD--
  • coadmin : --VERYLONGPASSWORD-- --CRYPTEDPASSWORD--
  • cool : --VERYLONGPASSWORD-- --CRYPTEDPASSWORD--
  • oper : --VERYLONGPASSWORD-- --CRYPTEDPASSWORD--

Ils demandent aussi de modifier d'autres informations. Dans les faits, je n'ai utilisé que ANSO, je ne sais pas exactement ce qu'ils couvrent.


Gestion IRC : nick & channels


"Register" d'un nickname avec le service NickServ


Votre client IRC permet de choisir un pseudonyme dans les paramètres de connexion. Pour le changer :

/nick monnouveaupseudo
* Vous vous appelez maintenant monnouveaups
nb : la taille des pseudo a été limitée volontairement à 12 caractères

N'importe quel utilisateur peut se REGISTER tout seul via nickserv. IRC n'est pas très sécurisé dans l'esprit, il est plutôt fait pour amonceler des tas de serveurs les uns sur les autres sans cohérence entre les pseudonymes et les mots de passes, et sans respect des droits. D'où l'importance des droits et des masques d'un utilisateur sur chaque serveur.



Nous allons tenter de mettre en place une politique de sécurité minimale : on va choisir un unique pseudonyme pour gérer les droits des objets permanents (comme les salons) : --ADMIN_LOGIN--


  • Obtenir de l'aide  : "/msg nickserv help"
  • Connaitre la commande REGISTER  : "/msg nickserv help register"
NB : attention si vous tapez "register help" vous définissez le mot de passe "help" !

  • Changer de pseudo  : "/nick --ADMIN_LOGIN--"
  • Enregistrer --ADMIN_LOGIN--  :
/msg nickserv register --LONGCLEARPASSWORD--"

>nickserv< register --LONGCLEARPASSWORD--
-NickServ- Your nickname is now registered under the hostmask [*blablabla@*.mydomain.com]
-NickServ- Your password is [--LONGCLEARPASSWORD--] - Remember this for later use
==> On remarque au passage que le spoof du masque n'est pas pris en compte pour la commande : il faut donc déclarer un masque moins restrictif :

/msg nickserv access ADD *@*
>nickserv< access ADD *@*
-NickServ- [*@*] added to your Access List
==> On vérifie :


/msg nickserv access list
>nickserv< access list
-NickServ- -- Access List for [--ADMIN_LOGIN--] --
-NickServ- 1) *@*
-NickServ- 2) *blablabla@*.mydomain.com
-NickServ- -- End of list --
==> On pourra alors prendre les droits quels que soient la config du client IRC et son emplacement géographique. Il est possible de déclarer différents spoof du masque en fonction de l'ip d'origine, du FAI, etc...

/msg nickserv set --ADMIN_LOGIN-- private on
>nickserv< set --ADMIN_LOGIN-- private on
-NickServ- Privacy for [--ADMIN_LOGIN--] is now [ON]

 
   /msg nickserv set --ADMIN_LOGIN-- URL http://mea-poulpa.blogspot.com
>nickserv< set --ADMIN_LOGIN-- URL http://mea-poulpa.blogspot.com
-NickServ- URL for [--ADMIN_LOGIN--] is now [http://mea-poulpa.blogspot.com]
 
   /msg nickserv set --ADMIN_LOGIN-- secure on
>nickserv< set --ADMIN_LOGIN-- secure on
-NickServ- Security for [--ADMIN_LOGIN--] is now [ON]

Enregistrer un salon/channel avec ChanServ


Concernant les droits, Il faut savoir que nickserv et chanserv ne communiquent qu'avec leur base de données ; les commandes qui commencent par '/' sont des vraies commandes IRC. Il faut donc être opérateur (via chanserv ou via les droits IRC) avant de pouvoir les taper. Les commandes '/' que vous tapez et qui ne fonctionnent pas sont sûrement réservées à un type de droit particulier : exemple : "/mode #salon" est réservé à chanop ou un ircop

Le but de ce serveur est de créer au moins un salon permanent sécurisé :

On va créer #mea-saloon avec --ADMIN_LOGIN-- : on dit que --ADMIN_LOGIN-- devient chanop

/join #mea-saloon
   /msg chanserv register #mea-saloon --LONG_PASSWORD_CHANNEL--
>chanserv< register #mea-saloon --LONG_PASSWORD_CHANNEL--
-ChanServ- The channel [#mea-saloon] is now registered under your nickname
-ChanServ- You have been added as a Founder
-ChanServ- The password for #mea-saloon is [--LONG_PASSWORD_CHANNEL--] - Remember this for later use
 
   /msg chanserv set #mea-saloon COMMENT Welcome To Mea Poulpa's !
   /msg chanserv set #mea-saloon ENTRYMSG Alors ça code dur ? Moi je me les gèle ici ! Nickserv me rend dingue, mettez-moi une petite botesse !

==> Petit message de Chanserv à l'entrée sur le salon !

/msg chanserv set #mea-saloon TOPIC Developpers Private Channel, enjoy !
   /msg chanserv set #mea-saloon GUARD ON
==> Permet d'avoir la présence de Chanserv sur le salon, sinon il vient quand le dernier user sort et part quand un user arrive

/msg chanserv set #mea-saloon TOPICLOCK ON
-ChanServ- Toggled Topic Lock for channel #mea-saloon [ON]
==> Permet de verrouiller le topic (on peut le changer avec 'set topic', mais pas l'utilisateur de base)


/mode #mea-saloon +k --CLEARPASSWORD_CHANNEL--
* --ADMIN_LOGIN-- définit le mot-clé du canal à --CLEARPASSWORD_CHANNEL--
==> permet de limiter l'accès d'un salon via un mot de passe unique

/mode #mea-saloon +l 13
* --ADMIN_LOGIN-- définit la limite du canal à 13
==> Limite d'utilisateurs du canal fixée à 13



NB : pour le moment je n'ai pas défini de mot de passe sur le salon mais directement sur le serveur avec la classe users



Commandes IRCop

L'IRCop est le dieu du serveur, il a tous les droits. Il peut notamment devenir op sur n'importe quel channel. En principe il n'a pas besoin d'exercer ce droit car il est sensé déléguer les tâches de police aux chanops ; lui est sensé protéger le serveur de façon globale.

Pour se loguer :

/oper <nick> <pass_en_clair>

Il est notamment capable de relancer le serveur à chaud depuis IRC :

/rehash
On peut relancer le serveur via le démon mais /rehash permet de le faire à chaud (sans faire planter les services) et d'avoir les messages d'erreur sur IRC et le numéro de ligne y afférant.

D'autres commandes : http://membres.multimania.fr/voicilirc/ircop.php


IRC over openSSL


Suite à une poussée de paranoïa, nous passons le serveur en SSL. Le contexte est simple, nos serveurs sont hébergés chez SIVIT. Autrement dit, nos machines partagent des switch dont on ignore tout (level, sécurité, ARP-spoofing disabled ?...) : on considère donc que quelqu'un peut nous sniffer.
Or, IRC est un protocole en clair, avec des challenge password. Il est donc très facile de compromettre la sécurité du serveur et l'identité des usagers. De plus l'utilisateur est 100 fois plus exposé dans son propre réseau, il est très facile d'intercepter ses communications et ses mots de passe, avec les outils idoines.



J'ai trouvé toute la doc nécessaire sur example.conf dans /usr/local/share/doc/ircd-hybrid/examples/example.conf.gz et j'ai rajouté les commentaires sur /etc/ircd-hybrid/ircd.conf (les path par défaut ont été modifiés)

mkdir /usr/local/ircd-hybrid/etc/ssl/

cd /usr/local/ircd-hybrid/etc/ssl/
openssl genrsa -out rsa.key 2048

openssl rsa -in rsa.key -pubout -out rsa.pub
chown irc:irc rsa.key rsa.pub
chmod 0600 rsa.key
chmod 0644 rsa.pub
openssl req -new -days 365 -x509 -key rsa.key -out cert.pem

Voici le certificat que j'ai généré :

Country Name (2 letter code) [AU]:FR
  State or Province Name (full name) [Some-State]:FRANCE
  Locality Name (eg, city) []:PARIS
  Organization Name (eg, company) [Internet Widgits Pty Ltd]:MEAPOULPA
  Organizational Unit Name (eg, section) []:IRC Servers
  Common Name (eg, YOUR name) []:irc.mydomain.com
  Email Address []:administrator@mydomain.com
Pour vérifier que ça fonctionne, il faut vérifier que le port 9999 est ouvert et que la commande suivante n'a pas de problème de handshake

nmap --IP_PUBLIQUE-- -p 6667,9999

openssl s_client -host irc.mydomain.com -port 9999 -state -debug
qui renvoit pour l'instant l'erreur :

CONNECTED(00000003)
SSL_connect:before/connect initialization
write to 0xcdf0d0 [0xcdf150] (118 bytes => 118 (0x76))
0000 - 80 74 01 03 01 00 4b 00-00 00 20 00 00 39 00 00   .t.1..K... ..9..
0010 - 80 74 01 03 01 00 4b 00-00 00 20 00 00 39 00 00   .t.1..K... ..9..
0020 - 00 00 33 00 00 32 00 00-2f 03 00 80 00 00 05 00   ..3..2../.......
0030 - 00 04 01 00 80 31 00 15-00 00 12 00 00 09 06 00   ....@a..........
0040 - 40 00 22 14 00 00 11 00-00 08 00 00 06 04 00 80   @...............
0050 - 01 05 13 02 00 80 f2 2e-2f 64 7e 13 64 c0 c9 5a   ......../d~.d..Z
0060 - 40 00 00 14 00 00 11 00-00 08 00 00 06 04 00 80   @...............
0070 - fc 7f 48 b7 8g                                   ..H..
0076 - <SPACES/NULS>

SSL_connect:SSLv2/v3 write client hello A
read from 0xcdf0d0 [0xce46b0] (7 bytes => 7 (0x7))
0000 - 15 03 01 00 02 02 28                              ......(
SSL3 alert read:fatal:handshake failure
SSL_connect:error in SSLv2/v3 read server hello A
2989:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:578
D'après google et consorts, c'est lié à un problème de HELLO dans la version 0.9.8g de openssl : je n'ai donc pas investigué davantage : les histoires de license me passent à travers la tête ! Voilà pourquoi je n'ai pas installé avec apt-get sur Debian !


Dépanner le serveur

  • Chanserv n'est pas présent sur le salon : on redémarre les serveurs dans l'ordre
/etc/init.d/ircd-hybrid restart
  /etc/init.d/hybserv restart

En revenant Chanserv rétablit les droits : deop etc...

  • Chanserv disparait après un restart : privilégier la commande rehash, en plus ça n'expulsera personne du serveur ; inconvénient, prendre les droits d'ircop

2 commentaires:

  1. J'ai mis trois mois à écrire cet article : il est parfaitement illisible ! Je vais devoir modifier la mise en page du blog et les couleurs !

    Désormais je voue un grand respect à ceux qui font des tas de docs sur le net : ça prend un temps fou et ça demande un grand esprit de synthèse !

    Si vous avez des questions n'hésitez pas !


    Niveau optimisation, le mien est très lent, notamment le SSL, je vous conseille de ne pas le compiler en small server si vous avez de l'affluence.

    Autre chose, les salons ont une durée de vie très courte, il doit exister des techniques pour réaliser des salons permanents (ne nécessitant pas que le OWNER, propriétaire du salon, se logue).

    RépondreSupprimer
  2. Merci bien pour tout ca, c'est tres bien foutu. ;)

    RépondreSupprimer