PLESK ABSCHALTEN - die einzige Alternative

kdeiss

New Member
Hallo Leute,

Nach den beunruhigenden Nachrichten der letzten Tage habe ich heute einen Bug bei Plesk entdeckt, der mich persönlich den Glauben an die Programmierkunst dieser Bude verlieren lässt.

Probiert mal folgendes aus: Schickt mal ein Mail von einem - sagen wir mal o'wichtig@meinedomain.irland an ein Plesk Mailkonto. In diesem Mailkonto legt ihr vorher eine Weiterleitung an, auf ein beliebiges anderes Mailkonto.

Folgendes wird passieren:

Code:
Jul 28 16:31:39 h1714533 /usr/lib/plesk-9.0/psa-pc-remote[1596]: Unable to get sender handlers from the database
Jul 28 16:31:39 h1714533 /usr/lib/plesk-9.0/psa-pc-remote[1596]: Unable to prepare SQL statement for query 'SELECT executable, context, name FROM handlers WHERE queue=1 AND type='0' AND enabled=1 AND address='o'connor@yxc.de' ORDER BY priority DESC': near "connor": syntax error
.............
Jul 28 16:49:29 h1714533 postfix-local[3941]: files: write buf 0xbf8e227c[3838] to fd (7) error - (32) Broken pipe
Jul 28 16:49:29 h1714533 postfix-local[3941]: files: cannot write chuck from 5 to 7 - (32) Broken pipe
Jul 28 16:49:29 h1714533 postfix-local[3941]: LOG Unable to forward message to: kdeissweiterleitung@abc.de
Jul 28 16:49:29 h1714533 postfix-local[3941]: LOG found problems in executed program
Jul 28 16:49:29 h1714533 postfix-local[3941]: Unable to send mail for: kdeissweiterleitung@abc.de

Wer des Programmierens nicht mächtig ist: Die Pfosten haben schlicht und einfach vergessen den local part der Mailadresse korrekt zu quoten, dadurch entsteht ungültiger sql Code und die Sache fährt vor die Wand. Weshalb sie mit dem Absender in ihrer SQL Datenbank rumkrosen ist mir unerklärlich.

Um eventuellen Einwänden vozubeugen: Bei o'connor@dom.com handelt es sich durchaus um eine gültige Mailadresse (http://tools.ietf.org/html/rfc2822)

Shit happens - klar, aber wenn der KOT bei denen auch in anderen, sicherheitsrelevanten Teilen eine ähnliche "Qualität" aufweist:

GUTE NACHT ADMINS !

Nennt es paranoid, aber ich habe heute mein Plesk vom Netz genommen. Ich habe im April 3 Tage lang zig Domains/Mail und und und mit einem Riesenaufwand auf einen neuen Server transferiert, nachdem mir das Plesk gehackt worden war. Und jetzt schon wieder so ein Müll, ich hab den Kanal OBERVOLL.

Ich habe es jetzt so gemacht:

Plesks Standardports gewechselt, dann wird man wenigstens nicht bei einem automatisch ablaufenden Angriff auf 8443 oder 8880 erwischt

Dann habe ich mir folgende Scripte geschrieben:

Code:
#! /bin/bash
#plesk stoppen
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
LOG="/tmp/stop_nr_service.log"
echo `date` $0 startup >>$LOG
/etc/init.d/sw-cp-server stop >>$LOG
#ftp&co ports sperren
/sbin/iptables -F
/sbin/iptables -A INPUT -p tcp --dport 21 -j DROP
#/sbin/iptables -A INPUT -p tcp --dport 22 -j DROP
/sbin/iptables -A INPUT -p tcp --dport 3306 -j DROP
/sbin/iptables -A INPUT -p tcp --dport 106 -j DROP
/sbin/iptables -A INPUT -p tcp --dport 23 -j DROP
/sbin/iptables -L >>$LOG

und das Gegenstück

Code:
#plesk starten
/etc/init.d/sw-cp-server start
#firewall aus
iptables -F

Im wirkichen Leben ist es etwas komplexer, weil ich ausgewählten Kunden über eine passwortgeschützte Seite ermögliche einzelne Dienste/Ports via cgi zu öffnen - aber es geht mir jetzt ja auch nur um die basics.

Bei Interesse beschreibe ich das gerne auch detailierter.

Ein nmap auf diesen Plesk Server sieht nun so aus (wenn vorher script 1 ausgeführt wurde):

Code:
Interesting ports on h1xxxxxxx.stratoserver.net (xxx.xxx.xxx.xxx):
Not shown: 982 closed ports
PORT     STATE    SERVICE      VERSION
21/tcp   filtered ftp
22/tcp   open     ssh          OpenSSH 4.7p1 Debian 8ubuntu3 (protocol 2.0)
25/tcp   open     smtp         qmail smtpd
53/tcp   open     domain       ISC BIND 9.4.2-P2.1
80/tcp   open     http         Apache httpd 2.2.8 ((Ubuntu) PHP/5.2.4-2ubuntu5.25 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g mod_perl/2.0.3 Perl/v5.8.8)
106/tcp  filtered pop3pw
110/tcp  open     pop3         Courier pop3d
135/tcp  filtered msrpc
139/tcp  filtered netbios-ssn
143/tcp  open     imap         Courier Imapd (released 2004)
443/tcp  open     ssl/http     Apache httpd 2.2.8 ((Ubuntu) PHP/5.2.4-2ubuntu5.25 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g mod_perl/2.0.3 Perl/v5.8.8)
445/tcp  filtered microsoft-ds
465/tcp  open     ssl/smtp     qmail smtpd
587/tcp  open     smtp         qmail smtpd
993/tcp  open     ssl/imap     Courier Imapd (released 2004)
995/tcp  open     ssl/pop3     Courier pop3d
1720/tcp filtered H.323/Q.931
3306/tcp filtered mysql
Aggressive OS guesses: Linux 2.6.9 (91%), Linux 2.6.9 - 2.6.24 (91%), Linux 2.6.11 (90%), Infoblox NIOS Release 4.1r2-5-22263 (89%), Linux 2.6.9 (CentOS 4.4) (89%), Linux 2.6.18 (CentOS 5.1, x86) (89%), Thomson Symbio VoIP phone (88%), HP Brocade 4100 switch; or Actiontec MI-424-WR, Linksys WRVS4400N, or Netgear WNR834B wireless broadband router (87%), AVM FRITZ!Box FON WLAN 7170 WAP (87%), Dell Remote Access Controller 5/I (DRAC 5/I) (87%)
No exact OS matches for host (test conditions non-ideal).
Uptime guess: 34.099 days (since Sat Jun 16 06:19:22 2012)
Network Distance: 9 hops
TCP Sequence Prediction: Difficulty=193 (Good luck!)
IP ID Sequence Generation: All zeros
Service Info: Host: localhost.localdomain; OSs: Linux, Unix
Apache, Mail und sonst nix. Da kann ich gleich besser schlafen.

Damit bin ich erst mal zufrieden, ok für die Kunden etwas aufwendiger, aber was ist das gegen einen gehackten Server.

Ich jedenfalls bin restlos bedient was PLESK betrifft und kann jedem nur empfehlen diesen Müll möglichst selten an die Sonne zu lassen.

Klaus
 
Welche Version von Plesk setzt du denn ein?
Dem Pfad nach zu urteilen Version 9.x - die ja schon etwas betagter ist...
Auch die restlichen Software-Versionen lassen nicht unbedingt vermuten, dass das ein aktuelles System ist?

Zusätzlich wäre interessant, welche Zugriffsrechte der SQL-Benutzer dieses Mailscripts hat. Bei "nur lesen auf die ausgewählten Mailtabellen" hielte sich der Schaden ja noch in Grenzen (was die Sache aber natürlich nicht besser macht, da ja hierbei schlicht und ergreifend das System nicht vernünftig arbeiten kann).
Ich habe gerade nicht mal eben eine Testumgebung mit aktueller Pleskversion parat - da bin ich auch stolz drauf :D
 
@lord gurke
Stimmt das verwirrt etwas. Also der Bug dokumentiert wurde auf einem Parallels Plesk Panel v11.0.9_build110120608.16 os_Ubuntu 10.04 System. (erster Codeblock)

Ursprünglich aufgefallen ist mir der Bug auf einem 10er Release.

