O-line
Dans les systèmes IRC, une O-line (Operators Line) est en fait un bloc de données du fichier de configuration du Serveur IRC (ircd.conf, unrealircd.conf ... dépendant de l'IRCd). Elle sert à indiquer au système qui sont les opérateurs du réseau, c'est-à-dire ceux qui peuvent en prendre le contrôle à un niveau global sur le(s) serveur(s). Les O-lines sont généralement créées par l'administrateur du serveur/réseau ou par un administrateur ayant directement accès aux fichiers de configuration du serveur IRC. L'attribution d'une O-line à un utilisateur signifiant le fait de lui accorder un certain nombre de pouvoirs sur le système, il est nécessaire de s'assurer que la personne est absolument digne de confiance, et aussi, apte à gérer des actions à un niveau au-delà de la gestion individuelle des canaux.
Exemples de O-line[modifier | modifier le code]
Le type de configuration varie d'un type d'IRCd à l'autre.
L'exemple suivant montre un bloc de configuration d'une O-line sous UnrealIRCd. Il rassemble toutes les informations et autorisations d'accès d'un IrcOp donné, et peut contenir autant le bloc opérateurs que nécessaire. Le bloc commence toujours par la ligne "Oper <nomdel'opérateur>" suivi d'une accolade ouverte, et se termine toujours par une accolade fermée et un point virgule. De manière générale, le point virgule indique la fin d'un bloc ou d'une ligne de configuration. Il se présente ainsi :
oper UserName {
class clients;
from {
userhost *@InternetServiceProvider.com;
};
password "motdepasse";
flags {
netadmin;
global;
get_umodew;
get_host;
can_gkline;
can_gzline;
can_zline;
can_restart;
can_die;
can_override;
};
maxlogins 1;
};
Si l'on détaille le contenu du bloc, on remarque différents éléments :
- UserName : Le pseudonyme de l'utilisateur opérateur. Il est sensible à la casse : UserName est différent de Username. Il suffit donc de remplacer ce nom par celui de l'utilisateur à déclarer comme opérateur.
- class clients : Indique simplement que le bloc fait référence à un utilisateur connecté au réseau.
- Le sous-bloc from est indispensable. Il permet de renforcer la sécurité en limitant l'oper-up d'un utilisateur à partir d'un hostmask donné. Si le paramètre userhost est défini sur *@*, l'utilisateur pourra effectuer un Oper-up avec la commande /OPER depuis n'importe quel ordinateur sur n'importe quelle connexion. En revanche, si l'on spécifie un hostmask, par exemple : *@internet-dialup100.com, l'utilisateur ne pourra devenir IrcOp que depuis la connexion internet qui renvoie cet hostmask au serveur. Cette mesure vise à empêcher des détournements de privilèges opérateur par des utilisateurs malveillants.
- password : C'est simplement le mot de passe Opérateur (qui peut être différent de celui enregistré pour protéger le pseudonyme dans NickServ. Il est sensible à la casse. Dans le fichier de configuration, il doit être spécifié entre guillemets.
- Le sous-bloc flags : Il contient les Oper Flags, c'est-à-dire les autorisations d'accès de l'opérateur. Ces derniers sont détaillés dans la documentation d'UnrealIRCd. Ils varient en fonction des autorisations que l'administrateur principal a donné à l'opérateur.
- maxlogins : Il s'agit d'un paramètre optionnel visant à limiter le nombre d'oper-ups pour un opérateur donné. Cela permet d'éviter que quelqu'un prenne les privilèges opérateur alors que l'IrcOp est déjà connecté.
Il existe d'autres paramètres optionnels pour le Bloc opérateur, comme l'attribution de modes utilisateurs après un oper-up...
Il faut retenir que d'un IRCd à l'autre (UnrealIRCd, Bahamut, ...), les O-lines sont différentes. Comme dit précédemment, l'exemple ci-dessus montre l'implémentation UnrealIRCd de la O-line. Voici maintenant un autre exemple tel qu'il pourrait se présenter dans le fichier IRCd.conf sous Bahamut :
oper {
name UserName;
passwd motdepasse;
host *@*;
access *rRdgwlcCkKbBnNaAufFsoO;
class opers;
};
L'ajout d'un IrcOp dans le fichier de configuration nécessite de rehasher le serveur (avec /REHASH) pour que le nouvel Opérateur soit pris en compte.
O-lines temporaires[modifier | modifier le code]
Les IrcOps ayant des accès de niveau Administrateur des Services (Services Admins ou SA) peuvent définir des O-lines par le biais d'OperServ. Comparé à celles définies dans le fichier de configuration du serveur, ces O-lines peuvent être considérées comme temporaires car il est très facile de les mettre en place et de les retirer. De plus, elle ne nécessite aucune relecture de la configuration pour être actives, et l'utilisateur qui en bénéficie peut effectuer un Oper-up en utilisant son pseudo (enregistré avec NickServ) et son mot de passe d'identification NickServ. Mais contrairement à la configuration centrale, il n'est pas possible d'utiliser les Oper-flags du type "can_kline" ou "global", mais il fait utiliser les flags dit "à l'ancienne", tels que +oaAWst ... (ces modes sont indiqués avec leurs correspondances en nouveaux Oper-flags dans la documentation d'UnrealIRCd). Par exemple, pour définir une O-line temporaire sur un utilisateur, l'administrateur entrera la commande suivante et y mettra les flags appropriés :
/MSG OperServ OLINE <pseudonyme> <flags>
Exemple : /MSG OperServ OLINE Nickoperateur +owghasW
Dans cet exemple, on a ajouté (+) les flags suivants : un opérateur (o), qui peut voir les messages de service envoyés aux IrcOps (w) et ceux envoyés à toute personne sur le réseau (g). Il a aussi accès à l'aide spéciale des Opérateurs par le biais de la commande /helpop (h), c'est aussi un administrateur des services (a) qui voit les notices serveur (s) et qui reçoit une notice quand un autre utilisateur fait un /WHOIS sur lui (W). Les flags sont sensibles à la casse. Ils donnent différents privilèges : a est différent de A (qui signifie Administrateur du Serveur).
Il est très facile de supprimer la O-line temporaire. Pour cela, il suffit d'entrer la même commande que précédemment, mais en faisant simplement suivre le pseudonyme du symbole moins (-).
Exemple : /MSG OperServ OLINE Nickoperateur -
L'utilisateur perd sa O-line et ses droits temporaires d'opérateur.
O-line et sécurité[modifier | modifier le code]
Il faut se rappeler que les identifiants et mots de passe des opérateurs sont transmis sur le réseau lors de l'oper-up (quand l'utilisateur prend ses fonctions d'opérateur de serveur/réseau). Dans ce cas, il est primordial de s'assurer que ces données ne soient pas interceptées en cours de route (risque de détournement de serveur par un pirate, usurpations, ...). Ainsi, il est nécessaire d'utiliser une connexion IRC sécurisée pour éviter ce problème.