Zur Zeit beschäftigt mich ja das Rootserver-Setup. Da nutze ich natürlich die Gelegenheit und poste ein paar Server-Essentials. Mit PHP hat das ganze natürlich nur am Rande zu tun, aber ein sauber aufgesetzter Webserver, auf dem aktuelle Sicherheitspackages installiert sind, ist die halbe Miete für eine ordentlich laufende PHP-Applikation.
Für so ziemlich alle Betriebssysteme (gerade die mit Enduser-GUI) gibt es zahlreiche Tools, die den Benutzer oder Admin erinnern, das neue Update-Pakete bereitstehen. Denn das ist tatsächlich die größte Schwachstelle, wenn es um Patches geht: Der Admin, der daran denken muss, sie auch einzuspielen.
Das A und O beim Package einspielen ist die Geschwindigkeit. Lange Wartezeiten sind ein K.O. Kriterium, denn Sicherheitslücken werden oft in kürzester Zeit von Script-Kiddies oder anderen Bösewichten und Halunken (Cool das wollte ich schon immer mal schreiben ;) ausgenutzt. Schnell reagieren ist also alles. Nichts ist ärgerlicher als ein infiltrierter Server auf Grund einer Sicherheitslücke, die schon längst gepatcht sein könnte.
Wie erfährt also der Admin nun von aktualisierten Packages? Da gibt es zum Beispiel cron-apt. Verlinkt habe ich eine ziemlich gute Einführung ins Thema von meinem Namensvetter Tim Bormann. cron-apt kann von einer Benachrichtungs-E-Mail bei bereitstehenden Packages bis hin zum automatischen Einspielen der selben so ziemlich alles automatisieren.
Ich muss zugeben, das dieses Paket existiert weiss ich erst seit wenigen Wochen. Bis dahin hatte ich mir schon selbst eine Lösung gebastelt. Ihr wisst, ich teile gerne und genau deshalb stelle ich meine Lösung zum Download bereit:
http://www.phpblogger.net/download/check_updates.sh
Update vom 12.02.2009:
Version 1.1 steht jetzt unter obiger URL bereit. Neu sind folgende Dinge:
- Der E-Mail Betreff ist um den Hostnamen erweitert (Praktisch, wenn man mehrere Server überwachen möchte)
- Wenn das mail-Kommando auf dem Server verfügbar ist, wird es bevorzugt. Alternative und Fallback ist weiterhin das sendmail-Kommando.
Die Installation ist ziemlich einfach:
- Runterladen
- Anpassen (Admin E-Mail eintragen)
- auf den Webserver ins Verzeichnis
/etc/cron.dailykopieren - Ausführbar machen
- fertig
Einmal am Tag wird dann geprüft, ob neue Updates via apt-get bereitstehen. Das Package ist also Pflicht, damit alles funktioniert. Falls Updates bereitstehen, schickt das Script eine Mail an die angegebene E-Mail-Adresse und listet die aktualisierten Packages.
Was es nicht macht, ist eine automatische Installation. Davon halte ich nichts: Admin zu sein bedeutet eben auch ein bisschen Handarbeit, nur dann hat man die volle Kontrolle über seinen Server. Und es kann durchaus vorkommen, das man einen bestimmten Patch oder ein Kernel-Update eben nicht einspielen möchte.
Der Vorteil in meinem kleinen Script ist ganz klar: Es ist übersichtlich und transparent. Im Gegensatz zu fertigen Packages wie cron-apt weiß man ganz genau, was passiert und gibt die Kontrolle nicht aus den Händen - vielleicht nutzt es dem ein oder anderen ja…
PS: Ebenfalls eine interessante Sache mag die Lösung von Macskeeball (englisch) sein: Er verwendet für die Benachrichtigung Twitter…
Ähnliche Artikel:





