SSH-protokollet. Niels Möller

Relevanta dokument
uran: Requesting X11 forwarding with authentication uran: Server refused our rhosts authentication or host

Säkerhet. Säker kommunikation - Nivå. Secure . Alice wants to send secret message, m, to Bob.

Datasäkerhet och integritet

Föreläsningens innehåll. Säker kommunikation - Nivå. IPSec. IPSec - VPN. IPSec - Implementation. IPSec - Består av vad?

SSL/TLS-protokollet och

Förra gången. Dagens föreläsning. Digitala Certifikat. Vilka man litar på! X.509. Nyckeldistribution. Säkerhetsprotokoll

Att bygga VPN. Agenda. Kenneth Löfstrand, IP-Solutions AB. Olika VPN scenarios. IPsec LAN - LAN. IPsec host - host SSH

Objektorienterad Programkonstruktion. Föreläsning 10 7 dec 2015

Förra gången. Dagens föreläsning. Digitala Certifikat. Nyckeldistribution. Säkerhetsprotokoll

IP-baserade program. Telnet

Grundläggande nätverksteknik. F2: Kapitel 2 och 3

19/5-05 Datakommunikation - Jonny Pettersson, UmU 2. 19/5-05 Datakommunikation - Jonny Pettersson, UmU 4

RIV Tekniska Anvisningar Kryptografi. Version ARK_

Inställningar hos klienter som behövs för BankIR 2.0.

3. Steg för steg. Kör IPv6 på riktigt med FortiGate! Principen är enkel:

Cipher Suites. Rekommendationer om transportkryptering i e-tjänster

5. Internet, TCP/IP och Applikationer

Modul 6 Webbsäkerhet

Probably the best PKI in the world

SFTP (Secure Shell FTP using SSH2 protocol) Teknisk manual

Certifikattjänsten - testbädd. Anläggningsprojekt för ett nationellt inkomstregister

Grundläggande datavetenskap, 4p

Dagens agenda. Lagring & berarbetning av data. Filer och filformat Metadata Komprimering Kryptering Olika typer av data Filsystem Databaser

Java Secure Sockets Extension JSSE. F5 Secure Sockets EDA095 Nätverksprogrammering! Roger Henriksson Datavetenskap Lunds universitet

File Transfer Protocol (FTP) Problem och lösningar

F5 Exchange Elektronikcentrum i Svängsta Utbildning AB

Chaos VPN - Installera Cisco AnyConnect Windows 7

Föreläsning 7. DD2390 Internetprogrammering 6 hp

Chaos VPN - Installera Cisco AnyConnect Windows 8

DIG IN TO Administration av nätverk- och serverutrustning

Michael Q. Jones & Matt B. Pedersen University of Nevada Las Vegas

Avancerad SSL-programmering I

Alternativet är iwindows registret som ni hittar under regedit och Windows XP 32 bit.

Datainsamling över Internet

FactoryCast HMI. Premium & Quantum PLC. FactoryCast HMI epost-tjänst

Identity Management i ett nätverkssäkerhetsperspektiv. Martin Fredriksson

Skydd för känsliga data

Hur integrera Active Directory och DNS? Rolf Åberg, Simplex System

x Hur hamnade vi här och vad kan vi göra åt saken

Föreläsning 10. Grundbegrepp (1/5) Grundbegrepp (2/5) Datasäkerhet. olika former av säkerhet. Hot (threat) Svaghet (vulnerability)

Driftsättning av DKIM med DNSSEC. Rickard Bondesson Examensarbete

Konfigurering av eduroam

Att använda kryptering. Nyckelhantering och protokoll som bygger på kryptering

WWW. Exempel på klientsidan. Överföring av en html-fil. Snyggare variant. Verkligt format. Meddelandeformat för begäran HTTP

MRD Industriell 3G-Router KI00283C

Förra gången. Dagens föreläsning. De vanligaste attackerna

Datakommunika,on på Internet

Övningar - Datorkommunikation

What Is IPSec? Security Architecture for IP

Lösenordsportalen Hosted by UNIT4 For instructions in English, see further down in this document

Tentamen i Datorkommunikation den 10 mars 2014

Surfning. Webbklienter och webbservrar. Specialskrivna webbservrar. Kommunikation med sockets

Säkerhet i applikationslagret och slaget om webben. John Wilander, Omegapoint, Rätt säkerhet, maj 2010

Manuell installation av SQL Server 2008 R2 Express för SSF Timing

Konfigurationsdokument M1

1. Internets Applikationer 8 poäng

Säker e-kommunikation

Säkerhet. Vad är det vi pratar om??

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

OBS! Det är av största vikt att innan konfiguration av modulen, genomfört de inställningar som presenteras med bilagorna till denna manual.

Modul 3 Föreläsningsinnehåll

SPID och identifiering av obfuskerade protokoll

MPEG-4 innehåller bl.a:

