Monday, 21 May 2007
Bug: Hacker's Diet Online runs afoul of Fourmilab's “Invisible Gardol Shield”
This isn't, strictly speaking, a bug in the Hacker's Diet Online, but since it appeared to be and was reported as such, I'll document it here in case other folks have experienced the same problem.
The Fourmilab site runs a home-brew denial of service attack mitigation and intrusion detection system dubbed Gardol, which was originally developed during the intense distributed denial of service siege in 2004. Since then, this tool has been extended to detect a variety of common attacks on the site and is routinely run on all the server farm machines. One of the most common attacks (in fact, two or three occur on a typical day), is repeated requests for compute-intensive pages, for example large custom images from Earth and Moon Viewer. Consequently, Gardol considers a certain number of consecutive requests for an identical URL from the same IP address without any intervening request to another URL as presumptive evidence of an attack and banishes the IP address from the site. All packets from a banished IP address are discarded until a decent interval has elapsed without the receipt of a packet, after which the ban is lifted and access is once again permitted.
This works very well to deter most of the common kinds of attacks. Unfortunately, the Hacker's Diet Online application could generate a series of POST requests which Gardol deemed to be identical and hence triggered the IP address block. Gardol has an exception list for such cases, but I had neglected to make the requisite entry for the Hacker's Diet Online—it has now been made.
I have installed the new version of Gardol on the server farm and tested it from a remote site, making requests which the previous version would have considered identical, and all appears to be well. If you experience the entire site “simply going dead” after multiple requests, please let me know, as that's indicative of something still amiss in this area. (Reported by Ron Welch.)
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment