mod_security spinnt rum

Rund um die Sicherheit des Systems und die Applikationen
blnsnoopy26
Posts: 660
Joined: 2002-10-19 14:01

mod_security spinnt rum

Post by blnsnoopy26 » 2006-10-09 10:49

Hi,

ich habe mod_security am laufen und nach dem howto hier im Forum forgegangen.

--> http://www.rootforum.org/forum/viewtopic.php?t=35865

Wenn ich das aktiviere, dann geht nichtmal mehr mein phpmyadmin richtig. Kann keine Datenbanken auswählen - nichts geht mehr.

Error.log:

Code: Select all

========================================
Request: 84.191.188.63 - - [09/Oct/2006:10:41:24 +0200] "GET /sql.php?lang=de-utf-8&server=1&collation_connection=utf8_general_ci&db=usr_web2_4&table=test
Handler: x-httpd-php
----------------------------------------
GET /sql.php?lang=de-utf-8&server=1&collation_connection=utf8_general_ci&db=usr_web2_4&table=test&sql_query=SELECT+%2A+FROM+%60test%60&pos=0&goto=t
Host: php.meinedomain.de
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://php.meinedomain.de/left.php
Cookie: pma_charset=iso-8859-1; pma_lang=de-utf-8; pma_collation_connection=utf8_general_ci; pma_theme=original
Authorization: Basic cm9vdDptaWNoYTE=
mod_security-message: Access denied with code 505. Pattern match "select.+from" at THE_REQUEST
mod_security-action: 505

HTTP/1.1 505 HTTP Version Not Supported
Content-Length: 548
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=iso-8859-1

Das ist hier meine conf.

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/apache2/modsec_debug_log

    # Include rules
    Include /etc/apache2/filter.conf
</IfModule>
filter.conf

Ist diese rule

--> http://www.rootforum.org/forum/viewtopic.php?t=35865

Woran kann das liegen??

User avatar
Joe User
Project Manager
Project Manager
Posts: 11139
Joined: 2003-02-27 01:00
Location: Hamburg

Re: mod_security spinnt rum

Post by Joe User » 2006-10-09 11:01

Log lesen hilft:

Code: Select all

GET /sql.php?lang=de-utf-8&server=1&collation_connection=utf8_general_ci&db=usr_web2_4&table=test&sql_query=SELECT+%2A+FROM+%60test%60&pos=0&goto=t
...
mod_security-message: Access denied with code 505. Pattern match "select.+from" at THE_REQUEST 
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

blnsnoopy26
Posts: 660
Joined: 2002-10-19 14:01

Re: mod_security spinnt rum

Post by blnsnoopy26 » 2006-10-09 11:18

Hi,

das habe ich gesehn und gelesen, aber wie kann man das verhindern?
Ich meine ich baue mir das mod_security ein und dann verweigern einige sachen ihren dienst.

Und es ist egal welche rule ich nehme.
Ich meine einige hier verwenden ja auch das mod_security und da funzt es ja sicherlich auch noch alles.

Wie könnte man es Konfigurieren, damit meine Anwendungen dennoch alle laufen? Sicher ich könnte es aus der Rule löschen, aber dann ist der sinn von mod_security auch wieder futsch :?

sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf

Re: mod_security spinnt rum

Post by sledge0303 » 2006-10-09 11:26

Lege dir doch für deine administrativen Sachen eine X-tra Subdomain an.
Der Adminbereich wird per Passwort gesichert und einige mod_security Rules deaktiviert. Du solltest natürlich Bezeichnunge woe "adminbereich.mydomain.org" o.ä. nicht wählen. Darin kommt alles was PhpMyAdmin, Phppgadmin... usw heisst.
Die jeweiligen Dienste kannst dann noch extra sichern mit Bordmitteln.

Just my 2ct

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

Re: mod_security spinnt rum

Post by caput » 2006-10-09 11:45

blnsnoopy26 wrote:Woran kann das liegen??
Wieder ein klasse Beispiel für stupides Copy'n Paste - ohne auch wirklich den gesamten Thread aufmerksam gelesen zu haben. Nichts für ungut.. :roll:

User avatar
derfalk
Posts: 17
Joined: 2004-08-12 12:02

Re: mod_security spinnt rum

Post by derfalk » 2006-10-09 12:00

Also bei mir laufen die Rules 1a!

Haste denn auch diese : http://www.gotroot.com/downloads/ftp/mo ... clude.conf eingebunden???

Ist quasi nen muss!

blnsnoopy26
Posts: 660
Joined: 2002-10-19 14:01

Re: mod_security spinnt rum

Post by blnsnoopy26 » 2006-10-09 16:38

derfalk wrote:Also bei mir laufen die Rules 1a!

