Difference between revisions of "FloodProtection"

From Chat4AllFAQ
Jump to: navigation, search
m
 
m (Categorised as Dutch translation needed)
 
(13 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Getting tired off those endless fights against floodbots or annoying users who like to flood your clients so it crashes or hangs ? Now there is a way to fight those users/bots. Even 2 way's (:smile:) Chat4All provides 2 different way's to fight those spam/virus/floodbots.
+
[[Category:EN]]
We've explained the feature that you can configure below , the other feature ((watcher|Watcher)) is a Chat4All Service and operated by us.
+
[[Category:Articles Needing Dutch Translation]]
 +
= Flood Protection =
  
!Flood protection
+
Getting tired of those endless fights against [[floodbots]] or annoying users who like to flood your channel with nonsense or dangerous links?
!! *((watcher|Watcher))
+
[[Chat4All]] provides several different ways to fight those [[spam]]/[[virus]]/[[floodbots]] on your own. Of course, if they are a long term issue, you can also contact the Network Staff.
!! *Serverside flood protection
 
  
 +
== Watcher ==
 +
The first protection is in the form of [[Watcher]], a Chat4All Service which is operated by us. It should passively protect your channel against the worst attacks.
 +
For instance, in case it detects a join/part flood, it will temporarily lock your channel by setting channel modes '''''+CKmic''''', which will automatically be unset again after a minute.
 +
However, you can also defend your channel yourself using some of the server-side flood protection features described in the rest of this article.
  
!!!===Serverside Flood protection settings===
+
If you have legitimate high traffic in your channel and experience trouble with automatic locking of your channel, please contact us in the #help support channel, or open a ticket at http://support.chat4all.net so we can add your channel to the exclusion list.
  
Our server supports new channel modes, a brief explaination :
+
== Server-side Channel Flood-prevention channel mode ==
 +
=== Non-standard channel modes ===
 +
Our server supports some non-standard channel modes, such as:
 +
  '''K''' : block /knock invite requests.
 +
  '''N''' : block nick changes for users on this channel.
 +
  '''C''' : block all CTCPs on the channel.
 +
  '''M''' : only registered (+r) users can talk.
 +
  '''f''' : flood settings. This is the one we are going to discuss.
  
__K__ : no /knock
+
The ''channel mode +f'' helps you protect your channel against floods, it's much faster and more advanced than any personal channel bot you can run. You can enable it with the following command:
__N__ : no nickchanges
+
  /mode #channel +f [action type[#counter action, (more)]:seconds
__C__ : no CTCPs
 
__M__ : only regged (+r) users can talk
 
__f__ : flood settings. This is the one we are going to discuss
 
  
This mode helps you protect your channel against floods, it's much faster and more advanced then any channelbot.
+
=== +f overview ===
 +
Overview of the different flood types and their default actions
 +
{|
 +
! Code !! Effective against: !! Default action taken
 +
|-
 +
|c || [[CTCP]]s || +C (m,M)
 +
|-
 +
|j || Joins || +i (R)
 +
|-
 +
|k || Knocks || +K
 +
|-
 +
|m || Messages/Notices || +m (M)
 +
|-
 +
|n || Nick changes || +N
 +
|-
 +
|t || Text || kick or [[ExtendedBans|+b]] (ban)
 +
|}
  
How to use ?
+
=== Examples ===
^/mode #channel ~np~+f [action type[#counter action, (more)]:seconds~/np~^
+
What follows are several examples of the several +f flood protections that are available.
  
An overview off the different floodtypes:
+
  ChanOp sets mode: +f [20j,50m,7n]:15
* __c__ "CTCPs"  --> default action : +C (m,M)
+
 
* __j__ "joins" --> default action : +i (R)
+
  '''''Join flood example'''''
* __k__ "knocks" --> default action : +K
+
  Evil1 (~fdsdsfddf@Clk-17B4D84B.blah.net) has joined #test
* __m__ "messages/notices" --> default action = +m (M)
+
  Evil2 (~jcvibhcih@Clk-3472A942.xx.someispcom) has joined #test
* __n__ "nickchanges" --> default action = +N
+
  Evil3 (~toijhlihs@Clk-38D374A3.aol.com) has joined #test
* __t__ "text" --> default action : kick (((ExtendedBan|b)))
+
  Evil4 (~eihjifihi@Clk-5387B42F.dfdfd.blablalba.be) has joined #test
 +
  -- snip XX lines --
 +
  Evil21 (~jiovoihew@Clk-48D826C3.e.something.org) has joined #test
 +
  -irc.chat4all.net:#test *** Channel joinflood detected (limit is 20 per 15 seconds), setting +i
 +
  irc.chat4all.net sets mode: +i
 +
 
 +
  '''''Message flood example'''''
 +
  <Evil2> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
 +
  <Evil12> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
 +
  <Evil15> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
 +
  <Evil10> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
 +
  <Evil8> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
 +
  -- snip XX lines --
 +
  -irc.chat4all.net:#test *** Channel msg/noticeflood detected (limit is 50 per 15 seconds), putting +m
 +
  irc.chat4all.net sets mode: +m
 +
 
 +
  '''''Nick change flood example'''''
 +
  Evil1 is now known as Hmmm1
 +
  Evil2 is now known as Hmmm2
 +
  Evil3 is now known as Hmmm3
 +
  Evil4 is now known as Hmmm4
 +
  Evil5 is now known as Hmmm5
 +
  Evil6 is now known as Hmmm6
 +
  Evil7 is now known as Hmmm7
 +
  Evil8 is now known as Hmmm8
 +
  -irc.chat4all.net:#test *** Channel nickflood detected (limit is 7 per 15 seconds), putting +N
 +
  irc.chat4all.net sets mode: +N
  
Some examples :
+
If you like to specify other counter action than the default ones, you have to modify the command, for instance:
 +
  /mode #channel +f [20j#R,50m#M]15
 +
means, after 20 joins in 15 seconds, the channel mode is set to +R (whereas the default would have been +i) and after 50 messages within 15 seconds, the channel will be set to +M (whereas the default would have been +m).
  
ChanOp sets mode: +f ~np~[20j,50m,7n]:15~/np~
+
A useful feature for the more "forgetting types" is the auto remove, for instance:
 +
  /mode #channel +f [20m#M10]:15
 +
the message flood gets triggered by a total of 20 messages (of any user) within the trigger period. The channel mode +M will be set for 10 minutes, as indicated by the number right after the mode.
  
Evil1 (~fdsdsfddf@Clk-17B4D84B.blah.net) has joined #test
+
A last example to get the hang of it :
Evil2 (~jcvibhcih@Clk-3472A942.xx.someispcom) has joined #test
+
  /mode #channel +f [10j#i20,50m#M11,10c#C35,5n#N5,3k#K20]:15
Evil3 (~toijhlihs@Clk-38D374A3.aol.com) has joined #test
+
* All have a trigger time span of 15 seconds!
Evil4 (~eihjifihi@Clk-5387B42F.dfdfd.blablalba.be) has joined #test
+
* After 10 joins (within the 15 seconds trigger time span), #channel will get channel mode +i set for a period of 20 minutes.
-- snip XX lines --
+
* After 50 messages (within the trigger time span), +M will become a channel mode on #channel and till it is removed by the server after 11 minutes
Evil21 (~jiovoihew@Clk-48D826C3.e.something.org) has joined #test
+
* A maximum of 10 channel CTCP's are allowed within the trigger period of 15 seconds, before channel mode +C is set for 35 minutes.
-server1.test.net:#test *** Channel joinflood detected (limit is 20 per 15 seconds), putting +i
+
* A maximum of 5 nickchanges is allowed within the trigger period, before channel mode +N becomes effective for 5 minutes.
server1.test.net sets mode: +i
+
* Limit to 3 /knock commands within 15 second, or +K channel mode gets set for a duration of 20 minutes.
  
<Evil2> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
+
<span style="color:#FF0000;font-weight:bold;">Use the flood command wisely! If there is no operator (@,%,& or ~) in the channel, your channel could be locked for quite some time!</span>
<Evil12> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
 
<Evil15> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
 
<Evil10> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
 
<Evil8> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
 
-- snip XX lines --
 
-server1.test.net:#test *** Channel msg/noticeflood detected (limit is 50 per 15 seconds), putting +m
 
server1.test.net sets mode: +m
 
  
Evil1 is now known as Hmmm1
+
We hope this will help you protect your channel more effectively.
Evil2 is now known as Hmmm2
 
Evil3 is now known as Hmmm3
 
Evil4 is now known as Hmmm4
 
Evil5 is now known as Hmmm5
 
Evil6 is now known as Hmmm6
 
Evil7 is now known as Hmmm7
 
Evil8 is now known as Hmmm8
 
-server1.test.net:#test *** Channel nickflood detected (limit is 7 per 15 seconds), putting +N
 
server1.test.net sets mode: +N
 
  
If you like to specify other counter action then the default one you have to modify the syntaxis
+
== BotServ Kickers ==
^eg /mode #channel +f ~np~[20j#R,50m#M]15~/np~
+
If you have a BotServ bot on your channel, you can enable several automatic kick (and ban) functions such as automatic kicks/kickbans when a user sends ''n'' lines in ''m'' seconds.
meaning, after 20 joins in 15 seconds, the channel mode would become +i but now it's becomming +R^
 
  
A need feature for the more "forgetting types" is the auto remove:
+
  /BOTSERV HELP KICK
^eg /mode #channel +f ~np~[20m#M15]:15~/np~
+
gives the following information:
the message flood gets triggerd after 20 messages (off all users) in 15 seconds, channel mode becomes +M for 15 minutes.^
+
Syntax: KICK channel option parameters
 +
Configures bot kickers.  option can be one of:
 +
    BOLDS        Sets if the bot kicks bolds
 +
    BADWORDS      Sets if the bot kicks bad words
 +
    CAPS          Sets if the bot kicks caps
 +
    COLORS        Sets if the bot kicks colors
 +
    FLOOD        Sets if the bot kicks flooding users
 +
    REPEAT        Sets if the bot kicks users who repeat themselves
 +
    REVERSES      Sets if the bot kicks reverses
 +
    UNDERLINES    Sets if the bot kicks underlines
 +
Type /msg BotServ HELP KICK option for more information
 +
on a specific option.
 +
Note: access to this command is controlled by the
 +
level SET.
  
A last example to get the hang of it :
+
=== BotServ Flood Kickers  ===
/mode #channel +f ~np~[15j#i20,50m#M15,10c#C35,5n#N5,3k#K20]:15~/np~
+
For the Flood Kicker protection in particular (''/BOTSERV HELP KICK FLOOD'') this would be:
* all gets triggerd after 15 seconds!
+
  Syntax: KICK channel FLOOD {ON|OFF} [ttb [ln [secs]]]
* after 15 joins, channels goes +i and will be unset after 20 minutes
+
  Sets the flood kicker on or off. When enabled, this option tells the bot to kick users who are flooding the channel using at least ln lines in secs seconds (if not given, it defaults to 6 lines in 10 seconds).
* on the count of 50 messages, +M will become a channelmode and will be removed by the server after 15 minutes
+
  ttb is the number of times an user can be kicked before it get banned. Don't give ttb to disable the ban system once activated.
* 10 channel ctcp's in 15 seconds, set channelmode +C for 35 minutes
+
 
* 5 nickchanges , channelmode +N , unset after 5 minutes
+
In more detail, you can automatically have someone kicked after he floods the channel with ''n'' lines within ''m'' seconds, and have them automatically banned after ''x'' kicks.
* 3 /knock commands in a row, +K channelmode , unset after 20 minutes
+
 
 +
==== Examples ====
 +
Let's explain it with a few examples for the example channel #kickmeplease:
 +
 
 +
If we just would want to automatically kick someone after the default flood limits (6 lines in 10 seconds) without banning, the following would suffice:
 +
  /BOTSERV KICK #kickmeplease FLOOD ON
  
~~#FF0000: Use the flood command wise! If there is no OP (@) in the channel, your channel could be locked for some time!!~~
+
If you want to automatically ban a user after he has been kicked 3 times, with the default flood limits, use:
 +
  /BOTSERV KICK #kickmeplease FLOOD ON 3
  
Hope this will help you protect your channel even more
+
To automatically kick someone if he types 10 lines in 3 seconds, and want to ban him immediately without a warning kick, use:
 +
  /BOTSERV KICK #kickmeplease FLOOD ON 1 10 3
  
have a nice chat (:wink:)
+
To turn off the Flood-kicker at any time you you can issue:
 +
  /BOTSERV KICK #kickmeplease FLOOD OFF

Latest revision as of 15:49, 17 February 2011

Flood Protection

Getting tired of those endless fights against floodbots or annoying users who like to flood your channel with nonsense or dangerous links? Chat4All provides several different ways to fight those spam/virus/floodbots on your own. Of course, if they are a long term issue, you can also contact the Network Staff.

Watcher

The first protection is in the form of Watcher, a Chat4All Service which is operated by us. It should passively protect your channel against the worst attacks. For instance, in case it detects a join/part flood, it will temporarily lock your channel by setting channel modes +CKmic, which will automatically be unset again after a minute. However, you can also defend your channel yourself using some of the server-side flood protection features described in the rest of this article.

If you have legitimate high traffic in your channel and experience trouble with automatic locking of your channel, please contact us in the #help support channel, or open a ticket at http://support.chat4all.net so we can add your channel to the exclusion list.

Server-side Channel Flood-prevention channel mode

Non-standard channel modes

Our server supports some non-standard channel modes, such as:

 K : block /knock invite requests.
 N : block nick changes for users on this channel.
 C : block all CTCPs on the channel.
 M : only registered (+r) users can talk.
 f : flood settings. This is the one we are going to discuss.

The channel mode +f helps you protect your channel against floods, it's much faster and more advanced than any personal channel bot you can run. You can enable it with the following command:

 /mode #channel +f [action type[#counter action, (more)]:seconds

+f overview

Overview of the different flood types and their default actions

Code Effective against: Default action taken
c CTCPs +C (m,M)
j Joins +i (R)
k Knocks +K
m Messages/Notices +m (M)
n Nick changes +N
t Text kick or +b (ban)

Examples

What follows are several examples of the several +f flood protections that are available.

 ChanOp sets mode: +f [20j,50m,7n]:15
 
  Join flood example
  Evil1 (~fdsdsfddf@Clk-17B4D84B.blah.net) has joined #test
  Evil2 (~jcvibhcih@Clk-3472A942.xx.someispcom) has joined #test
  Evil3 (~toijhlihs@Clk-38D374A3.aol.com) has joined #test
  Evil4 (~eihjifihi@Clk-5387B42F.dfdfd.blablalba.be) has joined #test
  -- snip XX lines --
  Evil21 (~jiovoihew@Clk-48D826C3.e.something.org) has joined #test
  -irc.chat4all.net:#test *** Channel joinflood detected (limit is 20 per 15 seconds), setting +i
  irc.chat4all.net sets mode: +i
 
  Message flood example
  <Evil2> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
  <Evil12> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
  <Evil15> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
  <Evil10> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
  <Evil8> fsdjfdshfdkjfdkjfdsgdskjgsdjgsdsdfsfdujsflkhsfdl
  -- snip XX lines --
  -irc.chat4all.net:#test *** Channel msg/noticeflood detected (limit is 50 per 15 seconds), putting +m
  irc.chat4all.net sets mode: +m
  
  Nick change flood example
  Evil1 is now known as Hmmm1
  Evil2 is now known as Hmmm2
  Evil3 is now known as Hmmm3
  Evil4 is now known as Hmmm4
  Evil5 is now known as Hmmm5
  Evil6 is now known as Hmmm6
  Evil7 is now known as Hmmm7
  Evil8 is now known as Hmmm8
  -irc.chat4all.net:#test *** Channel nickflood detected (limit is 7 per 15 seconds), putting +N
  irc.chat4all.net sets mode: +N

If you like to specify other counter action than the default ones, you have to modify the command, for instance:

 /mode #channel +f [20j#R,50m#M]15

means, after 20 joins in 15 seconds, the channel mode is set to +R (whereas the default would have been +i) and after 50 messages within 15 seconds, the channel will be set to +M (whereas the default would have been +m).

A useful feature for the more "forgetting types" is the auto remove, for instance:

 /mode #channel +f [20m#M10]:15

the message flood gets triggered by a total of 20 messages (of any user) within the trigger period. The channel mode +M will be set for 10 minutes, as indicated by the number right after the mode.

A last example to get the hang of it :

 /mode #channel +f [10j#i20,50m#M11,10c#C35,5n#N5,3k#K20]:15
  • All have a trigger time span of 15 seconds!
  • After 10 joins (within the 15 seconds trigger time span), #channel will get channel mode +i set for a period of 20 minutes.
  • After 50 messages (within the trigger time span), +M will become a channel mode on #channel and till it is removed by the server after 11 minutes
  • A maximum of 10 channel CTCP's are allowed within the trigger period of 15 seconds, before channel mode +C is set for 35 minutes.
  • A maximum of 5 nickchanges is allowed within the trigger period, before channel mode +N becomes effective for 5 minutes.
  • Limit to 3 /knock commands within 15 second, or +K channel mode gets set for a duration of 20 minutes.

Use the flood command wisely! If there is no operator (@,%,& or ~) in the channel, your channel could be locked for quite some time!

We hope this will help you protect your channel more effectively.

BotServ Kickers

If you have a BotServ bot on your channel, you can enable several automatic kick (and ban) functions such as automatic kicks/kickbans when a user sends n lines in m seconds.

 /BOTSERV HELP KICK

gives the following information:

Syntax: KICK channel option parameters
Configures bot kickers.  option can be one of:
    BOLDS         Sets if the bot kicks bolds
    BADWORDS      Sets if the bot kicks bad words
    CAPS          Sets if the bot kicks caps
    COLORS        Sets if the bot kicks colors
    FLOOD         Sets if the bot kicks flooding users
    REPEAT        Sets if the bot kicks users who repeat themselves
    REVERSES      Sets if the bot kicks reverses
    UNDERLINES    Sets if the bot kicks underlines
Type /msg BotServ HELP KICK option for more information
on a specific option.
Note: access to this command is controlled by the
level SET.

BotServ Flood Kickers

For the Flood Kicker protection in particular (/BOTSERV HELP KICK FLOOD) this would be:

 Syntax: KICK channel FLOOD {ON|OFF} [ttb [ln [secs]]]
 Sets the flood kicker on or off. When enabled, this option tells the bot to kick users who are flooding the channel using at least ln lines in secs seconds (if not given, it defaults to 6 lines in 10 seconds).
 ttb is the number of times an user can be kicked before it get banned. Don't give ttb to disable the ban system once activated.

In more detail, you can automatically have someone kicked after he floods the channel with n lines within m seconds, and have them automatically banned after x kicks.

Examples

Let's explain it with a few examples for the example channel #kickmeplease:

If we just would want to automatically kick someone after the default flood limits (6 lines in 10 seconds) without banning, the following would suffice:

 /BOTSERV KICK #kickmeplease FLOOD ON

If you want to automatically ban a user after he has been kicked 3 times, with the default flood limits, use:

 /BOTSERV KICK #kickmeplease FLOOD ON 3

To automatically kick someone if he types 10 lines in 3 seconds, and want to ban him immediately without a warning kick, use:

 /BOTSERV KICK #kickmeplease FLOOD ON 1 10 3

To turn off the Flood-kicker at any time you you can issue:

 /BOTSERV KICK #kickmeplease FLOOD OFF