Eggdrop & Tcl

Base de connaissances eggdrop et tcl

Outils pour utilisateurs

Outils du site


eggdrop:configuration

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
eggdrop:configuration [2024/08/31 12:49] – [listen] CrazyCateggdrop:configuration [2024/11/08 08:43] (Version actuelle) – [Voir aussi] CrazyCat
Ligne 1: Ligne 1:
 +~~closetoc~~
 ====== Configuration d'eggdrop ====== ====== Configuration d'eggdrop ======
 Cette page décrit la configuration principale d'Eggdrop. Cette page décrit la configuration principale d'Eggdrop.
Ligne 131: Ligne 132:
 ==== botnet-nick ==== ==== botnet-nick ====
 <code tcl>#set botnet-nick "LlamaBot"</code> <code tcl>#set botnet-nick "LlamaBot"</code>
-Si vous souhaitez utiliser sur le botnet un surnom différent de celui que vous utilisez sur IRC (c'est-à-dire si vous êtes sur un botnet qui n'est pas fiable), décommentez la ligne suivante et mettez-y le surnom que vous souhaitez utiliser.+Si vous souhaitez utiliser sur le botnet un surnom différent de celui que vous utilisez sur IRC (par exemple si vous êtes sur un botnet qui n'est pas fiable), décommentez la ligne suivante et mettez-y le surnom que vous souhaitez utiliser.
 ==== listen ==== ==== listen ====
 <code tcl>#listen 3333 all</code> <code tcl>#listen 3333 all</code>
Ligne 160: Ligne 161:
 ==== protect-telnet ==== ==== protect-telnet ====
 <code tcl>set protect-telnet 0</code> <code tcl>set protect-telnet 0</code>
-Ce réglage empêche les connections telnet d'hôtes inconnus+Ce réglage empêche les connections telnet d'hôtes inconnus. Attention, activer ce réglage peut vous empêcher d'accéder à l'eggdrop. 
 +==== dcc-sanitycheck ==== 
 +<code tcl>set dcc-sanitycheck 0</code> 
 +Ce paramètre permet au bot d'ignorer les requêtes de chat DCC qui semblent contenir des informations erronées, au motif que l'utilisateur a peut-être essayé de faire en sorte que le bot se connecte à un endroit qui lui causera des ennuis, ou que l'utilisateur a un client défectueux, auquel cas la connexion ne fonctionnerait pas de toute façon. 
 +==== ident-timeout ==== 
 +<code tcl>set ident-timeout 5</code> 
 +Ce paramètre définit le temps en secondes pendant lequel le bot doit attendre la réponse de l'identifiant avant que la recherche n'échoue. 
 +==== require-p ==== 
 +<code tcl>set require-p 0</code> 
 +Ce paramètre définit si un utilisateur avec le flag +o doit aussi avoir le flag +p pour accéder à la party-line. 
 +==== open-telnets ==== 
 +<code tcl>set open-telnets 0</code> 
 +Si vous souhaitez que les utilisateurs puissent se connecter par telnet et taper **"NEW"** pour devenir un nouvel utilisateur, réglez ce paramètre sur 1. Cela est similaire à la commande //msg hello//. Le paramètre //protect-telnet// doit être réglé sur 0 pour utiliser cette commande. 
 +==== stealth-telnets ==== 
 +<code tcl>set stealth-telnets 0</code> 
 +Si vous ne voulez pas que l'eggdrop s'identify en tant que tel lors d'une connection telnet, mettez ce paramètre à 1. Eggdrop affichera alors //Nickname.// à la place. 
 +==== use-telnet-banner ==== 
 +<code tcl>set use-telnet-banner 0</code> 
 +Si vous voulez que l'eggdrop affiche une bannière lors d'une connection telnet, mettez ce réglage à 1. La bannière est définie par `set telnet-banner`. 
 +==== connect-timeout ==== 
 +<code tcl>set connect-timeout 15</code> 
 +Ce paramètre définit au bout de combien de secondes l'eggdrop considère qu'un dcc chat, un telnet ou une connection relais est expirée. 
 +==== dcc-flood-thr ==== 
 +<code tcl>set dcc-flood-thr 3 ==== 
 +Spécifie le nombre de lignes à accepter par un utilisateur de la party-line en 1 seconde avant de considérer que c'est du flood et de le déconnecter. 
 +==== telnet-flood ==== 
 +<code tcl>set telnet-flood 5:60</code> 
 +Définit combien de tentatives de connexion telnet en combien de secondes à partir du même hôte constituent un flood. Le format est //Tentatives:Secondes//
 +==== paranoid-telnet-flood ==== 
 +<code tcl>set paranoid-telnet-flood 1</code> 
 +Si vous désirez que le //telnet-flood// s'applique aussi aux utilisateurs avec le flag +f, mettez ce paramètre à 1. 
 +==== resolve-timeout ==== 
 +<code tcl>set resolve-timeout 15</code> 
 +Indiquez ici le nombre de secondes avant d'abandonner une résolution d'host/adresse. Vous devrez augmenter le délai si vous êtes sur une connexion faible. 
 +===== Réglages avancés ===== 
 +==== firewall ==== 
 +<code tcl>set firewall "!sun-barr.ebay:3666"</code> 
 +Si votre eggdrop est derrière un firewall, indiquez l'adresse et le port de la passerelle. Si vous utilisez un service Sun //telnet passthru//, préfixez l'host d'un <key>!</key> 
 +==== nat-ip ==== 
 +<code tcl>set nat-ip "127.0.0.1"</code> 
 +Si vous avez un routeur NAT (votre box a une IP dans l'une des plages 192.168.0.0-192.168.255.255, 172.16.0.0-172.31.255.255, 10.0.0.0-10.255.255.255 et le routeur change votre IP de manière transparente) ou que vous avez un masquage d'IP, indiquez ici votre IP publique. Cette IP est utilisée pour les transferts uniquement, et n'a rien à voir avec les paramètres //vhost4/6// ou //[[#listen]]//. Il se peut que vous deviez encore les définir. 
 +==== reserved-portrange ==== 
 +<code tcl>set reserved-portrange 2010:2020</code> 
 +Si vous souhaitez que tous les transferts de fichiers DCC utilisent une plage de ports particulière, soit parce que vous êtes derrière un pare-feu, soit pour d'autres raisons de sécurité, définissez-le ici. 
 +==== ignore-time ==== 
 +<code tcl>set ignore-time 15</code> 
 +Indiquez en minutes la durée par défaut d'un ignore. 
 +==== hourly-update ==== 
 +<code tcl>set hourly-update 00</code> 
 +Définissez ici ce qu'Eggdrop considère comme //"horaire"//. Tous les appels à Eggdrop, y compris les notifications de notes ou les sauvegardes de fichiers utilisateur, sont affectés par cette définition. 
 +=== Exemple === 
 +<code tcl>set hourly-update 15</code> 
 +L'eggdrop sauvegardera son fichier utilisateurs toutes les heures passées de 15 minutes. 
 +==== owner ==== 
 +<code tcl>set owner "MrLame, MrsLame"</code> 
 +Décommentez cette ligne et indiquez-y la liste des propriétaires de l'eggdrop. Vous **devez** changer ce paramètre 
 +==== notify-newusers ==== 
 +<code tcl>set notify_newusers "$owner"</code> 
 +Personne(s) devant recevoir une note lorsqu'un nouvel utilisateur a été enregistré. 
 +==== default-flags ==== 
 +<code tcl>set default-flags "hp"</code> 
 +Flags qu'un nouvel utilisateur obtient automatiquement. Regardez la liste des [[:eggdrop:flags]] leur définition pour ne pas faire d'erreur. 
 +==== whois-fields ==== 
 +<code tcl>set whois-fields "url birthday"</code> 
 +Indiquez ici les champs que vous désirez voir apparaitre dans un `.whois`. Ceci ne seront montrés que si l'utilisateur a entré des informations dans ces champs supplémentaires (XTRA). 
 +==== tcl / set ==== 
 +<code tcl>#unbind dcc n tcl *dcc:tcl 
 +#unbind dcc n set *dcc:set</code> 
 +Décommentez ces deux lignes si vous voulez désactiver les commandes `.tcl` et `.set`. Si vous choisissez judicieusement les propriétaires de vos eggdrops, il ne devrait pas y avoir de problème à les laisser activées. 
 +==== must-be-owner ==== 
 +<code tcl>set must-be-owner 1</code> 
 +Si vous activez ce réglage, seuls les propriétaires permanents ([[#owner]]) pourront utiliser les commandes `.tcl` et `.set`. Et si vous voulez restreindre l'utilisation de `.dump` aux propriétaires permanents, passez ce paramètre à 2. 
 +==== simul ==== 
 +<code tcl>unbind dcc n simul *dcc:simul</code> 
 +Commentez cette ligne pour activer la commande `.simul` (les propriétaires peuvent agir "//à la place//" des autres utilisateurs). Choisissez judicieusement vos propriétaires et utilisez cette commande avec éthique. 
 +==== max-dcc ==== 
 +<code tcl>set max-dcc 50</code> 
 +Renseignez ici le nombre maximal de dcc que vous autorisez. Vous pouvez augmenter cette valeur mais jamais la réduire. 
 +==== allow-dk-cmds ==== 
 +<code tcl>set allow-dk-cmds 1</code> 
 +Activez ce paramètre si vous souhaitez que les utilisateurs avec les flags +d et +k puissent utiliser les commandes liées à <key>-|-</key>
 +==== dupwait-timeout ==== 
 +<code tcl>set dupwait-timeout 5</code> 
 +Si votre Eggdrop rejette les bots qui se sont déjà déconnectés d'un autre hub, mais que l'information de déconnexion ne s'est pas encore répandue dans le botnet à cause du lag, utilisez ce paramètre. Le bot attendra //dupwait-timeout// secondes avant de vérifier à nouveau et de rejeter finalement le bot. 
 +==== cidr-support ==== 
 +<code tcl>set cidr-support 0</code> 
 +Active le support cidr pour les modes b/e/I s'il est positionné à 1. Cela signifie que le bot comprendra et fera correspondre les modes en notation cidr, et sera capable de mettre en place et d'appliquer de tels bannissements ou de se débanner lui-même, s'il est banni avec un masque cidr. N'activez **pas** ce paramètre si votre réseau/serveur ne supporte pas le cidr ! 
 +===== Réglages SSL ===== 
 +<WRAP center round info 80%> 
 +Les réglages de cette section ne sont valables que si Eggdrop a été compilé avec le support TLS. 
 +</WRAP> 
 + 
 +==== ssl-privatekey ==== 
 +<code tcl>set ssl-privatekey "eggdrop.key"</code> 
 +Fichier contenant votre clé privée, nécessaire pour le certificat SSL (voir dessous). 
 + 
 +Vous pouvez le créer avec la commande suivante: 
 +<code bash>openssl genrsa -out eggdrop.key 4096</code> 
 +Ceci créera une clé RSA de 4096 bits, suffisamment forte pour un eggdrop. C'est nécessaire pour les ports hub/listen SSL, le partage de fichiers sécurisé et le `/ctcp botnick schat`. 
 +<WRAP center round tip 80%> 
 +Pour vous simplifier la vie, vous pouvez faire `make sslcert` après le `make install` (compilation de l'eggdrop) et vous obtiendrez la clé et le certificat dans le répertoire DEST. 
 +</WRAP> 
 +==== ssl-certificate ==== 
 +<code tcl>set ssl-certificate "eggdrop.crt"</code> 
 +Fichier contenant votre certificat SSL. Si ce paramètre n'est pas renseigné, l'eggdrop sera incapable d'avoir le rôle de serveur pour les connexions SSL. La plupart des algorithmes de chiffrement nécessitent une clé privée et un certificat côté serveur pour fonctionner. 
 + 
 +Le certificat doit être au format PEM. Vous pouvez le créer avec la commande suivante: 
 +<code bash>openssl req -new -key eggdrop.key -x509 -out eggdrop.crt -days 365</code> 
 +<WRAP center round tip 80%> 
 +Pour vous simplifier la vie, vous pouvez faire `make sslcert` après le `make install` (compilation de l'eggdrop) et vous obtiendrez la clé et le certificat dans le répertoire DEST. 
 +</WRAP> 
 +==== ssl-veriphy-depth ==== 
 +<code tcl>set ssl-verify-depth 9</code> 
 +Définit la profondeur maximale de la chaîne de vérification du certificat autorisée par SSL. Quand la vérification de certificat est activée et que la chaîne dépasse cette profondeur, la vérification échoue. 
 +==== ssl-capath / ssl-cafile ==== 
 +<code tcl>set ssl-capath "/etc/ssl" 
 +set ssl-cafile ""</code> 
 +Indique où les fichiers des autorités de certification (CA certificates) sont stockés. Si ces certificats ne sont pas valides ou que vous ne renseignez pas le bon chemin/fichier, la vérification échouera. 
 +==== ssl-ciphers ==== 
 +<code tcl>set ssl-ciphers ""</code> 
 +Spécifie la liste des algorithmes de chiffrement (par ordre de préférence) autorisés pour l'utilisation de ssl. La liste de chiffrements est constituée d'une ou plusieurs chaînes de chiffrement séparées par des deux-points, des virgules ou des espaces. Les chiffrements non disponibles sont ignorés silencieusement, sauf si aucun chiffrement utilisable n'a pu être trouvé. Pour la liste des algorithmes de chiffrement possibles et leur signification, veuillez vous référer au manuel //ciphers//
 +<WRAP center round info 80%> 
 +Si vous définissez cette valeur, elle remplace tous les algorithmes de chiffrement qu'OpenSSL pourrait utiliser par défaut. Pour inclure les algorithmes de chiffrement par défaut, vous pouvez mettre **DEFAULT** comme chaîne de chiffrement dans la liste. 
 +</WRAP> 
 +==== ssl-cert-auth ==== 
 +<code tcl>set ssl-cert-auth 0</code> 
 +Active l'identification par certificat. La valeur **1** permet aux utilisateurs et aux robots de s'identifier automatiquement à l'aide de l'empreinte digitale de leur certificat. La valeur **2** permet de forcer l'identification par empreinte digitale. Avec une valeur de 2, les utilisateurs dont l'empreinte digitale n'est pas définie ou dont l'UID du certificat ne correspond pas à leur identifiant ne seront pas autorisés à se connecter sur les ports telnet activés par SSL. Les empreintes digitales doivent être définies à l'avance à l'aide des commandes [[:eggdrop:utilisation:fprint]] et [[:eggdrop:utilisation:chfinger]]. 
 +<WRAP center round important 80%> 
 +Ce paramètre n'a aucun effet sur les ports en texte brut. 
 +</WRAP> 
 +Vous pouvez contrôler la vérification des certificats SSL à l'aide des variables suivantes. Toutes ces variables sont basées sur des flags. Vous pouvez les définir en additionnant les nombres de toutes les exceptions que vous souhaitez activer. Par défaut, la vérification des certificats est désactivée et tous les certificats sont supposés être valides. 
 +| **0** | Vérification désactivée | 
 +| **1** | Vérification des certificats activée | 
 +| **2** | Autorise les certificats auto-signés | 
 +| **4** | Ne vérifie pas les partenaires commun ou les noms alternatifs | 
 +| **8** | Autorise les certificats expirés | 
 +| **16** | Autorise les certificats qui ne sont pas encore valides | 
 +| **32** | Autorise les certificats révoqués | 
 +==== ssl-verify-dcc ==== 
 +<code tcl>set ssl-verify-dcc 0</code> 
 +Vérifie les certificats pour les chats DCC (seulement `/dcc chat botnick`) 
 +==== ssl-verify-bots ==== 
 +<code tcl>set ssl-verify-bots 0</code> 
 +Vérifie les certificats pour les bots se liant au hub 
 +==== ssl-verify-client ==== 
 +<code tcl>set ssl-verify-client 0</code> 
 +Vérifie les certificats pour les connexions aux ports d'écoute SSL. Ceci inclut les bots //leaf//, les utilisateurs se connectant par telnet et le `/ctcp botnick chat` 
 +===== Modules ===== 
 +Après les réglages de base, vous devez commencer à charger les modules. Les modules sont chargés par la commande `loadmodule <module>`. Eggdrop recherche les modules dans le répertoire que vous avez spécifié par le paramètre //[[#mod-path]]// dans la section fichiers et répertoires. 
 + 
 +Veuillez noter que pour différentes configurations, différents modules sont nécessaires. Quatre exemples : 
 +  * **Bot de sécurisation des canaux** : ce bot a besoin des modules channels, blowfish, console, dns, irc, et (si vous le souhaitez) ctcp. Plus n'est pas nécessaire et rend le bot plus lent. 
 +  * **Bot IRC public** : Un bot public devrait avoir tous les modules disponibles chargés puisqu'ils fournissent toutes les fonctions pour une utilisation quotidienne. 
 +  * **Bot d'échange de fichiers** : Ce bot a besoin de tous les modules d'exploitation IRC normaux, mais pas des modules notes, seen, ctcp ou share. 
 +  * **Limbo Bot** : Un Limbo Bot (qui sert de hub de botnet en dehors d'IRC) n'a besoin que des modules channels, console, dns, et peut-être notes ou share. Bien sûr, un module d'encryptage doit être chargé ici aussi. 
 +===== Scripts ===== 
 +La section //scripts// doit être placée à la fin du fichier de configuration. Tous les modules doivent être chargés et leurs variables doivent être définies à ce stade. 
 + 
 +La ligne `source scripts/script.tcl` charge //script.tcl// à partir du répertoire //scripts// situé dans le répertoire de votre Eggdrop. Tous les scripts devraient être placés dans ce répertoire, mais vous pouvez les placer où vous le souhaitez tant que vous indiquez le chemin (complet ou relatif) vers eux. 
 + 
 +Les scripts les plus couramment chargés sont //alltools.tcl// et //action.fix.tcl//
 +<code tcl>source scripts/alltools.tcl 
 +source scripts/action.fix.tcl</code>
 ====== Voir aussi ====== ====== Voir aussi ======
-[[https://docs.eggheads.org/using/core.html]]+  * [[https://docs.eggheads.org/using/core.html]] 
 +  * [[https://scripts.eggdrop.fr]]
eggdrop/configuration.1725108597.txt.gz · Dernière modification : 2024/08/31 12:49 de CrazyCat