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/09/01 10:41] – [protect-telnet] 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 198: Ligne 199:
 <code tcl>set firewall "!sun-barr.ebay:3666"</code> <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> 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.1725187298.txt.gz · Dernière modification : 2024/09/01 10:41 de CrazyCat