PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sicherheitslücke im Webserver



Hagbard235
22.06.06, 11:43
Hi,

ich habe auf meinem Server ein Problem. Irgendjemand verschafft sich zutritt zu einer Domain und installiert Software. Das PW des Users habe ich schon geändert (auf 20-stellig und zufällig) so das ein Zugriff per SSH oder ähnlichem unwahrscheinlich ist. Ich vermute im PHP eine Lücke, mit welcher er sich Zugriff verschafft hat.

Installiert ist:
Apache 2.0.48
PHP 4.4.2
darauf läuft nur ein CMPro

Nach welchen möglichen Lücken müsste ich wohl schauen?
Ich weiss das jemand beim 2. mal C99-Shell installiert hat um damit weitere Programme zu installieren und zu starten, das habe ich natürlich jetzt entfernt, aber wie hat er C99-Shell darauf bekommen?

Gelegentlich wird auch die index.html überschrieben (bzw. manchmal auch nur durch müll ergänzt).

Helft mir, wonach soll ich suchen?

Hagbard235
22.06.06, 12:14
Danke, das nette Nachbarforum hat geholfen. Es gibt eine Sicherheitslücke im CMPro. http://www.egocrew.de/board/thread.php?postid=101708&sid=42a8919204d8e964549ffa38ccf42641#post101708

ThomasG_gPM
23.06.06, 12:14
Und nicht vergessen: neu aufsetzen.

Hagbard235
25.06.06, 11:07
Habe alles was den User der betroffen war gelöscht und neu aufgesetzt, den ganzen Server halte ich für übertrieben da der Zugriff auf den Domain-User beschränkt war. Die log-Dateien haben auch nichts weiter ergeben und eine Suche nach geänderten Dateien nur erwartete Ergebnisse geliefert.

bla!zilla
25.06.06, 11:14
Nicht übertrieben, sondern auf jeden Fall notwendig. Dir fehlen die Kenntnisse um eine evtl. installierte Backdoor zu finden. Also - neu installieren um sicher zu gehen. Alles andere ist grob fahrlässig.

Hagbard235
26.06.06, 12:42
Mag sein das mir die Kentnisse fehlen zu beurteilen wo eine Backdoor installiert wurde, aber ich weiss wo der User der missbraucht wurde schreibrechte hatte. Wenn das Sicherheitskonzept von Linux nur irgendwie funktioniert, sollte dieser "Karantäne-Bereich" ja wohl ausreichend sein. Andererseits müsste ich die Daten von zig Usern löschen (und könnte sie eh nur aus der Sicherung zurück laden) ohne zu wissen ob sich daran was geändert hat und würde ggf. die selben "infizierten" Daten wieder zurückladen.

marce
26.06.06, 13:00
tja, dieses Schicksaal scheint Dir zu drohen.

Installiere die Kiste bitte komplett neu - der Einbruch erfolgt vielleicht über einen unprivilegierten User, aber dann gibt's evtl. einen Exploit, der ihn zu root macht. Und schon ist das komplette System "hinüber".

Hagbard235
26.06.06, 13:40
Aber woher soll ich dann wissen, was ich zurückspielen kann. Ich meine, ich werde NICHT den Server platt machen, samt allem was drauf ist, ich muss danach ja schon die alten Daten zurück kopieren aus der täglichen Sicherung. Aber damit kann ich mir doch trotzdem den Schrott wieder ins Boot holen...

marce
26.06.06, 13:43
Daten kannst Du zurückkopieren - das ist ja nix gefährliches drin (sollte zumindest)

Anwendungen neu aus vertrauenswürdiger Stelle installieren und System entsprechend absichern, damit die alte Lücke nicht mehr offen ist...

Hagbard235
26.06.06, 13:50
"Daten" sind aber auch alle PHP-Anwendungen z.B. die darauf installiert sind! Und wenn er da etwas eingebaut hätte, wäre auch wieder eine Lücke vorhanden.

Einen Server neu aufsetzen (weil man nicht weiss was passiert ist) ist in meinen Augen nicht sinnvoll.