Den Server den ich zugemacht habe ist ein 9er Plesk mit Ubu 8.04LTS.
Deshalb die Scripte auch für plesk 9.xx

Den haben wir benutzt als wir nach dem Februar Hack den Server neu aufgesetzt haben. Wir wollten nichts riskieren bei dem Umzug - also exakt gleiche Version installiert und dann mit Migration Manager. War ja auch alles unter Zeitdruck, aber die verseuchte Kiste wollte ich nicht länger betreiben. Ich meine da hatte wer so viel Rechte an dem Teil das er nach Belieben installieren konnte wie er wollte - geht gar nicht.

Der Umzug ist dem Server aber in Teilen nicht so gut bekommen, einige Funktionen - wie z.B Plesk Updater funktionieren nicht mehr richtig.
Deshalb immer auch etwas heikel das Teil. Ich halte den Linux-mässig mit apt-get auf Stand.

Klaus
 
Um sicher zu gehen, dass ich es verstanden habe:

Ich lege eine Mailadresse an mit einer Weiterleitung an. Dann gehe ich hin und sende von einem externen Server eine Mail an das angelegte Konto.
Nach erfolgter Weiterleitung schaue ich in mein Mail-Log.

Falls ich das richtig verstanden habe am frühen Sonntag, so habe ich den Test gerade unter Plesk 11.0.9 / Debian 6.0.5 durchgeführt.

In welchem Log bist Du über diese Meldungen gestolpert?! Ich kann nichts derartiges finden.
 
local;part@domain.tld dürfte wohl ebenfalls interessante Ergebnisse liefern.

Ich vermute mal, dass davon etliche Produkte betroffen sind, nicht nur Plesk.
 
Schade, ich würde es gerne testen, nur leider lässt weder mein Plesk, noch GMX oder Google Mail es zu eine Emailadresse in der Form "o'wichtig" anzulegen.
 
habe gerade auch zum Test die Adresse "o'wichtig@DOMAIN" eingerichtet (über SQL Datenbank - Postfix / Dovecot mit SQL), jedoch kann ich mich nicht einloggen per Webfrontend (AtMail), noch kann ich eine Mail an diese Adresse senden!
 
@all

Das ist wohl wahr, wenn man mit Plesk versucht eine solche Adresse anzulegen gibt es Probleme. Man kann es schlicht und ergreifend nicht machen - was aber an sich aber auch schon ein Bug ist.....

Wie ihr euch sicher denken könnt ist das ein Fall aus dem realen Leben, die Mail kam von einem Exchange Server. Habe ich nachgestellt, unter Exchange: kein Problem diese Adressen anzulegen und damit zu arbeiten.

Am einfachsten ist es die Sache mit telnet zu emulieren, da könnt ihr auch gleich mal versuchen validen sql code zu injecten ...

Rot sind eure Eingaben

Code:
[COLOR="Red"]telnet -4 zieldomain.com 25[/COLOR]
Trying 85.xxx.xxx.xxx...
Connected to zieldomain.com.
Escape character is '^]'.
220 zieldomain.com ESMTP Postfix (Ubuntu)
[COLOR="Red"]helo mail.pleskhacker.com[/COLOR]
250 zieldomain.com
[COLOR="Red"]mail from:<o'connor@quelldomain.de>[/COLOR]
250 2.1.0 Ok
[COLOR="Red"]rcpt to:<kdeiss@zieldomain.com>[/COLOR]
250 2.1.5 Ok
[COLOR="Red"]data[/COLOR]
354 End data with <CR><LF>.<CR><LF>
[COLOR="Red"]Subject: Test per Telnet
Hier ist der Body
.[/COLOR]
250 2.0.0 Ok: queued as 4029E25F801B
[COLOR="Red"]quit[/COLOR]
221 2.0.0 Bye
Connection closed by foreign host.

greetz

Klaus
 
Last edited by a moderator:
@joe user

local;part@domain.tld dürfte wohl ebenfalls interessante Ergebnisse liefern.

Ich vermute mal, dass davon etliche Produkte betroffen sind, nicht nur Plesk.

Wäre ich mir nicht so sicher, was in aller Welt wursteln die denn in Ihrer Datenbank rum wenn sie einen simplen Forward machen sollen !
Linux&Co selber verarbeiten das doch alles astrein .....

greetz

