|
|
Riga 1: |
Riga 1: |
| {{stub}}
| | [http://lintian.debian.org/ Lintian] � un programma normalmente usato dagli sviluppatori Debian per controllare la presenza di errori all'interno del loro pacchetto. |
| ==Introduzione==
| |
| Ho deciso di fare questa guida poich� ho avuto molta difficolt� a creare una connessione remota sicura fra una macchina Windows ed una Linux in una LAN (o in una WAN) in quanto la maggior parte delle guide, degli How-To e delle FAQ che ho trovato in Internet esamina tale connessione fra due macchine Linux.
| |
|
| |
|
| La connessione remota sicura, che esaminero`, e` una connessione che usa il protocollo [http://it.wikipedia.org/wiki/Ssh SSH (Secure SHell)] e, perci�, � detta '''connessione SSH''' la quale si basa sulla [http://it.wikipedia.org/wiki/Crittografia_asimmetrica criptografia asimetrica] detta anche '''criptografia a coppia di chiavi''' o, piu` semplicemente, '''a chiave pubblica/privata''' (o, semplicemente, '''a chiave pubblica''') che consiste nella generazione di una coppia di chiavi (chiamate [http://it.wikipedia.org/wiki/Chiave_privata chiave privata] e [http://it.wikipedia.org/wiki/Chiave_pubblica chiave pubblica]). In pratica, la '''chiave pubblica''' codifica la communicazione mentre la '''chiave privata''' decodifica tale comunicazione e vengono generate usando degli algoritmi asimetrici che sono [http://it.wikipedia.org/wiki/RSA RSA] e [http://en.wikipedia.org/wiki/Digital_Signature_Algorithm DSA] e le connessioni che usano tali coppie di chiavi prodotte da questi algoritmi asimetrici sono dette '''connessioni SSH'''. Tali algoritmi, per�, servono soltanto per instaurare una connessione criptata fra il client SSH e il server SSH in quanto, per il trasferimento vero e proprio dei dati, si usano degli algoritmi simmetrici, come AES o 3DES, che sono molto pi� efficenti per questo scopo ovvero per cifrare la comunicazione. Quindi: | | La presenza di un errore grave (rappresentato da una ''E'') pu� precludere l'accettazione di un pacchetto all'interno del repository Debian. La presenta di un messaggio di warning (''W''), invece, non ha questo effetto. |
|
| |
|
| Una '''connessione SSH''' � una connessione cifrata che utilizza gli algoritmi asimetrici RSA o DSA soltanto per verificare se una chiave pubblica, memorizzata sul Server, derivi da una chiave privata salvata sul Client (in modo da garantire la reciproca autenticita` del Server e del Client) in modo da essere utilizzata, per l'intera sessione, per la cifratura simmetrica con algoritmi come AES o 3DES.
| | [[Categoria: Glossario]] |
| | |
| ==Scelta del software==
| |
| | |
| Ora, dopo aver fatto questa introduzione per chiarire i termini che user� in seguito, spiegher�, in pratica, come si crea una connessione SSH da Windows a Linux. Per far ci�, occorre scegliere un server-software SSH sulla macchina Linux (che funge dal Server) ed un client-software SSH su una macchina Windows (che funge da Client). Ora, per scegliere un server-software SSH per Linux, non esiste alcun problema in quanto la communit� Open Source ha creato un ottimo prodotto che, ormai, tutte le distribuzione lo installano come default. Questo prodotto � il software [http://www.openssh.com/ OpenSSH Server]. Ora, siccome Windows (in tutte le sue edizione per il Desktop) non ha nessun client-software SSH, occorre cercarne uno. Il pi� semplice client SSH con licenza certificata Open Source � [http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTY] ma, chi volesse usare soprattutto la Shell di Linux ed avere qualche comodit� in pi� sullo stile di Windows, dovr� valutare programmi commerciali come [http://www.vandyke.com/products/securecrt/ SecureCRT] o [http://www.ssh.com/products/tectia/client/ SSH Tectia Client] che, per fortuna, si possono prelevare le versioni di valutazione completamente funzionanti prima dell'acquisto.
| |
| | |
| {{Box | Nota |I client SSH permettono soltanto di accedere alla Shell di Linux per poter eseguire comandi su un terminale a caratteri di questo sistema operativo. Per poter accedere anche al suo server grafico [http://it.wikipedia.org/wiki/X_Window_System X Window System] o '''X11''' o soltanto '''X''' (e, quindi, per poter controllare i vari ambienti grafici ed i programmi di X), occorre anche un [http://it.wikipedia.org/wiki/VNC client/server VNC]. Ora, niente paura in quanto, grazie alla funzionalit� [http://en.wikipedia.org/wiki/Tunneling_protocol Tunneling] di questi tre client SSH, � possibile controlare anche X sempre in modo sicuro.}}
| |
| | |
| ==Configurazione dell'OpenSSH Server==
| |
| | |
| Una volta installato l'OpenSSH Server sulla macchina Linux, occorre configurarlo per scegliere il modo di authentificazione che volete che le macchine Client usano per accedere a questa macchina Linux.
| |
| | |
| Le varie autentificazione che OpenSSH Server pu� offrire sono:
| |
| | |
| #Autentificazione tramite '''password'''
| |
| #Autentificazione '''ChallengeResponseAuthentication''' o '''Keyboard-Interactive'''
| |
| #Autentificazione '''a chiave pubblica'''
| |
| #Autentifiazione '''GSSAPI'''
| |
| | |
| '''L'autentificazione tramite password''' utilizza la Username e la Password dell'utente (le stesse usate per l'autentificazione in locale) per verificare se l'utente � autorizzato ad accedere da remoto alla macchina Linux.
| |
| | |
| '''L'autentificazione ChallengeResponseAuthentication o Keyboard-Interactive''' utilizza una serie di autentificazioni caratterizzate da richieste, fatte dal server SSH, che devono essere confermate dalle risposte mandate dal client SSH. Se le risposte coincidono a quelle memorizzate sul Server, l'utente � autorizzato ad accedere da remoto alla macchina Linux altrimenti questi non pu� entrare in tale macchina Linux.
| |
| | |
| '''L'autentificazione a chiave pubblica''' verifica se la chiavi pubblica, memorizzata sul Server, '''derivi''' dalla chiave privata memorizzata sul Client dell'utente. Se tale verifica ha esito positivo, l'utente pu� accedere alla macchina Linux altrimetri no. Siccome la chiave privata � praticamente un file, che autorizza chiunque entra in possesso ad entrare in un Server SSH, � consigliabile protteggerla con una '''passphrase''' che, in sostanza, � una password che occorre inserirla ogni volta (o quasi) che si effettua una connessione verso tale Server SSH.
| |
| | |
| '''L'autentifiazione GSSAPI''', basata su un'API generica, implementata su vari sistemi operativi, utilizza un determinato protocollo, che, normalmente, � Kerberos 5, per trasferire i dati per l'autentificazione.
| |
| | |
| Le auttentificazioni pi� comode ed usate in una rete LAN (ma non solo) sono l''''autentificazione tramite password''' e l''''autentificazione a chiave pubblica'''. Quindi, la mia attenzione andr� soprattutto su queste due autentificazioni in quanto sono, forse, le pi� semplici da essere implementate.
| |
| | |
| Il file di configurazione di OpenSSH Server si chiama ''sshd_config'' che, normalmente, si trova nella directory ''/etc/ssh''.
| |
| | |
| Questo file � un file di testo composto da '''direttive''' (dette '''Keywords'''), che sono '''case-insensitive''', e da '''valori''', che sono '''case-sensitive'''. Quindi, per editarlo, basta un semplice editor di testo come '''vi''' o '''Emacs''' che avete gi� nella vostra distribuzione.
| |
| | |
| Quindi, attiviamo, in forma base, le autentificazioni tramite password e a chiave pubblica e disattiviamo le altre per evitare conflitti ed accessi non desiderati a causa di eventuali bachi.
| |
| | |
| Perci�, verichiamo, da root, che, nel file ''/etc/ssh/sshd_config'', ci siano le seguenti keyword ed i corrispettivi valori; se si dovessero trovare delle keyword mancanti o dei valori che non corrispodessero a quei sotto-ennunciati, modificate semplicemente il testo stando attenti a non fare incominciare le keyword con il simbolo #:
| |
| | |
| *''Port <Numero porta d'ascolto>'' Questa keyword indica la porta d'ascolto dell'OpenSSH Server. Conviene cambiare la porta
| |
| d'ascolto di default per evitare, fin da subito, degli attacchi esterni e mettere un numero
| |
| superiore a 1024 che non sia gi� usato da altri servizi locali o di Internet (per sapere le
| |
| porte Internet di default usate dai comuni servizi Internet, andate
| |
| [http://www.iana.org/assignments/port-numbers qui]). Si deve ricordare, dopo aver scelto tale porta, di "dire" al vostro fireware
| |
| aprire in entrata tale porta per fare in modo che i vostri utenti remoti possono acceedere alla
| |
| vostra macchina Linux.
| |
| | |
| | |
| ----
| |
| | |
| --[[Utente:Balubeto|Balubeto]] 05:29, 3 Giu 2006 (EDT)
| |