Difference between revisions of "Web Application Firewall"

From OWASP
Jump to: navigation, search
m (Tidying.)
 
(5 intermediate revisions by 3 users not shown)
Line 3: Line 3:
 
==Description==
 
==Description==
  
A web application firewall (WAF) is an appliance, server plugin, or filter that applies a set of rules to an HTTP conversation. Generally, these rules cover common attacks such as [[Cross-site Scripting (XSS)]] and [[SQL Injection]]. By customizing the rules to your application, many attacks can be identified and blocked. The effort to perform this customization can be significant and needs to be maintained as the application is modified.
+
A web application firewall (WAF) is an appliance, server plugin, or filter that applies a set of rules to an HTTP conversation. Generally, these rules cover common attacks such as [[Cross-site Scripting (XSS)|cross-site scripting (XSS)]] and [[SQL Injection|SQL injection]]. By customizing the rules to your application, many attacks can be identified and blocked. The effort to perform this customization can be significant and needs to be maintained as the application is modified.
  
A far more detailed description is available at [http://en.wikipedia.org/wiki/Application_firewall Wikipedia]
+
A far more detailed description is available at [http://en.wikipedia.org/wiki/Application_firewall Wikipedia].
  
==Strengths and Weaknesses==
+
==Important selection criteria==
  
==Important Selection Criteria==
+
* Protection against OWASP top ten
 
+
* Very few false positives (i.e., should NEVER disallow an authorized request)
* Protection Against OWASP Top Ten!
+
* Strength of default (out-of-the-box) defenses
* Very Few False Positives (i.e., should NEVER disallow an authorized request)
+
* Power and ease of learn mode
* Strength of Default (Out of the Box) Defenses
+
* Types of vulnerabilities it can prevent
* Power and Ease of Learn Mode
+
* Detects disclosure and unauthorized content in outbound reply messages, such as credit-card and Social Security numbers
* Types of Vulnerabilities it can prevent.
+
* Both positive and negative security model support
* Detects disclosure and unauthorized content in outbound reply messages, such as credit-card and Social Security numbers.
+
* Simplified and intuitive user interface
* Both Positive and Negative Security model support.
+
* Cluster mode support
* Simplified and Intuitive User Interface.
+
* High performance (milliseconds latency)
* Cluster mode support.
+
* Complete alerting, forensics, reporting capabilities
* High Performance (milliseconds latency).
+
* Web services\XML support
* Complete Alerting, Forensics, Reporting capabilities.
+
* Brute force protection
* Web Services\XML support.
+
* Ability to active (block and log), passive (log only) and bypass the web traffic
* Brute Force protection.
+
* Ability to Active (block and log), Passive (log only) and bypass the web trafic.
+
 
* Ability to keep individual users constrained to exactly what they have seen in the current session
 
* Ability to keep individual users constrained to exactly what they have seen in the current session
* Ability to be configured to prevent ANY specific problem (i.e., Emergency Patches)
+
* Ability to be configured to prevent ANY specific problem (e.g., emergency patches)
* Form Factor: Software vs. Hardware (Hardware generally preferred)
+
* Form factor: software vs. hardware (hardware generally preferred)
  
 +
You may also use [https://www.owasp.org/index.php/Category:OWASP_Best_Practices:_Use_of_Web_Application_Firewalls OWASP Best Practices: Use of Web Application Firewalls] to find out where and when to use a WAF. You may also find the [http://www.webappsec.org/projects/wafec/ Web Application Firewall Evaluation Criteria] useful for evaluating the performance and other characteristics of a WAF.
  
You may also use [https://www.owasp.org/index.php/Category:OWASP_Best_Practices:_Use_of_Web_Application_Firewalls OWASP Best Practices: Use of Web Application Firewalls] to find out where and when to use a WAF and/or you may find
+
The [[London Chapter WAF event]] held in 2006 has some comparative info amongst the WAF vendors that participated in the event.
the [http://www.webappsec.org/projects/wafec/ Web Application Firewall Evaluation Criteria] useful for evaluating the performance and other characteristics of a WAF.
+
  
The [[London Chapter WAF event]] held in 2006 has some comparative info amongst the WAF Vendors that participated in the event.
+
== Tools ==
  
==OWASP Tools Of This Type==
+
===OWASP tools of this type===
  
The [http://www.owasp.org/index.php/Category:OWASP_Stinger_Project OWASP Stinger Project] is not a full blown WAF, but it is a strong Java/J2EE input validation filter that can be put in front of your application.
+
* The [http://www.owasp.org/index.php/Category:OWASP_Stinger_Project OWASP Stinger Project] is not a full blown WAF, but it is a strong Java/J2EE input validation filter that can be put in front of your application.
 
* [https://www.owasp.org/index.php/OWASP_NAXSI_Project NAXSI] is a WAF for NGINX.
 
* [https://www.owasp.org/index.php/OWASP_NAXSI_Project NAXSI] is a WAF for NGINX.
  
==Well Known Open Source Tools Of This Type==
+
===Well-known open source tools of this type===
  
 
* [http://www.aqtronix.com/?PageID=99 AQTronix - WebKnight]
 
* [http://www.aqtronix.com/?PageID=99 AQTronix - WebKnight]
 
* [http://www.modsecurity.org/ Trustwave SpiderLabs - ModSecurity]  
 
* [http://www.modsecurity.org/ Trustwave SpiderLabs - ModSecurity]  
 +
* [https://www.ironbee.com/ Qualys - Ironbee] (A recent new project by Qualys led by Ivan Ristic, the original ModSecurity author)
 +
* [https://github.com/jaydipdave/quickdefencewaf QuickDefence-WAF] (Nginx and Lua based first open source WAF, still in pre-alpha stage)
  
A recent new project by Qualys led by Ivan Ristic, the original ModSecurity author
+
===Commercial tools from OWASP members of this type===
* [https://www.ironbee.com/ Qualys - Ironbee]
+
 
+
==Commercial Tools from OWASP Members Of This Type==
+
  
 
These vendors have decided to support OWASP by becoming [[Membership|members]]. OWASP appreciates the support from these organizations, but cannot endorse any commercial products or services.
 
These vendors have decided to support OWASP by becoming [[Membership|members]]. OWASP appreciates the support from these organizations, but cannot endorse any commercial products or services.
Line 59: Line 56:
 
* [http://www.bayshorenetworks.com/ Bayshore Networks - Application Protection Platform]
 
* [http://www.bayshorenetworks.com/ Bayshore Networks - Application Protection Platform]
  
==Other Well Known Commercial Tools Of This Type==
+
===Other well-known commercial tools of this type===
  
 +
* [http://www.akamai.com/html/solutions/waf.html Akamai Technologies - Web Application Firewall (WAF)]
 
* [http://www.denyall.com/ DenyAll - Web Application Firewall (WAF)]
 
* [http://www.denyall.com/ DenyAll - Web Application Firewall (WAF)]
 
* [http://www.applicure.com Applicure - DotDefender]
 
* [http://www.applicure.com Applicure - DotDefender]
Line 67: Line 65:
 
* [http://www.armorlogic.com/ Armorlogic - Profense]
 
* [http://www.armorlogic.com/ Armorlogic - Profense]
 
* [http://www.barracudanetworks.com/ns/products/web-application-controller-overview.php Barracuda Networks - Application Firewall]
 
* [http://www.barracudanetworks.com/ns/products/web-application-controller-overview.php Barracuda Networks - Application Firewall]
* [http://www.bee-ware.net/en/product/i-sentry/ Bee-Ware - iSentry]
+
* [http://www.bee-ware.net/en/products/i-suite-platform Bee Ware – i-Suite]
 
* [http://binarysec.com/ BinarySec - Application Firewall]  
 
* [http://binarysec.com/ BinarySec - Application Firewall]  
 
* [http://www.bugsec.com/index.php?q=WebSniper BugSec - WebSniper]
 
* [http://www.bugsec.com/index.php?q=WebSniper BugSec - WebSniper]
Line 80: Line 78:
 
* [http://www.protegrity.com/WebApplicationFirewall Protegrity - Defiance TMS  - Web Application Firewall]
 
* [http://www.protegrity.com/WebApplicationFirewall Protegrity - Defiance TMS  - Web Application Firewall]
 
* [http://www.xtradyne.com/ Xtradyne - Application Firewalls]
 
* [http://www.xtradyne.com/ Xtradyne - Application Firewalls]
 
==Related Threats==
 
 
==Related Attacks==
 
 
==Related Vulnerabilities==
 
 
==Related Countermeasures==
 
  
 
[[Category: Control]]
 
[[Category: Control]]
[[Category:OWASP WAF]]
+
[[Category: OWASP WAF]]

Latest revision as of 11:03, 4 June 2014

This is a countermeasure. To view all countermeasures, please see the Countermeasure Category page.

Contents

Description

A web application firewall (WAF) is an appliance, server plugin, or filter that applies a set of rules to an HTTP conversation. Generally, these rules cover common attacks such as cross-site scripting (XSS) and SQL injection. By customizing the rules to your application, many attacks can be identified and blocked. The effort to perform this customization can be significant and needs to be maintained as the application is modified.

A far more detailed description is available at Wikipedia.

Important selection criteria

  • Protection against OWASP top ten
  • Very few false positives (i.e., should NEVER disallow an authorized request)
  • Strength of default (out-of-the-box) defenses
  • Power and ease of learn mode
  • Types of vulnerabilities it can prevent
  • Detects disclosure and unauthorized content in outbound reply messages, such as credit-card and Social Security numbers
  • Both positive and negative security model support
  • Simplified and intuitive user interface
  • Cluster mode support
  • High performance (milliseconds latency)
  • Complete alerting, forensics, reporting capabilities
  • Web services\XML support
  • Brute force protection
  • Ability to active (block and log), passive (log only) and bypass the web traffic
  • Ability to keep individual users constrained to exactly what they have seen in the current session
  • Ability to be configured to prevent ANY specific problem (e.g., emergency patches)
  • Form factor: software vs. hardware (hardware generally preferred)

You may also use OWASP Best Practices: Use of Web Application Firewalls to find out where and when to use a WAF. You may also find the Web Application Firewall Evaluation Criteria useful for evaluating the performance and other characteristics of a WAF.

The London Chapter WAF event held in 2006 has some comparative info amongst the WAF vendors that participated in the event.

Tools

OWASP tools of this type

  • The OWASP Stinger Project is not a full blown WAF, but it is a strong Java/J2EE input validation filter that can be put in front of your application.
  • NAXSI is a WAF for NGINX.

Well-known open source tools of this type

Commercial tools from OWASP members of this type

These vendors have decided to support OWASP by becoming members. OWASP appreciates the support from these organizations, but cannot endorse any commercial products or services.

Other well-known commercial tools of this type