Der perfekte Server - Weitere sinnvolle Absicherungsmaßnahmen?

#1
Hallo,

ich habe das Tutorial "The Perfect Server" (The Perfect Server - Debian Wheezy (nginx, BIND, Dovecot, ISPConfig 3) | HowtoForge - Linux Howtos and Tutorials) durchgearbeitet.

Welche weiteren Absicherungsmaßnahmen des Servers sind nun noch sinnvoll?
- iptables
- Root Login verbieten
- unterschiedliche und sichere Passwörter
- Regelmäßige Updates per apt-get update && apt-get upgrade
- Apache Log und SSH Logs regelmäßig prüfen
- SSH auf anderen Port legen

Diese Punkte sehe ich als selbstverständlich an. Macht ihr sonst noch etwas zwecks Absicherung?

Gruß
gammlo
 
#2
Weitere Frage:
Ist bei einer Standardinstallation die sichere Trennung der Clients tatsächlich gegeben? Oder ist in irgendeiner Form ein "outbreak" aus dem eigenen Verzeichnis möglich? Sowohl per PHP als auch FTP. Für SSH gibt es ja das Jailkit. Sind diesbzgl. keinerlei Sicherheitslücken bekannt? Habe ich irgendwie ein komisches Gefühl bei :D

Ich denke dabei an Geschichten wie open_basedir etc.
 

Till

Administrator
#3
Jede Webseite läuft unter einem eigenen Linux user, die php scripte laufen also jeweils unter einem anderen User. Die trennung ist also so sicher wie das zugrundeliegende Linux System. Die php scripte laufen aber in keinem chroot, das geht nicht so ohne weiteres bei php, d.h. Du solltest php Funktionen die scripte aufrufen können und somit das open_basedir umgehen deaktivieren. Ansonsten kann man halt das vom System sehen, was für alle User global lesbar ist, andere Websites kann er nicht sehen da die web verzeichnisse sehr strikte Rechte haben aber natürlich world readable Dateien in /etc kann man sehen. Das FTP chroot ist vom ftp dameon, pure-ftpd hat aber einen guten security track record, da sind mir keine Probleme bekannt.
 
#4
OK, danke Till.

Kannst du mir die Fragen im Einstiegspost noch beantworten? Was ich also noch für die Serversicherheit tun kann, wenn ich dein Tutorial abgearbeitet habe und mehrere User parallel auf dem Server betreiben möchte.
 
#5
* auf jeden Fall kein Passwortlogin per SSH erlauben
* ich hab bei mir den mysql immer noch auf localhost gelassen. Leuchtet mir nicht ein, wieso ich das ändern soll (siehe Perfect Setup). Bei einem Multiserver-Setup, ok, aber bei einem Server???
* fail2ban einrichten
* verschiedene rdbls für postfix einrichten
* denyhosts
 

Till

Administrator
#9
Wie Nowayback schon geschrieben hat: Geschäftskunden. Denn es gibt schon einiges an Software die das nutzt wie z.B. Warenwirtschaftssysteme die Daten von Shops direkt per MySQL Verbindung auslesen oder Desktop Analysetools aus dem Bereich Vertrieb. Und es gibt auch Leute die z.B. die MySQL Desktop Tools verwenden um auf Datenbanken zuzugreifen, denn nicht jeder Windows DB Admin ist ein Freund der Linux Shell nur weil sein Arbeitgeber neben ein paar hundert Desktops auch noch einen Webserver für den Shop betreibt. Bei Datenbanken die größer als ein paar hundert MB sind kommt phpmyadmin beim Rücksielen von Backups auch schnell an seine Grenzen und dann kann man entweder auf die Shell wechseln oder eben die Desktop tools nehmen.
 
#10
ja klar, ich finde nur man sollte das in der Anleitung ergänzen. obwohl es ja in der Datei schon drin steht (this is a security risk) oder so ähnlich.

Zum Thema Sicherheit: phpmyadmin würde ich mal vermeiden, oder es gut verstecken :) Es gibt genug alternativen (adminer z.B. bin aber gerade am testen)
 

nowayback

Well-Known Member
#11
ja klar, ich finde nur man sollte das in der Anleitung ergänzen. obwohl es ja in der Datei schon drin steht (this is a security risk) oder so ähnlich.

Zum Thema Sicherheit: phpmyadmin würde ich mal vermeiden, oder es gut verstecken :) Es gibt genug alternativen (adminer z.B. bin aber gerade am testen)
Es ist für den 08/15 Kunden aber einfacher eine Weblösung ala phpmyadmin zu nutzen als sich separate Programme laden zu müssen. Daher ist es nicht die Suche nach Alternativen, die dich beschäftigen sollte, sondern eher die Suche nach Lösungen um den Zugang zu phpmyadmin abzusichern (Tipp: z.B. fail2ban hilft auch hier).
 
#13
Was ich persönlich extrem wichtig finde, tmp Verzeichnisse ausschließlich noexec mounten. Damit kann man grade im Bereich phpmyadmin/roundcube und andere CMS einen kleinen Riegel vorschieben. Das macht sie zwar alle nicht sicherer, aber ich sehe es auch nicht ein, meinen Kunden Webmail und Phpmyadmin zu verstecken.

Gruß Sven
 

nowayback

Well-Known Member
#14
verstecken ist sowieso keine lösung, denn die kunden müssen ja drauf zugreifen und kennen daher den link.

für außenstehende hilft es schon, phpmyadmin und co einfach auf einen anderen port zu legen. da vergeht den meisten schon die lust zu suchen. gleiches gilt auch für ssh.
 
#15
ja natürlich für die Kunden nicht. Aber halt eben nicht phpmyadmin.
Seit ich das geändert habe, sehe ich wieviele versuchen auf phpmyadmin zuzugreifen (wie schon gesagt: kein Kundenserver, nur von mir und meinem Bruder :)
 

Werbung

Top