14 Linux Network Tenet Ssh Ecc

11
Protocollo Telnet L'obiettivo del protocollo TELNET è fornire un supporto per le comunicazioni sufficientemente generalizzato, bidirezionale ed orientato ai byte (otto bit). È solitamente utilizzato per fornire all'utente sessioni di login remoto di tipo linea di comando tra host su internet.

Transcript of 14 Linux Network Tenet Ssh Ecc

Page 1: 14 Linux Network Tenet Ssh Ecc

Protocollo Telnet

L'obiettivo del protocollo TELNET è fornire un supporto per le comunicazioni sufficientemente generalizzato, bidirezionale ed orientato ai byte (otto bit).

È solitamente utilizzato per fornire all'utente sessioni di login remoto di tipo linea di comando tra host su internet.

Page 2: 14 Linux Network Tenet Ssh Ecc

Protocollo Telnet Sicurezza

Ci sono tre problemi principali legati a Telnet, che lo rendono una brutta scelta per sistemi moderni dal punto di vista della sicurezza:

* Nei daemon Telnet comunemente usati sono state trovate nel corso degli anni molte vulnerabilità, e probabilmente altre esistono tuttora. * Telnet non cripta i dati inviati tramite la connessione (nemmeno le password) ed è quindi banale catturare i dati scambiati ed usare la password per scopi malevoli. * A Telnet manca uno schema di autenticazione che renda sicura le comunicazione tra due host e non intercettabile.

In ambienti dove la sicurezza è importante, come la rete pubblica Internet, Telnet non dovrebbe esser usato. Le sessioni telnet non sono criptate. Ciò significa che chiunque abbia accesso ad un router, uno switch o un gateway posizionato sulla rete tra i due host che stanno comunicando tramite Telnet, può intercettare i pacchetti che lo attraversano e facilmente ottenere qualsiasi cosa venga scambiata (compresi nomi utente e password) con programmi come tcpdump e Ethereal.

Page 3: 14 Linux Network Tenet Ssh Ecc

Telnet porta 80

lupux@felix:~$ telnet www.google.it 80Trying 209.85.227.99...Connected to www.l.google.com.Escape character is '^]'.get / HTTP/1.1

HTTP/1.1 200 OKVia: 1.1 FW1-DIGIBYTEConnection: Keep-AliveProxy-Connection: Keep-AliveTransfer-Encoding: chunkedExpires: -1Date: Tue, 17 Mar 2009 13:13:38 GMTContent-Type: text/html; charset=ISO-8859-1Server: gwsCache-Control: private, max-age=0<html>contenuto html<html>

Page 4: 14 Linux Network Tenet Ssh Ecc

Telnet 25

lupux@felix:/tmp$ telnet mxlibero1.libero.it 25Trying 212.52.84.83...Connected to mxlibero1.libero.it.Escape character is '^]'.h220-mailrelay04.libero.it ESMTP220 mx.libero.it ESMTP Service Readyhelo localhost250 mailrelay04.libero.itmail from:<[email protected]>250 sender <[email protected]> okrcpt to:<[email protected]>250 recipient <[email protected]> okdata354 go aheadtest.250 ok: Message 1320774920 acceptedquit221 mailrelay04.libero.itConnection closed by foreign host.

Page 5: 14 Linux Network Tenet Ssh Ecc

Secure Shell, ovvero SSH

SSH (o Secure SHell) è un protocollo che vi consente di stabilire connessioni sicure tra due sistemi. Nel protocollo SSH il computer client avvia una connessione con il computer server.

SSH fornisce le seguenti misure di protezione:

* Dopo una connessione iniziale, il client verifica di collegarsi allo stesso server durante sessioni successive.

* Il client trasmette le proprie informazioni di autenticazione al server, per esempio il nome utente e la password, in forma cifrata.

* Tutti i dati inviati e ricevuti durante la connessione vengono trasferiti utilizzando una cifratura a 128 bit. In questo modo è estremamente complesso decifrarli e leggerli.

* Il client può utilizzare le applicazioni X11 [1] applicazioni avviate dal prompt della shell. Questa tecnica, chiamata X11 forwarding, fornisce un'interfaccia grafica e sicura.

