Anleitung: (V)Server Grundabsicherung

  • Mir fällt dazu noch ein, dass man bei Debian den Benutzer noch den Sudo-ern hinzufügen muss (etc/sudoers), wenn man root-login verbietet. Oder der Gruppe sudo, dann muss allerdings in der Datei folgendes stehen:

    Code
    1. # Allow members of group sudo to execute any command
    2. %sudo ALL=(ALL:ALL) ALL


    Bei Ubuntu ist sudo (imo) standardmäßig aktiviert.

  • Hi,
    leider komme ich mit den hier angegebenen Schritten nicht weit.
    Auf dem Debian Squeeze das ich verwende würde ich auch Gerne einen User einrichten, den ich dann mit su arbeiten lasse und den root komplett sperren.


    Was sind die Schritte auf Debian genau?
    Also, weil wenn ich nur denen vom Anfang folge kann der neue User gar nichts.
    Also, wie anfangs beschrieben USERADD, dann PASSWD und danach den User testen.
    Bei User testen hört es bei mir auf, denn dann kriege ich folgendes gemeldet:
    Wie folgt:

    Code
    1. root@hier:~# useradd Meinuser180566
    2. root@webhost:~# passwd Meinuser180566
    3. Geben Sie ein neues UNIX-Passwort ein:
    4. Geben Sie das neue UNIX-Passwort erneut ein:
    5. passwd: Passwort erfolgreich geändert
    6. root@hier:~#


    Dann melde ich mit mit nem neuen Terminal an:


    Code
    1. andre@Ub-webass:~$ ssh -l Meinuser180566 IP.XX.CCC.YYY
    2. Meinuser180566@IP.XX.CCC.YYY's password:
    3. Could not chdir to home directory /home/Meinuser180566: No such file or directory
    4. $


    Somit ist bei mir Ende und ich lösche den wieder.


    Welche Schritte fehlen denn hier noch?


    Auch mit ADDUSER hab ich s probiert, da kommt das:

    Code
    1. root@hier:~# adduser Meinuser180566
    2. adduser: Bitte geben Sie einen Benutzernamen ein, der die Kriterien des
    3. regulären Ausdrucks erfüllt, welcher in der Konfigurationsvariablen NAME_REGEX festgelegt ist. Verwenden Sie die Option »--force-badname«, um
    4. die Überprüfung weniger strikt durchzuführen, oder ändern Sie NAME_REGEX.
    5. root@hier:~#


    Wie?

  • @webass
    Genau das ist ja auch so gewollt!


    Du richtiest den User ein, damit er eben keine Rechte hat.
    Erst wenn Du Dich mit diesem User angemeldet hast, auf der Konsole su eingibst, dann das Rootpasswort eingibst, bekommst Du Adminrechte.


    Du fragst Dich bestimmt, warum das Ganze?
    Es ist unwahrscheinlich, dass ein böser Bube Dein Benutzernamen heraus findet (klar nicht unmöglich).
    Wenn Du jetzt noch ein schönes, mehrstelliges, mit Zahlen, Groß-, Kleinbuchstaben und Sonderzeichen gespicktes Passwort einrichtest, ist es fast unmöglich auf Deine Konsole zu kommen.
    Vorteil, der böse Bube benötigt 2 Passwörter um überhaupt über die Konsole Rootzugriff zu bekommen, was die Wahrscheinlichkeit doch emens herabsetzt.


    Genau dafür ist das gedacht, für nichts anderes.


    Wenn das mit dem eingerichteten User funktioniert, kannst Du den Rootzugriff auf die Konsole unterbinden (siehe Anleitung), erst dann hast Du diesen Effekt.
    Nützt natürlich nichts, wenn Du zu simple Passwörter verwendest. Was ja schööön einfach währe. ;)


    @__
    Was soll dieser Schwachsinn?
    Erklär es ihm richtig und nicht sone halben Dinger. :P

  • Hi,
    erst einmal vielen Dank für Beide Antworten.


    __ 's Antwort war ja rudimentär, wie Linux auch, von daher kein Grund ihn/ sie anzufeinden.


    @ TPIT-Service: Ich habe mich anscheinend auch am Anfang nicht deutlich genug ausgedrückt. Genau die Anleitung stellt mich persönlich vor ein Problem, deswegen ja der Post.


    Das Prinzip und der Grund, warum ich das machen werde, sind mir schon klar.
    Mit dem Schritt:

    Code
    1. andre@Ub-webass:~$ ssh -l Meinuser180566 IP.XX.CCC.YYY Meinuser180566@IP.XX.CCC.YYY's password: Could not chdir to home directory /home/Meinuser180566: No such file or directory $

    also nach Anmeldung in einem anderen Terminal, wo der User erstmal gar nichts so macht, wie ich es von einem User gewohnt bin, zum Beispiel bei meinem Ubuntu, das hat mir einfach ein wenig Panik gemacht.
    Bevor ich nicht weiss, was ich mit dem neuen User kann und was nicht, gehe ich ja nicht hin und mach den root dicht.


    __ hat mir gezeigt, das ich mit den Optionen arbeiten muss, die ich auch auf anderen Seiten nachlesen konnte, wie hier:
    Users and Groups Administration in Linux
    Aber, ich dachte, jemand sagt mir einfach, gib ein dies gehe dahin mach jenes, genau für das was ich da vorhabe.


    Bin halt etwas Noob, bei einigen Dingen, die nicht Noob- Verständlich erklärt werden.
    Auf jeden fall sind gute Schlüsselwörter diese die chiffriert sind, das sehe ich ähnlich mit Benutzernamen, wenn man mit Eselsbrücken arbeitet. Dann kann man die quasi "unknackbar" gestalten.


    Was ich nicht wusste ist, dass ein Angreifer dann zwei Zugänge knacken muss.
    Einen gewissen Schaden könnte der Angreifer ja schon mit dem neuen sudo-berechtigten User anrichten, nicht?


    Äh, wenn wir doch grad dabei sind.
    Wie sind denn jetzt echt die Schritte um einen neuen User zu erhalten, der das Ding dann voll bedienen kann?


    Ich denke da auch einfach mal so an Ubuntu.
    Der Admin der da beim Aufspielen des System angelegt wird, so, in der Art müsste Einer her!


    Mit welchen Optionen erstelle ich den User?
    so?

    Code
    1. useradd -ms /bin/bash Starkernu12345tzername


    Und was ist mit home-directory, user group oder shell?
    Reicht die bash?


    Was mache ich wie? Damit ich es richtig mache, bitte.
    Und damit es hier auch nochmal für ein anderes Anwenderlevel niedergeschrieben steht, weil wir alle wollen ja nicht, dass Server kriminell gehackt werden.
    Danke im Voraus.
    Andre

  • Hi,
    okay.
    Also, alles erledigt.
    Der neue User wurde angelegt, er hat ein Homeverzeichnis, sudo Berechtigung und der root selbst ist dicht.
    Das hat aber nur geklappt weil ich

    Code
    1. adduser -force-badname Meinherrlicher456benutzer

    eingetippt habe.
    Ist das jetzt für das System übel?
    force-badname??
    Ich hoffe, da der Username echt so aussieht wie mein Beispiel, dass ich keine Instanzen über den Haufen werfe.
    Vorausgesetzt sudo ist installiert, wenn nicht dann erstmal

    Code
    1. apt-get update && apt-get install sudo


    Also, mal step by step zusammengesucht bei Google. Unter der Voraussetzung, dass man force-badname nehmen will, weil die Änderung in Name_Regex nicht verstanden wurden.

    Code
    1. adduser -force-badname Meinherrlicher456benutzer


    danach das Passwort setzen und die Fragen nach Belieben beantworten.
    Den User direkt auf dem 2. Terminal das man aufmacht ausprobieren.
    Dann merkst man, dass der erst noch in die Sudo Gruppe rein muss.
    Dafür änert man dann wie folgt, die sudoers liste:

    Code
    1. visudo


    dort nach

    Code
    1. root ALL=(ALL) ALL


    suchen, die Zeile kopieren und den neuen Nutzer hinzufügen

    Code
    1. Meinherrlicher456benutzer ALL=(ALL) ALL


    dann kann man den verwenden und auch den root ausschliessen, in /etc/ssh/sshd_config
    also
    nano /etc/ssh/sshd_config
    dort

    Code
    1. PermitRootLogin no


    dann könnt ihr mal, wenn ihr mit dem neuen Benutzer drin seid, mal im anderen Terminal den root ausloggen und versuchen sicherheitshalber, ob der root tatsächlich dicht ist.


    Jetzt habe ich nur noch ein Problem, da hab ich schon ein paar Mal dran versucht und es nicht abgerafft.


    Will den SSH Port ändern.
    Füge den neuen Port, nennen wir ihn mal 12345, in der netcup Firewall hinzu und in der sshd_config ebenso.
    Wenn ich mich dann so von meinem Linux Laptop einloggen will:
    ssh -l Meinherrlicher456benutzer IP.XX.CCC.YYY
    dann kommt Port 22: connection refused.
    obwohl ich doch auch nach ssh server neustart davon ausgehe, dass er am neuen Port lauscht, also 12345.


    Was meldet der mir überhaupt noch was vom 22er?


    Ich habe auch probiert

    Code
    1. ssh -l Meinherrlicher456benutzer IP.XX.CCC.YYY -p12345


    Dann wartet man ewig und NIX passiert.
    Danke Ciao.

  • Das sollte keine Anfeindung sein, sondern der Hinweis, dass rudimentäre Aussagen vielleicht keine Wirkung haben. ;)


    Du musst bei Deinem SSH-Login schon angeben, dass Du über den geänderten Port kommst. Sonst geht das System davon aus, bzw. geht automatisch über Port 22.
    Woher soll es auch wissen, dass Du den Port ansprichst?


    Lauschen kann das System auf ettlichen Ports, aber dann muss die Anfrage auch über diesen Port kommen. ;)

  • Bist du sicher, dass ein Server das richtige Produkt für dich ist? Ich möchte dir nicht zu nahe treten, aber Verzeichnisse anlegen ist eines der grundlegenden Kenntnisse, die man schon haben sollte, um einen Server zu administrieren. Les' mal hier nach.


    btt.: mkdir /verzeichnis/welches/du/erstellen/willst