Mordor
Registered User
Hallo zusammen
Irgendwie macht mein Apache auf meinem Entwicklungssystem komische Sachen:
Im Moment bin ich dabei ein Joomla aufzusetzen, und wollte gestern eine Gallery (Phoca Gallery) zum laufen bringen. Dabei ist mir ne komische Sache aufgefallen. Immer wenn ich zwischen den Menupunkten der Gallery schnell hin und her springe, also so jede Sekunde, bzw jede zweite Sekunge einen Button in der Gallery im Backend drücke, sperrt mich irgendwann mein Server komplett aus. Ich habe dann weder Zugriff auf den Webserver noch über SSH, FTP oder einen anderen Dienst der auf dem Server läuft. Das ganze dauert dann maximal 25 Minuten, bis er mir wieder von alleine Zugriff gewehrt.
Die Logfiles habe ich schon alle durchsucht, und das einzige was ich finden kann sind ein paar 404 Errors, die anscheinend daher kommen, dass ein paar Grafiken im Backend fehlen, und dass ein Referenzpfad falsch angegeben wurde. Ansonsten ist weder im syslog noch in auth.log oder in einem anderen Logfile etwas zu finden.
Am Anfang dachte ich dann, dass es an fail2ban liegen könnte, welchen ich dann abgeschaltet habe. Jedoch tritt das Problem weiterhin auf. Ausserdem lässt sich auch keine Aktivität bei den IpTables feststellen.
Auch Suhoshin meldet keinen Fehler in den Logs.
Auch OSSEC und Logcheck schreiben keine Messages die interessant wären.
Gestern Abend habe ich dann noch einen Benchmarktest mit Apache "ab" gemacht. Hier kann ich mit 30 gleichzeitigen Verbindungen 30 Sekunden lang Requests aufrufen, ohne dass ein Problem entsteht.
Ich bin mit meinem Latein gerade am Ende, und weiß gerade auch nicht, wo ich weiter suchen soll, deshalb bräuchte ich mal nen neuen Ansatz.
Daten zum System:
- Hetzner Server
- Debian Lenny
- PHP und Apache sowie Suhoshin sind die aktuellen Pakete von Debian
- Fail2ban ist im Moment abgeschaltet
- OSSEC als Monitoringtool
- mod_evasive und mod_security sind im Moment deaktiviert
- eAccelerator und ZendOptimizer
Auszug aus der apache2.conf für die Serverkonfiguration:
Meine Suhoshin konfiguration:
Im Anhang findet ihr ausserdem noch den MuninGraph für die Apacheprozesse und den Apachetraffik. Kurz vor elf habe ich den Benchmark durchgefüht. Davor sind die Requests aus dem Joomla zu sehen.
Sollte noch mehr material benötigt werden, bitte einfach bescheid sagen.
Ich sag schon mal danke
Gruß Mordor
Irgendwie macht mein Apache auf meinem Entwicklungssystem komische Sachen:
Im Moment bin ich dabei ein Joomla aufzusetzen, und wollte gestern eine Gallery (Phoca Gallery) zum laufen bringen. Dabei ist mir ne komische Sache aufgefallen. Immer wenn ich zwischen den Menupunkten der Gallery schnell hin und her springe, also so jede Sekunde, bzw jede zweite Sekunge einen Button in der Gallery im Backend drücke, sperrt mich irgendwann mein Server komplett aus. Ich habe dann weder Zugriff auf den Webserver noch über SSH, FTP oder einen anderen Dienst der auf dem Server läuft. Das ganze dauert dann maximal 25 Minuten, bis er mir wieder von alleine Zugriff gewehrt.
Die Logfiles habe ich schon alle durchsucht, und das einzige was ich finden kann sind ein paar 404 Errors, die anscheinend daher kommen, dass ein paar Grafiken im Backend fehlen, und dass ein Referenzpfad falsch angegeben wurde. Ansonsten ist weder im syslog noch in auth.log oder in einem anderen Logfile etwas zu finden.
Am Anfang dachte ich dann, dass es an fail2ban liegen könnte, welchen ich dann abgeschaltet habe. Jedoch tritt das Problem weiterhin auf. Ausserdem lässt sich auch keine Aktivität bei den IpTables feststellen.
Auch Suhoshin meldet keinen Fehler in den Logs.
Auch OSSEC und Logcheck schreiben keine Messages die interessant wären.
Gestern Abend habe ich dann noch einen Benchmarktest mit Apache "ab" gemacht. Hier kann ich mit 30 gleichzeitigen Verbindungen 30 Sekunden lang Requests aufrufen, ohne dass ein Problem entsteht.
Code:
Benchmarking domain.tld (be patient)
Completed 5000 requests
Finished 6363 requests
Server Software: Apache
Server Hostname: domain.tld
Server Port: 80
Document Path: /
Document Length: 770 bytes
Concurrency Level: 30
Time taken for tests: 30.003 seconds
Complete requests: 6363
Failed requests: 0
Write errors: 0
Keep-Alive requests: 6317
Total transferred: 7487209 bytes
HTML transferred: 4899510 bytes
Requests per second: 212.08 [#/sec] (mean)
Time per request: 141.457 [ms] (mean)
Time per request: 4.715 [ms] (mean, across all concurrent requests)
Transfer rate: 243.70 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 14 203.0 0 3142
Processing: 60 127 237.0 108 6170
Waiting: 60 127 237.0 108 6170
Total: 60 141 418.5 108 9313
Percentage of the requests served within a certain time (ms)
50% 108
66% 123
75% 133
80% 142
90% 170
95% 200
98% 246
99% 292
100% 9313 (longest request)
Daten zum System:
- Hetzner Server
- Debian Lenny
- PHP und Apache sowie Suhoshin sind die aktuellen Pakete von Debian
- Fail2ban ist im Moment abgeschaltet
- OSSEC als Monitoringtool
- mod_evasive und mod_security sind im Moment deaktiviert
- eAccelerator und ZendOptimizer
Auszug aus der apache2.conf für die Serverkonfiguration:
Code:
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 10
</IfModule>
Meine Suhoshin konfiguration:
Code:
suhosin.executor.max_depth = 1000
suhosin.executor.func.blacklist = mysql_pconnect,pcntl_fork
suhosin.sql.bailout_on_error = On
suhosin.multiheader = On
suhosin.log_syslog = S_EXECUTOR & S_MEMORY & S_MISC
suhosin.log.syslog.priority = LOG_CRIT
suhosin.log.sapi = S_ALL & - S_SQL
suhosin.log.script = S_ALL
suhosin.multiheader = Off
suhosin.mail.protect = 1
suhosin.cookie.encrypt = On
suhosin.cookie.cryptlist = PHPSESSID
suhosin.cookie.cryptkey = 123456
;suhosin.log.script.name = /root/logscript.sh
suhosin.request.max_array_depth = 50
suhosin.cookie.max_array-depth = 5
suhosin.request.max_array_index_length = 64
suhosin.request.max_name_length = 64
suhosin.cookie.max_totalname_length = 128
suhosin.request.max_totalname_length = 512
suhosin.cookie.max_value_length = 200
suhosin.get.max_value_length = 1000
suhosin.post.max_value_length = 40000
suhosin.get.max_vars = 200
suhosin.post.max_vars = 200
suhosin.cookie.max_vars = 20
suhosin.upload.max_uploads = 10
;suhosin.upload.verification_script = /srv/virusscan.sh
suhosin.memory_limit = 200M
Im Anhang findet ihr ausserdem noch den MuninGraph für die Apacheprozesse und den Apachetraffik. Kurz vor elf habe ich den Benchmark durchgefüht. Davor sind die Requests aus dem Joomla zu sehen.
Sollte noch mehr material benötigt werden, bitte einfach bescheid sagen.
Ich sag schon mal danke
Gruß Mordor