Was alles bei einem root-Server wichtig ist: Unterschied zwischen den Versionen

Aus Linupedia.org
Wechseln zu: Navigation, Suche
Zeile 40: Zeile 40:
  
 
       1) Erzeugen eines privaten und public keys mit putty
 
       1) Erzeugen eines privaten und public keys mit putty
 
 
       2) Anpassen des putty public keys an OpenSSH und kopieren des public OpenSSH Keys auf den Server und Aufnahme des keys in der authorized_keys Datei
 
       2) Anpassen des putty public keys an OpenSSH und kopieren des public OpenSSH Keys auf den Server und Aufnahme des keys in der authorized_keys Datei
 
 
       3) Aenderung der sshd Konfiguration so dass keys akzeptiert benutzt werden
 
       3) Aenderung der sshd Konfiguration so dass keys akzeptiert benutzt werden
 
 
       4) Einrichten des putty um mit dem key auf den Server zugreifen zu koennen und Test des Zugriffs mit key
 
       4) Einrichten des putty um mit dem key auf den Server zugreifen zu koennen und Test des Zugriffs mit key
 
 
       5) Aenderung der sshd Konfiguration so dass keine passwoerter mehr erlaubt sind sondern nur moch mit keys moeglich ist
 
       5) Aenderung der sshd Konfiguration so dass keine passwoerter mehr erlaubt sind sondern nur moch mit keys moeglich ist
 
 
       6) Hardening des sshd Servers, d.h. Pruefen von wichtigen Parametern auf die richtige sichere Einstellung
 
       6) Hardening des sshd Servers, d.h. Pruefen von wichtigen Parametern auf die richtige sichere Einstellung
  
 
1) Erzeugen eines privaten und public keys mit putty
 
1) Erzeugen eines privaten und public keys mit putty
  
a) Starten des Programms puttygen auf dem WindowsClient. Dann ssh-2 RSA waehlen und number of bits in generated key auf 2048 setzen.
+
a) Starten des Programms puttygen auf dem WindowsClient. Dann ssh-2 RSA waehlen und number of bits in generated key auf 2048 setzen.<br/>
b) Druecken von Generate
+
b) Druecken von Generate<br/>
 
c) Save the generated key druecken und sichern des public und private keys in C:\Program Files\putty als id_rsa und id_rsa_priv.ppk.
 
c) Save the generated key druecken und sichern des public und private keys in C:\Program Files\putty als id_rsa und id_rsa_priv.ppk.
  
 
2) Anpassen des putty public keys an OpenSSH und kopieren des public OpenSSH Keys auf den Server und Aufnahme des keys in der authorized_keys Datei
 
2) Anpassen des putty public keys an OpenSSH und kopieren des public OpenSSH Keys auf den Server und Aufnahme des keys in der authorized_keys Datei
  
a) Oeffnen eines Befehlsfensters und kopieren des putty public files id_rsa in id_rsa_linux mit dem befehl copy id_rsa id_rsa_linux[/i]
+
a) Oeffnen eines Befehlsfensters und kopieren des putty public files id_rsa in id_rsa_linux mit dem befehl copy id_rsa id_rsa_linux[/i]<br/>
 
b) Mit einem Windows Editor muss die Datei id_rsa_linux sorgfaeltig geandert werden: Die ersten zwei Zeilen sowie die letzte Zeile muss
 
b) Mit einem Windows Editor muss die Datei id_rsa_linux sorgfaeltig geandert werden: Die ersten zwei Zeilen sowie die letzte Zeile muss
geloescht werden. Danach muessen alle Zeilen in eine Zeile zusammengefasst werden. Achtung! Es duerfen keine Leerzeichen auftauchen. Zum Schluss muss noch ssh-rsa am Anfang der Keyzeile eingefuegt werden. Achtung: Ein Leerzeichen am Ende von rsa! Die Zeile muss dann mit ssh-rsa AAAAB3 beginnen.
+
geloescht werden. Danach muessen alle Zeilen in eine Zeile zusammengefasst werden. Achtung! Es duerfen keine Leerzeichen auftauchen. Zum Schluss muss noch ssh-rsa am Anfang der Keyzeile eingefuegt werden. Achtung: Ein Leerzeichen am Ende von rsa! Die Zeile muss dann mit ssh-rsa AAAAB3 beginnen.<br/>
 
c) Oeffnen eines Befehlsfensters und C:\Program Files\putty>pscp id_rsa_linux framp@obelix:id_rsa aufrufen. Damit wird
 
c) Oeffnen eines Befehlsfensters und C:\Program Files\putty>pscp id_rsa_linux framp@obelix:id_rsa aufrufen. Damit wird
der linux public key in das home Verzeichnis des users framp kopiert.
+
der linux public key in das home Verzeichnis des users framp kopiert.<br/>
d) C:\Program Files\putty>putty framp@obelix:id_rsa aufrufen. Damit wird ein Befehlsfenster auf dem Server geoeffnet.
+
d) C:\Program Files\putty>putty framp@obelix:id_rsa aufrufen. Damit wird ein Befehlsfenster auf dem Server geoeffnet.<br/>
e) mkdir .ssh legt das .ssh Verzeichnis an wenn es nicht schon existiert
+
e) mkdir .ssh legt das .ssh Verzeichnis an wenn es nicht schon existiert<br/>
f) cat id_rsa >> .ssh/authorized_keys WICHTIG ! >> benutzen !!! Ansonsten werden schon existierende Authorisierungen geloescht.
+
f) cat id_rsa >> .ssh/authorized_keys WICHTIG ! >> benutzen !!! Ansonsten werden schon existierende Authorisierungen geloescht.<br/>
  
 
3) Aenderung der sshd Konfiguration so dass keys akzeptiert benutzt werden
 
3) Aenderung der sshd Konfiguration so dass keys akzeptiert benutzt werden
  
a) Im putty Fenster mit C:\Program Files\putty>pscp root@obelix:/etc/ssh/sshd_config sshd_config die sshd Konfigurationsdatei downloaden.
+
a) Im putty Fenster mit C:\Program Files\putty>pscp root@obelix:/etc/ssh/sshd_config sshd_config die sshd Konfigurationsdatei downloaden.<br/>
b) Editieren der Datei mit einem Windows Editor so dass die folgenden Parameter wie folgt gesetzt sind:
+
b) Editieren der Datei mit einem Windows Editor so dass die folgenden Parameter wie folgt gesetzt sind:<br/>
Code:
+
  PubkeyAuthentication yes<br/>
PubkeyAuthentication yes
+
    RSAAuthentication no<br/>
  RSAAuthentication no
 
  
c) Im putty Fenster mit C:\Program Files\putty>pscp sshd_config root@obelix:/etc/ssh/sshd_config die sshd Konfigurationsdatei uploaden.
+
c) Im putty Fenster mit C:\Program Files\putty>pscp sshd_config root@obelix:/etc/ssh/sshd_config die sshd Konfigurationsdatei uploaden.<br/>
d) Im Server Befehlsfenster welches in 2.a geoffnet wurde rcsshd restart eingeben.
+
d) Im Server Befehlsfenster welches in 2.a geoffnet wurde rcsshd restart eingeben.<br/>
  
 
4) Einrichten des putty um mit dem key auf den Server zugreifen zu koennen und Test des Zugriffs mit key
 
4) Einrichten des putty um mit dem key auf den Server zugreifen zu koennen und Test des Zugriffs mit key
  
a) Starten des Programms putty auf dem WindowsClient.
+
a) Starten des Programms putty auf dem WindowsClient.<br/>
b) Beim hostname framp@obelix eintragen (userid und Server name oder IP)
+
b) Beim hostname framp@obelix eintragen (userid und Server name oder IP)<br/>
c) Zu Connection->SSH->Auth gehen und das Private key file for authentication fuellen mit C:\Program Files\putty\id_rsa_priv.ppk.
+
c) Zu Connection->SSH->Auth gehen und das Private key file for authentication fuellen mit C:\Program Files\putty\id_rsa_priv.ppk.<br/>
d) open und erscheint ein Befehlsfenster des Servers. U.U. muss noch die Passphrase eingegeben werden
+
d) open und erscheint ein Befehlsfenster des Servers. U.U. muss noch die Passphrase eingegeben werden<br/>
e) Sichern des putty Profiles
+
e) Sichern des putty Profiles<br/>
f) Damit ist die ssh Verbindung mit key getestet und es kann die Passwortauthentifizierung ausgeschaltet werden.
+
f) Damit ist die ssh Verbindung mit key getestet und es kann die Passwortauthentifizierung ausgeschaltet werden.<br/>
  
 
5) Aenderung der sshd Konfiguration so dass keine Passwoerter mehr erlaubt sind sondern nur moch mit keys moeglich ist
 
5) Aenderung der sshd Konfiguration so dass keine Passwoerter mehr erlaubt sind sondern nur moch mit keys moeglich ist
  
a) Im putty Fenster mit C:\Program Files\putty>pscp root@obelix:/etc/sshd/sshd_config sshd_config die sshd Konfigurationsdatei downloaden.
+
a) Im putty Fenster mit C:\Program Files\putty>pscp root@obelix:/etc/sshd/sshd_config sshd_config die sshd Konfigurationsdatei downloaden.<br/>
b) Editieren der Datei mit einem Windows Editor so dass die folgenden Parameter wie folgt gesetzt sind:
+
b) Editieren der Datei mit einem Windows Editor so dass die folgenden Parameter wie folgt gesetzt sind:<br/>
Code:
+
  PubkeyAuthentication yes<br/>
PubkeyAuthentication yes
+
    PasswordAuthentication no<br/>
  PasswordAuthentication no
+
    ChallengeResponseAuthentication no<br/>
  ChallengeResponseAuthentication no
 
  
c) Im putty Fenster mit C:\Program Files\putty>pscp sshd_config root@obelix:/etc/sshd/sshd_config die sshd Konfigurationsdatei uploaden.
+
c) Im putty Fenster mit C:\Program Files\putty>pscp sshd_config root@obelix:/etc/sshd/sshd_config die sshd Konfigurationsdatei uploaden.<br/>
d) Im Server Befehlsfenster welches in 2.a geoffnet wurde rcsshd restart eingeben.
+
d) Im Server Befehlsfenster welches in 2.a geoffnet wurde rcsshd restart eingeben.<br/>
  
 
6) Hardening des sshd Servers, d.h. Pruefen von wichtigen Parametern auf die richtige sichere Einstellung
 
6) Hardening des sshd Servers, d.h. Pruefen von wichtigen Parametern auf die richtige sichere Einstellung
Zeile 105: Zeile 98:
 
dass aus verschiedenen Gruenden doch wieder auf Passwoerter umgestellt wird (PasswordAuthentication yes). root Zugriff per ssh
 
dass aus verschiedenen Gruenden doch wieder auf Passwoerter umgestellt wird (PasswordAuthentication yes). root Zugriff per ssh
 
sollte aus Sicherheitsgruenden immer ausgeschaltet sein. benoetigt man root recht kann man als normaler User per su -
 
sollte aus Sicherheitsgruenden immer ausgeschaltet sein. benoetigt man root recht kann man als normaler User per su -
root rechte erhalten oder man setzt sudo ein. Deshalb sollte ein jeder ssh Server auf alle Faelle noch wie folgt gesichert werden:
+
root rechte erhalten oder man setzt sudo ein. Deshalb sollte ein jeder ssh Server auf alle Faelle noch wie folgt gesichert werden:<br/>
  
a) Im putty Fenster mit C:\Program Files\putty>pscp root@obelix:/etc/sshd/sshd_config sshd_config die sshd Konfigurationsdatei downloaden.
+
a) Im putty Fenster mit C:\Program Files\putty>pscp root@obelix:/etc/sshd/sshd_config sshd_config die sshd Konfigurationsdatei downloaden.<br/>
b) Editieren der Datei mit einem Windows Editor so dass die folgenden Parameter wie folgt gesetzt sind:
+
b) Editieren der Datei mit einem Windows Editor so dass die folgenden Parameter wie folgt gesetzt sind:<br/>
Code:
+
  PermitRootLogin no<br/>
PermitRootLogin no
+
    AllowGroups users<br/>
  AllowGroups users
+
    AllowUsers xxx yyy zzz (xxx, yyy und zzz sind user die per ssh zugreifen duerfen)<br/>
  AllowUsers xxx yyy zzz (xxx, yyy und zzz sind user die per ssh zugreifen duerfen)
+
    ClientAliveInterval 15<br/>
  ClientAliveInterval 15
+
    LoginGraceTime 10<br/>
  LoginGraceTime 10
+
    PubkeyAuthentication yes<br/>
  PubkeyAuthentication yes
+
    MaxAuthTries 3<br/>
  MaxAuthTries 3
+
    MaxStartups 1<br/>
  MaxStartups 1
+
    PrintLastLog yes<br/>
  PrintLastLog yes
+
    KeepAlive no<br/>
  KeepAlive no
 
  
c) Im putty Fenster mit C:\Program Files\putty>pscp sshd_config root@obelix:/etc/sshd/sshd_config die sshd Konfigurationsdatei uploaden.
+
c) Im putty Fenster mit C:\Program Files\putty>pscp sshd_config root@obelix:/etc/sshd/sshd_config die sshd Konfigurationsdatei uploaden.<br/>
d) Im Server Befehlsfenster welches in 2.a geoffnet wurde rcsshd restart eingeben.
+
d) Im Server Befehlsfenster welches in 2.a geoffnet wurde rcsshd restart eingeben.<br/>
  
 
Als Grundlage fuer dieses HOWTO dienten u.A. folgende Threads:
 
