Web Application Firewalls: When Are They Useful?

Chia sẻ bởi Nguyễn Duy Diệu | Ngày 29/04/2019 | 114

Chia sẻ tài liệu: Web Application Firewalls: When Are They Useful? thuộc Bài giảng khác

Nội dung tài liệu:

Web Application Firewalls:
When Are They Useful?
Ivan Ristic
Thinking Stone
[email protected]
+44 7766 508 210
Ivan Ristic
Web Application Security
specialist; Developer.
Author of Apache Security.
Founder of Thinking Stone.
Author of ModSecurity.
Why Use Web Application Firewalls?
In a nutshell:
Web applications are deployed terribly insecure.
Developers should, of course, continue to strive to build better/more secure software.
But in the meantime, sysadmins must do something about it. (Or, as I like to say: We need all the help we can get.)
Insecure applications aside, WAFs are an important building block in every HTTP network.
Network Firewalls Do Not Work For HTTP
Firewall
Port 80
HTTP Traffic
Web
Client
Web
Server
Application
Application
Database
Server
WAFEC (1)
Web Application Firewall Evaluation Criteria.
Project of the Web Application Security Consortium (webappsec.org).
It`s an open project.
Nine WAF vendors on board, but I`d like to see more users on the list.
WAFEC v1.0 published in January.
We are about to start work on v1.1.
WAFEC (2)
Nine sections:
Deployment Architecture
HTTP and HTML Support
Detection Techniques
Prevention Techniques
Logging
Reporting
Management
Performance
XML

WAFEC (3)
WAFEC is not for
the vendors.
It`s for the users.
(So please voice your opinions!)

http://www.webappsec.org/projects/wafec/
WAF Identity Problem (1)
There is a long-standing WAF identity problem.
With the name, first of all:
Web Adaptive Firewall
Web Application Firewall
Web Application Security Device
Web Application Proxy
Web Application Shield
Web Shield
Web Security Firewall
Web Security Gateway
Web Security Proxy
Web Intrusion Detection System
Web Intrusion Prevention System

Adaptive Firewall
Adaptive Proxy
Adaptive Gateway
Application Firewall
Application-level Firewall
Application-layer Firewall
Application-level Security Gateway
Application Level Gateway
Application Security Device
Application Security Gateway
Stateful Multilayer Inspection Firewall


WAF Identity Problem (2)
There are four aspects to consider:
Audit device
Access control device
Layer 7 router/switch
Web Application Hardening tool
These are all valid requirements but the name Web Application Firewall is not suitable.
On the lower network layers we have a different name for each function.
WAF Identity Problem (3)
Appliance-oriented web application firewalls clash with the Application Assurance market.
Problems solved long time ago:
Load balancing
Clustering
SSL termination and acceleration
Caching and transparent compression
URL rewriting
…and so on
WAF Identity Problem (4)
Key factors:
Application Assurance vendors are very strong.
Web Application Firewall vendors not as much.
Result:
Appliance-oriented WAFs are being assimilated by the Application Assurance market.
In the meantime:
Embedded WAFs are left alone because they are not an all-or-nothing proposition.
WAF Functionality Overview
The Essentials (1)
Full support for HTTP:
Access to individual fields (field content, length, field count, etc).
Entire transaction (both request and response).
Uploaded files.
Anti-evasion features (also known as normalisation/canonicalisation/transformation features).
The Essentials (2)
Blocking features:
Transaction
Connection
IP Address
Session
User
Honeypot redirection
TCP/IP resets (connection)
Blocking via external device
What happens upon detection?
Fancy Features
Stateful operation:
IP Address data
Session data
User data
Event Correlation
High availability:
Failover
Load-balancing
Clustering
State replication

Hard-Coded Protection Techniques (1)
Cookie protection
Sign/encrypt/virtualise
Hidden field protection
Sign/encrypt/virtualise
Session management protection
Enforce session duration timeout, inactivity timeout.
Prevent fixation.
Virtualise session management.
Prevent hijacking or at least warn about it.
Hard-Coded Protection Techniques (2)
Brute-force protection
Link validation
Signing
Virtualisation
Request flow enforcement
Statically
Dynamically

Other Things To Consider (1)
Management:
Is it possible to manage multiple sensors from one place?
Support for administrative accounts with different privileges (both horisontal and vertical).
Reporting (giving Management what it wants):
On-demand and scheduled reports with support for customisation
XML:
WAFs are expected to provide basic support for XML parsing and validation.
Full XML support is usually available as an option, or as a completely separate product.
Other Things To Consider (2)
Extensibility:
Is it possible to add custom functionality to the firewall?
Is the source code available? (But not as a replacement for a proper API.)
Performance:
New connections per second.
Maximum concurrent connections.
Transactions per second.
Throughput.
Latency.

Signatures and Rules
Signatures or Rules?
Signatures
Simple text strings or regular expression patterns matched against input data.
Not very flexible.
Rules
Flexible.
Multiple operators.
Rule groups.
Anti-evasion functions.
Logical expressions.
Custom variables.
Three Protection Strategies
External patching
Also known as "just-in-time patching" or "virtual patching").
Negative security model
Looking for bad stuff.
Typically used for Web Intrusion Detection.
Easy to start with but difficult to get right.
Positive security model
Verifying input is correct.
Usually automated, but very difficult to get right with applications that change.
It`s very good but you need to set your expectations accordingly.
Auditing and HTTP Traffic Monitoring
Web Intrusion Detection
Often forgotten because of marketing pressures:
Detection is so last year (decade).
Prevention sounds and sells much better!
The problem with prevention is that it is bound to fail given sufficiently determined attacker.
Monitoring (logging and detection) is actually more important as it allows you to independently audit traffic, and go back in time.

