Woran erkennt man Sicherheitslücken in (phpMyAdmin-) Webadministrationsoberflächen?

Derzeit wohl mal wieder der „neueste“ (Trojaner) Schrei:
Lücken in (phpMyAdmin)Webadministrationsoberflächen-Installationen automatisiert suchen, finden und ausnutzen. Leicht zu erkennen an ein paar Einträgen im Webserverlog. Immer wieder die gleichen Versuche mit unterschiedlichen Zielen: Über Web erreichbare Administrationsoberflächen (muss nicht nur phpMyAdmin sein) testen und dann u.U. auszunutzen.

Webserverlogs füllen sich dann immer wieder mit zig Zeilen hintereinander im Sekundentakt (hier ein kleiner Auszug):


82.xxx.yyy.zzz – – [25/Jul/2010:02:00:43 +0200] „GET /phpMyAdmin-2.6.1-pl1/scripts/setup.php HTTP/1.1“ 302 293 „-“ „Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6“
82.xxx.yyy.zzz – – [25/Jul/2010:02:00:43 +0200] „GET /phpMyAdmin-2.6.1-pl2/scripts/setup.php HTTP/1.1“ 302 293 „-“ „Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6“
82.xxx.yyy.zzz – – [25/Jul/2010:02:00:43 +0200] „GET /phpMyAdmin-2.6.1-pl3/scripts/setup.php HTTP/1.1“ 302 293 „-“ „Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6“
82.xxx.yyy.zzz – – [25/Jul/2010:02:00:43 +0200] „GET /phpMyAdmin-2.6.1-rc1/scripts/setup.php HTTP/1.1“ 302 293 „-“ „Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6“
82.xxx.yyy.zzz – – [25/Jul/2010:02:00:43 +0200] „GET /phpMyAdmin-2.6.1-rc2/scripts/setup.php HTTP/1.1“ 302 293 „-“ „Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6“
82.xxx.yyy.zzz – – [25/Jul/2010:02:00:44 +0200] „GET /phpMyAdmin-2.6.1/scripts/setup.php HTTP/1.1“ 302 293 „-“ „Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6“
82.xxx.yyy.zzz – – [25/Jul/2010:02:00:44 +0200] „GET /phpMyAdmin-2.6.2-beta1/scripts/setup.php HTTP/1.1“ 302 293 „-“ „Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6“

Tagtäglich gibt es derzeit mehrere solcher Versuche. Nicht nur phpMyAdmin. Eigentlich alles, was eine Weboberfläche für die einfachere Administration bietet.

Was kann man machen?
Natürlich sollte man grundsätzlich keine Administrationsoberflächen niemals, nie und nimmer offen zugänglich im Netz zur Verfügung stellen! Lässt sich das nicht vermeiden (weil es ja doch irgendwie bequemer ist als auf der Konsole), dann natürlich nur

  • wenn diese über HTTPS verschlüsselt ist (damit keine Passwörter im Klartext über die Leitung gehen)
  • sehr sichere Passwörter für den Login genutzt werden (ruhig extrem lange, 50 oder mehrstellige Buchstaben-, Zahlen-, Sonderzeichen-Kombinationen nehmen). Hier hilft es, Programme f. die sichere Passwortspeicherung (Passwordsafe, 1Password, zur Not mit GnuPG verschlüsselte Textdatei auf einem sicheren Medium usw.) zu nehmen
  • alle default-Loginbenutzer abändern
  • setup-Skripte können meist nach der Installation gelöscht werden (einfach woanders hinkopieren, wo kein HTTP Zugriff möglich ist, also z.B. auf seinen normalen Rechner, weg vom Webserver)
  • aktuelle Versionen installieren! Immer mal überprüfen, ob es nicht neue Versionen gibt.
  • Zugriff auf die Administrationsoberfläche zusätzlich noch mit .htaccess (und einem anderen sicheren Passwort!) einschränken
  • Standard-Installationspfad abändern: aus phpMyAdmin-versionX macht man etwas weniger eindeutiges
  • und die zusätzlich wohl beste Idee: virtuelle Hosteinträge mit anderen Ports, die nur über einen VPN Tunnel aus einem gesicherten Netz erreichbar sind. Die Firewall lässt diese Ports natürlich nicht offen von außen zu. Damit ist ein Zugriff aus dem VPN Netz über hostname:PortXYZ/webConfig/ möglich. Ohne VPN keine Chance…
  • Und dann noch die Variante der Sperren: Einfach mal überlegen, ob man einen HTTP Zugriff aus CZ, RU, JP, CN usw. usf. überhaupt braucht….

Eine weitere Variante als quasi IDS (Intrusion-Detection-System): Ein kleines Skript schreiben, welches irgendwie so heißt wie ein Skript, welches getestet wird.In diesem kann man dann ein paar nette Funktionen einbauen: Automatisch wird eine eMail bei Zugriff auf das Skript generiert, in dem ein Hack-Versuch mitgeteilt wird. Diese Mail schickt man sich selbst. Man wird erstaunt sein, wie häufig solche Mail reinkommt… Zusätzlich wird die IP Adresse des angreifenden Rechners (oder gleich das ganze IP Netz, aus dem er kommt? 😉 ) in eine Firewall-Regel, ipdeny, hostdeny oder sonstwas eingefügt. Zum Schluss noch eine Möglichkeit, die (mit einem Trojaner verseuchten?) Rechner zu beschäftigen: Man liefert einfach mal ein wenig Datenmüll aus…. Dann werden die zumindest noch etwas mit sinnlosen Dingen beschäftigt 😉

Was dann natürlich noch wichtig ist: Ruhig häufiger mal einen Blick in die Webserver-Logs werfen (sofern man Zugriff hierdrauf hat). Fallen einem dort Einträge obiger Art auf, ruhig mal darauf reagieren.

Natürlich gilt auch hier wie immer: Man macht alles auf eigenes Risiko. Alles sind nur Gedanken, Ideen, Vorschläge, Tipps. Ich übernehme keinerlei Gewähr auf Richtigkeit, Funktion, Rechtmäßigkeit usw. usf.

Dieser Beitrag wurde unter Allgemeines, Dokus und Tipps, Linux/ UNIX, Technikspielkram abgelegt und mit , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert