PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Tutorial] Linux-(v)Server - Remotezugriff absichern



Benutzer1699
17.08.2007, 03:48
Hallo,

Wichtiger Hinweis zur Sicherheit und Auswirkungen

Bevor du IRGENDETWAS ausprobierst teste es vorerst auf einem Lokalen nicht wichtigen und vor allem nicht Produktiven System. Es kann IMMER etwas schief gehen, auch bei copy'n'paste.

Lies zuerst den GANZEN Beitrag, oft werden zum Schluss wichtige Hinweise und Tips zur Sicherheit gegeben!

Es ist IMMER möglich das der Autor bestimmte Aspekte nicht bedacht hat und die Systemintegrität beeinträchtigt werden kann, mache auf jeden Fall nach dem !erfolgreichen! Test und VOR Ausführung auf dem Produktivsystem ein aktuelles (zusätzliches) Backup.

Führe die Aktion zu einer Zeit durch, wenn wenig Besucher zu erwarten sind (nachts).

Wende den Vorgang keinesfalls an wenn es auf dem lokalen Test-System(en) fehl schlägt (nach dem Motto, ist ja ein anderer PC wird schon klappen).


wieder ein Posting welches nicht eindeutig hierher gehört aber aufgrund viele Serverbesitzer nicht ganz ohne Hintergedanke aufgeschrieben wurde :)

Unbewusst mag es vielen erscheinen welches Sicherheitsrisiko als Serverbesitzer Sie ständig ignorieren. Manche loggen sich erst ein wenn etwas passiert ist, manche machen sogar ab und zu mal ein Update oder andere wussten es einfach nicht ;) Sie melden sich per ssh mittels Windows/Putty oder Linux/ssh an.

Klingt eigentlich ganz gewönhlich, man gibt den User und das Passwort an und ist drin, wenn man sich vertippt hat kann man es ja noch ein mal versuchen ... und versuchen ... versuchen ... na, klingelts?

Um sicher zu stellen, dass nur ein ausgewählter Kreis (im Idealfall nur man selbst bzw. Server-Techniker) auf einen Server einloggen können OHNE das root-Kennwort zu kennen oder zu ÜBERTRAGEN sollte man zu einer RSA-Schlüssel Authentifizierung greifen.

Hier wird es interessant

Auf diese Art können sich nur Nutzer einloggen die den benötigten Schlüssel (kaum begrenzte Anzahl) und das passwort zu dem SCHLÜSSEL nicht zum Server kennen. Schlüssel kann pro User generiert (ideal) oder mit passwort weiter gegeben werden (Vorsicht bei der unverschlüsselten Übertragung oder unachtsamen Speicherung (Zugriffsrechte beachten!)).

Es sind (unter Linux) nur 9 kleine kurze Schritte und sind in 15 Minuten erledigt, versprochen. Man muss nichts verstehen, einfach nur abtippen.



- Vorraussetzung:
Linux-Server mit SSH-Server oder OpenSSH-Server in der Version 2 (SSH-Server wird hier nicht behandelt, ist aber ählich)

- Durchführung:
Wenn möglich Scenario Lokal durchführen. Ein gutes Linux-System ist schnell installiert.
www.vmware.com (http://www.vmware.com/download/server/) Kostenlose kommerziele, aber gute Virtualisierungssoftware für Windows und Linux
http://www.debian.de/CD/netinst/ man muss das Iso nicht ein mal brennen.
Ansonsten einfach stumpfes Abtippen, na gut ein wenig nachdenken :)

- Schritte:



@server als root
. adduser -m random345
. vi /etc/ssh/sshd_config
Protocol 2
PermitRootlogin yes
. /etc/init.d/ssh restart

----

@lokal (bei Windows-Usern auf Linux-System bzw. Server, bei Durchfuehrng auf anderen Systemen muss der private-key sicher runter geladen und auf dem Quell-System gelöscht werden! Fragen?).
. ssh-keygen -t rsa
bzw
ssh-keygen -dsa
. chmod 600 /home/xyz/.ssh/id_xxx
. scp /home/xyz/.ssh/id_xxx.pub random345@server:id_xxx.pub

@server als random345
. mkdir .ssh
. cat id_xxx.pub >> ~/.ssh/authorized_keys
. rm id_xxx.pub

- random345 durch einen eigenen schwer zu erratenen Benutzer auswählen, das passwort dazu sollte auch sicher sein.
- xyz steht entweder für rsa oder dsa


Fertig.

Jetzt werden lokal die Keys benötigt die eben erstellt wurden
cat id_xxx(.pub)
Am besten SICHER und Redundant sichern, ein Zugriff auf den Server bei Verlust ist nur über das hoffentlich vorhande escue-System oder Remote-Konsole möglich!

Bei Login wird jetzt nach dem Passwort für den Key gefragt. Er sollte sich vom Zugangskennwort unterscheiden (welches sich auch vom Root-Kennwort unterscheiden sollte!!!).

Und ein Root-Login ist von Remote nicht mehr möglich, nur der Login als random345 (oder andere).

Für Windows:
In PuTTY muss man dann nur noch bei den Einstellungen als Private-Key das entsprechende File angeben, jetzt sollte das Login ebenfalls funktionieren.

Anregungen / Fragen beantworte ich gerne und ausschließlich hier.

h-m
11.04.2009, 16:53
hier ist nochmal der code von oben aber als Liste formatiert

@server als root . adduser -m random345 . vi /etc/ssh/sshd_config
Protocol 2
PermitRootlogin yes . /etc/init.d/ssh restart

----

@lokal (bei Windows-Usern auf Linux-System bzw. Server, bei Durchfuehrng auf anderen Systemen muss der private-key sicher runter geladen und auf dem Quell-System gelöscht werden! Fragen?). . ssh-keygen -t rsa
bzw
ssh-keygen -dsa . chmod 600 /home/xyz/.ssh/id_xxx . scp /home/xyz/.ssh/id_xxx.pub random345@server:id_xxx.pub

@server als random345 . mkdir .ssh . cat id_xxx.pub >> ~/.ssh/authorized_keys . rm id_xxx.pub

- random345 durch einen eigenen schwer zu erratenen Benutzer auswählen, das passwort dazu sollte auch sicher sein.
- xyz steht entweder für rsa oder dsa
wofür steht eigentlich xxx?

tampulin
11.04.2009, 18:23