Klaus
 
Ich hatte den Bug auch noch an Strato gemeldet. Ich dachte als großer PLESK Kunde haben die andere Möglichkeiten. Vom qualifizierten Support dort erhielt ich folgende Nachricht, die ich euch nicht vorenthalten möchte.

Code:
vielen Dank für Ihre Anfrage, die ich Ihnen gerne beantworte.

Es empfiehlt sich, dass Sie hierbei direkt mit dem Hersteller von Plesk Kontakt aufnehmen. Eventuell ist diesem dieser Umstand bekannt und kann Ihnen ein Hotfix mitteilen. 

Der Hersteller ist hierbei Parallels. Diese können Sie erreichen unter www.parallels.com.

............

Mit freundlichen Grüßen

[COLOR="Red"]XXXXXXXXXXXXX[/COLOR]
STRATO Customer Care

Liebe XXXXXXXXXXX!

Lege Dir die Adresse von Parallels gut weg. Wenn demnächst mal wieder ein paar tausend Rechner bei euch eine DDOS fahren, dann kannst Du Dich gleich bei dem Hersteller melden und nach einem Hotfix Ausschau halten. :D

Klaus

MODEDIT: Klarnamen entfernt.
 
Last edited by a moderator:
Ok, Butter bei die Fische :) - Hast Du den Bug bei Parallels gemeldet?
Das alleinige Breitreten in einem Forum wie hier - trotzdem ein Danke für die generelle Information - reicht nicht, um sein System selbst abzusichern sowie sein System vor herrenlosen Zombies zu schützen.

Die Antwort von Strato ist meines Erachtens genau die, die man erwarten kann und von ca. 95% aller Anbieter bekommen wird.
 
@Nuck Nuck

Hier die Butter.

Ich bin leider sehr knapp in der Zeit und habe mit obigem Bug in der letzten Woche sehr viele Stunden verloren, am Sa nun auch wieder und heute auch wieder.

Ich habe Franziska K. von Strato gebeten die Sache noch mal mit Kollegen zu diskutieren und sich die Tragweite durch den Kopf gehen zu lassen.

Dann habe ich noch einen kleineren Provider gebeten (da wo ich den Bug entdeckte - er hat direktes Liz. Abkommen mit Parallels) das weiterzuleiten.

Mehr mag ich nicht.

Ich persönlich denke das ist ein klassischer Fall, der zeigt wie kritisch das ist closed source on Top auf Linux laufen zu lassen. Der Fehler hier wäre mit einem Einzeiler sofort behoben, so aber können wir den Bug nur mit offenem Mund bestaunen.

Und wie gesagt, das lässt tief blicken in das QM bei Parallels. Solche Bugs werden sich vermutlich überall bei deren im Source finden. Ganz ganz fiese Sache.

Wer sich berufen fühlt kann das gerne auch noch selber mit denen bei Plesk ausdiskutieren.



Klaus
 
Ja, was soll ich sagen....

Du hast es scheinbar drauf, solche Fehler usw. zu erkennen, zu analysieren und entsprechend eventuelle Hintergründe zu ermitteln sowie ein Bugfixing zu erstellen. Dafür zolle ich Dir ohne jegliche Ironie tiefen Respekt.
Die Thematik hierbei wäre aber, dass ich nicht einmal ein Problem damit hätte, dem Support von Parallels dies zu übermitteln - jedoch aufgrund fehlendem Knowhow werde ich bei jeglichen Rückfragen scheitern und somit wahrscheinlich nicht ausreichend dokumentieren können, als das ein Case aufgemacht wird.

Was ich damit sagen will - egal wie schlecht ein QM von einem Hersteller sein mag, es hilft den Anwendern nicht, wenn kompetente Leute wie Du den Kopf in den Sand stecken.

Es ist kein Vorwurf, aber man oft liest man auch von Menschen mit Deiner Einstellung das Gemecker, wenn die eigenen Server von irgendwelchen Botkisten zukünftig attackiert werden.

Mag sein, dass es andere anders sehen, jedoch bin ich der Meinung man sollte Probleme aus der Welt schaffen, statt nur die Schuld zuzuweisen.
 
@ Klaus,

warum hast Du anstatt Parallels anszuschreiben an Strato geschrieben?

