Sicherheit des Servers ausreichend?

  • Hallo zusammen,


    nach einigem Hin und Her überlege ich einen vServer für einen Teamspeakserver zu benutzen.

    Da ich jedoch als Anfänger in das Thema starte und bisher nur an VMs getestet habe, wollte ich euch fragen, ob meine Gedanken bezüglich der Sicherheit des Servers in die richtige Richtung gehen.


    Was ich vorhabe ist folgendes:

    1. Root Passwort ändern

    2. Updaten

    3. Neuen Sudo Benutzer anlegen

    4. SSH Key anlegen

    5. Root Login deaktivieren

    6. SSH Port ändern

    7. Passwort Login deaktivieren

    8. fail2ban installieren und einrichten

    9. ufw einrichten, nur TS und SSH Ports freigeben

    10. unattended upgrades einrichten


    Anschließend würde ich dann den Teamspeak-Server aufsetzen.


    Ich hoffe, dass ich hierbei nichts vergessen habe und das ganze sicher genug ist. Hätte gern einen ruhigen Schlaf nachts.


    Vielen Dank euch allen für das Durchlesen und hoffentliches Feedback!

    Euch noch einen schönen Montag :)

  • Deine Gedanken sind gut und auch richtig. Ich würde aber noch den Tipp geben, das Ganze von der anderen Richtung aus zu betrachten. Die größte und gefährlichste Angriffsfläche bei einem Teamspeakserver ist Teamspeak an sich. Daher fehlen mir der Auflistung noch Punkt 11 und Punkt 12, welche die wichtigsten Punkte überhaupt wären:

    11. Teamspeak sauber aufsetzen

    12. Teamspeak aktuell halten


    Den SSH Port kannst du z.B. ändern. Das ist absolut ok und verringert das Grundrauschen etwas. Es macht deinen Server aber nicht sicherer. Dein Basissystem ist in der Regel wenig anfällig gegenüber Angreifern. Angreifbar wird es erst richtig durch die Applikationen, die darauf laufen. Daher habe grundsätzlich immer die Applikation im Fokus. Der Rest ist eigentlich dann nur noch Bonus. Dazu gehört z.B. auch, dass der TS Service dann nicht als root läuft, was sonst sämtliche anderen Maßnahmen wieder neutralisiert.

  • Zieh Dir doch einfach mal Lynis Audit oder ein anderes Sicherheitsaudit wäre mein Vorschlag. Effektiv wird Dir ansonsten wohl niemand sagen "Jaja, das passt schon so". Schlussendlich ist das ja eine sehr subjektive Einschätzung was nun sicher genug ist oder eben nicht und ein Thema, das sich auch nicht so pauschal beantworten lässt, sondern sich entwickelt.


    Da Teamspeak aber die Vermutung nähert, dass Dein Fokus eher im Bereich Gaming liegt, würde ich Dir vorschlagen, Dich vielleicht etwas intensiver mit dem Thema auseinander zu setzen, da das nicht selten die ersten Kandidaten dafür sind, dass sich jüngere Freunde der digitalen Spieltechnik etwas ausprobieren wollen und werden. Aber ich bin da auch nicht der, der Dir das jenseits eines Vorschlags sagen möchte. Ich schätze das merkt man dann schon früher oder später selbst, ob das reicht. Lynis könnte vielleicht Hinweise geben, was man womöglich noch tun könnte, bevor die Maschine $Dinge tut und die Erkenntnis "Hat wohl doch nicht gereicht" generiert wird.


    Edit: Und ich würde auch kein Teamspeak aufsetzen, zumindest nicht als erste "Amtshandlung".


    Edit2: Ich würde btw auch nicht behaupten, dass bei mir alles "sicher" sei. Das kann glaube ich nichtmal die Therapiegruppe für IT-Paranoidität behaupten. Was auch Ihr größtes Problem darstellen dürfte.

  • Mir ergibt sich nicht ganz, warum du das root-Passwort ändern willst und anschließend den root-Login deaktivierst und Passwort login allgemein deaktivierst? Vermutlich übersehe ich da etwas, aber die paar Minuten oder auch Stunden bis du den Zugang deaktivierst wird das Passwort von netcup doch wohl halten, oder? Ich sehe aber auch nicht, wie das Schaden kann, von daher ist die Nachfrage auch eher meiner Neugier geschuldet.

  • Den SSH Port kannst du z.B. ändern. Das ist absolut ok und verringert das Grundrauschen etwas. Es macht deinen Server aber nicht sicherer.

    Lese ich häufiger, aber ich bin der Meinung, dass diese Maßnahme durchaus auch die Sicherheit erhöht und nicht nur vermeintliche "security by obscurity" ist.


    99% der ssh-Attacken laufen auf Port 22. Wenn ich durch Portverlegung die Angriffe auf 1% reduziere, dann reduziere ich (falls es überhaupt eine Lücke gibt) auch die Wahrscheinlichkeit, dass einer der Angriffe erfolgreich ist um diesen Faktor.

    Konkretes Beispiel:

    Ein neues zero-day-exploit taucht auf und zeigt eine Lücke in ssh. (Gab es ja vor nicht allzulanger Zeit für openssh, wenngleich die nur sehr schwer auszunutzen war)

    Wer ist nun mit der höchsten Frequenz im Visier? Alle, die ssh auf Port 22 laufen haben.

    Dadurch, das ich einen anderen Port habe, gewinne ich u.U. Zeit, um entsprechende Maßnahmen zu ergreifen.


    Portverlegung ist m.E. also durchaus eine sinnvolle, ergänzende Maßnahme.

  • Ich hoffe, dass ich hierbei nichts vergessen habe und das ganze sicher genug ist. Hätte gern einen ruhigen Schlaf nachts.

    Ich denke damit kannst du fürs erste durchaus ruhig schlafen.


    Du solltest aber bedenken:

    Die meisten Server werden nicht durch Angriffe auf dieser Ebene gehackt, sondern über den Webserver und die Dienste, die auf dem Server laufen.

    Je mehr Anwendungen du installierst, desto mehr Angriffspunkte wird es geben. (Die Zahl der Server, die durch löchrige Wordpress-Plugins übernommen wurden ist Legion. :S ) Auch hierauf sollte man also sein Augenmerk legen.

  • Wenn ich durch Portverlegung die Angriffe auf 1% reduziere, dann reduziere ich (falls es überhaupt eine Lücke gibt) auch die Wahrscheinlichkeit, dass einer der Angriffe erfolgreich ist um diesen Faktor.

    Das absolut meiste, was auf Port 22 minütlich passiert, würde ich nicht als ernstzunehmenden Angriff bezeichnen. Das hat auf einem normal konfigurierten System ohne Trivialpasswörter Null Aussicht auf Erfolg. Für gezielte Angriffe auf bestimmte Lücken gibt es Datenbanken, aus denen auch dein SSH-Server mit alternativem Port abrufbar ist und die gleich die nötigen Informationen mitliefern, ob der Server in der wahrscheinlich vulnerablen Population ist oder nicht. Du reduzierst die Anzahl der Leute, die mal deine Klinke runterdrücken, um zu sehen, ob überhaupt abgeschlossen ist, aber für die Leute, die mit Plan und Werkzeug kommen, ist ein alternativer Port kein Hindernis. Die Wahrscheinlichkeit eines erfolgreichen Angriffs reduzierst du damit wenig bis gar nicht.

  • Lese ich häufiger, aber ich bin der Meinung, dass diese Maßnahme durchaus auch die Sicherheit erhöht und nicht nur vermeintliche "security by obscurity" ist.

    Das sehe ich genauso!


    Wir reden nicht von 'security by obscurity' (= Sicherheitsmechanismen & Algorithmen werden geheim gehalten) sondern schlicht um eine (ich nenne es einfach mal so) 'security by reducing the attack surface'.


    Die Port-Änderung reduziert tatsächlich erstmal nur das Grundrauschen und verhindert (wie von Dir beschrieben) Standard-Angriffsversuche (z.B. auch beim OpenSSH Fehler von letztem Jahr).


    Gegen Portscans hilft das hingegen nicht und somit erhöht die Portverlegung auch nicht die SSH-Sicherheit an sich. Hier benötigt man zusätzliche Maßnahmen.

    Ich habe daher den fail2ban-ufw Filter zusätzlich am Laufen um Portscanner zu droppen.


    Fehlgeschlagene SSH-Loginversuche pro Jahr bei mir = 0

    (nur meine regelmäßigen eigenen Tests / Kontrollen)


    Wer meinen Port nicht kennt und beim Scan gedroopt wird tut sich schwerer => Sicherheit ist erhöht.


    Kann man natürlich dennoch nicht mit Portknocking oder VPN vergleichen.

  • Docker - aber schaden kann es nicht

    Lustig. Ich würde genau das nicht machen. Anstatt TS dann quasi als root auszuführen, weil docker über Root läuft würde ich das nativ über einen dafür eingerichteten User ausführen.


    Schaue dir mal die Kosten für eine TS3 Serverlizens an, evt. Hat sich das Projekt dann auch schon erledigt.

  • Lustig. Ich würde genau das nicht machen. Anstatt TS dann quasi als root auszuführen, weil docker über Root läuft würde ich das nativ über einen dafür eingerichteten User ausführen.

    Halte ich auch für die beste Lösung und wird von mir so praktiziert. *eigener User*


    Solang 32 Slot ausreichen sind, ist es ja kostenlos. Ansonsten halte ich die Kosten für angemessen, gerade wenn eventuell ein paar Leute Geld dazu geben.


    Ein "Clanadmin" muss ja nicht unbedingt die Kosten alleine tragen.

  • Nunja, meiner Meinung nach gibt es effektiv ohnehin kein "sicheres" System. Wenn jemand reinkommen will, der kommt auch rein. Das ist immer nur eine Relation von Nutzen zu Aufwand/Risiko. Das selbe Prinzip wie bei Fahrrädern im Grunde.


    Warum sollte sich jemand die Mühe machen, ein relativ gut gesichertes System anzugreifen, wenn er in der selben Zeit mehrere schlecht gesicherte bekommt? Und alles was Du machst, erhöht den Aufwand ein klein wenig.


    Wenn jemand unbedingt will und fähig ist, findet er trotzdem einen Weg oder er hat halt eine 0-Day. Dann ist es auch egal, was man macht oder nicht.


    Aber so lange es unzählige schlechter gesicherte Systeme gibt, wäre es für einen Angreifer, der ökonomisch denkt und keinen besonderen Grund hat, schlicht unwirtschaftlich das besser gesicherte System mit Mehraufwand anzugreifen.


    Insofern erhöhen diejenigen, die wenig machen, die Sicherheit für alle Anderen erheblich. Und natürlich bedeutet SSH auf anderen Port legen keine abschließende Sicherheit, aber erhöht die Sicherheit durchaus, weil man eben immernoch viele Kisten auf Standardport gescanned bekommt und da die Wahrscheinlichkeit auch ansonsten höher ist, dass sich da Brute Force oder Dictionary schnell lohnt.


    Natürlich kann man suchen und findet dann womöglich auch da einen Weg, aber der Zeitaufwand dürfte höher und die Wahrscheinlichkeit niedriger sein. So lange es also kein gezielter Vesuch ist, bedeutet mehr Aufwand immer auch mehr Sicherheit, also auch Standardport ändern.


    Wenn jemand unbedingt in Dein System will und das Wissen/Fähigkeiten hat, musst Du schon sehr sehr viel tun, um den tatsächlich draußen zu halten.


    Ich würde behaupten, dass es hier nicht ein System gibt, das wirklich fähigen Blackhats Stand zu halten vermag. Nicht eins. Wohl vielleicht sicher einige, die sehr hohen Widerstand leisten und viel Aufwand bedeuten, das bestimmt. Aber die haben auch selbst sehr viel Knowhow angesammelt und Aufwand betrieben. Auf die Mehrzahl der Standard-Admins dürfte das nicht zutreffen und noch viel weniger für die, die weniger können oder tun wollen.


    Wie gesagt, ist bei Fahrrädern nicht anders. Wer unbedingt das eine will, bekommt das vermutlich auch mit entsprechendem Werkzeug und Zeitaufwand. Aber so lang der Nachbar ein schlechteres Schloss an einem wertvolleren Rad hat, wird sich ein rationaler Dieb immer dafür entscheiden.

  • Wenn jemand reinkommen will, der kommt auch rein.

    (...)

    Wenn jemand unbedingt will und fähig ist, findet er trotzdem einen Weg...

    (...)

    Ich würde behaupten, dass es hier nicht ein System gibt, das wirklich fähigen Blackhats Stand zu halten vermag.

    Ich wage das einfach mal zu bezeifeln.

    Nicht immer ist dort, wo ein Wille ist, auch ein Weg.

    Ich glaube schon, dass man ein System prinzipell so sicher machen kann, dass es allen Eindringlingen stand hält.


    Bei deinen anderen Aussgaen, stimme ich dir allerdings zu. :)

  • Wie bei ner Safari: Solang du schneller laufen kannst als dein Nachbar, ist alles ok. :P

    Das stimmt. Einen langsamen Nachbarn, den man nicht mag, zu einer Safari einzuladen, kann durchaus Sinn machen, um die eigene Sicherheit zu erhöhen.


    Ist zwar makaber gedacht, aber prinzipiell nicht falsch. Glücklicher Weise lösen das die Meisten anders als das Alternativlunch einzupacken.


    Tatsächlich eine Glaubensfrage. Einigen wir uns auf bei nichtstaatlichen Akteuren strittig. Wobei ich das nicht wirklich glaube, weil ich genug Leute aller Schattierungen kenne. Glücklicher Weise gibt es davon nicht sooo viele, die können und wirklich böswillige Charaktere sind. Ich würde das mehr als eine Frage des Willens und des Zeitbudgets bezeichnen. Also, zumindest bei wirklich fähigen Leuten.


    Hab schon genug Admins gehört, die meinten "Niemals!" und dann war das praktisch Nullaufwand. Aber möglicherweise.

  • Lustig. Ich würde genau das nicht machen. Anstatt TS dann quasi als root auszuführen, weil docker über Root läuft würde ich das nativ über einen dafür eingerichteten User ausführen.


    Schaue dir mal die Kosten für eine TS3 Serverlizens an, evt. Hat sich das Projekt dann auch schon erledigt.

    Man kann Docker inzwischen auch rootless nutzen – was immer zu empfehlen ist.

  • Ich wage das einfach mal zu bezeifeln.

    Nicht immer ist dort, wo ein Wille ist, auch ein Weg.

    Ich glaube schon, dass man ein System prinzipell so sicher machen kann, dass es allen Eindringlingen stand hält.


    Bei deinen anderen Aussgaen, stimme ich dir allerdings zu. :)

    ...aber ja, es gibt natürlich auch wirklich fähige Admins, die es schaffen 99,9% draußen zu halten. Absolut, sind aber ebenso selten wie die, die trotzdem reinkommen.


    Also reine Beobachtung meinerseits. Die Welt ist ja klein, insbesondere DE was IT angeht.

  • Lustig. Ich würde genau das nicht machen. Anstatt TS dann quasi als root auszuführen, weil docker über Root läuft würde ich das nativ über einen dafür eingerichteten User ausführen.


    Schaue dir mal die Kosten für eine TS3 Serverlizens an, evt. Hat sich das Projekt dann auch schon erledigt.

    Handhabe ich seit vielen Jahren genauso und meine 512 NPL läuft und läuft und läuft.

    Updates sind auch ohne Docker in Handumdrehen durchgeführt aber das kommt ja bekanntlich bei TS eher selten vor ;)