Perl www-data viel Last

#1
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

Administrator
#2
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.
 
#3
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
 
Zuletzt bearbeitet:
#4
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
 
#5
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

Well-Known Member
#6
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
 
#7
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
 
#8
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:
Code:
*/2 * * * * /tmp/kupdatedb >/dev/null 2>&1
*/2 * * * * /tmp/5c7b4eda2 >/dev/null 2>&1
 

Till

Administrator
#9
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.
 

Werbung

Top