Matt Sergeant wrote:
On 26-Nov-06, at 12:49 PM, Bryan Scott wrote:

Is there a way we could get the forkserver code to look up an IP in a flat file, DNSBL, or other such system to immediately close connections from certain addresses?

Isn't that what the dnsbl plugin does?


I think everybody's missing the point. OK, maybe not everybody, but let me restate.

Up until now I've used a program called packetbl that takes SYN packets sent to the iptables QUEUE target, performs a DNSBL lookup and decides whether to ACCEPT or DROP the packet based on the DNSBL response. I did it at my firewall to help keep the mail servers from even entertaining the blacklisted hosts. This was very helpful in keeping my number of active connections down and helped keep the servers from spawning new processes that weren't going to be doing anything useful anyway. On my new 64-bit firewall, however, the packetbl code doesn't compile and the i386 binary doesn't stay up enough to work.

The first thought I had was if we could make the forkserver code perform similarly. It wouldn't be able to block just based on the SYN packets, but it could immediately close the connection (no banner, no error message, very un-RFC like), freeing it up for another host that much quicker. Not something a plugin can do.

The idea progressed to have some other plugin keep track of how many times a particular host errors out, assigning higher weights to 5xx errors vs. 4xx errors. After hitting a certain threshold, the forkserver code begins closing connections from those hosts (I personally don't care if I can hang up on known spam hosts).

Now does this make sense?

-- Bryan

Reply via email to