Jump to content

How effective would it be to put a snort appliance in front of a web server and have it rate limit and drop attack packets? The reason I'm asking this is because I only see people using it for alert purposes, even during ddos attacks. I'm aware it will be useless in terms of mitigating bandwidth intensive floods.

Link to comment
https://linustechtips.com/topic/956003-snort-http-flood/
Share on other sites

Link to post
Share on other sites

1 hour ago, beersykins said:

Probably a higher chance of false positives and impacting non malicious traffic.

Wouldn't the reverse proxy designed to do this do the same though? Essentially you're just rate limiting the packets, but Snort seems to out perform nginx reverse proxy in terms of packets per second.

Link to comment
https://linustechtips.com/topic/956003-snort-http-flood/#findComment-11609786
Share on other sites

Link to post
Share on other sites

I'm unsure of the extent of what you're referring to with Snort appliance, but a fair number of IPS/IDS manufacturers allow for the usage of snort rules, or the conversion of snort rules to their filter/signature formats, which are then connected to whatever capabilities are contained in the appliances/applications the user applies those rules to.  False positives will entirely depend on the network environment and how specific and correct the snort rule is.

Link to comment
https://linustechtips.com/topic/956003-snort-http-flood/#findComment-11609823
Share on other sites

Link to post
Share on other sites

Wouldn't running something like fail2ban on the server achieve the same thing?  If it detects more packets than you would get for normal usage it blocks that IP temporarily.

 

Also adding some system that uses known IP attacker lists and blocks them would be useful.  I do this on my pfSense router to do this, including region blocklists, so that only regions I actually want get into the network at all.

 

Or you can feed your DNS through Cloudflare and let them proxy the connections.

ASUS B650E-F GAMING WIFI + R7 7800X3D + 2x Corsair Vengeance 32GB DDR5-6000 CL30-36-36-76  + ASUS RTX 4090 TUF Gaming OC

Router:  Intel N100 (pfSense) Backup: GL.iNet GL-X3000/ Spitz AX Switches: Netgear MS510TXUP, MS510TXPP, GS110EMX
WiFi6: Zyxel NWA210AX (1.7Gbit peak at 160Mhz) WiFi5: Ubiquiti NanoHD OpenWRT (~500Mbit at 80Mhz)
ISPs: Zen Full Fibre 900 (~930Mbit down, 115Mbit up) + Three 5G (~1200Mbit down, 115Mbit up, variable)
Upgrading Laptop/Desktop CNVIo WiFi 5 cards to PCIe WiFi6e/7

Link to comment
https://linustechtips.com/topic/956003-snort-http-flood/#findComment-11610441
Share on other sites

Link to post
Share on other sites

8 hours ago, Alex Atkin UK said:

Wouldn't running something like fail2ban on the server achieve the same thing?  If it detects more packets than you would get for normal usage it blocks that IP temporarily.

 

Also adding some system that uses known IP attacker lists and blocks them would be useful.  I do this on my pfSense router to do this, including region blocklists, so that only regions I actually want get into the network at all.

 

Or you can feed your DNS through Cloudflare and let them proxy the connections.

I would expect something like Snort or Suricata to have a higher throughput than something like fail2ban. 

Link to comment
https://linustechtips.com/topic/956003-snort-http-flood/#findComment-11612415
Share on other sites

Link to post
Share on other sites

15 hours ago, PineyCreek said:

I'm unsure of the extent of what you're referring to with Snort appliance, but a fair number of IPS/IDS manufacturers allow for the usage of snort rules, or the conversion of snort rules to their filter/signature formats, which are then connected to whatever capabilities are contained in the appliances/applications the user applies those rules to.  False positives will entirely depend on the network environment and how specific and correct the snort rule is.

drop tcp any any -> 192.168.1.5 80 (msg:"GET Request flood attempt"; \
flow:to_server,established; content:"GET"; nocase; http_method; \
detection_filter:track by_src, count 30, seconds 30; metadata: service http;)

 

I would like to use something like this above ^. If a single host sends more than 30 packets in 30 seconds, all excess packets will be dropped until the 30 seconds are over, etc. All I'm wondering is if it would provide more throughput than something like fail2ban would, or NGinx's application rate limiter.

Link to comment
https://linustechtips.com/topic/956003-snort-http-flood/#findComment-11612421
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×