SpiderLabs Blog

New Apache module: mod_log_forensic

Written by | Jan 22, 2004 4:43:00 AM

A new module has been added to the Apache CVS repository: mod_log_forensic. It is a standard module available for both branches (all three actually but who counts :). It will probably be officially released as part of the Apache 1.3.30 release. The purpose of this new module is to provide insight into why Apache segfaults when it segfaults. Normally, when a request causes Apache to segfault you only get a line in your error_log telling you that the segfault occurred. And nothing more. So you can't really know what happened. As far as you are concerned it is possible that someone exploited an Apache vulnerability and got access to your server (small chance of that happening but a chance nevertheless). For years I have been using what I call mod_earlylog (now the only copy is kept by Google here). It would make an entry to the error log with the request information before the request is processed. So if you had a segfault you would only need to look above to see what it was.

Module mod_log_forensic also makes a log entry with request details before the request is processed but it makes another, after the processing has finished. It comes with a shell script that analyses the log file and singles out the requests that only have one entry. Pretty handy. You can put the script in your crontab to check the log files and notify you of problems.

To try out the new module immediately, follow these links: