Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdMartha Edith Devos Laatst gewijzigd meer dan 8 jaar geleden
1
Gebruik van ssh Marcel Nijenhof marceln@pion.xs4all.nl 2 december 2007
2
Waarom ssh
3
Inleiding ● Wat is ssh – Vervanging berkley r-tools (rsh, rlogin, rcp) – Vervanging telnet – ftp ● Verschillen – Verbindingen gecrypt – Public key signing authorisatie – Poort forwarding
4
Het protocol ● Het ssh protocol wordt onderhouden door ietf – http://www.ietf.org/html.charters/secsh-charter.html ● Versies – 1.5 – 1.99 (Zowel 1.5 als 2.0) – 2.0 ● Geen standaard voor scp (wel sftp)
5
Protocol gebruik
6
De architectuur ● Server – Draait op de server waarna je connect – Wacht totdat er een verbinding wordt opgebouwd – Verzorgt authorisatie, connectie, poort forwarding ● Client – Draait op de werkplek/Start de verbinding – Meerdere type clients (commandline, putty, winscp)
7
Server implementaties ● OpenSSH (4.7) ● ssh.com ● F-Secure ssh (nu bij wrq) ● SunSSH (OpenSSH 2.5.1p1) ● Dropbear (0.50) ● Diverse andere implementaties (Zie freshmeat)
8
Server gebruik
9
Client implementaties ● OpenSSH (Ook cygwin) ● ssh.com ● Putty ● WinSCP (Putty clone) ● Teraterm & TSSH ● pssh (PalmOS) ● mindterm (Java implementatie)
10
Ssh en remote commando's ● Je kunt via ssh inloggen – ssh nijen018@server ● Een remote commando opstarten – ssh nijen018@server hostname – ssh nijen018@server -t vi # Wel terminal controls – ssh nijen018@server -f xterm # Background ssh
11
Redirectie en pipes ● Makkelijk voor data transport ● Redirectie – ssh server1 tar cf -. > /tmp/server1.tar # Geen '' – ssh server2 tar xf - < /tmp/server2.tar # Geen '' ● Pipes – ssh server1 tar cf -. | ssh server2 tar xf - # 2 keer over net
12
Vpn via ssh en ppp ● Makkelijk op te zetten via: – Creëer een “seriële lijn” via ssh – Start pppd aan beide kanten op ● Niet uniek voor ssh (kan ook via telnet) ● Zie: http://www.tldp.org/HOWTO/ppp-ssh/http://www.tldp.org/HOWTO/ppp-ssh/ ● Langzaam door het dubbele ack probleem ● Onder linux ook via tun driver (zie forwarding)
13
Scp & Sftp ● scp – Methode om files en directories te kopiëren (alla rcp) – Mogelijk recursief (-r) en behoud van permissies (-p) – Niet portable (OpenSSH scp -> ssh.com werkt niet) ● sftp – Interactief files op halen – Ftp commandline achtige programma – Server extensie – Geen chroot/commando selectie mogelijkheden
14
File transport en gui ● winscp3 – Standaard windows explorer achtig programma – Transporteert files via ssh,scp of sftp ● kde (konqueror) -> fish – fish://server/tmp ● gnome (nautulis) -> ssh – ssh://server/tmp
15
Portforwarding Algemeen ● Opzetten tcp verbinding door de ssh verbinding – Tcp verbinding wordt encrypt – Gaat automatisch mee door de firewall – Werkt als een soort proxy (3 tcp sessies) ● Tekening
16
Local portforwarding ● Voorbeeld: ser1$ ssh -gL 1111:ser3:23 ser2 # -g = Globaal dus ook van andere host ws$ telnet ser1 1111 # Login vanaf ws via de ser1,ser2 op de ser3 ● Tekening ws ser1 ser2 ser3 telnet groen 1111 tunnel in ssh telnet vanuit sshd
17
Remote Portforwarding ● Voorbeeld ser1$ ssh -R 1111:ws:23 ser2 # Denk aan GatewayPorts sshd_config(4) ser3$ telnet ser2 1111 # Login van de ser3 via ser1 op ws ● Tekening ws ser1 ser2 ser3 telnet vanuit ssh tunnel in ssh telnet ser2 1111
18
Ip forwarding (vpn via tun) ● Ip forwarding via 2 tun interfaces (openssh 4.3+) ● Verkeer tussen tun interfaces via “ssh” – Beide systemen worden multihome – Verkeer kan via ip forwarding gerouteerd worden ● ssh -f -w 0:1 server true – Denk aan PermitTunnel (config_sshd(4)) – Daarna ifconfig tun0....
19
X-Forwarding ● Voorbeeld ssh -X server # Zet x-forwarding op (evtentueel ook -Y voor trusted x-forwarding) ● Bijzondere remote forwarinding – DISPLAY wordt automatisch opgezet – Maakt automatisch gebruik van magic cookies – De tcp poort 6000 hoeft niet eens open te staan – Transparant door firewalls
20
Sudo & Xauthority ● Magic cookie staat in “~/.Xauthority” – Magic cookie is een passwoord – Nodig om X applicatie te gebruiken ● Gebruik na sudo – root: export XAUTHORITY=~ /.Xauthority – Andere gebruiker: ● eigen account: xauth list $DISPLAY ● ander account: xauth add....
21
Portforwarding & Putty ● Configuration -> Connection -> SSH -> Tunnels
22
Exceed 10 ● Vanaf Exceed 10 is ssh volledig geïntegreerd ● Gewoon bruikbaar vanuit “xstart.exe” – Vul “ssh” als connectie methode in – Vul de host in (evt. als ip nummer) – Vul een commando in (b.v. “/usr/bin/X11/xterm”) ● Op deze manier is er geen volledige sessie support (xdm)
23
Encryptie ● A-Symetrisch (rsa1, rsa, dsa) – Werkt met public key encryptie (public/private keys) – Kan gebruikt worden voor authorisatie – Gebruikt voor uitwisselen van de sessie key ● Symetrisch (aes, 3des, blowfish) – Data wordt symetrisch verstuurd (sneller) – Integriteit wordt gecontroleerd (md5, sha1)
24
Public key ● Public key encryptie – De publieke sleutel mag overal bekend zijn – De prive sleutel is geheim – Crypten ● Decrypten kan alleen via prive sleutel ● Signen bericht via private sleutel – Ondertekenen ● Via private key ● Controleren via public key
25
Fingerprint ● Samenvatting publieke sleutel – Publieke sleutel wordt gebruikt door de host om aan te tonen dat hij is wie hij is – Bij eerste inlog poging krijg je de fingerprint te zien $ ssh localhost The authenticity of host 'localhost (127.0.0.1)' can't be established. RSA key fingerprint is d0:6e:57:55:21:39:31:32:34:7b:d0:df:f4:92:af:07. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'localhost' (RSA) to the list of known hosts. Last login: Fri Feb 18 17:31:03 2005 from localhost.localdomain
26
Public key authorisatie ● Authorisatie via de prive sleutel van de gebruiker – De server moet beschikken over de public key ● ~/.ssh/authorized_keys ● Permissies moeten goed zijn ● Bij ssh.com ssh anders ● Alternatief voor “.rhost” files – De private key is dan paswoord equivalent ● ssh-keygen -t dsa -b 1024
27
Public key agent ● Je kunt een paswoord zetten op de prive sleutel – Alleen bruikbaar na intypen van sleutel passwoord – Prive sleutel file is niet meer passwoord equivelent ● Er is een daemon die de decrypte keys onthoudt – Wel inloggen zonder paswoord – Zodra de daemon niet loopt is de key veilig – De sleutel files zelf zijn ook veilig
28
Configuratie sshd ● Veel opties (zie sshd_config(5)) – X11Forwarding yes – AllowTcpForwarding yes – RSAAuthentication yes – PasswordAuthentication yes – PermitEmptyPasswords no – Subsystem sftp /opt/OpenSource/openssh/libexec/sftp-server – UseLogin no ● Beïnvloed veiligheid en mogelijkheden
29
Ssh & firewalls ● Alleen tcp poort 22 van client na server ● Relatief veilige X koppeling – Geen poort 6000 terug open – Gebruik magic cookies ● Stroom is encrypt – Niemand kan paswoorden sniffen
30
Firewall problemen ● Al het verkeer is encrypt – Verkeersstroom is niet zichtbaar te maken – IDS kan er weinig mee ● Portforwarding – Niet te voorkomen/filteren op firewall – Verkeer komt van ander ip adres dan oorspronkelijk
31
Ssh en bruteforce aanvallen ● Veel bruteforce aanvallen op ssh – sshd: Invalid user guest4 from 200.68.46.232 sshd: (pam_unix) check pass; user unknown sshd: (pam_unix) authentication failure;... rhost=200.68.46.232.... ● Diverse oplossingen – Denyhosts (voegt ip nummers toe in host-deny) – Diverse andere
32
Documentatie ● http://www.openssh.com ● openssh faq ● O'REILLY The Secure Shell
33
Conclusies ● Problemen met – Logging/ids op het netwerk – Portforwaring is niet altijd wenselijk ● Met ssh is een hoop mogelijk – Vereenvoudigd het werk – Maakt het werk veiliger – Gaat goed door firewalls heen
34
Vragen ?
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.