View Issue Details

IDProjectCategoryView StatusLast Update
0000890unrealircdpublic2003-10-29 23:59
ReporterDukePyrolator Assigned Tosyzop  
PrioritynormalSeverityfeatureReproducibilityN/A
Status closedResolutionopen 
Product Version3.2-beta15 
Summary0000890: dynamic maxclients to prevent cloneflood
Descriptionwhat do you think of setting the maxclients in the class block dynamically to prevent clone-floods ?
Some bots use a similar method with chanmode +l to prevent join-floods in chans.
(current users + value = new limit )



Example:

class clients {
pingfreq 90;
maxhardclients 1000; /* maximum connections this class allows /*
dynclients 25; /* Current Local Users + dynclients = maxclients */
updatetime 60; /* update new maxclients after this time (in seconds) */
sendq 100000;
recvq 8000;
};

perhaps there should be a "minclients", to prevent blocked users after server-restart (if 100 users reconnect at the same time) - or the maxclients are set to maxhardclients for double the time of updatetime and then calculated new.
3rd party modules

Activities

codemastr

2003-04-14 20:31

reporter   ~0002318

Well it is an interesting idea, but it won't work on large networks. I ran a server that would get ~200 connections every minute or so, you'd have to set the numbers so high that it would effectively make it disabled.

syzop

2003-04-30 23:04

administrator   ~0002584

Last edited: 2003-04-30 23:04

I'll take a look... I'll probably make it a module first (using pre connect hooks). I've thought about it and have multiple ideas to make it work ;P. Ofcoz one may think this will "only" slow down those botnets, BUT it will buy ircops some time to understand what's going so they might be able to respond earlier, maybe even before the flood has started, or more likely before the flood is at fullspeed.

edited on: 04-30-03 23:04

syzop

2003-10-29 23:59

administrator   ~0003883

I've decided to make this a paid module. If it's finished I'll let you know and give you a free copy. It's pretty advanced/complicated because it also protects against global connectpeaks which is pretty much required for this to be useful.

Issue History

Date Modified Username Field Change
2003-04-14 07:00 DukePyrolator New Issue
2003-04-14 20:31 codemastr Note Added: 0002318
2003-04-30 22:59 syzop Status new => assigned
2003-04-30 22:59 syzop Assigned To => syzop
2003-04-30 23:04 syzop Note Added: 0002584
2003-04-30 23:04 syzop Note Edited: 0002584
2003-05-01 20:00 syzop Product Version => 3.2-beta15
2003-05-01 20:00 syzop Summary dynamic maxclients in Class Block to prevent clone-flood => dynamic maxclients to prevent cloneflood
2003-10-29 23:59 syzop Status assigned => closed
2003-10-29 23:59 syzop Note Added: 0003883