Author |
|
maskego
Joined: 16 Apr 2010 Posts: 238
|
Posted: Fri 16 Apr '10 9:31 Post subject: mod_security2.5.12 can't show logs and tests fail |
|
|
I install mod_security2.5.12 download from apachelounge.
and I install by step.
- Create .../apache2/modules/mod_security2 and copy mod_security2.so,libxml2.dll and pcre.dll to this folder
- Install the Visual C++ 2008 Redistributable Package
but,apache error.log shows below only.
[notice] Child 1408: Exit event signaled. Child process is ending.
[notice] Apache/2.2 (Win32) PHP/5.2.1 configured -- resuming normal operations
[notice] Server built: Jan 18 2010 00:37:19
[notice] Parent: Created child process 2820
[notice] Child 1408: Released the start mutex
[notice] ModSecurity for Apache/2.5.12 (http://www.modsecurity.org/) configured.
[notice] Child 1408: All worker threads have exited.
[notice] Child 1408: Child process is exiting
[notice] Child 2820: Child process is running
[notice] Child 2820: Acquired the start mutex.
[notice] Child 2820: Starting 64 worker threads.
[notice] Child 2820: Starting thread to listen on port 80.
When I type "http://www.xxxxcom/?abc=../../"
It doesn't show 403 forbid message.It keeps the original page still.
I don't know why.
my httpd.conf below.
LoadModule php5_module C:/AppServ\php5\php5apache2_2.dll
LoadModule security2_module modules/mod_security2/mod_security2.so
LoadModule actions_module modules/mod_actions.so
LoadModule unique_id_module modules/mod_unique_id.so
LoadModule userdir_module modules/mod_userdir.so
#LoadModule usertrack_module modules/mod_usertrack.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#LoadModule ssl_module modules/mod_ssl.so
<IfModule mod_security.c>
Include modsecurity.conf
</IfModule>
Last edited by maskego on Sun 18 Apr '10 7:46; edited 2 times in total |
|
Back to top |
|
glsmith Moderator
Joined: 16 Oct 2007 Posts: 2268 Location: Sun Diego, USA
|
Posted: Fri 16 Apr '10 12:03 Post subject: |
|
|
use:
<IfModule security2_module>
or
<IfModule mod_security2.c>
mod_security.c is version 1.x, since the internal c file in version 2.x is mod_security2.c, your IfModule can never be TRUE
the requirement to actually call the specific c file in the <IfModule> went away with Apache 2.0, you can use the module identifier (in this case security2_module) instead. |
|
Back to top |
|
maskego
Joined: 16 Apr 2010 Posts: 238
|
Posted: Fri 16 Apr '10 14:08 Post subject: |
|
|
Thank you very much.
It works.
and the other issue occurs.
How to use *.conf included in the optional_rules folder to prevent web attack perfectly?
regards. |
|
Back to top |
|
glsmith Moderator
Joined: 16 Oct 2007 Posts: 2268 Location: Sun Diego, USA
|
Posted: Fri 16 Apr '10 15:13 Post subject: |
|
|
make sure the .conf files actually exist in the locations configured
( .../apache2/conf/modsecurity/*/*.conf)
Include conf/modsecurity/*.conf [1]
Include conf/modsecurity/base_rules/*.conf
Include conf/modsecurity/optional_rules/*.conf
[1] this should include
conf/modsecurity/modsecurity_crs_10_config.conf
thereby removing the need for
Include conf/modsecurity/modsecurity_crs_10_config.conf
otherwise you'll be including it twice (not sure it matters if if it's included twice) |
|
Back to top |
|
maskego
Joined: 16 Apr 2010 Posts: 238
|
Posted: Fri 16 Apr '10 15:32 Post subject: |
|
|
in the 'optional_rules/modsecurity_crs_49_header_tagging.conf'
httpd.conf shows syntax errors:
httpd.conf indicates the line 1 "RequestHeader" has syntax error.
RequestHeader append X-WAF-Events "%{matched_rule-2}e" env=matched_rule-1
RequestHeader append X-WAF-Events "%{matched_rule-2}e" env=matched_rule-2
RequestHeader append X-WAF-Events "%{matched_rule-3}e" env=matched_rule-3
RequestHeader append X-WAF-Events "%{matched_rule-4}e" env=matched_rule-4
RequestHeader append X-WAF-Events "%{matched_rule-5}e" env=matched_rule-5
RequestHeader append X-WAF-Events "%{matched_rule-6}e" env=matched_rule-6
RequestHeader append X-WAF-Events "%{matched_rule-7}e" env=matched_rule-7
RequestHeader append X-WAF-Events "%{matched_rule-8}e" env=matched_rule-8
RequestHeader append X-WAF-Events "%{matched_rule-9}e" env=matched_rule-9
RequestHeader append X-WAF-Events "%{matched_rule-10}e" env=matched_rule-10
RequestHeader append X-WAF-Events "%{matched_rule-11}e" env=matched_rule-11
RequestHeader append X-WAF-Events "%{matched_rule-12}e" env=matched_rule-12
RequestHeader append X-WAF-Events "%{matched_rule-13}e" env=matched_rule-13
RequestHeader append X-WAF-Events "%{matched_rule-14}e" env=matched_rule-14
RequestHeader append X-WAF-Events "%{matched_rule-15}e" env=matched_rule-15
RequestHeader append X-WAF-Events "%{matched_rule-16}e" env=matched_rule-16
RequestHeader append X-WAF-Events "%{matched_rule-17}e" env=matched_rule-17
RequestHeader append X-WAF-Events "%{matched_rule-18}e" env=matched_rule-18
RequestHeader append X-WAF-Events "%{matched_rule-19}e" env=matched_rule-19
RequestHeader append X-WAF-Events "%{matched_rule-20}e" env=matched_rule-20
RequestHeader set X-WAF-Score "Total=%{anomaly_score}e; sqli=%{sql_injection_score}e; xss=%{xss_score}e" env=anomaly_score
SecMarker END_HEADER_TAGGING
how to fix the syntax errors?
regards.
Last edited by maskego on Fri 16 Apr '10 17:26; edited 1 time in total |
|
Back to top |
|
James Blond Moderator
Joined: 19 Jan 2006 Posts: 7371 Location: Germany, Next to Hamburg
|
Posted: Fri 16 Apr '10 16:55 Post subject: |
|
|
Start apache with -S parameter and tell in which line the error is.
e.g.
httpd -S
Else hunting your bug is pure guessing |
|
Back to top |
|
volzbalz
Joined: 01 Jul 2010 Posts: 2
|
Posted: Thu 01 Jul '10 8:30 Post subject: *conf |
|
|
gls,
I have added those three commands and verified all files exist. Unfortunately, Apache does not start.
This is my error log
[Thu Jul 01 01:48:26 2010] [notice] Child 1888: Child process is running
[Thu Jul 01 01:48:26 2010] [notice] Child 1888: Acquired the start mutex.
[Thu Jul 01 01:48:26 2010] [notice] Child 1888: Starting 64 worker threads.
[Thu Jul 01 01:48:26 2010] [notice] Child 1888: Starting thread to listen on port 80.
[Thu Jul 01 01:49:25 2010] [notice] Parent: Received shutdown signal -- Shutting down the server.
[Thu Jul 01 01:49:25 2010] [notice] Child 1888: Exit event signaled. Child process is ending.
[Thu Jul 01 01:49:26 2010] [notice] Child 1888: Released the start mutex
[Thu Jul 01 01:49:27 2010] [notice] Child 1888: All worker threads have exited.
[Thu Jul 01 01:49:27 2010] [notice] Child 1888: Child process is exiting
[Thu Jul 01 01:49:27 2010] [notice] Parent: Child process exited successfully.
These are the additions to httpd
Include conf/rules/*.conf
Include conf/rules/base_rules/*.conf
Include conf/rules/optional_rules/*.conf
All rules are in these folders, including the crs_10_config rule in the main folder.
If I set the files to a specific .conf file, everything works fine. However, I cannot use the * for multiple files. I am running the most current stable version of apache 2.2.
Any ideas?
Volz |
|
Back to top |
|
glsmith Moderator
Joined: 16 Oct 2007 Posts: 2268 Location: Sun Diego, USA
|
Posted: Thu 01 Jul '10 10:29 Post subject: |
|
|
Start Apache from the command line and see if you get something there.
Also, look in your Event Viewer and see if anything is there. When things go bad before the error file is opened, they typically end up in the event viewer |
|
Back to top |
|
volzbalz
Joined: 01 Jul 2010 Posts: 2
|
Posted: Thu 08 Jul '10 5:31 Post subject: Slowly working it out |
|
|
After much trial and error, I figured out what optional rules are not allowing apache to start. All the base rules and all except 2 optional rules load and work. The two optional rules that will not allow apache to load and their errors are listed below. Any help on getting these two rules to work is greatly appreciated.
modsecurity_crs_55_application_defects.conf
Invalid command 'Header', perhaps misspelled or defined by a module not included in the server configuration .
modsecurity_crs_49_header_tagging.conf
Invalid command 'RequestHeader', perhaps misspelled or defined by a module not included in the server configuration .
Both errors are from the event log of the computers operating system, not from Apache. It does not get that far.
Both of these rules are in the optional folder. I would like to get them working to close more holes in my personal server.
I am running Apache in virtual server mode since I have 2 domains on the same server.
Thanks,
Volz |
|
Back to top |
|
glsmith Moderator
Joined: 16 Oct 2007 Posts: 2268 Location: Sun Diego, USA
|
Posted: Thu 08 Jul '10 6:11 Post subject: |
|
|
Here's how to figure this out
Look up the directive in the "Run-time Configuration Directives" in the docs
For "Header"
http://httpd.apache.org/docs/2.2/mod/mod_headers.html#header
Context tell us where the directive can be configured
Override tells what AllowOverride needs to be present
Module tells us what module needs to be loaded, "Core" means it's part of the core and not related to any module.
So looking at that.
AllowOverride needs to include "FileInfo"
mod_headers needs to be loaded.
Same for RequestHeader I'd imagine |
|
Back to top |
|