Plesk-Installation inkl. Trojaner

Huschi

Moderator
Hallo Leute!
Nur mal so kurz die Info's zu meinen letzten Erlebnissen:

Debian Lenny aufgesetzt, den Plesk-Autoinstaller runter geladen und gestartet.
Abgewartet bis es heißt "Login into the Plesk-Panel with..."
Dann Aufruf über https://...:8443, Login mit "admin" und dem initialen Passwort "setup".
Und schon bin ich im Plesk-Panel....
(...war da das letzte Mal nicht noch was anderes...?)
...ein paar Klicks und plötzlich werde ich doch nach der Akzeptanz der Software-Lizenz, Inhaber-Daten und anschließend nach IPs, neuem Passwort gefragt.
(Kam das nicht mal früher...?)

Man denkt sich ja nichts dabei, denn man hat den Kopf voller Daten, Fragen und Punkten die noch erledigt werden sollen.

12 Stunden später:
Server ist wegen Speicherüberlauf (4GB + 2GB Swap) vollständig abgedriftet.
Reboot und schauen was abgeht. top und pstree laufen nicht mehr weil eine libncurses.so.4 und libcap.so nicht vorhanden sind. Ein schnell installierter chkrootkit liefert massenweise "INFECTED", eine offene bindshell und 19 versteckte Prozesse.

Zum Glück ist es eine Xen-Domain, schalte sie ab und untersuche die Disk.
  • Ein "ls -l" zeigt tatsächlich dass alle infizierten Dateien einen anderen Zeitstempel und Größe haben als ein gleiches Debian-System.
  • strings zeigt bei den Dateien auch typische Anzeichen von Rootkits (z.B. "proc_hackinit").
  • In /var/log/auth finde ich:
    useradd[18195]: new user: name=plesk-root, UID=2524, GID=0, home=/usr/local/psa/plesk, shell=/bin/sh
    useradd[18195]: add `plesk-root' to group `root'
    useradd[18195]: add `plesk-root' to shadow group `root'
    usermod[18200]: change user `plesk-root' UID from `2524' to `0'

    Also ein einer User mit Root-Rechten. Klasse!
  • In der /opt/psa/admin/logs/httpsd_access_log erklärt sich alles. Mehrere Einträge dieser Art zur Installationszeit:
    GET /login_up.php3?passwd=setup&login_locale=default&login_name=admin
  • Einer davon hat es tatsächlich geschafft in den ca. 3 Minuten zwischen Grund-Installation und der Passwort-Vergabe einen root-Crontab-Eintrag zu setzten, welches ein Perl-Script runter läd, startet und sich als Shell auf einen externen Rechner verbindet.

Ergo:
Es ist eine riesengroße Sch**** dass bei der Konsolen-Installation nicht direkt ein Admin-Passwort abgefragt wird.

Fazit:
Jetzt darf ich die Arbeit nochmal machen und muss vorher per iptables den Zugriff auf die Ports 8443 und 8880 auf meine IP beschränken.


Da ich recht wenig bis keine Google-Ergebnisse zu einigen Stichwörtern gefunden habe, hab ich es nun hier einmal nieder geschrieben. Damit sollte der ein oder andere evtl. seine Problematik bestätigt finden.

huschi.
 
Das ist echt unglaublich. Was für ein Ärger. Und das passiert ausgerechnet dem Linux-As Huschi.
Man kann zu Beginn auch modsecurity mit entsprechenden rules installieren und damit sowas unterbinden.
Nutzt du modsecurity?
 
Last edited by a moderator:
Wie willst du denn Modsecurity installieren wenn noch gar kein Apache drauf ist? :) Der kommt erst mit der Plesk Installation.

Aber btw. danke Huschi, nice to know :)
 
Wie willst du denn Modsecurity installieren wenn noch gar kein Apache drauf ist? Der kommt erst mit der Plesk Installation.

Diese Aussage ist falsch. Modsec und Apache kannst du auf x beliebige Arten vorher installieren. Plesk hin oder her.
 
Naja, kann man so und so sehen. Sicherlich kann man den Indianer vorher installieren, aber 99,99 % aller Plesk Admins werden das nicht tun. Was aber natürlich nicht heißt, das es nicht möglich ist.
 
Auch das halte ich für ein Gerücht. Bei einer Plesk-Installation wird Apache als dependency aus der standard repository der jeweiligen Distribution installiert.
 
Last edited by a moderator:
Was bitte bringt es, den Apache httpd vorher mit mod_security abzusichern, wenn das Webinterface von Plesk, das mittlerweile einen eigenen lighttpd (vorher ein statisch gelinkter Apache httpd) nutzt, für das setzen des Passworts missbraucht wurde?

Der Fehler war einfach anzunehmen, dass ein offenes Plesk mehrere Minuten lang niemanden interessiert. Wir sind also mittlerweile in den Regionen von Windows XP angelangt, welches ungeschützt und ungepatched am Internet auch innerhalb von 120 Sekunden geknackt ist.

Bei Servern, die direkt am Netz hängen, habe ich mir mittlerweile angewöhnt, während der Installation nur die nötigsten Zugriffe zuzulassen (konkret wäre das in 99,9% der Fälle SSH) und den Rest mit einem Paketfilter zu blocken, bis das System korrekt konfiguriert wurde.
 
ja, dieses Problem, dass man nach einer frischen Installation ein Standardpasswort hat, war mir auch anfangs aufgefallen. Ich dachte aber immer, dass es für Profis eine Möglichkeit gibt, das mit einem bestimmen Installations-Befehl zu verhindern. Wenn das nicht der Fall ist, ist das mal wieder ein Zeichen dafür, dass Plesk absolut nicht würdig ist, in der Oberliga mitzuspielen :(
 
@roger wilco: Mache ich bei der installation auch so.

Direkt nach der installation per commandline ein Passwort setzen:

# install plesk
yum -y install psa

# generate a random password
export PSA_PASSWORD=`tr -dc "[:alnum:]" < /dev/urandom | head -c 10; echo`

/usr/local/psa/admin/bin/ch_admin_passwd

export PSA_PASSWORD=

# Get the password
cat /etc/psa/.psa.shadow

oder als oneliner:
# yum -y install psa && export PSA_PASSWORD=`tr -dc "[:alnum:]" < /dev/urandom | head -c 10` && /usr/local/psa/admin/bin/ch_admin_passwd ; unset PSA_PASSWORD ; echo "Plesk admin password: `cat /etc/psa/.psa.shadow`"
 
Last edited by a moderator:
Hi,

ich wollte mal fragen, ob Plesk mittlerweile eine Möglichkeit bietet, bei der Installation VORHER ein Passwort festzulegen.
Falls nicht, was ist die wirklich sichere Lösung?
Die hier genannten Wege sind doch auch nicht 100% sicher, oder?

Danke und Grüße
Ruth
 
Einfach vor der Installation den Zugriff z.B. per iptables nur für Deinen PC zulassen, Kennwort ändern, Updates einspielen und dann wieder freischalten.
Ich denke das wäre das einfachste.

Grüsse
 
Was ist schon 100% sicher??? Genau, der Tod!

Die Möglichkeit per iptables denke ich dürfte wohl besser sein.
Auch wenn die Lösung von BruceLee schön klingt, aber während (nicht erst am Ende) des Installations-Prozesses wird das Panel bereits gestartet. Es entsteht also auch hier ein Zeitraum von mehreren Sekunden.

huschi.
 
Ich tät ja ganz simpel alle Ports bis auf SSH mit der Firewall verrammeln und dann mit nem SSH-Tunnel arbeiten. Damit sind gleich auch alle MitM-Anggriffe ausgeschlossen. Für so Sachen wie Plesk, wo man ja ziemlich tief im System rumrühren kann, würde ich das auch im Betrieb so lassen.
 
Ja, seit geraunmer Zeit verwendet Plesk bei der Installation das root-Passwort.

Ich weiß allerdings nicht, ob der von huschi beschriebene Fall damit ausgeschlossen ist.

Falls kein Standard-Passwort mehr beim 1. Login vorhanden ist, hat sich das Problem doch damit erledigt.

Grüße
 
Back
Top