Monitoring Requirements
Centralisation.
Transaction data storage.
Control over which transactions are logged and which parts of each transaction are logged, dynamically on the per-transaction basis.
Minimal information (session data).
Partial transaction data.
Full transaction data.
Support for data sanitisation.
Can implement your retention policy.


Deployment
Deployment
Three choices when it comes to deployment:
Network-level device.
Reverse proxy.
Embedded in web server.

Deployment (2)
1. Network-level device
Does not require network re-configuration.
Deployment (3)
2. Reverse proxy
Typically requires network re-configuration.
Deployment (4)
3. Embedded
Does not require network re-configuration.
Deployment (5)
1. Network passive
Does not affect performance.
Easy to add.
Not a bottleneck or a point of failure.
Limited prevention options.
Must have copies of SSL keys.
2. Network in-line
A potential bottleneck.
Point of failure.
Must have copies of SSL keys.
Easy to add.
Deployment (6)
3. Reverse proxy
A potential bottleneck.
Point of failure.
Requires changes to network (unless it`s a transparent reverse proxy).
Must terminate SSL (can be a problem if application needs to access client certificate data).
It`s a separate architecture/security layer.
4. Embedded
Easy to add (and usually much cheaper).
Not a point of failure.
Uses web server resources.

Reverse Proxy As a Building Block
Reverse proxy patterns:
Front door
Integration reverse proxy
Protection reverse proxy
Performance reverse proxy
Scalability reverse proxy
Logical patterns, orthogonal to
each other.
Often deployed as a single physical
reverse proxy.
Front Door (1/5)
Make all HTTP traffic go through the proxy
Centralisation makes access control, logging, and monitoring easier
Integration Reverse Proxy (2/5)
Combine multiple web servers into one
Hide the internals
Decouple interface from implementation
Protection Reverse Proxy (3/5)
Observes traffic in and out
Blocks invalid requests and attacks
Prevents information disclosure
Performance Reverse Proxy (4/5)
Transparent caching
Transparent response compression
SSL termination
Scalability Reverse Proxy (5/5)
Load balancing
Fault tolerance
Clustering
Open Source Approach: Apache
+ ModSecurity
Apache
One of the most used open source products.
Available on many platforms.
Free, fast, stable and reliable.
Expertise widely available.
Apache 2.2.x (finally!) released with many improvements:
Improved authentication.
Improved support for caching.
Significant improvements to the mod_proxy code (and load balancing support).
Ideal reverse proxy.
ModSecurity
Adds WAF functionality to Apache.
In the 4th year of development.
Free, open source, commercially supported.
Implements most WAF features (and the remaining ones are coming soon).
Popular and very widely used.
Fast, reliable and predictable.


Apache + ModSecurity
Deploy as reverse proxy:
Pick a nice server (I am quite
fond of Sun`s hardware
offerings myself).
Install Apache 2.2.x.
Add ModSecurity.
Add SSL acceleration card
(optional).
Or simply run ModSecurity
in embedded mode.


ModSecurity
Strong areas:
Auditing/logging support.
Real-time traffic monitoring.
Just-in-time patching.
Prevention.
Very configurable/programmable.
Weak areas:
No automation of the positive security model approach yet.



Thank you!
Download this presentation from http://www.owasp.org/index.php/
AppSec_Europe_2006
Questions?
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Nguyễn Duy Diệu
Dung lượng: | Lượt tài: 4
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)