Spamfilter/fr

Spamfilter est un système avancé de lutte contre le spam, les bots publicitaires, les worms et autres menaces sur IRC. Les filtres de Spamfilter peuvent être ajoutés via la commande /SPAMFILTER ou dans des blocs spamfilter { } dans le fichier de configuration.

Commande SPAMFILTER
Les filtres Spamfilter peuvent être ajoutés depuis IRC avec la commande /SPAMFILTER, qui utilise la syntaxe suivante :

/spamfilter [add|del] [match-type] [target] [action] [tkltime] [reason] [match string]

Scroll down for examples of the /SPAMFILTER command.

Blocs Spamfilter
Vous pouvez aussi ajouter des filtres Spamfilter dans le fichier de configuration, voir la page sur les blocs Spamfilter. Pour plus d'information sur la signification des champs, voir le tableau ci-dessus.

Bloquer des spams simples
Prenons l'exemple d'un utilisateur qui spamme sur de nombreux salons et en messages privés. Dans tous les cas, cet utilisateur dit : "Bonjour , viens me voir sur ma webcam ! Connecte-toi via http://1.2.3.4:80/". Le message ressemble toujours à ça, mais l'IP ou l'URL peuvent changer. Vous voulez que n'importe quel utilisateur disant ça soit GLINE pour 1 jour.

En commande IRC : /SPAMFILTER add -simple pc gline 1d Vous_spammez_ou_vous_avez_un_virus_! *Bonjour*viens me voir sur ma webcam*

Ou dans le fichier de configuration : spamfilter { match-type simple; target { private; channel; }; action gline; ban-time 1d; reason "Vous spammez ou vous avez un virus !"; match "*Bonjour*viens me voir sur ma webcam*"; }

Expression régulière pour bloquer les exploits mIRC
Les expressions régulières (regex) sont bien plus puissantes que la méthode "simple". Il y a quelques années, mIRC avait un bug : il était possible de faire crasher n'importe quel client mIRC v6.12 en lui envoyant un message DCC SEND avec un nom de fichier d'au moins 255 caractères. Avec la méthode "simple", vous ne pouvez pas bloquer ceci, mais avec les regex, vous le pouvez. Et c'est même facile.

En commande IRC : /SPAMFILTER add -regex pc kill - Possible_tentative_d'exploit_mIRC \x01DCC (SEND|RESUME).{225}

Ou dans le fichier de configuration : spamfilter { match-type regex; target { private; channel; }; action kill; reason "Possible tentative d'exploit mIRC"; match "\x01DCC (SEND|RESUME).{225}"; };

Pour en savoir plus sur les regex, lisez l'introduction aux regex (PCRE).

Slow Spamfilter Detection
Spamfilters often consist of complex regular expressions. There is a very small chance that if a regular expression is too complex that it would slow down the IRCd too much, causing issues with responsiveness.

Slow spamfilters are very exceptional but they are possible, so UnrealIRCd has a safety mechanism for this. They are set::spamfilter::detect-slow-warn and set::spamfilter::detect-slow-fatal. If a single spamfilter takes longer than detect-slow-warn then the IRC Server will warn about this spamfilter to IRCOps. If it takes longer than detect-slow-fatal it will remove the spamfilter. The default values for these are 250ms and 500ms respectively (so a quarter of a second and half a second).

Target of spamfilter bans
When a spamfilter is hit by a user, it will by default place ban on *@ip if the ban type is a *LINE (of course not for other actions such as warn). This should be fine for most people. You can, however, change this via the set::automatic-ban-target setting.

Exempting users from spamfilters
IRCOps will not trigger spamfilters by default (they are exempt). That is, if they use an operclass with the immune:server-ban:spamfilter permission.

You can also exempt specific targets by name, such as channels or nicks, via set::spamfilter::except.