LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: Limiting number of users accessing Real Servers via LVS configured

To: "Matthew S. Crocker" <matthew@xxxxxxxxxxx>
Subject: Re: Limiting number of users accessing Real Servers via LVS configured inNAT mode
Cc: "lvs-users@xxxxxxxxxxxxxxxxxxxxxx" <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
From: Julian Anastasov <ja@xxxxxx>
Date: Mon, 24 Sep 2001 15:27:06 +0300 (EEST)
        Hello,

On Mon, 24 Sep 2001, Matthew S. Crocker wrote:

> One feature I would like to have in LVS is the ability to limit the number
> of new connections/sec from a specific IP address.  Now that I have 4 Real
> Servers in my LVS handling mail, the spammers just love opening a couple
> thousand connections to send in the mail.   I end up block most at the
> mail server but the connections still show up in LVS.
>
> I know this would be dangerous and could open up DoS attacks by forging
> inbound connections but if something could be done it would be great.

Option 1 (may be stupid but interesting for non-NAT clusters):

        May be an array from policers, for example, 1024 policers or
an user-defined value, power of 2. Each client hits one of the policers
based on their IP/Port. This is mostly a job for QoS ingress, even the
distributed attack but may be something can be done for LVS? May be we
better to develop a QoS Ingress module? The key could be derived
from CIP and CPORT, may be something similar to SFQ but without queueing.
It can be implemented may be as a patch to the normal policer but with
one argument: the real number of policers. Then this extended policer
can look into the TCP/UDP packets to redirect each packet to one of the
real policers.

Option 2 (for NAT only):

        Run SFQ qdisc on your external interface(s). It seems this is
not a solution for DR method. Of course, one can run SFQ on its uplink
router.

Option 3 (Linux 2.4 only):

        iptables has support to limit the traffic but I'm not sure
whether it is useful for your requirements. I assume you want to set
limit to each one of these 1024 aggregated flows.

> -Matt


Regards

--
Julian Anastasov <ja@xxxxxx>



<Prev in Thread] Current Thread [Next in Thread>