Perl erzeugt hohe Auslastung!

Operaiter

New Member
Hallöchen alle zusammen :]

wenn ich mit über TOP meine laufenden Systemdienste anzeigen lasse, erzeugt Perl immer (mindestens) 70% Systemauslastung.

Ich habe mir zuerst gedacht dass bei Debian ja viel vom System über Perl läuft, aber solangsam werde ich stuzig, und wollte dann doch lieber einmal nachfragen!

Ist das normal?! :D

Ich befrüchte dass sich da vll ein anderes Programm mit auf meinen Rechner geschmuggelt hat!

Port Scans zeigen dass nur FTP SSH und HTTP geöffnet ist! (Wie geplant ;) )

Wäre dankbar über Rückmeldungen von euch! :]
 
Wie wärs denn mal, wenn du nachschaust was für ein Perl-Script die Last überhaupt erzeugt?
Entweder mit top oder mit:
Code:
ps aux | grep perl

Das Ergebnis hier bitte MIT CODE-Tags posten!
 
Okay hab ich so in die Konsole geschmissen!

Ergebinss:
Code:
root@vs2064092:/var/log/apache2# ps aux | grep perl
root     20435  0.0  0.0   1636   508 pts/0    S+   12:09   0:00 grep perl
 
Sher gerne!

Hier meine top:
Code:
root@vs2064092:/var/log/apache2# top
top - 12:58:06 up 28 days, 19:09,  1 user,  load average: 1.03, 1.02, 1.00
Tasks:  27 total,   2 running,  25 sleeping,   0 stopped,   0 zombie
Cpu(s): 15.7% us,  4.9% sy,  0.0% ni, 79.4% id,  0.0% wa,  0.0% hi,  0.0% si
Mem:   1048576k total,   173068k used,   875508k free,        0k buffers
Swap:        0k total,        0k used,        0k free,        0k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
16134 Debian-e  25   0  4608 2740 1288 R   78  0.3  31352:32 perl
    1 root      16   0  1904  684  588 S    0  0.1   0:01.21 init
 9451 root      16   0  1624  596  492 S    0  0.1   0:13.07 syslogd
10088 root      18   0  8156  744  432 S    0  0.1   0:00.00 saslauthd
10137 root      16   0  1976  876  704 S    0  0.1   0:00.32 cron
32264 Debian-e  16   0  6252 1220  820 S    0  0.1   0:00.50 exim4
19859 Debian-e  16   0  6252 1252  844 S    0  0.1   0:04.69 exim4
19916 Debian-e  15   0  4868 3016 1320 S    0  0.3   2:52.87 perl
23778 root      18   0  2416 1152  960 S    0  0.1   0:00.00 mysqld_safe
23826 mysql     16   0 20232  10m 4672 S    0  1.0   0:02.16 mysqld
23828 root      16   0  1552  536  464 S    0  0.1   0:00.00 logger
15791 root      16   0  5200 1032  680 S    0  0.1   0:00.00 sshd
10216 proftpd   16   0  5308 1376  604 S    0  0.1   0:00.34 proftpd
18046 root      16   0 70088 5044 2152 S    0  0.5   0:17.92 fail2ban-server
30108 root      16   0 25616 7824 4532 S    0  0.7   0:00.29 apache2
30116 www-data  16   0 44164  25m 3904 S    0  2.5   0:04.44 apache2
31999 root      16   0  7956 2604 2152 S    0  0.2   0:00.05 sshd
32026 frodo     16   0  8104 1684 1200 S    0  0.2   0:00.36 sshd
32027 frodo     15   0  3220 1792 1216 S    0  0.2   0:00.00 bash
32056 root      17   0  2308 1060  856 S    0  0.1   0:00.00 su
32060 root      16   0  2776 1640 1256 S    0  0.2   0:00.02 bash
 1384 www-data  16   0 45964  26m 3880 S    0  2.6   0:02.29 apache2
