Du stellst sehr allgemeine Fragen, aber beim Thema Sicherheit gibt es selten allgemeine Antworten …
Macvot schrieb:
Dort fängt es ja schon an den Port für SSH zu ändern und nicht auf Port 22 laufen zu lassen
Bringt ungefähr so viel wie den Schlüssel oben auf den Türrahmen zu legen, anstatt ihn unter die Türmatte zu tun …
und User nur mit private-key anmeldung zu lassen.
Wenn du das machst, dann brauchst du auch den Port nicht verlegen. Es kann im Einzelfall Gründe geben, den Port zu verlegen, mit der Sicherheit haben die aber wenig zu tun. Gibt da bessere Lösungen, zum Beispiel Port-Knocking. Oder halt einfach Schlüssel verwenden und dann ausschließlich Schlüssel erlauben.
Wie sollte man auch das www Verzeichnis vor aussen schützen?
Hier ist der Teil, der sich nicht allgemein beantworten lösst. Vor wem soll da was geschützt werden. Und was ist da drin was geschützt werden muss? Ich nehme an, da liegt eine Webseite drin, also gehe ich davon aus, dass die größte Gefahr für diese Daten aus dem Internet kommt, nämlich von den Leuten, die diese Webseite aufrufen bzw. mit dem Webserver interagieren? Ist es eine dynamische Seite mit Skripten, die ausgeführt werden? PHP oder Ähnliches? Die Menschen, die Zugriff auf den Server bekommen, sollten vertrauenswürdig sein, sonst bekommen sie keinen Zugriff, fertig.
Sollte man den User root komplett deaktivieren und nur mit normalen Benutzern arbeiten?
Klingt generell nach einer gute Idee, ja. Im zweifelsfall halt sudo. Auf jeden Fall darf sich root nicht mit dem Server verbinden – PermitRootLogin
in der SSHd-Konfiguration.
Für die anderen Dienste müsstest du mehr ins Detail gehen, vor allem auch auf die Frage was für Nutzer diese Dienste in welcher Weise nutzen sollen … Zu sftp: SSH-Nutzer kann man recht schön in ihr Homeverzeichnis einsperren und die haben dann nur sftp-Zugriff. https://www.linode.com/docs/tools-reference/tools/limiting-access-with-sftp-jails-on-debian-and-ubuntu Ich habe natürlich keine Ahnung, ob das dir irgendwie hilft, weil ich nicht weiß, was die SSH-Nutzer bei dir machen sollen …
Was gibt es sonst noch was man unbedingt beachten sollte, wenn man so ein neuen Server installiert und der Außenwelt zur Verfügung stellen möchte (Webseite) . Noch eine Software-Firewall mit installieren, wenn ja welche wäre gut?
Personal Firewalls – um dir viel lesen zu ersparen: alles Bullshit. Das ist entweder ein eigenes System im Netzwerk, oder es ist nix wert. Auf deinem System ist es nur ein weiteres Werkzeug das richtig konfiguriert werden muss und mehr Code der ausgeführt wird und damit auch mehr potentielle Sicherheitslücken … Die Funktionen, die du anbieten willst, müsstest du ja dann ohnehin freischalten, aber das sind genau die Angriffsvektoren. Was du nicht anbietest kann auch nicht angegriffen werden …
iptables2 ist im Zweifelsfall ohnehin vorhanden – ist ein tolles Werkzeug, das richtig konfiguriert auch die Sicherheit positiv beeinflussen kann, aber ein magisches „install-and-forget“ gibt es da nicht. Sowas hilft eher im Zusammenarbeit mit anderen Tools wie fail2ban oder denyhosts. Und sei es nur um die Logfiles klein zu halten und nicht ohne ende gescheiterte Login-Versuche zu protokollieren.
Ach ja und … Sicherheitskonzepte 😉 Updates, Updates, Updates. Und wenn du weniger allgemeine Antworten möchtest, dann musst du schon genauer beschreiben wie das System funktionieren soll. Sicherheit ist auf jeden Fall kein Ding was man dazu installieren kann und keine Einstellung die man einfach aktivieren kann (dann wäre das standardmäßig schon drin) sondern Sicherheit ist immer ein Konzept, und das richtet sich nach den ganz speziellen Anforderungen.
~jug