Der Artikel behandelt Sicherheitsmassnahmen in geteilten Hosting-Umgebungen. Er betont, dass Sicherheit ein fortlaufender Prozess ist, der eine gründliche Zielprüfung erfordert. Um Schwachstellen zu minimieren, sollte man von Standards abweichen, wie z.B. Administrator-Zugänge und Datenbank-Präfixe ändern. Wichtig ist, stets aktuelle Softwareversionen zu nutzen und ungenutzte Programme zu entfernen. Für Web-Server wird FastCGI empfohlen, während FTP- und Mail-Server nur verschlüsselte Verbindungen nutzen sollten. Passwörter sollten regelmässig geändert und komplex gestaltet werden. Rechtliche Grundlagen werden ebenfalls angesprochen.
Der folgende Artikel thematisiert die wichtigsten Punkte bezüglich Sicherheit in einer geteilten Hosting-Umgebung und vermittelt zu treffende Maßnahmen sowie Ratschläge.
Sicherheit als fortlaufender Prozess erfordert eine vorgängige Prüfung der eigenen Ziele. Dies bedeutet, je sicherer die Umgebung gestaltet werden soll, desto aufwendiger wird die Implementation und die Wartung dieser.
Eine öffentlich zugängliche Präsenz bietet per se bereits eine Anzahl möglicher Schwachstellen, da diese auch für jedermann zugänglich sein soll. Es muss somit sichergestellt werden, dass die einzelnen Zugriffsvarianten gegen Fremdeinflüsse gut geschützt sind.
Folgender wichtiger Punkt vorab gilt für jegliche Komponenten:
- Weichen Sie von Standards ab
Jede Web-Applikation arbeitet mit einem entsprechenden Administratoren-Zugang, welcher standardmäßig mit einem vordefinierten Benutzernamen zugänglich gemacht wird. Ändern Sie diesen spätestens bei Umschaltung auf den Produktivbetrieb.
Ebenfalls arbeiten viele Applikationen mit vordefinierten Datenbank-Tabellenpräfixen und Verzeichnispfaden. Ändern Sie auch diese bei Installation, um automatisierte Angriffe (Exploit Scans) ins Leere laufen zu lassen.
Web-Applikation
Web-Server
FTP-Server
Mail-Server
Datenbank-Server
Passwörter
Rechtliche Grundlagen (Auszug)
Web-Applikation
- Stellen Sie sicher, dass Sie jeweils die aktuelle Version des Programmes einsetzen
- Installieren Sie nur Module/Komponenten, die Sie auch wirklich benötigen. Jedes zusätzliche Modul erhöht die Angriffsfläche. Wichtig ist, dass diese Module regelmäßig aktualisiert werden. Nicht weiterentwickelte Komponenten sind sehr unsicher.
- Nicht mehr aktive und ungewartete Programme/Applikationen dürfen nicht öffentlich zugänglich sein. D. h. wenn z.Bsp. testweise ein CMS in einem Unterverzeichnis installiert wird und danach nicht mehr verwendet wird, kann dies auch die aktive Präsenz tangieren – analog verhält es sich mit ersetzten Programmen/Web-Applikationen (Beispiel: in Unterverzeichnis /wp ist die aktive WordPress-Installation aktiv und die Alte wird auf /wp_old umbenannt). Die alte Umgebung und dadurch auch die neue bleiben in dieser Form angreifbar.
Web-Server
- Verwenden Sie zur PHP-Ausführung FastCGI, um PHP unter dem FTP-Benutzernamen betreiben zu können
- Ändern Sie die Rechte kritischer Konfigurationsdateien (Passwortdateien) ausnahmslos auf 600.
- Verhindern Sie Web-Zugriffe auf sicherheitsrelevante Scripts und Git Repositories via .htaccess (Deny from all)
- Verhindern Sie unprivilegierte Web-Zugriffe auf nicht öffentliche Bereiche mit einem Passwortschutz.
FTP-Server
- Verbinden Sie sich ausschließlich verschlüsselt mit dem FTP-Server.
Mail-Server
- Verbinden Sie sich ausschließlich verschlüsselt mit dem Postein- sowie -ausgangsserver.
SMTP over SSL = Port 465 bzw. Port 587 (Submission)
POP3 over SSL = Port 995
IMAP over SSL = Port 993
Datenbank-Server
- Vermeiden Sie Standard-Datenbanknamen wie typo3, wordpress, joomla etc.
- Falls nicht benötigt, schränken Sie externe Verbindungen zur Datenbank ein, indem Sie nur lokale Verbindungen zulassen.
Passwörter
Achten Sie außerdem darauf, dass Sie die Passwörter für das Plesk Panel, den Backend-Zugang, FTP-Zugriff, Mail-Adresse sowie den DB-Benutzer jeweils regelmäßig ändern und mit einem Passwortgenerator generieren oder nach folgendem Schema vorgehen:
Das generierte Passwort …
- schöpft die volle Möglichkeit von mind. 16 (besser 32 oder mehr) Zeichen aus
- enthält mind. 2 Buchstaben unter Verwendung von Groß- als auch Kleinbuchstaben
- enthält mind. 2 Ziffern oder Sonderzeichen
- enthält keine (erkennbare) Systematik, d. h. erscheint wie eine zufällig erzeugte Zeichenfolge
- ist kein Wort einer bekannten Sprache
- enthält keine Namen, insbesondere nicht einen, der im Zusammenhang mit der Domain/dem Benutzerkonto steht
- ist nur dem Inhaber der Kennung bekannt
- Wird in angemessenen Abständen geändert.
Rechtliche Grundlagen (Auszug)