30405 root      18   0  2280  844  684 S    0  0.1   0:00.00 xinetd
17430 www-data  16   0 26080 6620 2880 S    0  0.6   0:00.01 apache2
17437 www-data  16   0 38764  20m 3780 S    0  2.0   0:01.09 apache2
17438 www-data  15   0 26196 6800 2900 S    0  0.6   0:00.05 apache2
22064 root      16   0  2188 1068  876 R    0  0.1   0:00.05 top

Off Topic: Interessant finde ich, dass Exime 4 noch läuft, obwohl ich es gerade eben deinstalliert habe! ?!? :D
 
Cpu(s): 15.7% us, 4.9% sy, 0.0% ni, 79.4% id, 0.0% wa, 0.0% hi, 0.0% si

Beduetet dass, das mein CPU 15 % ausgelastet ist,

--> und Perl davon 99% auslastet?

Also Perl nicht den gesamten CPU auslastet, sondern nur von den 15% 99% versursacht?!
 
Das ist schlecht :D


Code:
root@vs2064092:/home/user# cat /proc/16134/cmdline
/usr/sbin/apache/pwnedroot@vs2064092:/home/user#

:confused::confused::confused:
 
Dein System ist seit Ewigkeiten nicht mehr unter Deiner Kontrolle!

Grobe Vorgehensweise:

Nutzdaten sichern.
Systemimage anlegen.
System vom Netz nehmen.
Systemimage in einer VM analysieren.
Gefundene Sicherheitslücken dokumentieren.
System neu aufsetzen.
Sicherheitslücken beseitigen.
Nutzdaten zurückspielen.
Verantwortung übernehmen und sich künftig besser um das System kümmern.
 
Ich hatte es befürchtet!

Sehr sehr ärgerlich!

Habe die Maschine jetzt erstmal vom Netz genommen!

Habt ihr denn eine Idee wie ich rausbekommen kann, wie das System kompromitiert wurde?

Wenn jemand Vollzugriff hatte, wird dieser wohl die Logs gesäubert haben oder?

Verantwortung übernehmen und sich künftig besser um das System kümmern.
Genau diesen Schritt habe ich mir gerade vorgenommen! Ich habe den Server übernommen, von einem Programmierer der keine Ahnung hatte, und nun nichtmehr da ist. Ich selber hätte lieber einen Webspace ;)

Bissel Webserver und SQL klicki Bunti bekomme ich hin. Doch war mir bewusst, dass das mit der Sicherheit nicht gut laufen wird. Aus diesem Grund habe ich mich in das Thema Sicherheit eingelesen und war gerade jetzt dabei den Server weiter auszuhärten.

Scheinbar ohne Erfolg!

Jedoch vermute ich, dass der Server schon kompromitiert wurde, bevor ich ihn übernommen habe!

System wurde immer regelmäßig geupdatet!

Ich könnte mir gut vorstellen, dass man über eine Webseite in den Server gekmmen ist.

Zurzeit versuche ich mod_security zu installieren. Vielleicht hätte dieses Modul geholfen, wenn es bereits installiert gewesen wäre?

Ich selbst freue mich über die neuinstallation des Server. Nun habe ich ein Jungfräuliches System zur Verfügung stehen.

Folgendes habe ich damit vor:

-SSHPort verlegen
-RootLogin verbieten
-Nur EINEN User zugriff in SSH gewähren

-PROFTPD mit SSL
-User im Home gechrootet.

-Fail To Ban um SSH und FTP zu "überwachen"

-ModSecurity
-Suhosin
-PHP-Scripte fixen
-PHP über suxec einbinden.

Darüberhinaus wollte ich mal gucken, welche möglichkeiten es gibt die Logs zugesendet zu bekommen usw ;)

Mir stellst sich nun vorallem die Frage ob ich die Sicherheitslücke jetzt noch finde?

LG
 
Last edited by a moderator:
Da der Perl-Prozess unter dem exim-User lief, wurde der Server über die letzte Debian-Exim-Lücke kompromittiert. Diese Lücke erlaubte einen local-root-Exploit, weshalb dem System grundsätzlich nicht mehr zu trauen war und es nur noch den Weg einer kompletten Neuinstallation erlaubt.
 
