This “vulnerability” is somewhat unavoidable. The thing is that this tool keeps on opening simple HTTP connections which is –even if the webserver limits the maximum number of connections- really unstoppable. As the quote from the Slowloris website explains pretty clearly too.
Also, the DoS tool (perl script) is freely downloadable.
Slowloris holds connections open by sending partial HTTP requests. It continues to send subsequent headers at regular intervals to keep the sockets from closing. In this way webservers can be quickly tied up. In particular, servers that have threading will tend to be vulnerable, by virtue of the fact that they attempt to limit the amount of threading they’ll allow. Slowloris must wait for all the sockets to become available before it’s successful at consuming them, so if it’s a high traffic website, it may take a while for the site to free up it’s sockets. So while you may be unable to see the website from your vantage point, others may still be able to see it until all sockets are freed by them and consumed by Slowloris. This is because other users of the system must finish their requests before the sockets become available for Slowloris to consume. If others re-initiate their connections in that brief time-period they’ll still be able to see the site. So it’s a bit of a race condition, but one that Slowloris will eventually always win – and sooner than later.
I’m not sure if there’s anything you can do to prevent an attack caused by this tool and I don’t think there is a solution to protect yourself from such.
As you might understand I advise you not to use this tool on public websites or such but only for educational purposes to see if you can find a way to protect yourself from it.
Also the attacks you do with this tool can be traced back to you cause the HTTP connections you create by using the tool will always be initiated from your own source IP address.