Föreläsning 5. Vägval. Vägval: önskvärda egenskaper. Mål:

Manuell installation av SQL Server 2008 R2 Express SP2 fo r SSF Timing

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

Voice over IP / SIP. Switching Costs SIP. Motivation for VoIP. Internet Telephony as PBX replacement. Internet Telephony Modes.

KomSys Hela kursen på en föreläsning ;-) Jens A Andersson

Övning: Arbeta med Azure Explorer

Unix-Säkerhet. Övningsprov. Frågorna skall besvaras på ett sådant sätt att en insatt kollega skall känna sig informerad.

Webbteknik II. Föreläsning 5. Restless farewell. John Häggerud, 2011

Föreläsning 5: Stora datanät Från användare till användare ARP

Installationsmanual ImageBank 2

EIT060 Datasäkerhet - Projekt 2. Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011

DATORINTRODUKTION 2010 LABORATION 1

IPv6 och säkerhet.

Föreläsning 9 Transportprotokoll UDP TCP

Beijer Electronics AB 2000, MA00336A,

DRAFT. CVS kurs laboration 1 Checka in, ut och uppdatera. Marcus Rejås. 17 november 2002

Ny installation...2. Översikt...2. Filer som behövs...2. Installera SQL Server Express (om det behövs)...3. Skapa en databas i SQL Server...

ETSF Routingprojektet JENS ANDERSSON

5 Internet, TCP/IP och Tillämpningar

BRUKSANVISNING FÖR NÄTVERKSANVÄNDARE

Filleveranser till VINN och KRITA

Kryptering. Krypteringsmetoder

Switch- och WAN- teknik. F7: ACL och Teleworker Services

DIG IN TO Nätverksteknologier

Transportskiktets uppgifter. Transportskiktet UDP. UDP-kapning (DNS) DNS-sökning, Ethernet-ram <#>

Datakommunikation och Internet

Transportskiktet. Sidorna , i boken

ANVÄNDAR-GUIDE för Bränneriets LAN

DA 2012: F13. Nätverk 2 Ann-Sofi Åhn

Telia Connect för Windows

Tentamen Nätverksprogrammering Lösningsförslag

Mumble FAQ. Jack-Benny Persson 2 maj 2012

Uppdatera Easy Planning till SQL

Webbteknik II. Föreläsning 4. Watching the river flow. John Häggerud, 2011

Specifikation av CA-certifikat för SITHS

Avancerade Webbteknologier

Transkript:

SSH-protokollet Niels Möller 2018-03-21 1 / 18

Historia 1993 Kerberos version 5 (RFC 1510) 1995 Första SSH släpps av Tatu Ylonen, för att ersätta telnet, rsh,... 1995 SSL-2.0 (trasigt) släpps av Netscape. 1996 SSL-3.0 släpps av Netscape. 1997 Första Internet-Draft för SSH-2, IETF secsh wg. 1998 Första incheckning i LSH. 1999 TLS 1.0, RFC 2246. 2000 OpenSSH för stöd för SSH-2. 2001 Nettle-1.0 släpps (spin-off från LSH). 2006 RFC 4250-4254 publiceras. 2 / 18

Flera protokoll Transportprotokoll, RFC 4253. Användarautenticering, RFC 4252. Multiplexade kanaler, RFC 4254. SFTP (ingen RFC, fastnade i feature creep). 3 / 18

Transportprotokollet En rad klartext: SSH-2.0-softwareversion SP comments CR LF Binärt paketprotokoll: byte byte[n1] byte[n2] byte[m] packet_length padding_length payload random padding mac Ordning: Komprimering, mac, kryptering. 4 / 18

Protokollmeddelanden Första byten i payload är meddelandetyp: 1 SSH MSG DISCONNECT 2 SSH MSG IGNORE 3 SSH MSG UNIMPLEMENTED 4 SSH MSG DEBUG 5 SSH MSG SERVICE REQUEST 6 SSH MSG SERVICE ACCEPT 20 SSH MSG KEXINIT 21 SSH MSG NEWKEYS 5 / 18

Handskakning byte byte[16] boolean SSH_MSG_KEXINIT cookie (random bytes) kex_algs server_host_key_algs encryption_algs_client_to_server encryption_algs_server_to_client mac_algs_client_to_server mac_algs_server_to_client compression_algs_client_to_server compression_algs_server_to_client languages_client_to_server languages_server_to_client first_kex_packet_follows 0 (reserved) 6 / 18

Nyckelutbyte med diffie-hellman-group14-sha1 Diffie-Hellman nyckelutbyte. Sessionsid är en hash av string V_C, the client s identification string V_S, the server s identification string I_C, the client s SSH_MSG_KEXINIT string I_S, the server s SSH_MSG_KEXINIT string K_S, the host key mpint e, exchange value sent by the client mpint f, exchange value sent by the server mpint K, the shared secret Servern signerar sessionsid, för serverautenticering. Ger nya nycklar används efter SSH MSG NEWKEYS. Bör göras om efter en timme eller 1 GB data. 7 / 18