Haste denn auch diese : http://www.gotroot.com/downloads/ftp/mo ... clude.conf eingebunden???

Ist quasi nen muss!
Ohh thx, das habe ich garned gefunden dort,... werd das mal ausprobieren.

blnsnoopy26
Posts: 660
Joined: 2002-10-19 14:01

Re: mod_security spinnt rum

Post by blnsnoopy26 » 2006-10-09 16:42

caput wrote:
blnsnoopy26 wrote:Woran kann das liegen??
Wieder ein klasse Beispiel für stupides Copy'n Paste - ohne auch wirklich den gesamten Thread aufmerksam gelesen zu haben. Nichts für ungut.. :roll:
Sorry ich mache nicht nur copy&paste ... ich habe es damals schon mal laufen gehabt vor ca. 2 jahren auf meinem alten rooti da gings ohne probs. jetzt hatte ich das nur neu eingerichtet gehabt.

Und bevor ich hier poste benutze ich generell suchfunktion und habe auch die mod_security webseite durchsucht und auch doku gelesen.

Nur wenn ich was nicht ganz verstehe und es dann doch ned funzt, dann poste ich im Forum. Weil wenn ich was nicht verstehe, dann suche ich und probiere solange rum, bis ich es verstehe - möglich das ich mal zu voreilig poste, aber das ich generell nur copy & paste mache ist nicht richtig.
sledge0303 wrote:Lege dir doch für deine administrativen Sachen eine X-tra Subdomain an.
Der Adminbereich wird per Passwort gesichert und einige mod_security Rules deaktiviert. Du solltest natürlich Bezeichnunge woe "adminbereich.mydomain.org" o.ä. nicht wählen. Darin kommt alles was PhpMyAdmin, Phppgadmin... usw heisst.
Die jeweiligen Dienste kannst dann noch extra sichern mit Bordmitteln.

Just my 2ct
Das habe ich ja für phpmyadmin gemacht.
php.meinedomain.tld verweist alleine auf phpmyadmin.

genauso wie mein forum.... forum.meinedomain.tld ...faq.meinedomain.tld ...etc. pp :roll: :wink:

EdRoxter
Posts: 483
Joined: 2006-01-06 03:23
Location: Neben Bonn

Re: mod_security spinnt rum

Post by EdRoxter » 2006-10-15 22:43

Verweise auch nur auf die Regeln von Gotroot. Ein wenig angepasst ist das ein feines Ruleset, das eben besagte Probleme wie phpMyAdmin ausschließt, in diesem Fall anhand des Dateinamens (sql.php).
Musst nur, je nach Distri, aufpassen, da SecFilterRemove in mod_security bei Versionen unter 1.9 (meine ich) nicht existiert (Debian Sarge z.B. hat eine 1.8.x-Version, wenn du sie per apt als Apache-Modul installierst, das geht nach hinten los).

blnsnoopy26
Posts: 660
Joined: 2002-10-19 14:01

Re: mod_security spinnt rum

Post by blnsnoopy26 » 2006-10-16 13:19

EdRoxter wrote:Verweise auch nur auf die Regeln von Gotroot. Ein wenig angepasst ist das ein feines Ruleset, das eben besagte Probleme wie phpMyAdmin ausschließt, in diesem Fall anhand des Dateinamens (sql.php).
Musst nur, je nach Distri, aufpassen, da SecFilterRemove in mod_security bei Versionen unter 1.9 (meine ich) nicht existiert (Debian Sarge z.B. hat eine 1.8.x-Version, wenn du sie per apt als Apache-Modul installierst, das geht nach hinten los).
Ich habe es via apt-get installiert gehabt.
Meinst damit wird es dann gehen oder wie? Bin da noch ein wenig am Experementieren.

sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf

Re: mod_security spinnt rum

Post by sledge0303 » 2006-10-16 13:34

Du hast Version 1.8 per apt installiert. Mit den Ruleset von gotroot wirst nichts mehr anfangen können.
Du musst nur die entsprechenden Kommandos in die Exclude reinnehmen und dann klappt das schon ;)

blnsnoopy26
Posts: 660
Joined: 2002-10-19 14:01

Re: mod_security spinnt rum

Post by blnsnoopy26 » 2006-10-16 14:06

sledge0303 wrote:Du hast Version 1.8 per apt installiert. Mit den Ruleset von gotroot wirst nichts mehr anfangen können.
Du musst nur die entsprechenden Kommandos in die Exclude reinnehmen und dann klappt das schon ;)
Oder ich baue aus den Sourcen die aktuelle Version, dann sollten die auch funzen :?: :?: :roll:

EdRoxter
Posts: 483
Joined: 2006-01-06 03:23
Location: Neben Bonn

Re: mod_security spinnt rum