Wenn ich ein Problem mit dem Auto habe, gehe ich doch auch nicht zu Lidl und beschwere mich sondern suche die Fachwerkstatt auf. (OK, der Vergleich ist nicht der beste...)

Du hast keine Zeit den Hersteller der Software zu informieren aber die Zeit mindenstens 2 Emails an Strato zu schreiben, die am Code KEINE !!! Änderungen vornehmen können? Eigenartig...

Wie Nuck Nuck schon schrieb, sollen wir dies an Parallels melden wo wir von dem Problem keine Ahnung haben und keine einzige Rückfrage beantworten können?

Gruß

Ulf
 
Wenn ich ein Problem mit dem Auto habe, gehe ich doch auch nicht zu Lidl

Wenn Du Dein Auto bei LIDL kaufst, doch.

In erster linie haftet der Verkäufer einer Sache, nicht der Hersteller. Erst nach dem Verkäufer darfst Du Dich an den Hersteller wenden.

Der Hersteller ist in diesem Falle Parallels, der Verkäufer STRATO.
 
@SeToY: Hier geht es aber nicht darum, ein Produkt, welches er gekauft hat, nachbessern zu lassen, sondern darum, dass Plesk eine Lücke hat, die für alle gefährlich ist.

Als Ford-Fahrer darf ich ja auch BMW anschreiben, wenn ich feststelle, dass deren Autos ab 100km/h Reifen verlieren.

Klar kann Strato hier bestimmt mehr Druck machen als ein nicht-Kunde, aber Parallels müsste doch eigentlich aus Eigeninteresse tätig werden.

=>@Kdeiss: Bitte schreib den Laden doch direkt an, vielleicht hilfts ja doch.
 
Druck entsteht erst, wenn man es Publik macht, was hier geschehen ist. Ob Strato nun auch mitmacht oder nicht, ist uninteressant.

Viele fähige Leute, die sich an Entwickler unterschiedlicher Software wenden, werden durch das Nichthandeln derjenigen abgeschreckt.

Ich finde es gut, wenn solche Exploits öffentlich gepostet werden und auch Anwendung finden. Nur dadurch entsteht der Handlungsdruck der Entwickler und Bugfixes werden Priorisiert.

Es würde ja ausreichen den Link zum Thread einfach an das Entwicklerteam zu schicken. Vielleicht werden die dann in Zukunft dieses Forum öfters besuchen und zum Thema Sicherheit noch weiter belehrt.
 
Dass durch das Publikmachen ein gewisser Druck entsteht ist richtig, das sollte aber die letzte Möglichkeit bleiben (nämlich für den Fall, dass der Hersteller nicht reagiert oder sich weigert, zu fixen).

Wer sich öfters Security-Advisories durchliest, wird öfters eine Timeline sehen, die genau das erkennen lässt.

Ich kann ehrlich gesagt auch überhaupt nicht nachvollziehen, dass jemand doch einigen Aufwand in das Eingrenzen einer Lücke steckt und dann ohne validen Grund den Hersteller nicht informiert, dafür aber ein Forum und einen Hoster (der vllt einen besseren Draht zu Parallels haben mag, aber da überhaupt nicht in der Verantwortung ist, den Bugreport für den OP zu erledigen).
 
Ich habs versucht ......

Gestern das erste Mal, heute erneut. Mit anderem Browser und anderer Mailadresse. Ich scheitere aber schon daran mich bei Parallels im Forum anzumelden.

Es ist so eine art self-fulfilling prophecy. Ich hatte einen Widerwillen dagegen, ich mach das beruflich und ich weiß einfach was mich erwartet wenn ich an große Firmen herantrete.

Je größer desto schlimmer. Das man sich allerdings gar nicht anmelden kann habe ich so auch noch nicht erlebt. Es kommt einfach keine Bestätigungsmail an.

Ich habe heute noch ein Mail an heise.de security abgeschickt und auf diesen Thread verwiesen. Vielleicht greifen die die das Thema auf und das zeigt dann Wirkung.

Mehr kann und will ich in dieser Angelegenheit wirklich nicht unternehmen, wem das nicht reicht der möge das bitte selber versuchen, der Vorgang ist hier in dem Thread hinreichend dokumentiert.

klaus
 
Back
Top