(Ausserdem erninnert es mich an die ganzen Windoofs-User deren einzige Lösung bei Win-Problemen ist - format c und neu installieren, nur weil sie keine Ahnung haben, wie sie dem Problem Herr werden können).

Es kann Sinn machen nach dem Einbruch das System neu aufzusetzen um neueste Versionen aller installierter Anwendungen zu kriegen, ja da geb ich euch recht und im selben Zuge auch Sicherheitslöcher zu stopfen.

Aber nur, weil man nicht weiss was der "fremde" getan haben könnte? :eek: Da mach ich mich doch eher ans auswerten der Log-Dateien, kontrolliere veränderte Dateien im Zeitraum, ggf. vergleiche ich sie mit alten Backup-Ständen usw. statt "blind" einen Server neu aufzusetzen. Ich kenne auch keinen Admin bei größeren Server, der mal eben sagt: ******* was drauf, ich setz ihn neu auf. Neben der Zeit die sowas kostet stellt es auch für eine gewisse Zeit ein Problem für die User dar, da das System nicht zur Verfügung steht.

Ich meine, das hier ist kein Privat-PC, den ich mal eben neu installier, darauf sind 12 Domains gehostet, welche verschiedenen Leuten gehören. Denen kann ich nicht erzählen: Hab keine Ahnung, ich installier mal neu.

marce
26.06.06, 13:59
klar - forensische Analyse gehört dazu.

Aber es ist nun mal so: Du kannst dem Server nicht mehr vertrauen.

Daher also: vom Netz nehmen, Sichern (für Analyse), neu aufsetzen. Und ja, es wird für Kunden Ausfallzeiten geben.

Hagbard235
26.06.06, 14:19
Warum gehst du eigentlich nicht auf den Punkt ein: "Zurücksichern und damit "die Gefahr" wieder ins Haus holen"

Ich meine, ich kann doch garnicht sicher sein, wenn ich Kundendaten zurücklade, das diese nicht infiziert sind. Und wenn ich es bin (weil ich alles Wege des Hackers nachvollzogen habe) warum sollte ich dan dem System nicht mehr trauen?

choener
26.06.06, 15:17
Wenn du dir _ganz_ sicher bist, das alles in Ordnung ist, kannst du den Rechner so lassen. Die Frage ist, warum bist du dir "ganz sicher" und weshalb meinst du, "ganz sicher" sein zu können.

Aus dem Backup kannst du zurückspielen, allerdings sollten Dinge wie php-Skripte durchgesehen werden, ob diese noch in Ordnung sind.

Gegen spätere Vorfälle dieser Art mag es auch sinnvoll sein, Checksummen aller Dateien zu speichern, die sich nicht oft ändern.

Ich bin allerdings auch eher der Meinung, das alles was irgendwie ausführbar ist, nicht aus dem Backup sondern aus offiziellen Quellen kommen sollte.

Übrigens sollten die Kunden informiert werden, damit diese nachsehen können, ob ihre Daten noch in Ordnung sind.

Gruss,
Christian

Hagbard235
26.06.06, 15:50
Sicher? Wer kann sich schon sicher sein ;-) Aber mit einem neuen System bin ich mir genauso unsicher, denn im alten kennt man ja seine Lücken (und stopft sie) aber im neuen müsste man erst wieder komplett schauen was zu stopfen ist, alle Patches und Updates nachfahren, und wehe ich vergesse eins :-)

Ich dachte eigentlich, das solche "Komplettmaßnahmen" durch Linux-Benutzerrechte abgefangen werden sollten. Gibt es wirklich so viele Löcher bei den Benutzerrechten das man ihnen nicht trauen kann, oder ist es einfach nur skepsis und misstrauen?

Ich meine, ich mag halt nicht das Haus abreissen, nur weil einer die Kellertür eingetreten hat. :cool:

choener
26.06.06, 16:14
Das Einspielen der aktuellen Patches läuft bei eigentlich allen Distributionen über ein paar Klicks oder eine Zeile Schreibaufwand, das sollte nicht hinderlich sein.

