1. 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.
2. 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.
3. Telnet porta 80 lupux@felix:~$ telnet www.google.it 80 Trying 209.85.227.99... Connected to www.l.google.com. Escape character is '^]'. get / HTTP/1.1 HTTP/1.1 200 OK Via: 1.1 FW1-DIGIBYTE Connection: Keep-Alive Proxy-Connection: Keep-Alive Transfer-Encoding: chunked Expires: -1 Date: Tue, 17 Mar 2009 13:13:38 GMT Content-Type: text/html; charset=ISO-8859-1 Server: gws Cache-Control: private, max-age=0 <html> contenuto html <html>
4. Telnet 25 lupux@felix:/tmp$ telnet mxlibero1.libero.it 25 Trying 212.52.84.83... Connected to mxlibero1.libero.it. Escape character is '^]'. h220-mailrelay04.libero.it ESMTP 220 mx.libero.it ESMTP Service Ready helo localhost 250 mailrelay04.libero.it mail from:<pdiid@di.com> 250 sender <pdiid@di.com> ok rcpt to:<lupux@libero.it> 250 recipient <lupux@libero.it> ok data 354 go ahead test . 250 ok: Message 1320774920 accepted quit 221 mailrelay04.libero.it Connection closed by foreign host.
5. 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
6. 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
7. 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
8. 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
9. Port Forwarding Sull'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
10. Port Forwarding Host 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
11. Link Utili ssh http://www.dia.unisa.it/~ads/corso-security/www/CORSO-0001/SSH/index.htm