Selbsttest: Ist ein Root-Server das richtige Produkt für mich?

  • Einleitung


    Um einen Root-Server zu betreiben bedarf es guter bis sehr guter Kenntnisse der Linux-Konsole*.
    Wenn Du diese nicht hast, ist ein Webhosting-Paket oder ein Managed-Server (bei dem das Team von Netcup die Administration und Verantwortung übernimmt) für Dich die bessere Wahl.


    Wenn Du Dir unsicher bist, ob ein Root-Server für Dich das richtige ist, oder wenn Du Dir die notwendigen Kentnisse vor der Server-Bestellung erarbeiten möchtest, dann ist dieses Posting an Dich gerichtet :)


    netcup selber schreibt dazu:

    Zitat

    Freiheit will gebändigt werden


    Vor einer Bestellung bitten wir zu bedenken, dass ein unmanaged vServer zwar viele Freiheiten mit sich bringt, gleichzeitig der Kunde einen enormen Teil der Verantwortung übernimmt. Ein unmanaged vServer, egal über welche Firma er bezogen wird, erfordert konsequente Datenpflege, die mindestens gute bis sehr gute Linuxkenntnisse voraussetzt. Ein fehlerhaft konfigurierter und dadurch unsicherer vServer birgt ein hohes Schadensrisiko. Für eventuelle Schäden haftet in jedem Fall der Systemadministrator. Bei einem unmanaged vServer ist dies der Kunde. Wir möchten als verantwortungsbewusste Firma unsere Kunden auf dieses persönliche Risiko ausdrücklich hinweisen, obwohl wir uns darüber bewusst sind, dass es andere Hostingfirmen gibt, die diese Risiken verschweigen, um potentielle Kundenaufträge nicht zu verlieren.

    (Quelle: netcup.de - guenstige vServer in guter Qualitaet)


    *) Ich gehe von der Benutzung von Linux aus. Benutzer die das nötige
    Kleingeld für eine Windows-Server Lizenz haben erhalten entsprechende
    Informationen bei Microsoft
    .

    Der Fragenkatalog


    Bevor Du einen Root-Server bestellst, überprüfe bitte Deine Vorkentnisse!
    Folgende Fragen solltest Du mit "ja" beantworten können, ehe Du die Verantwortung für einen Root-Server übernimmst:


    • Bin ich bereit, mir fehlende Kentnisse anzueignen und erst weiter zu machen, wenn ich ausreichend informiert bin?
    • Kenne ich mich wirklich mit Passwortsicherheit aus? (Dies beinhaltet starke Passwörter, wissen über brootforce sowie das vermeiden doppelt genutzter Passwörter und die Nutzung eines Passwort-Safes wie KeyPass)
    • Bin ich bereit weiterführende Fragen durch eigenständige Rechersche im Internet zu klären?
    • Reichen meine Englisch-Kentnisse aus, um Handbücher und HowTos zu lesen und zu verstehen?
    • Weiß ich im Vorraus, welche Dienste auf meinem Server laufen sollen, und wie ich diese sicher konfiguriere?
    • Habe ich die Dokumentation zu diesen Diensten gelesen?
    • Habe ich mich informiert, welche Angriffe auf diese Dienste bekannt sind und wie ich die Dienste dagegen absicher?
    • Kann ich manpages benutzen und verstehen?
    • Kenne und verstehe ich den Grundlegenden Aufbau eines Unix-Verzeichnisbaums (FHS)?
    • Verstehe ich Unix-Dateirechte und weiß ich was Gruppen sind? Weiß ich was "drwxr-xr--" ist?
    • Kenne ich mindestens die Bedeutung der folgenden Kommandos sowie deren wichtigsten Parameter?
      man, ls, cd, ln, cp, rm, mv, scp, chmod, chown, less, cat, grep, cut, sed, tail, head, df, free, mount, ps, top, dmesg, ifconfig, >, >>, |
    • Behersche ich den Umgang mit einem Konsolen-Editor?
    • Kann ich iptables konfigurieren?
    • Weiß ich welche Distribution ich einsetzen möchte, und wie man deren Paketmanager benutzt?
    • Weiß ich wie meine Distribution Dienste managed und kann ich Dienste starten, stopppen, zum autostart hinzufügen sowie entfernen?
    • Weiß ich warum man einen root-login vermeiden und stattdessen su oder sudo bevorzugen sollte?
    • Weiß ich warum man für Dienste eigene User anlegt, und wie dies geht?
    • Weiß ich was ein Chroot-Gefängnis ist, und in welchen Fällen es sinnvoll ist ein solches einzurichten?
    • Bin ich bereit meinen Server regelmäßig (mindestens alle 4 Wochen, besser deutlich öfter) auf mögliche updates zu prüfen und diese schnellstmöglich zu installieren?

    Auswertung


    Wenn Du nicht alle Fragen mit "ja" beantworten kannst ist dies grundsätzlich erst einmal nicht schlimm! :)


    Benutze den obigen Fragenkatalog als Checkliste um Deine Wissenslücken zu schließen!
    Setze auf deinem privaten Computer eine virtuelle Maschine (z.B. mit vmWare-Player oder VirtualBox) auf, installiere dort Linux und benutze dies als Werkzeug um deine Wissenslücken zu schließen.


    Die erfahrenen Linux-Admins hier im Forum werden Dir sicher gerne dabei helfen, offene Fragen zu beantworten.


    Bei Dir zu Hause ist dein Test-Linux-Server nicht den Gefahren ausgesetzt, die auf ihn warten wenn er online geht. Probiere die gewünschte Installation bei Dir zu Hause aus! Dies hat auch den Vorteil dass Du später beim Einrichten des Servers im Rechenzentrum eine Vorlage hast und einige Configs eventuell sogar via scp übertragen kannst.
    Vermeide bei deinem Testsystem aber die Benutzung einer grafischen Oberfläche, diese wird in aller Regel dein Server auch nicht haben.


    Prinzipbedingt werden beim netcup-Rootserver ein paar Sachen anders laufen als bei Dir zu Hause. Das liegt einfach an einem abweichenden Aufbau der virtuellen Umgebung. z.B. werden die Partitionen unter /dev/vda und nicht /dev/hda liegen. Aber bei solchen Details helfen Dir die User hier im Forum sicher später gerne weiter.




    Wenn Du alle Fragen mit "ja" beantworten kannst, bist Du wirklich bereit die Verantwortung für einen Root-Server zu übernehmen.
    Bitte widme Dich zunächst der Absicherung des Systems, ehe Du irgendwelche Dienste auf dem Server anbietest.
    Es wäre wünschenswert, wenn Du Dein Wissen mit anderen (z.B. hier im Forum) teilst.
    Denn wir alle sind nicht perfekt und können sicher viel voneinander lernen. :love:



    Wozu das Ganze?


    Ich möchte mit diesem Posting drei Dinge erreichen:

    • Zuerst möchte ich Laien von einer Menge Frust und Ärger bewahren.
    • Ich möchte Interessenten für einen Root-Server mit dem Fragenkatalog helfen, sich das nötige Wissen zu erarbeiten.
    • Und ich möchte dazu beitragen, dass es weniger unsichere Server gibt, von welchen heutzutage ein Großteil der automatisieren Angriffe und des Spams ausgeht.

    Leider kommt es immer wieder vor, dass sich Benutzer in ihren Kentnissen überschätzen.


    Es reicht leider nicht aus, die Anweisungen aus einer einzelnen HowTo zu befolgen um einen Server betreiben zu können. Zwar bekommt man damit einen Server ans laufen, doch wenn man nicht weißt was man da tut baut man schnell aus Unwissenheit durch fehlerhafte Konfiguration gravierende Sicherheitslücken in einen Server ein.


    Die meisten Angreifer machen sich nicht die Mühe, in ein gut gesichertes System einzudringen, wenn es doch hunderte unsichere Server da draußen gibt, die man für was-auch-immer missbrauchen kann.
    Daher suchen voll automatisierte Scripte im Internet nach Servern (auch von völlig unbekannten Webseiten) und testen diese auf Schwächen in der Konfiguration.


    Das Argument "wer sollte mich schon hacken, meine Seite ist doch total uninteressant" zählt nicht!
    Die Angreifer brechen erst einmal in jedes System ein, das sie finden können. Danach entscheiden sie erst, ob die Informationen auf dem System nützlich sind. Im Zweifelsfall lässt sich jeder kompromitierte Server als Ausgangspunkt für weitere Angriffe nutzen, zum Beispiel um Scripte laufen zu lassen, die das Internet nach weiteren schlecht Konfigurierten Servern durchsuchen. So entstehen Botnetze, die zwar oft aus Privatrechnern bestehen, aber ein breitbandig angeschlossener Server in einem Rechenzentrum hat natürlich deutlich mehr Potential für einen Angreifer.


    Bestenfalls wird der Server dann abgeschaltet, sobald beim Hoster Beschwerden eingehen oder dieser sehr ungewöhnlichen Traffic entwickelt. Aber als Admin eines solchen Servers seid Ihr verantwortlich für diesen. Und so könnt ihr auch rechtlich Probleme bekommen, oder es kann sehr teuer für Euch werden!



    Disclaimer


    Die Fragenliste erhebt keinen Anspruch auf Vollständigkeit.


    Es gibt sicher viele Details auf die ich hier nicht eingehe.
    Wenn jemand Ergänzungen dazu hat, kann er diese hier gerne nennen. Ich werde diese dann in den obigen Beitrag aufnehmen.
    Ich bitte jedoch darum keine Diskusionen über Philosophie-Fragen (welcher Editor ist der beste, portknocking, etc.) zu diskutieren.
    Es geht hier zunächst einmal um eine saubere Grundlage für Einsteiger!
    Den Server später zu Fort-Knox machen und mit einem IDS versehen kann der Anwender später -so er mag- selber. Schließlich ist Sicherheit immer auch ein wenig vom Use-Case Abhängig.

    [table='liebe Grüße - schentuu, ']
    [*]~[*] Tutorial-Empfehlung: vi(m) lernen
    [*]Betreibt 3 netcup Root-Server mit Funtoo-Linux [*] IRC von Kunden für Kunden: #nc-kunden (iz-smart.net)
    [*]darunter Minecraft Gameserver, git server, etherpad u.v.m.[*]Für Server Anfänger: Linux Selbsttest
    [/table]

    5 Mal editiert, zuletzt von schentuu () aus folgendem Grund: via PN eingegangene Anmerkung von killerbees19 zur Einleitung eingepflegt