Hallo Leute,
mir wurde vor kurzem für knapp 2 Stunden (zum Glück früh morgens) die Website "lahmgelegt". Da ich einige Scripte auch per Command line laufen lasse, wurde ich per Email minütlich über auftretende Fehler informiert.
Erste Meldung in der Email lautet:
PHP Warning: mysql_connect(): Too many connections in /var/www/p....
Meine max_connections ist auf 151 und die meißten Scripts laufen in weniger als 10 ms durch und mysql_close wird auch aufgerufen. Ich habe noch keine 100 Nutzer gleichzeitig aufm Server und schon gar nicht dermaßen viele Verbindungen gleichzeitig offen.
Ich vermute dahinter eher eine Mini-DOS-Attacke von ... "Nicht-Freunden"
In /var/log/mysql.* und auch nicht in /var/log/mysql/* steht leider nichts drin.
Wie kann ich mich richtig vor derartigen Anfragen schützen?
Klar, ich könnte eine Firewall nutzen. Ich könnte auch die Anfragen der letzten 10 min in einer anderen externen DB speichern oder in einer Datei und dann pro Minute maximal 60 Connects bzw max 3 gleichzeitige Verbindungen pro IP nutzen. Oder ...
Mir wird bestimmt noch mehr einfallen. Aber wie löst man derartige Schwierigkeiten am besten?
Ich bin dankbar für alle Hinweise
Gruß,
tobobant
mir wurde vor kurzem für knapp 2 Stunden (zum Glück früh morgens) die Website "lahmgelegt". Da ich einige Scripte auch per Command line laufen lasse, wurde ich per Email minütlich über auftretende Fehler informiert.
Erste Meldung in der Email lautet:
PHP Warning: mysql_connect(): Too many connections in /var/www/p....
Meine max_connections ist auf 151 und die meißten Scripts laufen in weniger als 10 ms durch und mysql_close wird auch aufgerufen. Ich habe noch keine 100 Nutzer gleichzeitig aufm Server und schon gar nicht dermaßen viele Verbindungen gleichzeitig offen.
Ich vermute dahinter eher eine Mini-DOS-Attacke von ... "Nicht-Freunden"
In /var/log/mysql.* und auch nicht in /var/log/mysql/* steht leider nichts drin.
Wie kann ich mich richtig vor derartigen Anfragen schützen?
Klar, ich könnte eine Firewall nutzen. Ich könnte auch die Anfragen der letzten 10 min in einer anderen externen DB speichern oder in einer Datei und dann pro Minute maximal 60 Connects bzw max 3 gleichzeitige Verbindungen pro IP nutzen. Oder ...
Mir wird bestimmt noch mehr einfallen. Aber wie löst man derartige Schwierigkeiten am besten?
Ich bin dankbar für alle Hinweise

Gruß,
tobobant

Kommentar