Als Grundlage fuer dieses HOWTO dienten u.A. folgende Threads:

Version vom 20. August 2006, 08:31 Uhr

Achtung: Dieses HOWTO ist noch im entstehen und als vorlaeufig (Draft) zu betrachten!

Dieses ist eine Sammlung von HOWTOs, die die wichtigstens Aktionen beschreiben, die bei einem Aufsetzen und Betreiben eines root Servers wenigstens durchzufuehren sind um einen in Grundzuegen sicheren root Server zu erhalten.

Exclamation Diese HOWTO's entlasten einen root Server Betreiber aber nicht von der Verantwortung für diesen Exclamation .

Wer zu dem Thema etwas beitragen will, der melde sich bitte per PN bei mir, da die Struktur beibehalten werden sollte, wie sie im hier angegegebenen Inhalt vorhanden ist.--Yehudi 17:38, 16. Aug 2006 (CEST)


Allgemein

Warum man ohne Linuxknowhow keinen root server mietet http://www.linux-club.de/ftopic48323.html

Keine Ahnung aber root Server... http://www.linux-club.de/ftopic63549.html

http://www.netsecond.net/howto/

http://www.linux-magazin.de/Artikel/ausgabe/2002/11/debserv/debserv.html

weitere Links folgen, und können auch gerne hizugefügt werden.

--Yehudi 17:37, 16. Aug 2006 (CEST)

Sicherer Zugriff mit putty und ssh key auf einen Linux Server

(Dieser Teil stammt von framp) Dieses HOWTO beschreibt, welche Schritte notwendig sind um sicher von einem Windows Rechner per ssh mit putty und nur mit einem ssh key auf einen Linux Server mit SuSE zuzugreifen.

Saemtliche Schritte auf dem Server werden mittels putty mit Konsolbefehlen und keiner graphischen Oberflaeche beschrieben. Eine graphische Oberflaeche birgt eine Menge Sicherheitsprobleme und aus langer Linuxerfahrung leidgepruefter Serveradministratoren sollte keine graphische Oberflaeche (X, KDE, GNOME) auf einem Server installiert sein. Die konkrete Anleitung geht davon aus, dass keine Passwoerter mehr zur Authentifiziereung benutzt werden sondern asymmetrische keys. Diese kann man durch eine Passphrase sichern oder aber auch auf die Passphrase verzichten. Der Vorteil bei keiner Passphrase ist, dass ein Zugriff immer ohne Passworteingabe moeglich ist. Der Nachteil ist, dass jeder, der den private key hat oder illegalerweise kopiert unbegrenzten Zugriff hat. Wer also ohne Passwort fahren will muss seine keys absolut sicher verwahren!

Saemtliche Konfigurationsaktionen auf dem Server werden per putty mit einem normalen user und seinem password gemacht. Ein paar Aenderungen benoetigen auch den user root mit seinem passwort. Erst am Ende nach erfolgreichem Test wird die Passwortauthentifizierung ausgeschaltet. Danach ist ein ssh Zugriff nur noch mit keys moeglich und jegliche Anmeldeversuche am Linux Server sind ohne key zum Scheitern verurteilt.

Achtung: Am Ende der Konfiguration kann sich aus Sicherheitsgruenden niemand mehr als root per ssh auf den Server anmelden! Dieses ist nur noch dem einen Benutzer der konfiguriert wurde mit seinem Key moeglich! Wenn root Zugriff benoetigt wird muss sich erst als normaler user anmelden und kann dann mit su - root Rechte bekommen. Sind Zugriffe von weiteren Usern notwendig sind die Steps 1-2 entsprechend zu wiederholen.

Konkret wurde die HOWTO Schritte mit putty 0.58 sowie OpenSSH 4.1p1 mit SuSE 10.0 erstellt. Konkret wird in der StepByStep Anleitung das Einrichten eines eines ssh Zugriffs mit putty fuer den user framp auf dem ssh Server obelix eingerichtet.

Folgende Schritte sind notwendig um sich letzendlich per putty und ssh key auf einen ssh Server anmelden zu koennen:

     1) Erzeugen eines privaten und public keys mit putty
     2) Anpassen des putty public keys an OpenSSH und kopieren des public OpenSSH Keys auf den Server und Aufnahme des keys in der authorized_keys Datei
     3) Aenderung der sshd Konfiguration so dass keys akzeptiert benutzt werden
     4) Einrichten des putty um mit dem key auf den Server zugreifen zu koennen und Test des Zugriffs mit key
     5) Aenderung der sshd Konfiguration so dass keine passwoerter mehr erlaubt sind sondern nur moch mit keys moeglich ist
     6) Hardening des sshd Servers, d.h. Pruefen von wichtigen Parametern auf die richtige sichere Einstellung

1) Erzeugen eines privaten und public keys mit putty

a) Starten des Programms puttygen auf dem WindowsClient. Dann ssh-2 RSA waehlen und number of bits in generated key auf 2048 setzen.
b) Druecken von Generate
c) Save the generated key druecken und sichern des public und private keys in C:\Program Files\putty als id_rsa und id_rsa_priv.ppk.

2) Anpassen des putty public keys an OpenSSH und kopieren des public OpenSSH Keys auf den Server und Aufnahme des keys in der authorized_keys Datei

a) Oeffnen eines Befehlsfensters und kopieren des putty public files id_rsa in id_rsa_linux mit dem befehl copy id_rsa id_rsa_linux[/i]
b) Mit einem Windows Editor muss die Datei id_rsa_linux sorgfaeltig geandert werden: Die ersten zwei Zeilen sowie die letzte Zeile muss geloescht werden. Danach muessen alle Zeilen in eine Zeile zusammengefasst werden. Achtung! Es duerfen keine Leerzeichen auftauchen. Zum Schluss muss noch ssh-rsa am Anfang der Keyzeile eingefuegt werden. Achtung: Ein Leerzeichen am Ende von rsa! Die Zeile muss dann mit ssh-rsa AAAAB3 beginnen.
c) Oeffnen eines Befehlsfensters und C:\Program Files\putty>pscp id_rsa_linux framp@obelix:id_rsa aufrufen. Damit wird der linux public key in das home Verzeichnis des users framp kopiert.
d) C:\Program Files\putty>putty framp@obelix:id_rsa aufrufen. Damit wird ein Befehlsfenster auf dem Server geoeffnet.
e) mkdir .ssh legt das .ssh Verzeichnis an wenn es nicht schon existiert
f) cat id_rsa >> .ssh/authorized_keys WICHTIG ! >> benutzen !!! Ansonsten werden schon existierende Authorisierungen geloescht.

3) Aenderung der sshd Konfiguration so dass keys akzeptiert benutzt werden

a) Im putty Fenster mit C:\Program Files\putty>pscp root@obelix:/etc/ssh/sshd_config sshd_config die sshd Konfigurationsdatei downloaden.
b) Editieren der Datei mit einem Windows Editor so dass die folgenden Parameter wie folgt gesetzt sind:

 PubkeyAuthentication yes
RSAAuthentication no

c) Im putty Fenster mit C:\Program Files\putty>pscp sshd_config root@obelix:/etc/ssh/sshd_config die sshd Konfigurationsdatei uploaden.
d) Im Server Befehlsfenster welches in 2.a geoffnet wurde rcsshd restart eingeben.

4) Einrichten des putty um mit dem key auf den Server zugreifen zu koennen und Test des Zugriffs mit key

a) Starten des Programms putty auf dem WindowsClient.
b) Beim hostname framp@obelix eintragen (userid und Server name oder IP)
c) Zu Connection->SSH->Auth gehen und das Private key file for authentication fuellen mit C:\Program Files\putty\id_rsa_priv.ppk.
d) open und erscheint ein Befehlsfenster des Servers. U.U. muss noch die Passphrase eingegeben werden
e) Sichern des putty Profiles
f) Damit ist die ssh Verbindung mit key getestet und es kann die Passwortauthentifizierung ausgeschaltet werden.

5) Aenderung der sshd Konfiguration so dass keine Passwoerter mehr erlaubt sind sondern nur moch mit keys moeglich ist

a) Im putty Fenster mit C:\Program Files\putty>pscp root@obelix:/etc/sshd/sshd_config sshd_config die sshd Konfigurationsdatei downloaden.
b) Editieren der Datei mit einem Windows Editor so dass die folgenden Parameter wie folgt gesetzt sind:

 PubkeyAuthentication yes
PasswordAuthentication no
ChallengeResponseAuthentication no

c) Im putty Fenster mit C:\Program Files\putty>pscp sshd_config root@obelix:/etc/sshd/sshd_config die sshd Konfigurationsdatei uploaden.
d) Im Server Befehlsfenster welches in 2.a geoffnet wurde rcsshd restart eingeben.

6) Hardening des sshd Servers, d.h. Pruefen von wichtigen Parametern auf die richtige sichere Einstellung

