PHP absichern durch fehlerhafte Kontaktformulare

Apache, Lighttpd, nginx, Cherokee
klerfrq
Posts: 38
Joined: 2004-08-04 19:54

PHP absichern durch fehlerhafte Kontaktformulare

Post by klerfrq » 2007-05-16 09:45

Hallo zusammen,

auf einem Server läuft Apache mit mod_php und ein User hat ein nicht sicheres Kontaktformular. Nun hat jemand die Lücke herausgefunden und mal eben über 6000 E-Mails versand.

Kann man seitens des Servers so etwas abfangen, wie in etwa maximal 100 E-Mails in 10 Minuten oder in irgendeiner anderen Art und Weise sich als Administrator absichern?

Gruß
klerfrq

blattlaus
Posts: 52
Joined: 2007-03-08 13:45

Re: PHP absichern durch fehlerhafte Kontaktformulare

Post by blattlaus » 2007-05-16 09:55

Da ich vermute, dass er die mail() funktion von PHP benutzt, kannst du da afaik nicht mehr zwischen eingreifen. Also müsstest du das auf dem Mailserver tun...wäre das nicht ohnehin sinnvoller?

User avatar
daemotron
Administrator
Administrator
Posts: 2635
Joined: 2004-01-21 17:44

Re: PHP absichern durch fehlerhafte Kontaktformulare

Post by daemotron » 2007-05-16 10:39

Suhosin ist IMHO für Dich einen Blick wert - damit werden die gängigen Angriffsmethoden auf Formulare recht zuverlässig unterbunden. Ansonsten kannst Du noch mit mod_security herumexperimentieren, um unerwünschte POST- oder GET-Header auszusortieren. Beides in Kombination ist natürlich noch besser, und wenn der Mailserver dann auch noch sehr restriktiv ist was die Umschlagfrequenz für eine Quelle angeht, hast Du das Problem schon recht gut eingedämmt.

klerfrq
Posts: 38
Joined: 2004-08-04 19:54

Re: PHP absichern durch fehlerhafte Kontaktformulare

Post by klerfrq » 2007-05-16 13:52

Suhosin habe ich mir angeguckt und ist leicht über Debian einzubinden. Funktioniert einwandfrei.

Vielen Dank.

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

Re: PHP absichern durch fehlerhafte Kontaktformulare

Post by cirox » 2007-05-16 23:15

Damit wird dann die Anzahl der möglichen Mails, die durch so ein fehlerhaftes Kontaktformular gesendet werden nach unten gedrückt. Was mod_security angeht hab ich bis jetzt noch kein Regel gefunden, die nicht bei anderen Geschichten dann false_postives gibt. Suhosin löst das Problem auch nur zur Hälfte, was aber sicherlich ganz gut ist.

Postfix restrictiv pro Quelle zu halten ist auch ok. Aber eigentlich muss das Problem an der Wurzel gepackt werden. Du musst also des Weiteren das Mailq überwachen und wenn sich da zu viele Mails anstauen einfach dafür sorgen, dass Du eine entsprechende Warnung bekommst. Dann gehst Du in Postfix rein und sperrst die Maileinliefrung <pickup> für den Websuser. Damit kann keine Mail mehr vom Apache z. Bsp eingeliefert werden. Jetzt sollte der Webuser sein Formular sicher bekommen und danach kann man die Sperre in Postfix wieder aufheben. Sicherlich wäre es ok, wenn man diesen Prozess automatisiert.

klerfrq
Posts: 38
Joined: 2004-08-04 19:54

Re: PHP absichern durch fehlerhafte Kontaktformulare

Post by klerfrq » 2007-05-21 09:48

Suhosin hilft mir schon viel weiter - es wird nun einiges geblockt - jedoch auch der Login zum Confixx - ich gelange nach dem Einloggen wieder direkt zur Anmeldemaske - es kommt auch kein Fehler wie falsches Passwort oder ähnliches.

Deaktiviere ich Suhosin - so kann ich wieder normal Confixx nutzen.

Weiss jemand - wie man Suhosin dazu bekommt, entweder eine Funktion nicht zu hart zu behandeln oder explizit Confixx aus Suhosin auszugrenzen.