Natürlich funktioniert das Rechtemanagement in Linux, allerdings muss man einfach davon ausgehen, das wenn ein System kompromittiert wurde, nicht nur "die eine" Sicherheitslücke ausgenutzt wurde, sondern mehrere.

Um mal dein Hausbeispiel aufzugreifen: es besteht die Möglichkeit das dein Haus verwanzt wurde. ;) Danach bleibt dir auch nichts übrig als alles zu zerlegen und nachzusehen. Das ist hier halt die Neuinstallation der Software.

Hagbard235
26.06.06, 16:30
Nur ums Beispiel richtig zu machen:

Zerlegen und nachsehen, würde ich eher als Suche nach Wanzen (Backdoors usw.) im bestehenden Haus beschreiben, also das was ich gerne machen würde.

Was du beschreibst ist, das Haus sprengen (einreissen, was auch immer) und hoffen das damit die Wanzen auch kaputt sind.....

....nur doof wenn man vorher die Möbel rausträgt und sich in denen die Wanzen befinden....denn die trägt man ja meist auch wieder rein... :ugly:

Der Aufwand ist halt imens, deswegen sträube ich mich halt auch...
Schau mal, was ich tun müsste (OK, wenn du die Distri liesst, würst du gleich wieder sagen: Abreissen, neu bauen)

Ich fahre ein System mit Suse 9.0, PHP4, MySql (auch nicht das neueste, müste jetzt nachsen) usw. usw.

Wenn ich das System jetzt neu machen würde, dann müsste ich
- die Kunden-Dateien sichern
- alle Kunden-Anwendungen auf tauglichkeite zum neuen Mysql/PHP/PHPMyadmin untersuchen
- DB-Backup machen
- Visas-Daten sichern
wobei das Problem ist, das ich dann automatisch auf ServerAdmin24 wechseln müsste, also alle DAten abschreiben (auch die der Kunden) und von Hand wieder eintragen
- das Teil platt machen
- zusehen das ich nach neubeschuss alle Tools wieder drauf kriege
- die Kunden-Software neu installieren und zwar so das alles wieder wie vorher läuft (was ich mangels Software-Berechtigungen aber nur per Schuss ins blaue kann, da ich die Software ja nicht testen könnte)
- alles an Daten zurückkopieren
- alle PHP's auf dem Server kontrollieren
und hoffen das alles Kompatibel war.....
und wehe wenn nicht.... denn zurück gehts ja nicht....

Achja, dies ganze Benutzer-Anlege-******* usw. hab ich auch noch vergessen.

Andererseits wäre es erneute eine gute Möglichkeit sich mehr mit dem System zu beschäftigen (denn wenns nicht sein muss, tut mans ja nicht).

Als Problem kommen Erfahrunglücken dazu, ich hantiere mit Linux erst seit einem Jahr, erarbeite mir in eigenarbeit erst mein Wissen, jedes Problem schult mich ein wenig mehr ;-)

Ich zwar grundsätzlich mit der ganzen Materie vertraut, kenn aber die ganzen Linux-Besonderheiten garnicht, bis vor einem Jahr waren mit make usw. noch Fremdwörter.... (jaja, bin mit Windoofs groß geworden und kenne das so ziemlich wie meine Westentasche).

Ich mag einfach nicht glauben, das ein angeblich so stabiles System wie LInux derart anfällig sein soll. Ich betreue Windoofs-Recher (Server wie Clients) seit Jahren, dort ist mir so ein FAll nicht einmal untergekommen (also der Notfall das man ein System komplett neu aufsetzen muss, weil, ja weil, warum eigentlich?) Dort weiss ich, wo ich schauen muss, wo sich die Bösewichter reinklemmen usw. usw. ich hatte mir erhofft mir steigender Erfahrung das mit LInux auch zu können, aber eure Aussagen erschrecken mich schon ein wenig. Allein der Gedanke nicht zu wissen, was da jemend fremdes getan hat und nicht sicher zu sein wo er dran rumgedreht hat, ist mir ein unbehagen, aber deswegen umziehen/neubauen.... lieber alle räume säubern und dem Typen in den Arsch treten der da eingebrochen hat....(das ist ein anderes Thema)...... und ich hoffe das ihr mir da die richtigen Tipps geben könnt. (Versprochen, lerne schnell :D )

Vielleicht habt ihr gleich zu dem Thema noch ein paar Tipps: MySql und Update (bzw. wie hier wäre es ja "altes Dump" in neues Mysql einspielen), gibts dazu irgendwo was zum nachlesen? Bislang waren sogar SQL-Exports und Imports bei verschiedenen Versionen eine Katastrophe was die Kompatibilität anging. Beim letzten mal hab ich als Rettung sogar per CSV-Datei gemacht.

Hagbard235
27.06.06, 13:29
Nanu, hab ich euch mit der Länge des Beitrags oder dem unqualifiziertem Inhalt verschreckt :D :confused:

marce
27.06.06, 13:31
das nicht, nur habe ich z.B. auch noch anderes zu tun.

Aber ja - doch, es ist ein Aufwand das zu tun, und je nach dem, wie komplex die Einrichtung des Servers war ist der mehr oder weniger hoch.

marce
27.06.06, 13:46
Nur ums Beispiel richtig zu machen:

Zerlegen und nachsehen, würde ich eher als Suche nach Wanzen (Backdoors usw.) im bestehenden Haus beschreiben, also das was ich gerne machen würde.

Was du beschreibst ist, das Haus sprengen (einreissen, was auch immer) und hoffen das damit die Wanzen auch kaputt sind.....
Prinzipiell ja - dafür ja das Backup (forensische Analyse)

Aber Du willst ja in dem Haus weiter wohnen - und das tut man nicht in einer Umgebung, der man nicht vertrauen kann. Daher also - neues Haus.



....nur doof wenn man vorher die Möbel rausträgt und sich in denen die Wanzen befinden....denn die trägt man ja meist auch wieder rein... :ugly:
Ein eigenes Thema - Vertrauenswürdigkeit von Backups. Sollte gegeben sein, durch ein entsprechendes Vorgehen bei Updates, ...


Der Aufwand ist halt imens, deswegen sträube ich mich halt auch...
Schau mal, was ich tun müsste (OK, wenn du die Distri liesst, würst du gleich wieder sagen: Abreissen, neu bauen)

Ich fahre ein System mit Suse 9.0, PHP4, MySql (auch nicht das neueste, müste jetzt nachsen) usw. usw.
AFAIK gibt's keine Updates mehr für 9.0 - daher wäre ein Umstieg wirklich angebracht. Oder halt manuell einspielen...


Wenn ich das System jetzt neu machen würde, dann müsste ich
- die Kunden-Dateien sichern
- alle Kunden-Anwendungen auf tauglichkeite zum neuen Mysql/PHP/PHPMyadmin untersuchen
- DB-Backup machen
- Visas-Daten sichern
wobei das Problem ist, das ich dann automatisch auf ServerAdmin24 wechseln müsste, also alle DAten abschreiben (auch die der Kunden) und von Hand wieder eintragen
- das Teil platt machen
- zusehen das ich nach neubeschuss alle Tools wieder drauf kriege
- die Kunden-Software neu installieren und zwar so das alles wieder wie vorher läuft (was ich mangels Software-Berechtigungen aber nur per Schuss ins blaue kann, da ich die Software ja nicht testen könnte)
- alles an Daten zurückkopieren
- alle PHP's auf dem Server kontrollieren
und hoffen das alles Kompatibel war.....
und wehe wenn nicht.... denn zurück gehts ja nicht....

Achja, dies ganze Benutzer-Anlege-******* usw. hab ich auch noch vergessen.
Womit schon wieder gezeigt ist, dass "ein Root-Server" ein Hobbie ist, welches durchaus ein wenig Zeit und Verantwortung braucht.