Post by EdRoxter » 2006-10-16 14:09

Si. Im Prinzip kannst du die Sache per apt-get installieren, dann hast du ne saubere "Installation" drauf. Danach einfach von der offiziellen Seite die aktuelle Version runterladen, mit apxs -c mod_security.c bzw. apxs2 -c mod_security.c kompilieren und einfach die .so in /usr/lib/apache[2]/modules ersetzen (wenn du apache mit DSO drauf hast). Hat bei mir mit apache2 keine Probleme bereitet, da sonst keine weiteren aktualisierten Libraries gegenüber der 1.8 benötigt werden.

cirox
Posts: 212
Joined: 2006-05-08 23:20
Location: Berlin

Re: mod_security spinnt rum

Post by cirox » 2006-10-26 18:08

derfalk wrote:Also bei mir laufen die Rules 1a!

Haste denn auch diese : http://www.gotroot.com/downloads/ftp/mo ... clude.conf eingebunden???

Ist quasi nen muss!
Wie soll man denn die exclude bitte einbinden, wenn man die Regeln hier aus dem Forum hat. Selbst wenn ich diese Regeln hier aus dem Forum per "id" marke entprechen die excluse Befehle doch nicht den Forumregeln hier, oder überseh ich da was?

gruß cirox

pennywize
Posts: 59
Joined: 2006-07-22 13:39

Re: mod_security spinnt rum

Post by pennywize » 2006-10-26 19:48

Wie soll man denn die exclude bitte einbinden, wenn man die Regeln hier aus dem Forum hat.
Indem man nicht wartet bis andere Leute es für dich posten.

Code: Select all

<IfModule mod_security.c>
SecFilterEngine On
SecFilterDefaultAction "deny,log,status:500"
SecServerResponseToken Off
SecFilterForceByteRange 1 255
SecServerSignature "NOYB"
SecAuditLog logs/audit_log
SecFilterDebugLevel 0
SecFilterDebugLog logs/modsec_debug_log
Include /etc/modsecurity/rules_aus_forum.conf
Include /etc/modsecurity/exclude.conf
</IfModule>

cirox
Posts: 212
Joined: 2006-05-08 23:20
Location: Berlin

Re: mod_security spinnt rum

Post by cirox » 2006-10-26 20:02

Ok, aber versteh ich nicht ;)

1. Gehört nicht die exclude vor den Rules?
2. In den Regeln: http://www.rootforum.org/forum/viewtopic.php?p=230878 hier sind keine "ID" s vergeben für die einzelnen Rules, wie soll dann bitte sowas greifen:

Code: Select all

#generic PHP forum posting exclusion
<LocationMatch "/posting.php">
SecFilterRemove 300013
SecFilterRemove 300015
SecFilterRemove 300016
</LocationMatch>
das steht: 300013 und das bezieht sich doch auf Regel 300013. Demzufolge ist die "exclude" für die "gotroot" Regeln, oder bin ich schon umnächtigt?

gruß cirox

pennywize
Posts: 59
Joined: 2006-07-22 13:39

Re: mod_security spinnt rum

Post by pennywize » 2006-10-26 20:06

Stimmt, exclude vor rules. Bin gerade selbst am testen, aber nicht mit den Rules aus dem Forum ;)

cirox
Posts: 212
Joined: 2006-05-08 23:20
Location: Berlin

Re: mod_security spinnt rum

Post by cirox » 2006-10-26 20:09

pennywize wrote:Stimmt, exclude vor rules. Bin gerade selbst am testen, aber nicht mit den Rules aus dem Forum ;)
wäre froh wenn das alles nicht so viel Arbeit machen würde, muss man ja glatt nen Monitor mitlaufen lassen, der ständig das audit.log ausspukt. Die Syntax ist echt ganz schön der Hammer, nichts um das mal eben schnell zu kapieren.

gruß cirox

pennywize
Posts: 59
Joined: 2006-07-22 13:39

Re: mod_security spinnt rum

Post by pennywize » 2006-10-26 20:20

So 100%ig bin ich auch noch nicht hintergestiegen. Hab schon ein Haufen Fehler produziert..
Als Vorlage dienen die Rules von Gotroot, das Manual und die "hilfreichen" Kommentare meines Freundes ;)

Gruss Jasmin

cirox
Posts: 212
Joined: 2006-05-08 23:20
Location: Berlin

Re: mod_security spinnt rum

Post by cirox » 2006-10-26 20:23

pennywize wrote:So 100%ig bin ich auch noch nicht hintergestiegen. Hab schon ein Haufen Fehler produziert dabei.
Als Vorlage dienen die Rules von Gotroot und die "hilfreichen" Kommentare meines Freundes ;)

