www.wikidata.de-de.nina.az
SSH Familie InternetprotokollfamilieEinsatzgebiet Datenubertragung auf Anwendungsschicht Fernsteuerung von ComputernPort 22 TCPSSH im TCP IP Protokollstapel Anwendung SSHTransport TCPInternet IP IPv4 IPv6 Netzzugang Ethernet TokenBus TokenRing FDDI Secure Shell oder SSH bezeichnet ein kryptographisches Netzwerkprotokoll fur den sicheren Betrieb von Netzwerkdiensten uber ungesicherte Netzwerke 1 Haufig wird es verwendet um lokal eine entfernte Kommandozeile verfugbar zu machen d h auf einer lokalen Konsole werden die Ausgaben der entfernten Konsole ausgegeben und die lokalen Tastatureingaben werden an den entfernten Rechner gesendet Genutzt werden kann dies z B zur Fernwartung eines in einem entfernten Rechenzentrum stehenden Servers Die neuere Protokoll Version SSH 2 bietet weitere Funktionen wie Datenubertragung per SFTP Dabei dient SSH als Ersatz fur andere unsichere Methoden wie Telnet Bei diesen werden alle Informationen auch sensible wie etwa Passworter im Klartext ubertragen Dies macht sie anfallig fur Man in the Middle Angriffe sowie einen Vertraulichkeitsverlust durch Packet Analyzer die die Datenpakete mitschneiden 2 Die Verschlusselungstechnik die durch SSH genutzt wird hat deshalb den Zweck die Vertraulichkeit Integritat und Authentizitat von Daten die uber ein unsicheres Netzwerk wie z B das Internet gesendet werden sicherzustellen SSH verwendet die Client Server Architektur Eine SSH Client Anwendung verbindet sich also mit einem SSH Server 3 Die Protokollspezifikation wird in zwei Versionen unterschieden bezeichnet als SSH 1 und SSH 2 SSH war zuerst fur unixoide Betriebssysteme verfugbar spater auch fur Microsoft Windows Die IANA hat dem Protokoll den TCP Port 22 UDP Port 22 und SCTP Port 22 zugeordnet 4 Inhaltsverzeichnis 1 Geschichte 2 Verwendung 2 1 Subsysteme 3 Funktionsweise 3 1 Sicherung der Transportschicht 3 2 Authentifizierung 4 Sicherheit 5 Implementierungen 6 Normen und Standards 7 Literatur 8 Weblinks 9 EinzelnachweiseGeschichte BearbeitenDie erste Version des Protokolls jetzt SSH 1 genannt wurde 1995 von Tatu Ylonen als Reaktion auf die Nachfrage nach drop in replacements fur Berkeley Services unter Unix einschliesslich der Befehle rsh remote shell rcp remote copy und rlogin remote login entwickelt Er veroffentlichte seine Implementierung 1995 als Freeware die daraufhin schnell an Popularitat gewann Ende des Jahres 1995 zahlte man bereits 20 000 Benutzer in funfzig Landern Im Dezember grundete Tatu Ylonen die Firma SSH Communications Security um SSH zu vermarkten und weiterzuentwickeln Die Originalsoftware enthielt ursprunglich Open Source Quellcode entwickelte sich aber im Laufe der Zeit immer mehr zu proprietarer Software Nachdem einige Schwachstellen in der Integritatsprufung von SSH 1 bekannt geworden waren wurde 1996 mit SSH 2 eine uberarbeitete Version des Protokolls entwickelt Sie ist inkompatibel zu SSH 1 Dabei wurde unter anderem das Protokoll in verschiedene Einzelteile aufgegliedert und somit die Verwendung sicherer Verschlusselungs und Authentifikations Algorithmen ermoglicht Damit wurden die Schwachstellen von SSH 1 beseitigt 1998 wurde der SSH Client PuTTY fur Microsoft Windows unter einer Freien Lizenz veroffentlicht 5 1999 wurde der Wunsch nach einer freien Implementierung von SSH laut und aus der letzten freien Version der Originalimplementierung entwickelte sich das separate OpenSSH Projekt Spatestens seit dieser Zeit existiert das SSH Protokoll in zwei Varianten Als Open Source Software OpenSSH und als proprietare Software Produktname SSH Tectia entwickelt und vertrieben von der Firma SSH Communications Security also den Original Entwicklern rund um Ylonen 2005 also zehn Jahre nach der Original Entwicklung ging die Firma SSH Communications Security mit der Generation 3 SSH G3 an die Offentlichkeit Diese Protokollversion unterstutzt die Verwendung des umstrittenen proprietaren Algorithmus CryptiCore Die anderen etablierten Verschlusselungsalgorithmen werden weiterhin unterstutzt 2006 wurde dieses Protokoll Version 2 von der IETF als Internetstandard vorgeschlagen Eine Zertifizierung nach FIPS Standard 140 2 besteht bereits langer Microsoft Windows stellt als Teil des Betriebssystems seit Ende 2017 einen SSH Client und Server bereit der Client ist standardmassig enthalten 6 7 Verwendung Bearbeiten Eine X11 Verbindung wird uber SSH weitergeleitetSSH ermoglicht eine sichere authentifizierte und verschlusselte Verbindung zwischen zwei Rechnern uber ein unsicheres Netzwerk Dadurch dient es unter anderem als Ersatz fur die Vorganger rlogin telnet und rsh diese ubertragen jeglichen Netzverkehr darunter auch die Passworter unverschlusselt Das ursprungliche Anwendungsgebiet ist das Anmelden an entfernten Rechnern uber ein Netzwerk meistens das Internet doch insbesondere SSH 2 ist nicht nur auf Terminalfunktionen beschrankt SFTP und SCP bieten kryptographisch sicherere Alternativen zu FTP und RCP X11 kann uber SSH transportiert und somit gesichert werden Uber SSH konnen beliebige TCP IP Verbindungen getunnelt werden Portweiterleitung dabei wird jeweils ein einzelner Port von einem entfernten Server auf den Client weitergeleitet oder umgekehrt So kann etwa eine ansonsten unverschlusselte VNC Verbindung abgesichert werden Ein SSH Client kann sich wie ein SOCKS Server verhalten und ermoglicht somit einen automatisierten Zugriff auf entfernte Rechner durch den SSH Tunnel etwa zum Umgehen einer Firewall Uber SSHFS kann ein entferntes Dateisystem auf dem lokalen Rechner gemountet werden Mit ssh keyscan kann der offentliche Schlussel eines entfernten Rechners ausgelesen werden Damit kann man unter Zuhilfenahme des zugehorigen offentlichen Schlussels zum Beispiel feststellen ob die IP Adresse und oder der DNS Eintrag eines SSH Servers manipuliert worden ist Wahlweise kann die Verbindung auch komprimiert werden um die Datenubertragung zu beschleunigen und Bandbreite zu sparen Damit lassen sich nun grundsatzlich mehrere Anwendungsszenarien darstellen Secure System Administration Sichere Systemverwaltung zur Absicherung der Fernverwaltung von Servern Ersetzt telnet rlogin etc Secure Application Tunneling Sicheres Tunneln zum transparenten Schutz TCP IP basierender Anwendungen als End to End Security Secure Remote Command Execution Sichere Ausfuhrung von Kommandos zur Ausfuhrung einzelner Kommandos auf einem anderen Rechner Dabei werden a href Stdin html class mw redirect title Stdin stdin a a href Stdout html class mw redirect title Stdout stdout a und a href Stderr html class mw redirect title Stderr stderr a transparent weitergeleitet Sonderfall davon Secure Subsystem Execution Sichere Ausfuhrung von Subsystemen zur Ausfuhrung von auf dem Server vordefinierter Kommandos wobei stderr jedoch nicht weitergeleitet wird Beispiel Secure File Transfer Sicherer Dateitransfer zur Herstellung sicherer automatisierter und interaktiver Dateitransfers dd Anmerkung SSH kann auch uber mehrere Stationen laufen Subsysteme Bearbeiten Im Fall von Secure Subsystem Execution konnen Subsysteme die in einer SSH Serverinstallation definiert wurden aus der Ferne ausgefuhrt werden ohne den genauen Pfad des auf dem Server auszufuhrenden Programms zu kennen SFTP ist das gangigste Subsystem In den einschlagigen RFCs sind jedoch noch mehrere solcher Subsysteme definiert 8 Jeder Administrator kann daruber hinaus seine eigenen Subsysteme definieren dabei sollte im Falle von nicht IANA registrierten Subsystemen die Conventions for Names 9 eingehalten werden Stichwort Syntax Dienst SSH Connection Protocol Subsystem Name 10 SpezifikationSFTP sftp IETF Draft 11 SSH Public Key Subsystem publickey RFC 4819 12 SNMP snmp RFC 5592 13 Netconf netconf RFC 6242 14 SSH transport mapping for SYSLOG syslog IETF Draft 15 Powershell powershell SSH Remoting in PowerShellFunktionsweise BearbeitenSicherung der Transportschicht Bearbeiten Noch vor einer Authentifizierung des Clients wird fur die Dauer der Sitzung ein geheimer Schlussel zwischen Server und Client ausgehandelt mit dem die gesamte nachfolgende Kommunikation verschlusselt wird Dabei identifiziert sich zunachst der Server dem Client gegenuber mit einem RSA DSA oder ECDSA Zertifikat wodurch Manipulationen im Netzwerk erkannt werden konnen kein anderer kann sich als ein bekannter Server ausgeben Fur die eigentliche Verschlusselung der Verbindung werden bei SSH 2 AES 3DES Blowfish Twofish und andere symmetrische Verschlusselungsverfahren verwendet Sofern von beiden Seiten unterstutzt wird unter bestimmten Voraussetzungen z B ubertragene Datenmenge verstrichene Zeit wieder ein neuer Schlussel ausgehandelt um einen Angriff auf die Sicherung der Transportschicht zu erschweren 16 3 Die Version SSH G3 unterstutzt auch den proprietaren Algorithmus CryptiCore der laut Hersteller einen Geschwindigkeitsgewinn bietet dessen Sicherheit allerdings vom Kryptoexperten Bruce Schneier bezweifelt wird 17 Authentifizierung Bearbeiten Nach erfolgter Sicherung der Transportschicht kann sich der Client unter anderem per Public Key Authentifizierung mit einem privaten Schlussel dessen offentlicher Schlussel auf dem Server hinterlegt wurde oder einem gewohnlichen Kennwort authentisieren Wahrend Letzteres in der Regel eine Benutzerinteraktion erfordert ermoglicht die Public Key Authentifizierung dass sich Client Computer auch ohne Benutzerinteraktion auf SSH Servern einloggen konnen ohne dass dabei ein Passwort auf dem Client im Klartext gespeichert werden muss Zur weiteren Absicherung konnen die privaten SSH Schlussel mit einem Passwort geschutzt werden Neuere Versionen des OpenSSH Servers unterstutzen mit verschiedenen Konfigurationsmoglichkeiten die Zwei Faktor Authentisierung oder auch eine Multi Faktor Authentisierung bei der eine Kombination unterstutzter Authentisierungsverfahren wie beispielsweise eine Kennwortangabe in Kombination mit dem Time based One time Password Algorithmus TOTP erfolgreich zur Anmeldung durchlaufen werden muss 18 19 Sicherheit BearbeitenDie von SSH 1 verwendete Integritatsprufung weist Schwachstellen auf die es einem Angreifer ermoglichen eine SSH 1 Sitzung auszuspahen Daher sollte nur noch SSH 2 verwendet werden das derzeit als sicher gilt 20 Diese Version zeichnet sich durch modularen Aufbau der Transport Autorisierungs und Verbindungsschichten aus und ermoglicht im Gegensatz zu SSH 1 die Verwendung von verschiedenen Verschlusselungsalgorithmen Verbindet sich ein Client zum ersten Mal mit einem Server wird ein sogenannter Fingerprint des offentlichen Schlussels angezeigt Wird dieser Fingerprint akzeptiert gilt er als vertrauenswurdig und in Zukunft wird bei einem abweichenden Fingerprint darauf hingewiesen dass die Verbindung nicht vertrauenswurdig ist Dieses Prinzip nennt man auch Trust on first use Genau hier ist es jedoch moglich mit einem Man in the Middle Angriff anzusetzen weil der Fingerprint noch nicht bekannt ist Sowohl fur SSHv1 als auch fur SSHv2 21 existieren Tools mit denen ein MitM Angriff durchgefuhrt werden kann Implementierungen BearbeitenSSH Implementierungen waren ursprunglich nur unter Unix verfugbar mittlerweile wurden jedoch sowohl SSH Server als auch Clients fur andere Plattformen programmiert siehe auch Geschichte Popular sind beispielsweise die SSH Clients PuTTY fur Microsoft Windows und Unix sowie Symbian sowie WinSCP Unter Cygwin gibt es auch einen Sshd fur Windows der auf OpenSSH basiert Damit kann man sich per SSH auf einer Windows Maschine einloggen und bekommt dort eine Shell Fur skriptgesteuerte Aufgaben zum Beispiel Datensicherung ist dies ein machtiges Werkzeug Mit OpenSSH existiert eine freie Implementierung von SSH die mittlerweile einen sehr grossen Verbreitungsgrad erreicht hat Weitere freie Ausfuhrungen sind dropbear oder lsh Weiterhin gibt es fur Microsoft Windows die kostenlose SSH Implementierung freeSSHd Der SSH Server lasst sich unter Windows als Dienst installieren Die Benutzersteuerung unterstutzt NT Authentifizierung somit kann man sich an einer Domane anmelden Noch umfangreicher ist der Bitvise SSH Server welcher fur den personlichen und nichtkommerziellen Einsatz ebenfalls kostenlos zur Verfugung steht Mit dem Windows 10 Fall Creators Update steht nun zunachst in der Beta Version ein OpenSSH Server und Client als Feature on Demand in Windows 10 zu Verfugung 22 Die SSH Communications Security bietet mit dem SSH Tectia Client Server eine kommerzielle SSH Implementierung an die eine Authentisierung mittels Smartcards und USB Tokens PKCS 11 sowie X 509 v3 Zertifikaten ermoglicht Auch OpenSSH kann Smartcards verwenden Normen und Standards BearbeitenSSH ist durch die nachfolgenden RFCs welche durch die IETF secsh Arbeitsgruppe als Internet standard vorgeschlagen wurden standardisiert RFC 4250 The Secure Shell SSH Protocol Assigned Numbers englisch RFC 4251 The Secure Shell SSH Protocol Architecture englisch RFC 4252 The Secure Shell SSH Authentication Protocol englisch RFC 4253 The Secure Shell SSH Transport Layer Protocol englisch RFC 4254 The Secure Shell SSH Connection Protocol englisch RFC 4255 Using DNS to Securely Publish Secure Shell SSH Key Fingerprints englisch RFC 4256 Generic Message Exchange Authentication for the Secure Shell Protocol SSH englisch RFC 4335 The Secure Shell SSH Session Channel Break Extension englisch RFC 4344 The Secure Shell SSH Transport Layer Encryption Modes englisch RFC 4345 Improved Arcfour Modes for the Secure Shell SSH Transport Layer Protocol englisch Es wurde anschliessend durch die folgenden RFCs modifiziert und erweitert RFC 4419 Diffie Hellman Group Exchange for the Secure Shell SSH Transport Layer Protocol Marz 2006 englisch RFC 4432 RSA Key Exchange for the Secure Shell SSH Transport Layer Protocol Marz 2006 englisch RFC 4462 Generic Security Service Application Program Interface GSS API Authentication and Key Exchange for the Secure Shell SSH Protocol Mai 2006 englisch RFC 4716 The Secure Shell SSH Public Key File Format November 2006 englisch RFC 4819 Secure Shell Public Key Subsystem Marz 2007 englisch RFC 5647 AES Galois Counter Mode for the Secure Shell Transport Layer Protocol August 2009 englisch RFC 5656 Elliptic Curve Algorithm Integration in the Secure Shell Transport Layer Dezember 2009 englisch RFC 6187 X 509v3 Certificates for Secure Shell Authentication Marz 2011 englisch RFC 6239 Suite B Cryptographic Suites for Secure Shell SSH Mai 2011 englisch RFC 6594 Use of the SHA 256 Algorithm with RSA Digital Signature Algorithm DSA and Elliptic Curve DSA ECDSA in SSHFP Resource Records April 2012 englisch RFC 6668 SHA 2 Data Integrity Verification for the Secure Shell SSH Transport Layer Protocol Juli 2012 englisch RFC 7479 Ed25519 SSHFP Resource Records Marz 2015 englisch RFC 5592 Secure Shell Transport Model for the Simple Network Management Protocol SNMP Juni 2009 englisch RFC 6242 Using the NETCONF Protocol over Secure Shell SSH Juni 2011 englisch draft gerhards syslog transport ssh 00 SSH transport mapping for SYSLOG Juli 2006 draft ietf secsh filexfer 13 SSH File Transfer Protocol Juli 2006 Zusatzlich enthalt das OpenSSH Projekt folgende herstellerspezifische Protokollspezifikationen und Erweiterungen OpenSSH Protokoll Ubersicht OpenSSH certificate key UbersichtLiteratur BearbeitenDaniel J Barrett Richard E Silverman Robert G Byrnes SSH the Secure Shell The Definitive Guide 2 Ausgabe O Reilly Sebastopol CA 2005 ISBN 0 596 00895 3 Michael W Lucas SSH Mastery OpenSSH PuTTY Tunnels and Keys CreateSpace 2012 ISBN 978 1 4700 6971 1 Weblinks Bearbeiten Commons SSH Sammlung von Bildern Videos und Audiodateien b ssh 1 b Debian GNU Linux Ausfuhrbare Programme oder Shell Befehle Handbuchseite Secure Shell secsh Seite der Arbeitsgruppe bei der IETF englisch OpenSSH offizielle Startseite SSH MITM proxy server ssh mitm server for security audits supporting public key authentication session hijacking and file manipulationEinzelnachweise Bearbeiten T Ylonen C Lonvick RFC 4251 The Secure Shell SSH Protocol Architecture Januar 2006 englisch SSH Hardens the Secure Shell Archiviert vom Original am 7 Februar 2018 abgerufen am 27 Mai 2020 Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot www serverwatch com Vorlage Cite web temporar a b T Ylonen C Lonvick RFC 4252 The Secure Shell SSH Authentication Protocol Januar 2006 englisch Service Name and Transport Protocol Port Number Registry Abgerufen am 27 Mai 2020 PuTTY a free SSH and Telnet client Abgerufen am 12 September 2022 OpenSSH in Windows In Microsoft Docs 13 August 2021 abgerufen am 25 Juni 2023 deutsch OpenSSH for Windows In twitter com Vorlage Internetquelle abruf 2023 MM TT ist Pflichtparameter Vorlage Internetquelle abruf 2023 MM TT ist Pflichtparameter englisch Secure Shell SSH Protocol Parameters IANA abgerufen am 15 Juni 2020 RFC 4250 The Secure Shell SSH Protocol Assigned Numbers Abschnitt 4 6 1 Conventions for Names englisch RFC 4250 The Secure Shell SSH Protocol Assigned Numbers Abschnitt 4 9 5 englisch draft ietf secsh filexfer RFC 4819 Secure Shell Public Key Subsystem Marz 2007 englisch RFC 5592 Secure Shell Transport Model for the Simple Network Management Protocol SNMP Juni 2009 englisch RFC 6242 Using the NETCONF Protocol over Secure Shell SSH Juni 2011 englisch draft gerhards syslog transport ssh 00 T Ylonen C Lonvick RFC 4253 The Secure Shell SSH Transport Layer Protocol Januar 2006 englisch Crypto Gram Changelog OpenSSH 6 2 How To Set Up Multi Factor Authentication for SSH on Ubuntu 16 04 Abgerufen am 9 Marz 2018 Teil 4 Verwendung von Secure Shell SSH PDF In Technische Richtlinie TR 02102 4 Kryptographische Verfahren Empfehlungen und Schlussellangen Bundesamt fur Sicherheit in der Informationstechnik Januar 2020 abgerufen am 16 Juni 2020 Die Verwendung von SSH 2 wird empfohlen ssh mitm ssh mitm ssh mitm server for security audits supporting public key authentication session hijacking and file manipulation 17 Januar 2021 abgerufen am 18 Januar 2021 Windows 10 OpenSSH als Feature On Demand Microsoft abgerufen am 2 Januar 2017 Normdaten Sachbegriff GND 4628726 7 lobid OGND AKS Abgerufen von https de wikipedia org w index php title Secure Shell amp oldid 235948096