IT-Academy Logo
Sign Up Login Help
Home - Betriebssysteme - Unix - Server/Internet/Netzwerk - Secure Shell (SSH)



Secure Shell (SSH)

genauere erklaerung von ssh und diskussion der risken.


Autor: Franz Schaefer (mond)
Datum: 23-01-2002, 19:29:47
Referenzen: man ssh
Schwierigkeit: Anfänger
Ansichten: 3500x
Rating: Bisher keine Bewertung.

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]



Übersicht

einig der CD leser benutzen ja ssh schon regelmaessig zum einlogen auf
anderen computern. heute wollen wir und einwenig genauer mit diesem
wichtigen programm beschaeftigen.

nochmals zur widerhohlung:

ssh -l maxmeier somehwere.over.the.rainbow.at

oder:

ssh maxmeier@somewhere.over.the.rainbow.at

erlaubt einem das einlogen auf einem anderen rechner unter eben diesem
usernamen (hier: maxmeier ) sofern man das passwort dafuer kennt.

(ist der name am lokalen computer auch "maxmeier" so kann man die angabe
des namens weglassen)

der datenverkehr am netzwerk wird dabei verschluesselt. logt man das erste
mal auf diesem rechner ein so erhaelt man eine warnung dass der andere
computer unbekannt ist. akzeptiert man die verbindung dann mekrt sich ssh
in der datei:

.ssh/known_hosts

unterhalb des homeverzeichnisses den schluessel dieses rechners. in
zukunft wird eine verbindung nur noch akzeptiert wenn der schluessel mit
dem gespeicherten uebereinstimmt.

obwohl nun der datenverkehr uebers netzwerk verschluesselt ist sollte man
sich keinesfalls in sicherheit wiegen.
was sind die verbleibenden gefahren:

1.) fuehrt man das ssh auf einem rechner auf der nicht sicher ist (z.b
ein oeffentliches terminal oder ein windows rechner in einem
beliebigen firmen lan in dem outlook verwendet wir und das daher
vermutlich extrem virenverseucht ist...etc..), so besteht immer die
gefahr dass auf diesem computer ein programm laueft das alle
tastendruecke mitprotokolliert oder dass dort eine veraendert version
des ssh programms liegt die die passwoerter abspeichert und an hacker
verschickt..etc..

d.h. ssh ist nicht sicher wenn es von einem unsicheren rechner aus
aufgerufen wird.

abhilfe: one-time-passwords entschaerfen die situation ein klein
wenig aber sind auch kein totaler schutz.

2.) logt man das erste mal auf einem anderen rechner ein so ist der
schluessel noch nicht bekannt. beim ersten einlogen koennte also
zwischen dem lokalen computern und dem anderen auf dem wir einlogen
wollen ein hacker sitzen der so tut als waere er der andere computer.
ein "man-in-the-middle attack" waere also beim ersten einlogen
moeglich.

abhilfe: entweder die fingerprints des eigenen rechners merken oder
die known_hosts systemweit fuer alle oft benutzten computer
vorinstallieren

3.) ist der computer nicht sicher auf den man einlogt so kann dieser
computer beim einlogen das passwort im klartext abspeichern. wenn du
das selbe passwort auf mehreren verschiedenen computern verwendest
sind dann die anderen computer auf denen du das selbe passwort hast
auch gefaehrdet..

abhilfe:

o unterschiedliche passwoerter verwenden. wenn schon nicht
verschieden fuer jedes system dann zumindestens nach
sicherheitslevel gruppiert. oder:

o neuere versionen koennen das passwort mit einem protokoll namens
SRP (secure remote passwort) ueberpruefen. dabei wir das passwort
dem entfernten computer nie im klartext presentiert. (ist aber noch
nicht sehr verbreitet)

o man verwendet RSA schluessel. (darueber lernen wir ein anderes mal)

zurueck zu praktischen dingen.

beim aufrf von ssh kann man auch einen befehl angeben der am entfernten
computer ausgefuehrt werden soll:

ssh maxmeier@irgendwo.at fortune

wuerde das programm fortune am anderen computer aufrufen anstatt sich dort
einzulogen.

damit ist es jetzt moeglich filter auch zwischen computern laufen zu
lassen. z.b.:

fortune | ssh maxmeier@irgendwo.at grep the >blabla.txt

wuerde lokal "fortune" aufrufen. die ausgabe des programmes aber via ssh
uebers netzwerk zum anderen computer schicken. dort das programm "grep"
benutzen um alle zeilen zu suchen die das wort "the" enthalten und die
ausgabe wuerde wieder via netzwerk zuruck zum eigenen computer geschickt
und in der datei blabla.txt gespeiechert.

so wuerde zum beispiel:

ssh irgendwo.at cat blabla.txt > blibli.txt

eine kopie der datei blabla.txt vom anderen computer auf den lokalen
computern in die datei blibli.txt schreiben.

hat man zugriff auf eine soundcard wuerde der befehl:

cat /dev/audio | ssh irgendwo.at "cat - > /dev/audio"

alle daten die aus der speziellen datei /dev/audio gelesen werden (dort
hat man zugriff auf das was der computer via soundcard "hoert") auf den
anderen compuer kopieren und dort mit dem befehl:

cat -

(der liest von standardeingabe und schreibt nach standardoutput)

und wuerde die daten dort durch schreiben auf die spezielle datei
"/dev/audio" dort am lautsprecher wieder ausgeben.

man beachte die " anfuehrungszeichen in obigen befehl. anderenfalls wuerde
die > umleitung am eigenen computer und nicht am entfernet ausgefuehrt.

eine weitere nuetzliche funktion ist das ssh neben der login verbindung
auch zusaetzliche "tunnel" zwischen den computern aufbauen kann.

z.b.:

ssh -L 7000:irgendwo.at:25 maxmeier@irgendwo.at

macht einen tunnel vom lokalen port 7000 der mit dem anderen computer port
25 verbunden ist.

telnet 7000 localhost

wuerde einem jetzt z.b. mit dem mail server von irgendwo.at verbinden. nur
dass die daten jetzt durch den verschluesselten tunnel gehen.

umgekehrt kann man wenn man -R statt -L verwendet auch ports am entfernten
computer mit lokalen services verbinden. oft eine praktische moeglichkeit
um zu restriktive firewalls zu ueberlisten.

besonders praktisch:

ssh -X irgendwo.at

baut dir einen tunnel auf der grafische X11 programme umleitet. du kasnnst
also z.b. am anderen rechner ein netscape oder xterm starten das die
anzeige auf deiner eigenen X11 oberflaeche ausgibt.. aber vorsicht: man
oeffnet damit auch eine zusaetzliche gefahr: root (oder ein hacker) auf
dem computer auf den man einlogt koennte damit display oder die tastur vom
eigenen rechner abhoeren...

EXERCISES:

diskutiere folgende fragen:

* du sitzt an einem oeffentlichen windows terminal und hast dort das
secure shell programm "putty" installiert. welchen gefahren bist du
ausgesetzt?

* du logst von deinem sicheren notebook daheim aus auf einem rechner ein
der vermutlich von einem hacker besetzt ist. welche information gibst du
dadurch preis?

* versuche mit ssh -X grafische programme auf einem anderen computer zu
benutzen. was sind die zusaetzlichen gefahren dabei?

_______________________________________________
CD ist ein service von SILVER SERVER
der inhalt unterliegt der GFDL
_______________________________________________



[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04511
Artikel:00815
Glossar:04116
News:13565
Userbeiträge:16552
Queueeinträge:06248
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 1158
Comments: 0