From: Anders Fugmann <afu@fugmann.dhs.org>
To: "\"Luís Fernando C. Talora\"" <talora@4networks.com.br>
Cc: "netfilter.org" <netfilter@lists.netfilter.org>
Subject: Re: -m limit
Date: Fri, 06 Sep 2002 11:51:54 +0200 [thread overview]
Message-ID: <3D787ABA.80801@fugmann.dhs.org> (raw)
In-Reply-To: 014501c25512$5932a9e0$0101a8c0@osbourn
Luís Fernando C. Talora wrote:
> Fellows,
>
> I'd like some help using ntefilter "limit" module.
>
> If I put something like the following in a firewall script (to limit tcp syn
> packets):
>
> # Block tcp syn floods
> $IPTABLES -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
>
> (and then, latter, I put the following)
>
> # Access to my web server
> $IPTABLES -A FORWARD -p tcp -d $MY_WEB_SERVER --dport 80 -j ACCEPT
This is definatly dot what you want. As it is now, 1 syn packet is
acceted per sec, regardless of destination port or address.
>
> In this example, will a tcp syn flood be barred by the first line? Is it the
> second line allowing more than 1 packet per second? Do I have to use "-m
> limit --limit 1/s" on the second line too (and all lines that allow incoming
> packets)?
No. If you want to limit all syn packets you mist create a new chain.
like this:
$IPTABLES -N LIMIT_SYN
$IPTABLES -A LIMIT_SYN -m limit --limit 1/s -j RETURN
$IPTABLES -A LIMIT_SYN -j DROP
$IPTABLES -A FORWARD -p tcp --syn -j LIMIT_SYN
This contrsruction limit syn to one per sec by dropping syns above the
limit (Acts like a filter). You then need other rules to actually accept
the syn packet:
$IPTABLES -A FORWARD -p tcp -d $MY_WEB_SERVER --dport 80 -j ACCEPT
If you only want to limit http requests, you should use
$IPTABLES -A FORWARD -p tcp -d $MY_WEB_SERVER --dport 80 --syn \
-m limit --limit 1/s -j ACCEPT
Hope it helps.
--
Author of FIAIF
FIAIF Is An Intelligent Firewall
http://fiaif.fugmann.dhs.org
prev parent reply other threads:[~2002-09-06 9:51 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-09-05 19:28 -m limit Luís Fernando C. Talora
2002-09-06 9:51 ` Anders Fugmann [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3D787ABA.80801@fugmann.dhs.org \
--to=afu@fugmann.dhs.org \
--cc=netfilter@lists.netfilter.org \
--cc=talora@4networks.com.br \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.