# Perl www-data viel Last



## stefanr (1. Nov. 2013)

Guten Morgen,

ich habe seit ein paar Stunden ziemlich viel Last auf meinem System.

Mit top sehe ich folgendes:

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
12761 www-data  20   0  4664 2484 1040 R  100  0.1 369:38.85 perl

von diesen perl Prozessen unter dem USER www-data gibt es einige.

Mit  ps auxwww | grep 12761 bekomme folgendes:

www-data 12761 23.8  0.0   4664  2484 ?        S    Oct31 457:44 /usr/sbin/sshd

mit  ls -l /proc/12761/fd bekomme ich:

total 0
lr-x------ 1 www-data www-data 64 Nov  1 08:23 0 -> pipe:[305685080]
l-wx------ 1 www-data www-data 64 Nov  1 08:23 1 -> pipe:[305893992]
l-wx------ 1 www-data www-data 64 Nov  1 08:23 2 -> pipe:[305893992]
l-wx------ 1 www-data www-data 64 Nov  1 08:23 3 -> pipe:[305893992]
lr-x------ 1 www-data www-data 64 Nov  1 08:23 4 -> /usr/lib/cgi-bin/php5
lrwx------ 1 www-data www-data 64 Nov  1 08:23 5 -> socket:[305685079]
lrwx------ 1 www-data www-data 64 Nov  1 08:23 6 -> socket:[308939823]
l-wx------ 1 www-data www-data 64 Nov  1 08:23 77 -> pipe:[303820564]
l-wx------ 1 www-data www-data 64 Nov  1 08:23 79 -> pipe:[303820565]
lr-x------ 1 www-data www-data 64 Nov  1 08:23 81 -> pipe:[303820568]
l-wx------ 1 www-data www-data 64 Nov  1 08:23 82 -> pipe:[303820568]
lr-x------ 1 www-data www-data 64 Nov  1 08:23 83 -> pipe:[303820569]
l-wx------ 1 www-data www-data 64 Nov  1 08:23 84 -> pipe:[303820569]

das macht mir ehrlich gesagt ein wenig Angst.

Was kann ich machen, außer diese Prozesse mittels kill -9 12761 aus dem System zu schmeißen? Ich würder gerne das Problem bei der Wurzel packen.

Ich vermute das ich ein Web Verzeichnis habe, das mir per php diesen Ärger bringt. Wie kann ich rausfinden welches Verzeichnis das ist?

cat /proc/version
Linux version 2.6.26-2-686 (Debian 2.6.26-29)
ISP3: 3.0.5.3

Vielen Dank für Eure Hilfe

Stefan


----------



## Till (1. Nov. 2013)

Das sieht nicht gut aus in der tat. Scanne mal Dein System mit rkhunter, chkrootkit und mit maldet. eine Anleitung zu maldet und ispconfig findest Du im howtoforge.com forum.


----------



## stefanr (1. Nov. 2013)

Hallo Till,

danke für deine Antwort. Ich habe mich nach diesem howto gerichtet:

Malware Erkennung in Webseiten unter Debian mit maldetect und inotify - soeren-hentzschel.at

ich habe hier bei howtoforge leider nichts gefunden, ich vermute aber mal das damit das erreicht wird was du wolltest. Mal sehen scant gerade.

Ich habe folgendes noch herraus gefunden:

lsof -p 2419
COMMAND  PID     USER   FD   TYPE DEVICE    SIZE    NODE NAME
perl    2419 www-data  cwd    DIR  254,0    4096       2 /
perl    2419 www-data  rtd    DIR  254,0    4096       2 /
perl    2419 www-data  txt    REG  254,0 1254244 5406729 /usr/bin/perl
perl    2419 www-data  mem    REG  254,0   19816 5980162 /usr/lib/perl/5.10.0/auto/Socket/Socket.so
perl    2419 www-data  mem    REG  254,0   38296 1638418 /lib/i686/cmov/libcrypt-2.7.so
perl    2419 www-data  mem    REG  254,0 1413540 1638484 /lib/i686/cmov/libc-2.7.so
perl    2419 www-data  mem    REG  254,0  116414 1639790 /lib/i686/cmov/libpthread-2.7.so
perl    2419 www-data  mem    REG  254,0  149328 1638461 /lib/i686/cmov/libm-2.7.so
perl    2419 www-data  mem    REG  254,0    9680 1638495 /lib/i686/cmov/libdl-2.7.so
perl    2419 www-data  mem    REG  254,0   16548 5783553 /usr/lib/perl/5.10.0/auto/IO/IO.so
perl    2419 www-data  mem    REG  254,0  113248 1631734 /lib/ld-2.7.so
perl    2419 www-data    0r  FIFO    0,6          490933 pipe
perl    2419 www-data    1w  FIFO    0,6          490934 pipe
perl    2419 www-data    2w  FIFO    0,6          490935 pipe
perl    2419 www-data    3r   REG  254,0 5269752 4907108 /usr/lib/cgi-bin/php5
perl    2419 www-data    4u  sock    0,4          490932 can't identify protocol
perl    2419 www-data    5u  IPv4 490947             TCP meinserver.meinedomain.de:41872->server30157.uk2net.com:8443 (ESTABLISHED)
perl    2419 www-data   76w  FIFO    0,6           17811 pipe
perl    2419 www-data   78w  FIFO    0,6           17812 pipe
perl    2419 www-data   80r  FIFO    0,6           17819 pipe
perl    2419 www-data   81w  FIFO    0,6           17819 pipe
perl    2419 www-data   82r  FIFO    0,6           17820 pipe
perl    2419 www-data   83w  FIFO    0,6           17820 pipe


