Difference between revisions of "Litespeed"

From Atomicorp Wiki
Jump to: navigation, search
m (Do the modsecurity rules work with Litespeed)
m (Do the modsecurity rules work with Litespeed)
Line 19: Line 19:
 
When used with [[ASL]] yes.
 
When used with [[ASL]] yes.
  
If you are not using ASL, then answer is "maybe".  The rules are not supported with Litespeed, but some of them may.  Regretfully, this means that the rules are '''not supported with Litespeed'''.  This not a limitation in our rules, '''this is a limitation in Litespeed.'''
+
If you are not using ASL, then answer is "maybe".  The rules are not supported with Litespeed, but some of them '''may''' work.  Regretfully, this means that the rules are '''not supported with Litespeed'''.  This not a limitation in our rules, '''this is a limitation in Litespeed.'''
  
 
Litespeed developed a proprietary implementation that can load some mod_security rules and can process some modsecurity directives.  The Litespeed module is not a drop in compatible replacement for modsecurity, it is not feature complete, it does not work like modsecurity and it only supports as subset of the rule language that all modsecurity rules depend on.  Here is the official page from Litespeed on what they say they do not support:
 
Litespeed developed a proprietary implementation that can load some mod_security rules and can process some modsecurity directives.  The Litespeed module is not a drop in compatible replacement for modsecurity, it is not feature complete, it does not work like modsecurity and it only supports as subset of the rule language that all modsecurity rules depend on.  Here is the official page from Litespeed on what they say they do not support:

Revision as of 15:38, 23 October 2013

Contents

Does ASL work with LiteSpeed?

Secure Kernel

ASL works correctly with Litespeed. However some versions of Litespeed contain a serious vulnerability. When used with secure kernels, such as the ASL kernel, litespeed will attempt to open a hole in the system that secure kernels will deny. If you use Litespeed, you may not be able to use a secure kernel, such as the ASL kernel, as Litespeed apparently must operate in this highly unsafe and insecure manner.

If you do use the ASL kernel, with Litespeed, and Litespeed does not work please know that this is not something we can resolve. This is a due to a vulnerability in Litespeed that the kernel is protected the system from. ASL will not allow an application to open a hole that could compromise the entire system. Litespeed unfortunately does this. We highly recommend you report this vulnerability to Litespeed, and that you open a support case with Litespeed. We've reported this hole to them, and hope they will fix it soon.

Due to the closed source nature of Litespeed, this is not something we can fix in Litespeed and not something we can change in the kernel (the vulnerability in Litespeed attempts to open a hole in the kernel, which would make the system vulnerable to a root level compromise. This is not something we can or will allow to occur with the ASL kernel). As this is a vulnerability in Litespeed, the correct solution is for Litespeed to fix this vulnerability.

WAF

Litespeed, like all HTTP based servers, may be protected through the ASL T-WAF module. Litespeed will show connections from the local system, by default, when using the T-WAF as all connections will in fact be coming from the server itself. Litespeed will need to be configured to use the X-Forwarded-From header for the upstream IP address of the client. Please contact Litespeed for official instructions about how to configure Litespeed to do this.

Courtesy instructions for setting up Litespeed to do this are provided on the ASL WAF page.

Do the modsecurity rules work with Litespeed

When used with ASL yes.

If you are not using ASL, then answer is "maybe". The rules are not supported with Litespeed, but some of them may work. Regretfully, this means that the rules are not supported with Litespeed. This not a limitation in our rules, this is a limitation in Litespeed.

Litespeed developed a proprietary implementation that can load some mod_security rules and can process some modsecurity directives. The Litespeed module is not a drop in compatible replacement for modsecurity, it is not feature complete, it does not work like modsecurity and it only supports as subset of the rule language that all modsecurity rules depend on. Here is the official page from Litespeed on what they say they do not support:

http://www.litespeedtech.com/support/wiki/doku.php?id=litespeed_wiki:mod_security_compatibility

That means Litespeed does not support the following feature:

  1. Output analysis: This means Litespeed can not inspect the output from the web server. This means rules like malware detection, malicious shell prevention, brute force protection, data loss protection and other rules that analyze the output from the web server are not supported by Litespeed, unless you use ASL.
  2. XML inspection: Litespeed has chosen to not support XML inspection, this means XML based attacks are unfortunately not protected on that platform, unless you use ASL.
  3. Multi-part Upload protection: Litspeed does not support scanning attached files content in multi-part upload. If you use ASL you will be able to scan attached files in a multi-part upload.
  4. lua: This is a language that lets us construct advanced rules. Currently they are used for advanced anti-spam protection and advanced SQLi and XSS injection protection. Therefore, these types of rules are not supported by Litespeed, unless you use ASL.

Unfortunately, this means that LiteSpeed does not support the complete set of our advanced modsecurity rules, and Litespeeds modsecurity-like module is therefore not currently compatible with all the rule.

We encourage our LiteSpeed customers to use ASL, which is supported with LiteSpeed. If you do not use ASL you are highly recommend you install an apache or nginx proxy, which both support the actual mod_security rule language, in front of LiteSpeed to use any mod_security rules.

We are working with LiteSpeed to identify what subset of the rules will work with their platform, and will update this page when we have more information to share.

How to install the T-WAF

As root, run this command:

yum install asl-waf-module

How to configure the T-WAF for litespeed

Step 1) Log into ASL.

Step 2) Click on the "Configuration" tab.

Step 3) Click on the "WAF" tab and select "WAF configuration".

Step 4) Click the "Add" button.

Step 5) Select "Local Web Server" from the "Add protection for" drop down.

Step 6) Select the port that litespeed runs on. Normally this is port 80.

Step 7) Check the SSL box

Enter the file system path to your SSL certificate, and SSL key in the "Path to SSL Certificate" and "Path to SSL Key file" boxes.

Step 8) Click Save

Note: Litespeed does not support the WAF in embedded mode.

Questions

What should I use with Litespeed?

ASL. ASL supports Litespeed.

I've loaded the rules into Litespeed, does that mean they work with Litespeed?

Litespeed will silently ignore rules and rule language it does not understand, so mod_security rules will appear to work with Litespeed. So unlike the real modsecurity, you wont even get an error if something doesnt work right.

I've load the rules in Litspeed, and they are blocking attacks, doesnt that mean they work with Litespeed?

No. We've done extensive testing with Litespeed, and Litespeed doesnt support the complete rule language and it silently ignores rules and options it doesnt understand. That means that only some of the rules may be working. And of those, they may not even be working correctly, which means more false positives for you, and it also means the rules that are working may be missing attacks (because they require modsecurity features Litespeed doesnt support), plus all the rules that aren't working you'll never know about and none of those attacks will be stopped.

Personal tools