Auf dem System läuft PHP 4.4.7 als Modul und Suhosin ist per Extension eingebunden.

Viele Grüße
- klerfrq -

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

Re: PHP absichern durch fehlerhafte Kontaktformulare

Post by cirox » 2007-05-21 10:04

Code: Select all

grep -i suhosin /var/log/*

Code: Select all

tail -f /var/log/apache2/error.log

Code: Select all

tail -f /var/log/apache2/php-error.log
Last edited by cirox on 2007-05-21 10:14, edited 1 time in total.

dtdesign
Posts: 391
Joined: 2006-09-05 21:12
Location: Berlin

Re: PHP absichern durch fehlerhafte Kontaktformulare

Post by dtdesign » 2007-05-21 10:07

Schalte doch die Logs an und schau, weshalb Confixx (obwohl... in Anbetracht der Software kann ich Suhosin verstehen, ich würde es auch) durch die Filterregeln hängen bleibt. Ist es definitiv Suhosin oder eventuell auch weitere Applikationen, etwa mod_security?

Wird Confixx eventuell ausserhalb des eigentlichen Documment Root aufbewahrt? Dies könnte und sollte zu einem Fehler führen.

Gruß
dtdesign

klerfrq
Posts: 38
Joined: 2004-08-04 19:54

Re: PHP absichern durch fehlerhafte Kontaktformulare

Post by klerfrq » 2007-05-21 10:56

Nein, Confixx wird ganz normal unter /home/htdocs ausgeführt. Die Webs befinden sich unter /homt/htdocs/webx. mod_security ist nicht im Einsatz - wie gesagt, kommentiere ich das Suhosin Extension aus funktioniert der Confixx Login einwandfrei.

In den Logs kann ich leider nichts über den Aufruf der Confixx Seite erkennen. Suhosin macht aber eifrich Logs, weil ein Kontaktformular eine Lücke hat und somit öfters diese Einträge zu finden sind:

Code: Select all

May 21 10:48:28 bart suhosin[15639]: ALERT - mail() - double newline in headers, possible injection, mail dropped (attacker '192.108.114.19', file '/home/htdocs/web3/html/feedback.php', line 14)

der kleine tux
Posts: 97
Joined: 2005-10-29 04:12
Location: Planet Erde

Re: PHP absichern durch fehlerhafte Kontaktformulare

Post by der kleine tux » 2007-05-21 11:45

Hallo

Bei mir funktioniert Confixx mit Suhosin !
An den default werten hab ich nichts geändert
eventuel hilft
suhosin.log.syslog.priority = 6
bei der fehler suche

PHP4.4.4-8+etch2

Gruß

oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim

Re: PHP absichern durch fehlerhafte Kontaktformulare

Post by oxygen » 2007-05-21 13:06

Bei mir funktioniert beides auch einwandfrei zusammen. Vielleicht probierst du mal eine aktuellere Version. Bei mir funktioniert es mit:

Code: Select all

Apache/2.2.4 Gentoo DAV/2 mod_ssl/2.2.4 OpenSSL/0.9.8d mod_python/3.3.1 Python/2.4.4 PHP/5.1.6-pl11-gentoo with Suhosin-Patch mod_jk/1.2.21
Suhosin Extension 0.9.18
Confixx Version 3.3.0

klerfrq
Posts: 38
Joined: 2004-08-04 19:54

Re: PHP absichern durch fehlerhafte Kontaktformulare

Post by klerfrq » 2007-05-21 17:51

Das Ändern der Einstellung suhosin.log.syslog.priority = 6 hat leider keinerlei Auswirkungen auf meine Log-File Ausgabe.

Zeitgleich habe ich eine php-Datei geöffnet in der include ("http://www.google.de"); drinen steht und diese wird geblockt und in den Logs /var/logs/messages und /var/logs/user.log angezeigt.

Wenn ich die Confixx Seite aufrufe erscheint leider gar nichts in den Logs.

@oxygen
Was meinst du mit neuerer Version - etwa auf die 5er-PHP Version umsteigen?