Oho das ist spannend ;)

Dann wurde der Server wirklich vor meiner Übernahme kompromitiert.

Ich sagte mir: Wer braucht schon einen Mail Server? Ich selber versende (noch) keine Mails mit dem Server. Will aber bald PostFix installieren.

Also dachte ich: Je weniger Software, desto besser! Also wech damit ;)

Das war einer der ersten Schritten! :D

Dann sichere ich jetzt mal meine Daten und installiere dann das System neu!

Danke für deine Hilfe!

Mal eine andere Frage:
Gibt es einen "VirenScanner" den ich hätte Anwenden können? (Also Recovery-Modus booten, und den dann über das System laufen lassen ;) )
 
Last edited by a moderator:
Virenscanner gibt es, hilft aber bei solchen Lücken überhaupt nicht.

Virenscanner wie auch Spamfilter auf Servern helfen maximal beim Vorsortieren der Mails, sofern der Besitzer des Mailaccounts explizit damit einverstanden ist.
 
MHmm ja gut SpamAssain wäre da ein Stichwort. Darüber habe ich im Bezug auf PostFix was gelesen! :]

Ich dachte halt an ein Programm was einem sagt: Hey Dude, Your have been hacked ;)

Ich kopiere momentan meine Daten auf ein anderes System.

Was kann ich in Zukunft tun, um früher festzustellen ob ich gehackt wurde? Ich möchte diesen Fall auch dazu nutzen etwas zu lernen! Ansonsten war das hier einfach nur nutzloses Risiko!
 
Code:
root@vs2064092:~# apt-get update
Hit http://security.debian.org lenny/updates Release.gpg
Hit http://security.debian.org lenny/updates Release
Ign http://security.debian.org lenny/updates/main Packages/DiffIndex
Ign http://security.debian.org lenny/updates/contrib Packages/DiffIndex
Ign http://security.debian.org lenny/updates/non-free Packages/DiffIndex
Ign http://security.debian.org lenny/updates/main Sources/DiffIndex
Ign http://security.debian.org lenny/updates/contrib Sources/DiffIndex
Ign http://security.debian.org lenny/updates/non-free Sources/DiffIndex
Hit http://security.debian.org lenny/updates/main Packages
Hit http://security.debian.org lenny/updates/contrib Packages
Hit http://security.debian.org lenny/updates/non-free Packages
Hit http://security.debian.org lenny/updates/main Sources
Hit http://security.debian.org lenny/updates/contrib Sources
Hit http://security.debian.org lenny/updates/non-free Sources
Hit ftp://ftp2.de.debian.org lenny Release.gpg
Hit ftp://ftp2.de.debian.org lenny Release
Get:1 ftp://ftp2.de.debian.org lenny/main Packages/DiffIndex
69% [1 Packages 0]

Ich persönlich finde das jetzt einwenig doof :D Wie soll ich so zu einem sicheren System kommen? Habe das System auch nocheinmal neuinstalliert. (Nach der SysInstallation ist dies der erste Befehl gewesen!) Ping zu Google ist möglich ;)

Whats going wrong? :]
 
Ich kann apt-get nicht updaten.

Seit ich den Code gepostet habe, wurden die Quellen nicht weiter aktualisiert. (d.h. an der Stell wie ich gepostet habe, bleibt es einfach stehen!)

Bin leider einwenig ratlos!

Habe auch schon einen alternativen QuellServer ausgewählt, jedoch auch dies ohne Erfolg!
 
In der Zwischenzeit war ich dann mal im IRC-Chat unterwegs, wo mir mal geraten wurde einen alternativen Mirror auszuwählen, welcher das Problem löste!

Konnte nun meinen apt-get update && apt-get upgrade starten, und arbeite nun mit ruhigem Gewissen an einem tollen neuen System ;)
 
Back
Top