Denial of Service Cheat Sheet
Last revision (mm/dd/yy): 03/21/2017
This article is focused on providing clear, simple, actionable defense guidance for preventing denial of service in your web applications. Denial of Service attacks are very common due to two factors :
- The significant prevalence of cloud and web services
- Easy to get testing tools to cause denial of service attacks.
Because it's very simple to launch the DOS attack, any web services don't have Anti-DOS defenses mitigation in place will be vulnerable to DOS attacks.
To avoid and mitigate DOS attack, both developers and operations engineering will need to have layered of defenses in place:
a) Service: When the service is built, it's developed with anti-DOS in mind such Input validation, Resource handling, Size or Length validation.
b) Web Host: Every Web server such Apache, NginX or Linux host provides the configuration of connection. Properly configure these network configuration may also help to mitigate the DOS attacks.
c) Infrastructure: Signature-based or behavior detection firewalls, load balance, fail-over, cloud anti-DDoS service
This objective of the article is to provide a list of common techniques for preventing DOS attack regardless of technology and platforms.
Web Services Defenses
General web services protection against DOS can be listed as 3 main category
- Max connection per IP address
- Max size of every HTTP request
- Timeout value of each HTTP request connection
NginX secure configuration
# Define the connection timeout value.
keepalive_timeout 5 5;
# Limit the size of http request to mitigate the buffer overflow attack
large_client_header_buffers 2 1k;
Network Infrastructure Defenses
Authors and Primary Editors
Tony Hsu - hsiang_chih[at]yahoo.com