Ich muss auch sagen, danke für diese schöne Zusammenfassung... aber ich habe noch ein paar kleine Anmerkungen:
1. wäre es fantastisch, wenn ein (V)Server den man sich bei Netcup mietet, standardmäßig _aus_ wäre. Aus dem einfachen Grund, dass die Kiste, bis man dann mal die e-Mail gelesen hat dass der Server bereit ist, ein großes offenes Scheunentor mit Netzwerkanschluss ist. Ich konnte gar nicht schnell genug alle Daemons aus machen und nen Public-Key für's Login erstellen bevor der erste Bot schon einen Portscan gemacht hat.
2. Finde ich es gut dass sich scheinbar doch viele Sorgen um die Sicherheit ihres Servers machen. Leider wird auch hier im Forum immer wieder auf die Firewall verwiesen. "Leider" weil leicht der Eindruck entstehen kann, diese Firewall würde in irgendeiner Weise die Sicherheit des Servers erhöhen. Zugegeben das war jetzt etwas ketzerisch. Aber der Grundgedanke dahinter ist einfach der, dass ich oft erlebt habe dass die leute nachlässig werden. "Ich hab 'ne Firewall, also bin ich sicher!"
NEIN!
Meistens kommt es dann doch so:
Die Firewall ist aktiv und blockiert jeden Zugriff und lässt nur die Verbindungen zu Ports zu, an denen auch wirklich ein Daemon lauscht.
Das ganze hat aber einen einfachen Denkfehler. Es bringt nix da zu blocken wo sowieso keiner Lauscht! D.h. eine solche Firewall ist schlichtweg sinnlos.
Viel wichtiger ist es zu ganz sicher zu wissen welche Dienste überhaupt laufen, wo sie lauschen und wie ich diese absichern kann. Es ist niemandem geholfen wenn ich in der Firewall alles außer Port 80 blocke und auf Port 80 lauscht dann ein Apache mit allen aktivierten Modulen, hübsch PHP und Perl und was-weiß-ich-Code-Ausführer und einer unangepassten Standard-Config.
Daher möchte ich noch auf einige Hilfreiche Webseiten verweisen:
APACHE:
Securing Apache 2: Step-by-Step | Symantec Connect Community
20 ways to Secure your Apache Configuration
PHP:
Securing PHP: Step-by-Step | Symantec Connect Community
Checklist for Securing PHP Configuration | Ayman Hourieh
Apache2 Worker mit PHP und fcgid (FastCGI) SuExec auf Debian Lenny » Debian Root
Ähnliche Anleitungen findet man auch für Postfix/Dovecot etc.
Und nicht vergessen... am schönsten wäre es wenn jeder Dienst in einem eigenen chroot-jail laufen würde. Leider kenne ich keine Möglichkeit das für jeden Dienst um zu setzen ... aber mindestens für den Apachen (auch mit php und sql) geht das.
Und ein zum Schluss: Firewall sind wirklich ein tolles Werkzeug, gerade um den Zugriff auf den Server nur von einer IP zu ermöglichen usw. ... aber sie sind halt kein Zaubermittel.