Ich mag einfach nicht glauben, das ein angeblich so stabiles System wie LInux derart anfällig sein soll. Ich betreue Windoofs-Recher (Server wie Clients) seit Jahren, dort ist mir so ein FAll nicht einmal untergekommen (also der Notfall das man ein System komplett neu aufsetzen muss, weil, ja weil, warum eigentlich?)
Das hat nichts mit der Stabilität von Win oder Linux zu tun. Es gab in einer Anwedung eine Lücke (die evtl. schon gepatcht war, nur hast Du das Update nicht eingespielt?). Über diese Lücke kam wohl jemand auf Dein System und hat damit die Systemgrundlagen ausgehebelt. Das funktioniert sowohl unter Win als auch unter Linux - solche Lücken gibt es überall.



Dort weiss ich, wo ich schauen muss, wo sich die Bösewichter reinklemmen usw. usw. ich hatte mir erhofft mir steigender Erfahrung das mit LInux auch zu können, aber eure Aussagen erschrecken mich schon ein wenig. Allein der Gedanke nicht zu wissen, was da jemend fremdes getan hat und nicht sicher zu sein wo er dran rumgedreht hat, ist mir ein unbehagen, aber deswegen umziehen/neubauen....
gerade eben, weil man ohne entsprechende Vorbereitungen nicht sagen kann, wo was verändert wurde - baut man neu.

Du kannst natürlich auch mal von sicherer Quelle aus (z.B. ein RO-Backup von der erst-Installation aus) die MD5-Summen der Dateien vergleichen, nach Rootkits suchen, ... - aber das ist auf jeden Fall auch ein Aufwand, der gemacht werden muss und der dafür sorgt, dass das System so lange nicht verfügbar ist.


lieber alle räume säubern und dem Typen in den Arsch treten der da eingebrochen hat....(das ist ein anderes Thema)...... und ich hoffe das ihr mir da die richtigen Tipps geben könnt. (Versprochen, lerne schnell :D )
Klar - das sowieso. Ist aber ähnlich wie beim TÜV - wenn der meint, das Auto sei nicht mehr verkehrrsicher darfst Du auch erst mit dem Taxi heim, bevor Du es reparieren darfst (und das so, dass Du es abschleppen musst und nicht mit den kaputten Auto heimfahren) - wenn Du solange mobil sein willst brauchst Du eben einen Mietwagen...


Vielleicht habt ihr gleich zu dem Thema noch ein paar Tipps: MySql und Update (bzw. wie hier wäre es ja "altes Dump" in neues Mysql einspielen), gibts dazu irgendwo was zum nachlesen? Bislang waren sogar SQL-Exports und Imports bei verschiedenen Versionen eine Katastrophe was die Kompatibilität anging. Beim letzten mal hab ich als Rettung sogar per CSV-Datei gemacht.
Die üblichen Tipps finden sich alle hier im Forum - nur nötige Dienste freigeben, chroots einsetzen, PW und Zugänge sichern und minimieren, ... einfach mal ein wenig suchen...

Hagbard235
27.06.06, 13:59
das nicht, nur habe ich z.B. auch noch anderes zu tun.


Sorry, war keine Kritik.....hätte mich aber bei meinem doch etwas länglichen Beitrag nicht gewundert ;-)



Die üblichen Tipps finden sich alle hier im Forum - nur nötige Dienste freigeben, chroots einsetzen, PW und Zugänge sichern und minimieren, ... einfach mal ein wenig suchen...
Meine Frage bezog sich eher auf die Kompatibilität der MySQL-Varianten untereinander als auf die Sicherheit. Also WIE vernünftig ein Backup erstellen so das ich es auch in der neuen Variante problemlos wieder einspielen kann etc. etc. sowas in der Richtung.

marce
27.06.06, 14:06
Naja - einen Dump, der sich an die SQL89 / 92-Spezis hält sollte man in jede DB rein bekommen...

Bei phpMyAdmin z.B. oder auch bei mysqldump kann man das einstellen...