Diese Schritte sind eigentlich nicht mehr notwendig da kein Zugriff ohne key mehr moeglich ist. Es kann aber immer sein dass aus verschiedenen Gruenden doch wieder auf Passwoerter umgestellt wird (PasswordAuthentication yes). root Zugriff per ssh sollte aus Sicherheitsgruenden immer ausgeschaltet sein. benoetigt man root recht kann man als normaler User per su - root rechte erhalten oder man setzt sudo ein. Deshalb sollte ein jeder ssh Server auf alle Faelle noch wie folgt gesichert werden:

a) Im putty Fenster mit C:\Program Files\putty>pscp root@obelix:/etc/sshd/sshd_config sshd_config die sshd Konfigurationsdatei downloaden.
b) Editieren der Datei mit einem Windows Editor so dass die folgenden Parameter wie folgt gesetzt sind:

 PermitRootLogin no
AllowGroups users
AllowUsers xxx yyy zzz (xxx, yyy und zzz sind user die per ssh zugreifen duerfen)
ClientAliveInterval 15
LoginGraceTime 10
PubkeyAuthentication yes
MaxAuthTries 3
MaxStartups 1
PrintLastLog yes
KeepAlive no

c) Im putty Fenster mit C:\Program Files\putty>pscp sshd_config root@obelix:/etc/sshd/sshd_config die sshd Konfigurationsdatei uploaden.
d) Im Server Befehlsfenster welches in 2.a geoffnet wurde rcsshd restart eingeben.

Als Grundlage fuer dieses HOWTO dienten u.A. folgende Threads:

[Howto] Einrichten von publikkeys unter der ssh [TIP]ssh einrichten mit public-key Authentifizierung [TIP]Wie sichere ich meinen ssh Server? [TIP]Den eigenen Server absichern

Weitere Informtionen zu putty und OpenSSH:

putty homepage Was Wikipedia zu putty sagt OpenSSH homepage OpenSSh manuals

Weitere Threads zu ssh spezifischen Fragen und Problemen:

Kontrolliertes Ausfuehren von Befehlen als root SSH Angriffe Host bei ssh Connection ablehnen

Des weiteren liefert eine Suche nach ssh im Forum diverse weitere Fragen und Antworten zu ssh die hier im HOWTO nicht behandelt wurden.

Last but not least lieferte http://www.framp.de/linux/?Netzwerk_Services:ssh_server wesentliche Teile zu diesem HOWTO.

Kommentare, Anmerkungen, Ergaenzungen oder Errata bitte der Uebersichtlichkeit halber in http://www.linux-club.de/ftopic65282.html posten.

Firewall

FTP-Server

Mail-Server

LAMP

Achtung: Dieses HOWTO ist noch im entstehen und als vorlaeufig (Draft) zu betrachten!

Dieses ist eine Sammlung von HOWTOs, die die wichtigstens Aktionen beschreiben, die bei einem Aufsetzen und Betreiben eines root Servers wenigstens durchzufuehren sind um einen in Grundzuegen sicheren root Server zu erhalten.

Exclamation Diese HOWTO's entlasten einen root Server Betreiber aber nicht von der Verantwortung für diesen Exclamation .

Wer zu dem Thema etwas beitragen will, der melde sich bitte per PN bei mir, da die Struktur beibehalten werden sollte, wie sie im hier angegegebenen Inhalt vorhanden ist.--Yehudi 17:38, 16. Aug 2006 (CEST)


Allgemein

Warum man ohne Linuxknowhow keinen root server mietet http://www.linux-club.de/ftopic48323.html

Keine Ahnung aber root Server... http://www.linux-club.de/ftopic63549.html

http://www.netsecond.net/howto/

http://www.linux-magazin.de/Artikel/ausgabe/2002/11/debserv/debserv.html

weitere Links folgen, und können auch gerne hizugefügt werden.

--Yehudi 17:37, 16. Aug 2006 (CEST)

Sicherer Zugriff mit putty und ssh key auf einen Linux Server

(Dieser Teil stammt von framp) Dieses HOWTO beschreibt, welche Schritte notwendig sind um sicher von einem Windows Rechner per ssh mit putty und nur mit einem ssh key auf einen Linux Server mit SuSE zuzugreifen.

Saemtliche Schritte auf dem Server werden mittels putty mit Konsolbefehlen und keiner graphischen Oberflaeche beschrieben. Eine graphische Oberflaeche birgt eine Menge Sicherheitsprobleme und aus langer Linuxerfahrung leidgepruefter Serveradministratoren sollte keine graphische Oberflaeche (X, KDE, GNOME) auf einem Server installiert sein. Die konkrete Anleitung geht davon aus, dass keine Passwoerter mehr zur Authentifiziereung benutzt werden sondern asymmetrische keys. Diese kann man durch eine Passphrase sichern oder aber auch auf die Passphrase verzichten. Der Vorteil bei keiner Passphrase ist, dass ein Zugriff immer ohne Passworteingabe moeglich ist. Der Nachteil ist, dass jeder, der den private key hat oder illegalerweise kopiert unbegrenzten Zugriff hat. Wer also ohne Passwort fahren will muss seine keys absolut sicher verwahren!