Gruss Jasmin
Das Problem ist sicherlich Serversicherheit vs. Funktionalität. Aber es funktioniert wohl gar nichts mehr, wenn erstmal was gehackt ist.

pennywize
Posts: 59
Joined: 2006-07-22 13:39

Re: mod_security spinnt rum

Post by pennywize » 2006-10-26 20:28

Wenn du gehackt wurdest ist eh alles zu spät.
Wir gehen in etwa 14 Tagen online und da möchte mein Vater seine Kiste in Sicherheit wiegen.
Teste das ganze jetzt in einer chroot Umgebung. Selbst wenn einer über ein unsicheres Skript versuchen würde einzubrechen, der Schaden bleibt meiner Meinung nach gering.
Ob wir nachher mod_security wirklich einsetzen, wird nach Beendigung alles Tests entschieden. Tendiere schon einmal dafür, aber es laufen auch Onlinepräsentationen und da kommt es auf Performance an.

cirox
Posts: 212
Joined: 2006-05-08 23:20
Location: Berlin

Re: mod_security spinnt rum

Post by cirox » 2006-10-26 20:31

ich denke bei den Rules hier aus dem Forum ist die Performanceeinbuße Richtung Null.

pennywize
Posts: 59
Joined: 2006-07-22 13:39

Re: mod_security spinnt rum

Post by pennywize » 2006-10-26 20:39

cirox wrote:ich denke bei den Rules hier aus dem Forum ist die Performanceeinbuße Richtung Null.
Wichtig für uns ist halt Missbrauch auszuschliessen. Hab mir mal jetzt die Rules aus dem Forum gesucht. Uns geht es in erster Linie darum, Datenbanken per phpmyadmin zu verwalten, mit den Rules aus dem Forum geht es nicht. Daher muss die exlude angepasst werden, genau daran arbeite ich gerade.

danu
Posts: 263
Joined: 2005-02-02 11:15

Re: mod_security spinnt rum

Post by danu » 2006-11-01 22:42

Code: Select all

<Location /phpMyAdmin-2.8.1/tbl_properties_structure.php>
    SecFilterInheritance Off
    # other filters here ...
    # SecFilterSelective "ARGS|!ARG_body" "<.+>" "allow"
    SecFilterSelective ARG_authorised "alter[[:space:]]+table" 
</Location> 

<Location /phpMyAdmin-2.8.1/db_details_structure.php>
    SecFilterInheritance Off
    # other filters here ...
    # SecFilterSelective "ARGS|!ARG_body" "<.+>" "allow"
    SecFilterSelective ARG_authorised "select.+from" 
</Location>

<Location /wp/wp-includes/js/tinymce/themes/advanced/image.htm>
    SecFilterInheritance Off
    # other filters here ...
    # SecFilterSelective "ARGS|!ARG_body" "<.+>" "allow"
    SecFilterSelective ARG_authorised "<.+>"
</Location>

<Location /forum/posting.php>
    SecFilterInheritance Off
    # other filters here ...
    # SecFilterSelective "ARGS|!ARG_body" "<.+>" "allow"
    SecFilterSelective ARG_authorised "<.+>"
</Location>

<Location /phpMyAdmin-2.8.1/db_search.php>
    SecFilterInheritance Off
    # other filters here ...
    # SecFilterSelective "ARGS|!ARG_body" "<.+>" "allow"
    SecFilterSelective ARG_authorised "select.+from"
</Location>

<Location /phpMyAdmin-2.8.1/import.php>
    SecFilterInheritance Off
    # other filters here ...
    # SecFilterSelective "ARGS|!ARG_body" "<.+>" "allow"
    SecFilterSelective ARG_authorised "select.+from"
</Location>

<Location /phpMyAdmin-2.8.1/tbl_replace.php>
    SecFilterInheritance Off
    # other filters here ...
    # SecFilterSelective "ARGS|!ARG_body" "<.+>" "allow"
    SecFilterSelective ARG_authorised "select.+from"
</Location>

<Location /phpMyAdmin-2.8.1/tbl_change.php>
    SecFilterInheritance Off
    # other filters here ...
    # SecFilterSelective "ARGS|!ARG_body" "<.+>" "allow"
    SecFilterSelective ARG_authorised "select.+from"
</Location>
Könnte ungefähr so aussehen.
Diese Exclude-Datei ist noch einiges länger. Ich bin zufrieden damit.

cirox
Posts: 212
Joined: 2006-05-08 23:20
Location: Berlin

Re: mod_security spinnt rum

Post by cirox » 2006-11-01 22:49

Hallo,

würde es Dir was ausmachen mal Deine ganze "exclude" Datei zu posten. Nicht das ich zu faul wäre, aber der Zeitvorteil (Wissensgewinn) wäre enorm ;-)

gruß cirox