|
| Products > Web Application Firewall > Features
In contrary to process or thread bound WAFs, Profense web application firewall handles a practically unlimited number of clients with much fewer resources and scales better vertically with additional hardware (CPU and memory) thanks to its non-blocking asynchronous I/O model. It is built upon an event driven architecture which scales way beyond 10000 concurrent users (the "C10K problem") with great ease.
Protecting and securing websites and web applications can be a complicated business. Profense web application firewall simplifies protection with an affordable and easy to use, feature rich, solution that gives you full PCI DSS 2.0 section 6.5 and 6.6 compliance.
To make it easy, we put this all together in an easily configurable software solution with its own hardened OS (the ultra secure OpenBSD) to allow easy install and the ability to use it in your production, development and staging environments with only one license saving you tens of thousands of dollars.
If you wish to learn more about the features listed below, please contact us at sales [at] armorlogic [dot] com.
Web Application Firewall - Performance
- Performance - HTTPS requests/second
- Performance depends on available hardware resources , request complexity and complexity of the policy. On entry level $1K server hardware (a Dell Poweredge R210 II with Xeon e3-1240) Profense processes 18,750+ HTTPS req/sec for simple requests. Two of these servers running active/active processes 32000+ HTTPS req/sec.
- As Profense is a software appliance you can easily scale performance by adding extra CPUs or moving to a more powerful platform.
- Concurrency
- In contrary to process or thread bound WAFs, Profense web application firewall handles a practically unlimited number of concurrent clients with much fewer resources and scales better vertically with additional hardware (CPU and memory) thanks to its non-blocking asynchronous I/O model. It is built upon an event driven architecture which scales way beyond 10000 concurrent users (the "C10K problem") with great ease.
- Most of the CPU time consumed by a reverse proxy in a normal HTTP transaction is spent waiting for network I/O. Profense wastes practically no resources waiting for client requests or back-end server responses (10 thousand idle HTTP clients occupy approximately 2.5 megabytes of RAM on a 64-bit platform). With I/O overhead virtually eliminated, Profense uses available resources to handle a massive client concurrency and request rate while protecting and accelerating web servers and web applications.
- If you get more concurrent visitors than your WAF can handle some of those visitors will never reach your website and the rest will all suffer from slow response times and errors.
Web Application Firewall - Filtering
- Positive and negative URL filtering
- Profense validates all parts of a HTTP request (including the path, query and segment) according to the defined access policy.
- Requests not-matching the access-policy, are per default flagged as illegitimate, rejected and logged for further analysis.
This allows system administrators to have a strict white-list of legitimate URLs for a given web application.
- Positive and negative query filtering
- Profense validates all parts of a query in a URL request according the defined access policy.
- Each parameter and the corresponding value is validated. This allows system administrators to specify what input is allowed
for a given URL resource.
- Positive and negative web services requests filtering
- XML (including XML-RPC and SOAP) and JSON services are supported.
- Profense validates all parts of a web services request according the defined access policy.
- Web services requests are mapped as queries and as with normal queries combinations of negative and positive policy rules
can be enforced.
- Data leak prevention
- Profense allows for parsing and blocking or rewriting the body of server responses. This is useful for screening output for
confidential data like credit card numbers in order to prevent information leakage.
- Global parameter wild-cards
- Rules which match parameters on a global basis can be specified using regular expressions or signature based matching.
- This is particularly useful when for instance the web application uses global parameters for session tracking or for printer
friendly displaying instructions.
- HTTP headers compliance checking
- Profense can enforce pragmatic and strict standard HTTP headers compliance (RFC2068/RFC2616).
- Pragmatic HTTP headers checking allow non-standard headers to pass through Profense.
- Web server cloaking and isolation
- Profense completely isolates the web server from direct internet requests by removing web system technology information from
web server responses and intercepting backend error messages and replacing them with general (configurable) messages.
- Session validation and CSRF protection
- Profense protects against session hijacking and CSRF (Cross Site Request Forgery) by injecting cryptographic validation cookies
and parameters to responses from the web system.
- Additionally idle sessions are timed out in order to prevent users from staying logged in making them vulnerable to CSRF attacks.
- Session and CSRF protection policies are built automatically by the Learner.
- DoS mitigation
- Profense mitigates the effect of DoS and DDoS attacks by limiting the number of concurrent TCP connections and the rate at
which connections can be established on a source IP basis. IP's exceeding these limits are blocked at the network level for
a configurable time. The limits are configurable.
- Network level blocking
- Instead of denying the request at the application level Profense can be configured to automatically create network firewall
policy rules that blocks IP addresses at the network level if attacks exceeding a certain risk level are denied.
- SSL Client Authentication
- Profense supports SSL client certificate based authentication and authorization.
- SSL client certificates are forwarded to the backend web server.
Web Application Firewall - Policy management
- Automated Policy Generation
- Profense automatically generates access policies for even complex web applications and web systems.
- All relevant information for a web application including URLs, parameters and HTTP methods is automatically learned by Profense
and applied to the running access policy. This allows system administrators to quickly enable new or updated information about
the web application thus reducing the manual work needed when implementing new or changed access policies.
- Regular expressions support
- Profense has full support for standard PCRE (Perl Compatible Regular Expressions).
- This feature allows system administrators to manually fine-tune and implement strict values for legitimate HTTP parameters.
- Global URL wild-cards
- In order to simplify the ACL Profense supports the definition of URL wild cards based on regular expressions which matches
URLs without parameters on a proxy global basis.
- Global parameter wild-cards
- Rules which match parameters on a global basis can be specified using regular expressions.
- This is particularly useful when for instance the web application uses global parameters for session tracking or for printer
friendly displaying instructions.
- Class based policy rules
- Filtering rules can be specified using classes for easy administration.
- Classes are defined globally and can be applied both when manually editing the access policy, when the access policy is built
automatically and when rules are added or modified from log.
- Audit logging
- All administrative actions are logged to a system log with requested action, payload (what to do), user and IP, success or
failure.
- The audit log and other system logs can be sent to an external Syslog server.
- Fine grained violation action control
- Profense allows for very fine grained control over what violations to block and what violations to just log. Violation action
control can be configured for each type of violation and for entire web applications.
Load balancing
- Session persistence
- Session persistence is achieved through insertion of a cookie tracking the session.
- When the Profense Load Balancer is configured in an active/active cluster (is load balanced itself) the session persistence
is independent of the cluster node handling the request.
- Guaranteed secure persistence
- Profense Load Balancer offers guaranteed SSL session persistence by decrypting the SSL content.
- In this way the client is guaranteed a secure persistent browsing experience without loss of state information.
- Rate limiting
- Profense offers HTTP request throttling which limits the rate at which client IPs can request pages and HTTP connection limiting
which limits the total number of concurrent connections a client IP can make to a website. Clients exceeding the configured
limits can either be slowed down by delaying responses or be sent an error message.
- HTTP and HTTPS request switching
- As SSL-connections are terminated by Profense it works equally well with HTTP and HTTPS.
- Optionally requests from clients can be re-encrypted before being forwarding to back-end servers.
- Round robin, source hashing and session persistence based on cookies or headers are supported.
- Health checking
- Profense proactively checks backend web server availability and allows programmed event based disabling of failed or overburdened
web servers with immediate alerting of the event via email or Syslog. HTTP response code and response body checksum methods
are supported.
Web acceleration
- Caching
- Caching of static and dynamic documents improves performance by 300 - 500%.
- Documents that can be cached, are locally stored by Profense. Any further requests for documents found in the cache, are automatically
delivered to clients directly from Profense. Therefore, the back-end web servers can focus on delivering dynamic content with
improved response times to clients, without the overhead of delivering static content like images, PDF documents, static HTML
documents, style-sheets and others.
- Dynamic caching allows for caching dynamically served content, like newspaper articles, for a short time. Caching rules are
specified using regular expressions and caching time can be just a few seconds.
- HTTP compression
- Dynamic compression of transmission data reduces bandwidth usage by 30 - 60% and increases transfer rate by 50 - 100%.
- HTTP compression reduces the transfer volume of static and dynamically generated web pages to approximately 1/3 of their original
size proportionally speeds up the load time performance. This results in reduced traffic costs and in a better experience
for the web site visitors.
- SSL acceleration
- Profense has the ability to terminate HTTPS (SSL) based connections and requests from clients before forwarding them as HTTP
non-SSL) to back-end servers.
- This off-loads the back-end web servers from expensive SSL calculations thus allowing them to focus on faster content delivery
to clients.
Log functions
- Profense Management Dashboard
- The Profense Management Dashboards presents system and website statistics and events in an aggregated view allowing for rapidly identifying and focusing on the most important events. The website deny log Dashboard give greater visibility to threatening activity and allow for aggregate and individual website deny log viewing, highly specific policy building and highly configurable event reporting. The Profense Dashboard allows for individual and cross website analysis.
- Attack classification
- All rejected requests are classified in major attack groups (i.e. SQL-injection, buffer overflow, etc.) using a combination of cross validation, heuristic patterns and statistics.
- External notification
- Alerts can be sent to external syslog server or email. Alert levels are completely configurable and are mapped to standard syslog priorities (information levels).
- Deny log
- The management interface includes a comprehensive security log displaying all the necessary details about blocked requests, including the time stamp, IP address, HTTP methods, path and query segments, HTTP headers violations, attack classification and raw request data.
- Access log
- The access log includes information about all requests including request, ip-address, timestamp, response size, response time, server response error code and caching status.
- Traffic statistics
- Traffic statistics are generated for 8 hour, 24 hour, week and month intervals. Data are displayed graphically and includes served requests, caching and compression ratio and web server response code ratio.
- Customizable search criteria
- Multiple search criteria can be specified using wildcards allowing for detailed drill down searches.
- Customizable reporting
- All log views (search filter sets) can be exported to printable reports or XML
- Audit logging
- All administrative actions are logged to a system log with requested action, payload (what to do), user and IP, success or failure.
-
- The audit log and other system logs can be sent to an external Syslog server.
Operation
- Automated remote backup
- The complete running Profense™ installation including all settings, proxies and access policies can be automatically backed up by Profense™ to a remote FTP server.
- Manual full and partial backup
- A complete Profense™ installation or the entire configuration of a single proxy can also be backed up manually with a few clicks in the management interface.
- Easy restore
- A complete Profense™ configuration including access policy for all defined proxies can be restored from an FTP-server or the file system with a few clicks in the management interface.
Scalability and availability
- Policy synchronization
- All policy changes are automatically synchronized across the nodes in a Profense™ cluster.
- High availability
- Profense™ can be run in active/passive configurations where two or more physical Profense™ nodes together comprise a logical Profense™ unit with automatic fail-over.
- Clustering
- Active/active clustering with automatic policy synchronization allows for virtually unlimited scalability. No additional load balancer is required as Profense™ is "self load balancing".
Requirements compliance
- OWASP Top Ten
- Defenses against all OWASP Top Ten vulnerabilities.
- PCI DSS 2.0 section 6.5 and 6.6 requirements
- Profense™ provides full PCI DSS 2.0 section 6.5 and 6.6 requirements compliance.
|