http://www.dia.unisa.it/~ads/corso-security/www/CORSO-0001/SSH/index.htm

Page 6: 14 Linux Network Tenet Ssh Ecc

ssh esempi Pratici

$ ssh -l tizio linux.brot.dg

Accede all’elaboratore ‘linux.brot.dg’, utilizzando lì il nominativo-utente ‘tizio’.

$ ssh -l tizio linux.brot.dg ls -l /tmp

Esegue il comando ‘ls -l /tmp’ nell’elaboratore ‘linux.brot.dg’, utilizzando il nome- utente ‘tizio’.

http://www.dia.unisa.it/~ads/corso-security/www/CORSO-0001/SSH/index.htm

Page 7: 14 Linux Network Tenet Ssh Ecc

Trasferimenti di file sicuri con SSH “SCP”

Il programma SSH fornisce inoltre un modo sicuro di trasferire i propri file attraverso internet. Il programma da impiegare in questo caso é scp (secure copy). La sintassi di scp é al solito molto semplice:

scp NomeUtente@ HostDiPartenza:FileDaCopiare NomeUtente@ HostDiArrivo:NomeFile

Es.scp NomeFileDaCopiare NomeUtente @NomeHost:NomeFile

Questo comando copierà il file NomeFileDaCopiare che si trova nella directory corrente in quella dell'utente NomeUtente del host NomeHost. I : servono ad evitare che il comando scp copi in locale il file NomeFileDaCopiare in uno dal nome NomeUtente@NomeHost !

Per copiare un file che si trova in un host remoto nella cartella locale, si deve invece scrivere:scp NomeUtenteRemoto@NomeHostRemoto:NomeFileDaCopiare

Page 8: 14 Linux Network Tenet Ssh Ecc

Port Forwarding

Con Secure Shell è possibile rendere sicuro anche un qualsiasi protocollo allo strato applicazione, come ad esempio FTP, HTTP e SMTP. Facciamo un esempio in cui può essere resa sicura una connessione HTTP. Consideriamo lo scenario nella figura sottostante.

http://www.dia.unisa.it/~ads/corso-security/www/CORSO-0001/SSH/index.htm

Page 9: 14 Linux Network Tenet Ssh Ecc

Port ForwardingSull'host A gira un web browser, che desidererebbe stabilire una connessione sicura con l'host C, su cui gira un Web server. Il percorso che connette A con la sottorete comprendente C è insicuro, e dunque soggetto ad ogni sorta di attacco. Si suppone che la sottorete comprendente C sia sicura e che in essa sia presente un host (B, nel nostro esempio), su cui gira un server SSH. Possiamo brevemente riassumere con i seguenti passi il metodo utilizzato per rendere la connessione sicura sul percorso insicuro da A alla sottorete comprendente C:

1. A crea una connessione SSH con B 2. B crea una connessione HTTP con C e invia ad A i dati cifrati con SSH

http://www.dia.unisa.it/~ads/corso-security/www/CORSO-0001/SSH/index.htm

Page 10: 14 Linux Network Tenet Ssh Ecc

Port ForwardingHost A è separato dalla intranet da una rete insicura e deve comunicare via telnet con Host C. Host B permette connessioni SSH.Con il port forwarding di SSH viene creato il canale sicuro tra Host A e Host B, mentre la connessione telnet vera e propria viene effettuata tra Host B e Host C.Con il seguente comando, dato su Host A:

hostA> ssh -L 1111:HostC:23 HostB sleep 100

viene allocata la porta TCP 1111 su Host A attraverso la quale, passando per il canale sicuro, si arriva alla porta 23 (telnet) di Host C.Per completare la connessione vera e propria bisogna effettuare un telnet a questa porta:

hostA> telnet localhost 1111

http://www.dia.unisa.it/~ads/corso-security/www/CORSO-0001/SSH/index.htm

Page 11: 14 Linux Network Tenet Ssh Ecc

Link Utili

ssh http://www.dia.unisa.it/~ads/corso-security/www/CORSO-0001/SSH/index.htm