Saemtliche Konfigurationsaktionen auf dem Server werden per putty mit einem normalen user und seinem password gemacht. Ein paar Aenderungen benoetigen auch den user root mit seinem passwort. Erst am Ende nach erfolgreichem Test wird die Passwortauthentifizierung ausgeschaltet. Danach ist ein ssh Zugriff nur noch mit keys moeglich und jegliche Anmeldeversuche am Linux Server sind ohne key zum Scheitern verurteilt.

Achtung: Am Ende der Konfiguration kann sich aus Sicherheitsgruenden niemand mehr als root per ssh auf den Server anmelden! Dieses ist nur noch dem einen Benutzer der konfiguriert wurde mit seinem Key moeglich! Wenn root Zugriff benoetigt wird muss sich erst als normaler user anmelden und kann dann mit su - root Rechte bekommen. Sind Zugriffe von weiteren Usern notwendig sind die Steps 1-2 entsprechend zu wiederholen.

Konkret wurde die HOWTO Schritte mit putty 0.58 sowie OpenSSH 4.1p1 mit SuSE 10.0 erstellt. Konkret wird in der StepByStep Anleitung das Einrichten eines eines ssh Zugriffs mit putty fuer den user framp auf dem ssh Server obelix eingerichtet.

Folgende Schritte sind notwendig um sich letzendlich per putty und ssh key auf einen ssh Server anmelden zu koennen:

     1) Erzeugen eines privaten und public keys mit putty
     2) Anpassen des putty public keys an OpenSSH und kopieren des public OpenSSH Keys auf den Server und Aufnahme des keys in der authorized_keys Datei
     3) Aenderung der sshd Konfiguration so dass keys akzeptiert benutzt werden
     4) Einrichten des putty um mit dem key auf den Server zugreifen zu koennen und Test des Zugriffs mit key
     5) Aenderung der sshd Konfiguration so dass keine passwoerter mehr erlaubt sind sondern nur moch mit keys moeglich ist
     6) Hardening des sshd Servers, d.h. Pruefen von wichtigen Parametern auf die richtige sichere Einstellung

1) Erzeugen eines privaten und public keys mit putty

a) Starten des Programms puttygen auf dem WindowsClient. Dann ssh-2 RSA waehlen und number of bits in generated key auf 2048 setzen. b) Druecken von Generate c) Save the generated key druecken und sichern des public und private keys in C:\Program Files\putty als id_rsa und id_rsa_priv.ppk.

2) Anpassen des putty public keys an OpenSSH und kopieren des public OpenSSH Keys auf den Server und Aufnahme des keys in der authorized_keys Datei

a) Oeffnen eines Befehlsfensters und kopieren des putty public files id_rsa in id_rsa_linux mit dem befehl copy id_rsa id_rsa_linux[/i] b) Mit einem Windows Editor muss die Datei id_rsa_linux sorgfaeltig geandert werden: Die ersten zwei Zeilen sowie die letzte Zeile muss geloescht werden. Danach muessen alle Zeilen in eine Zeile zusammengefasst werden. Achtung! Es duerfen keine Leerzeichen auftauchen. Zum Schluss muss noch ssh-rsa am Anfang der Keyzeile eingefuegt werden. Achtung: Ein Leerzeichen am Ende von rsa! Die Zeile muss dann mit ssh-rsa AAAAB3 beginnen. c) Oeffnen eines Befehlsfensters und C:\Program Files\putty>pscp id_rsa_linux framp@obelix:id_rsa aufrufen. Damit wird der linux public key in das home Verzeichnis des users framp kopiert. d) C:\Program Files\putty>putty framp@obelix:id_rsa aufrufen. Damit wird ein Befehlsfenster auf dem Server geoeffnet. e) mkdir .ssh legt das .ssh Verzeichnis an wenn es nicht schon existiert f) cat id_rsa >> .ssh/authorized_keys WICHTIG ! >> benutzen !!! Ansonsten werden schon existierende Authorisierungen geloescht.

3) Aenderung der sshd Konfiguration so dass keys akzeptiert benutzt werden

a) Im putty Fenster mit C:\Program Files\putty>pscp root@obelix:/etc/ssh/sshd_config sshd_config die sshd Konfigurationsdatei downloaden. b) Editieren der Datei mit einem Windows Editor so dass die folgenden Parameter wie folgt gesetzt sind: Code: PubkeyAuthentication yes

  RSAAuthentication no