rkhunter & chkrootkit sind eigentlich auf dem System bereits aktiv.

Was habe ich noch für Möglichkeiten in der Zwischenzeit?

Wieder einmal ein herzliches Dankeschön für deine Hilfe.

Gruß

STEFAN


----------



## stefanr (1. Nov. 2013)

Hallo Till,

kann es sein das awstats die Probleme verursacht?

 grep -r www-data /etc/cron*
/etc/cron.d/awstats:0,10,20,30,40,50 * * * * www-data [ -x /usr/lib/cgi-bin/awstats.pl -a -f /etc/awstats/awstats.conf -a -r /var/log/apache/access.log ] && /usr/lib/cgi-bin/awstats.pl -config=awstats -update >/dev/null

Gruß

STEFAN


----------



## stefanr (2. Nov. 2013)

Hallo,

malted hat folgendes:

malware detect scan report for meinserver.meinedomain.de: SCAN ID: 110113-1747.24754 TIME: Nov  1 18:24:53 +0100 PATH: /var/www TOTAL FILES: 177737 TOTAL HITS: 1 TOTAL CLEANED: 0  NOTE: quarantine is disabled! set quar_hits=1 in conf.maldet or to quarantine results run: maldet -q 110113-1747.24754 FILE HIT LIST: {HEX}base64.inject.unclassed.6 : /var/www/clients/client41/web135/web/components/com_classifieds/classifieds.html.php =============================================== Linux Malware Detect v1.4.2 < proj@rfxn.com >

Hat noch jemand eine Idee?

Danke

STEFAN


----------



## nowayback (2. Nov. 2013)

als 
1. server vom netz nehmen, 
2. dann den webserver stoppen, 
3. das script entfernen, 
4. vom script laufende prozesse beenden
5. nochmal checken und alles wieder hochfahren
6. nochmal checken
7. kunden informieren


----------



## stefanr (3. Nov. 2013)

Guten Morgen,

es werden leider noch immer Prozesse gestartet, die aus meiner Sicht nicht da sein dürften.

top - 09:36:16 up 23:56,  1 user,  load average: 4.17, 4.25, 4.19
Tasks: 172 total,   1 running, 170 sleeping,   0 stopped,   1 zombie
Cpu(s):  0.0%us,  0.0%sy, 92.2%ni,  7.7%id,  0.0%wa,  0.1%hi,  0.0%si,  0.0%st
Mem:   3894812k total,  3774208k used,   120604k free,   279412k buffers
Swap:  3903784k total,      620k used,  3903164k free,  2463752k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
21474 www-data  20   0 53768 1848  984 S  399  0.0 683:16.18 bash

ps -ef | grep bash
root      7665     1  0 Nov02 ?        00:07:16 /bin/bash /usr/local/maldetect/maldet -m /usr/local/maldetect/maldetfilelist
user 16115 16114  0 09:27 pts/0    00:00:00 -bash
root     18199 16122  0 09:36 pts/0    00:00:00 grep bash
www-data 21474     1 99 06:41 ?        11:23:52 bash -o stratum+tcp://mine.cc.st:3333 -O geox.1:x -B

wie bekomme ich noch mehr Informationen wie und von wem diese Prozesse gestartet werden? 

Danke für die Hilfe.

STEFAN


----------



## st2xo (11. Nov. 2013)

ist zwar schon ein paar Tage her, aber schau mal hier:
Systematische Angriffe auf PHP-Lücke | heise Security

und schau mal ob in /tmp und /var/tmp Dateien von wwwrun/www-data liegen und durchsuch die http-Logs nach diesen POST-Einträgen (siehe der heise-Artikel)

Auch solltest du die crontab checken nach solchen Einträgen:

```
*/2 * * * * /tmp/kupdatedb >/dev/null 2>&1
*/2 * * * * /tmp/5c7b4eda2 >/dev/null 2>&1
```


----------



## Till (11. Nov. 2013)

Dazu gibt es auch 2 Threads im Howtoforge.com Forum. Die Lücke beseitigst Du am Besten durch einspielen der aktuellen Updates der Linux Distribution. Für Debian Wheezy und Squeeze sind die Updates welche die Lücke schließen schon seit August verfügbar. Danach alle perl Prozesse die Dir komisch vorkommen mit kill benden.

Wenn Du keine Sicherheitsupdates einspielen kannst, dann sind im howtoforge.com Thread auch alternative Lösungen genannt.


----------

