slowloris vs nginx
Date: October 19, 2009 01:19AM
I've been testing slowloris against nginx to understand the slowloris attack more, and I need help to make sense of it.
From the original thread comments http://ha.ckers.org/blog/20090617/slowloris-http-dos/ it seems that slowloris exhausts _some_ resource specific to the web server, and that for Apache it is max clients.
In my tests against nginx (on a debian machine http://blog.rayfoo.info/2009/10/12/testing-slowloris-against-nginx), nginx seems refuse any incoming connections when its file descriptor count hits the maximum allowed for that process. And during this time it continues to listen (for a while at least) to requests on the connections already established.
I'm not sure yet whether this is purely a kernel/process/linux limitation (I'm thinking ulimit), and this is pretty different in behaviour from how Apache dies from the slowloris attack, but I'd think that nginx is also affected by slowloris because of the nature of this attack (current connections maintained, new connections denied, web server host TCP stack not overloaded)
Anyone has any thoughts on this? Or did I misunderstand the mechanics of the Slowloris?