c) Im putty Fenster mit C:\Program Files\putty>pscp sshd_config root@obelix:/etc/ssh/sshd_config die sshd Konfigurationsdatei uploaden. d) Im Server Befehlsfenster welches in 2.a geoffnet wurde rcsshd restart eingeben.

4) Einrichten des putty um mit dem key auf den Server zugreifen zu koennen und Test des Zugriffs mit key

a) Starten des Programms putty auf dem WindowsClient. b) Beim hostname framp@obelix eintragen (userid und Server name oder IP) c) Zu Connection->SSH->Auth gehen und das Private key file for authentication fuellen mit C:\Program Files\putty\id_rsa_priv.ppk. d) open und erscheint ein Befehlsfenster des Servers. U.U. muss noch die Passphrase eingegeben werden e) Sichern des putty Profiles f) Damit ist die ssh Verbindung mit key getestet und es kann die Passwortauthentifizierung ausgeschaltet werden.

5) Aenderung der sshd Konfiguration so dass keine Passwoerter mehr erlaubt sind sondern nur moch mit keys moeglich ist

a) Im putty Fenster mit C:\Program Files\putty>pscp root@obelix:/etc/sshd/sshd_config sshd_config die sshd Konfigurationsdatei downloaden. b) Editieren der Datei mit einem Windows Editor so dass die folgenden Parameter wie folgt gesetzt sind: Code: PubkeyAuthentication yes

  PasswordAuthentication no
  ChallengeResponseAuthentication no

c) Im putty Fenster mit C:\Program Files\putty>pscp sshd_config root@obelix:/etc/sshd/sshd_config die sshd Konfigurationsdatei uploaden. d) Im Server Befehlsfenster welches in 2.a geoffnet wurde rcsshd restart eingeben.

6) Hardening des sshd Servers, d.h. Pruefen von wichtigen Parametern auf die richtige sichere Einstellung

Diese Schritte sind eigentlich nicht mehr notwendig da kein Zugriff ohne key mehr moeglich ist. Es kann aber immer sein dass aus verschiedenen Gruenden doch wieder auf Passwoerter umgestellt wird (PasswordAuthentication yes). root Zugriff per ssh sollte aus Sicherheitsgruenden immer ausgeschaltet sein. benoetigt man root recht kann man als normaler User per su - root rechte erhalten oder man setzt sudo ein. Deshalb sollte ein jeder ssh Server auf alle Faelle noch wie folgt gesichert werden:

a) Im putty Fenster mit C:\Program Files\putty>pscp root@obelix:/etc/sshd/sshd_config sshd_config die sshd Konfigurationsdatei downloaden. b) Editieren der Datei mit einem Windows Editor so dass die folgenden Parameter wie folgt gesetzt sind: Code: PermitRootLogin no

  AllowGroups users
  AllowUsers xxx yyy zzz (xxx, yyy und zzz sind user die per ssh zugreifen duerfen)
  ClientAliveInterval 15
  LoginGraceTime 10
  PubkeyAuthentication yes
  MaxAuthTries 3
  MaxStartups 1
  PrintLastLog yes
  KeepAlive no

c) Im putty Fenster mit C:\Program Files\putty>pscp sshd_config root@obelix:/etc/sshd/sshd_config die sshd Konfigurationsdatei uploaden. d) Im Server Befehlsfenster welches in 2.a geoffnet wurde rcsshd restart eingeben.

Als Grundlage fuer dieses HOWTO dienten u.A. folgende Threads:

[Howto] Einrichten von publikkeys unter der ssh [TIP]ssh einrichten mit public-key Authentifizierung [TIP]Wie sichere ich meinen ssh Server? [TIP]Den eigenen Server absichern

Weitere Informtionen zu putty und OpenSSH:

putty homepage Was Wikipedia zu putty sagt OpenSSH homepage OpenSSh manuals

Weitere Threads zu ssh spezifischen Fragen und Problemen:

Kontrolliertes Ausfuehren von Befehlen als root SSH Angriffe Host bei ssh Connection ablehnen

Des weiteren liefert eine Suche nach ssh im Forum diverse weitere Fragen und Antworten zu ssh die hier im HOWTO nicht behandelt wurden.

Last but not least lieferte http://www.framp.de/linux/?Netzwerk_Services:ssh_server wesentliche Teile zu diesem HOWTO.

Kommentare, Anmerkungen, Ergaenzungen oder Errata bitte der Uebersichtlichkeit halber in http://www.linux-club.de/ftopic65282.html posten.

Firewall

FTP-Server

Mail-Server

LAMP