Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie sicher ist SSH
Hy,
ich konfiguriere gerade den Webserver eines Kumpels - per SSH
jetzt stellt sich für mich die Frage: Wie sicher ist das?
Gibt es eine Möglichkeit, die Sicherheit zu erhöhen?
Kommt natürlich auf die Konfiguration von SSH. Könntest deine Konfig ja mal zeigen.
Mir reicht SSH von der Sicherheit her und mir fällt auch spontan nichts daran ein, was direkt unsicher sein sollte (von Fehlkonfiguration mal abgesehen). Wenn du ganz paranoid bist kannst ja noch nen VPN-Tunnel drumpacken :ugly:
Ich würde sagen, dass die Sicherheit von SSH in erster Linie von der Komplexitäts des Passworts abhängt, falls man nicht mit Schlüsseln arbeitet.
Ein nettes Spielzeug um SSH gegen Brute Force Attacken abzusichern ist auch noch http://www.pettingers.org/code/SSHBlack.html
Kommt natürlich auf die Konfiguration von SSH. Könntest deine Konfig ja mal zeigen.
Nun, ich denke mal, dass der Rechner mit Standard-Config läuft und damit nicht sehr sicher sein dürfte.
Leider komme ich von hier (Arbeit) nicht an den Server ran, da unsere Firewall den Port blockt (so soll es ja auch sein :)
Gibt es eine denn Möglichkeit, dass der SSH-Dienst nur Verbindungen von bestimmten IPs zulässt?
chrisi1698
20.06.05, 07:43
erstens solltest du root-login verbieten / nur bestimmte user/gruppen erlauben. zu deiner frage, ich glaub sshd arbeitet mit dem tcp wrapper zusammen. stichworte /etc/hosts.allow /etc/hosts.deny ;)
eine kleine example-config von mir (bitte um verbesserungsvorschlaege ;)
#/etc/ssh/sshd_config
# OpenSSHd main configuration
Port 22
Protocol 2
SyslogFacility AUTHPRIV
Subsystem sftp /usr/libexec/ssh/sftp-server
PrintMotd yes
Banner /etc/ssh/banner.txt
IgnoreRhosts yes
IgnoreUserKnownHosts no
RhostsRSAAuthentication no
RSAAuthentication yes
PasswordAuthentication yes
StrictModes yes
PermitRootLogin no
PermitEmptyPasswords no
AllowGroups users webusers
MaxAuthTries 3
LoginGraceTime 50
KeepAlive yes
ClientAliveInterval 100
ClientAliveCountMax 10
lg, chrisi
Danke schonmal!
erstens solltest du root-login verbieten / nur bestimmte user/gruppen erlauben.
Nicht gut!
Der Webserver steht irgendwo im nirgendwo, d.h. es handelt sich um einen gemieteten Rootserver - für dessen Administration braucht man nunmal root oder einen User mit root-Rechten.
Hast Du da evtl. auch eine Lösung?
Ich frage auch deshalb, weil ich mir selbst einen Rootserver mieten werde, vorher aber gerne die größten Mängel absichern will!
chrisi1698
20.06.05, 07:54
*grins*
nur weil du das login verbietest, heisst das nicht, dass du dann nicht als normal-user auf root umloggen kanst ;)
also du verbietest root-login, loggst dich als normal-user ein und machst dann `su -` dazu musst du das PW von 2 leuten kennen... und eine user ID... weil root gibts ja immer. senkt das BF-risiko schon ziemlich...
ausserdem wuerd ich sagen, du verbietest ausser ein oder 2 usern (dir und dem freund fuer den du den server managst) das ssh-einloggen. bzw ich hab meinen webusern als login-shell /bin/rssh gegeben, damit nur sftp, aber kein ssh moeglich ist. http://www.pizzashack.org/rssh/index.shtml
hope it helps ;)
*grins*
nur weil du das login verbietest, heisst das nicht, dass du dann nicht als normal-user auf root umloggen kanst ;)
Ok, soweit habe ich zu einem Montag-Morgen noch nicht gedacht!
also du verbietest root-login, loggst dich als normal-user ein und machst dann `su -` dazu musst du das PW von 2 leuten kennen... und eine user ID... weil root gibts ja immer. senkt das BF-risiko schon ziemlich...
ausserdem wuerd ich sagen, du verbietest ausser ein oder 2 usern (dir und dem freund fuer den du den server managst) das ssh-einloggen. bzw ich hab meinen webusern als login-shell /bin/rssh gegeben, damit nur sftp, aber kein ssh moeglich ist. http://www.pizzashack.org/rssh/index.shtml
Das verbieten mache ich über die oben genannten dateien /etc/hosts.allow und /etc/hosts.deny???
Ich glaube soviele System-User gibt es gar nicht, aber Danke für den weiterführenden Hinweis!
chrisi1698
20.06.05, 08:50
nope, ueber hosts.{allow|deny} kannst du IP's zulassen/verbieten.
lies dir dazu am besten
% man hosts_access
durch
user/gruppen verbietest du so, wie ichs in der beispielconf schon geschrieben hab
PermitRootLogin no
PermitEmptyPasswords no
AllowGroups users webusers
vice versa dazu gibts AllowUsers / DenyUsers, steht aber alles in `% man sshd` :)
lg und noch nen schoenen montagmorgen ;)
Hier mal ein paar Links, die ich dir empfehlen kann.
Ich mache es zurzeit so, dass ich nur einem bestimmten User den Zugang über SSH gewährt habe. Dieser kann sich nur über einen Schlüssel mit dazugehöriger Passphrase authorisieren.
http://www.debianhowto.de/de/howtos/woody/ssh?s=ssh&DokuWiki=b39638cfb8fc7cff5f9ce089c948c6f6
http://www.linuxsecurity.com/docs/harden-doc/html/securing-debian-howto/ch-sec-services.en.html#s5.1
http://www.jfranken.de/homepages/johannes/vortraege/ssh1.de.html
*Keyexchange beim ersten Verbinden beobachten
(weiss nicht ob das noch so aktuell ist)
*nie an fremden Kisten ssh/scp nutzen
*Timeout setzen, falls du mal vergisst dich auzuloggen
*AllowTCPForwarding ist glaube ich im Normalen Betrieb
nicht noetig
* Mal ueber die Login Zeit nachdenken (*)
* ggf. noch das Banner im Binary abstellen, aber das ist
nur Kosmetic
gruss LH
edit: Achso, DenyUsers * solte nie gesetzt sein, weil das *Ding*
keine ACL's kann , oder sagen wir mal so, wenn das drin steht, egal
an welcher Stelle wird es benutzt. bzw. DenyGroup...
*http://www.usenix.org/events/sec01/song.html
BloodyBullet
20.06.05, 15:59
Angemerkt sei noch, dass der Nutzer je nach Distribution in der Gruppe 'wheel' sein muss, um zu su'en.
MfG
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.