Autenticering, SERVICE REQUEST ssh-userauth Använder följande meddelanden: 50 SSH MSG USERAUTH REQUEST 51 SSH MSG USERAUTH FAILURE 52 SSH MSG USERAUTH SUCCESS 53 SSH MSG USERAUTH BANNER Vanliga metoder: publickey Nyckelpar. keyboard-interactive Passar med PAM. password Lösenord. gssapi Kerberos. 8 / 18

Begäran om autenticering Begär service ssh-connection byte SSH_MSG_USERAUTH_REQUEST string user name in UTF-8 string service name in US-ASCII string method name in US-ASCII... method specific fields För metoden publickey: boolean TRUE string public key algorithm name string public key to be used string signature Signatur på sessionsid + meddelandet ovan. 9 / 18

Svar på autenticering Efter USERAUTH SUCCESS startas begärd service. Misslyckad begäran ger byte SSH_MSG_USERAUTH_FAILURE authentications that can continue boolean partial success 10 / 18

Service ssh-connection 90 SSH MSG CHANNEL OPEN byte SSH_MSG_CHANNEL_OPEN string channel type sender channel initial window size maximum packet size... 91 SSH MSG CHANNEL OPEN CONFIRMATION byte SSH_MSG_CHANNEL_OPEN_CONFIRMATION recipient channel sender channel initial window size maximum packet size 92 SSH MSG CHANNEL OPEN FAILURE 97 SSH MSG CHANNEL CLOSE byte SSH_MSG_CHANNEL_CLOSE recipient channel 11 / 18

Att skicka data 93 SSH MSG CHANNEL WINDOW ADJUST byte SSH_MSG_CHANNEL_WINDOW_ADJUST recipient channel bytes to add 94 SSH MSG CHANNEL DATA byte SSH_MSG_CHANNEL_DATA recipient channel string data 95 SSH MSG CHANNEL EXTENDED DATA byte SSH_MSG_CHANNEL_EXTENDED_DATA recipient channel data_type_code string data 96 SSH MSG CHANNEL EOF byte SSH_MSG_CHANNEL_EOF recipient channel 12 / 18

Andra operationer 80 SSH MSG GLOBAL REQUEST byte SSH_MSG_GLOBAL_REQUEST string request name boolean want reply... request-specific data follows 81 SSH MSG REQUEST SUCCESS 82 SSH MSG REQUEST FAILURE 98 SSH MSG CHANNEL REQUEST byte SSH_MSG_CHANNEL_REQUEST recipient channel string request type boolean want reply... type-specific data follows 99 SSH MSG CHANNEL SUCCESS 100 SSH MSG CHANNEL FAILURE 13 / 18

Skal, CHANNEL OPEN session Operationer för CHANNEL REQUEST: pty-req Allokera pty, sätter storlek, $TERM, termios-flaggor. window-change Signalerar ny storlek på klientens terminal. x11-req Begär X11-forwarding, cookie, skärmnummer. env Sätt omgivningsvariabel. shell Starta interaktivt skal. exec Kör kommando, /bin/sh -c. subsystem Används för att starta sftp. signal Skicka signal till processen. exit-status, exit-signal Rapportera exit-kod. 14 / 18

X11 forward Begärs med x11-req, med fejk-cookie. Servern skapar socket under /tmp.x11-unix och xauth-fil. Och sätter $DISPLAY och $XAUTH i skalets omgivning. Accept på socket ger en CHANNEL OPEN x11 över SSH. SSH-klienten verifierar cookie, byter mot sin riktiga cookie, och forwardar till lokal X-server. Kanalen lever vidare oberoende av session-kanalen som begärde forwarding. 15 / 18

TCP-forward med ssh -L byte string string string SSH_MSG_CHANNEL_OPEN "direct-tcpip" sender channel initial window size maximum packet size host to connect port to connect originator IP address originator port 16 / 18

TCP-forward med ssh -R Begärs med byte SSH_MSG_GLOBAL_REQUEST string "tcpip-forward" boolean want reply string address to bind (e.g., "0.0.0.0") port number to bind Servern binder porten. Accept ger en byte string string string SSH_MSG_CHANNEL_OPEN "forwarded-tcpip" sender channel initial window size maximum packet size address that was connected port that was connected originator IP address originator port 17 / 18

Exempel ssh remote.example.org /bin/foo < in > out Klient Server CHANNEL OPEN session CHANNEL OPEN CONFIRMATION window = 0 CHANNEL REQUEST exec foo startas CHANNEL WINDOW ADJUST data CHANNEL EOF foo dör CHANNEL EOF CHANNEL REQUEST exit-status CHANNEL CLOSE CHANNEL CLOSE 18 / 18