|
|
Riga 1: |
Riga 1: |
| {{stub}}
| | Questa guida tratta la configurazione delle modalit� di sospensione ed ibernazione del nostro sistema operativo in esecuzione su laptop e notebook di recente generazione. |
| ==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:
| | =Prerequisiti= |
| | I prerequisiti per poter abilitare la sospensione e l' ibernazione del nostro portatile sono semplici: |
| | * i sorgenti di un kernel recente e la capacit� compilarlo; |
| | * alcuni programmi utili |
| | * spazio sufficiente su disco |
|
| |
|
| 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.
| | =Software necessario= |
| | Dobbiamo procurarci alcuni programmi: |
| | * hibernate (il programma a linea di comando che gestisce l' ibernazione) |
| | * suspend2 (una patch per il kernel) |
| | * eventualmente i tools di gestione del risparmio energetico per il nostro Desktop Environment. In questa guida far� riverimento espressamente a Gnome Power Management (GPM), ma presumo il tutto sia facilmente adattabile ad altri programmi. |
|
| |
|
| ==Scelta del software== | | ==Hibernate== |
| | Procediamo con l' installare hibernate. Il tutto si risolve con il classico: |
| | <pre># apt-get install hibernate vlock</pre> |
|
| |
|
| 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.
| | ==Suspend2== |
| | ===Scaricare la patch=== |
| | Dal sito di [http://www.suspend2.net/ Suspend2], scarichiamo la versione pi� recente della patch. Al momento di scrivere questa guida il kernel pi� recente � il 2.6.16.19 e la patch Suspend2 � la 2.2.5. |
|
| |
|
| {{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.}}
| | Ecco come procedere. |
| | ====Download==== |
| | <pre>koky:~# cd /usr/src/ |
| | koky:/usr/src# |
| | koky:/usr/src# wget http://www.suspend2.net/downloads/all/suspend2-2.2.5-for-2.6.16.9.tar.bz2 |
| | --12:40:13-- http://www.suspend2.net/downloads/all/suspend2-2.2.5-for-2.6.16.9.tar.bz2 |
| | => `suspend2-2.2.5-for-2.6.16.9.tar.bz2' |
| | Risoluzione di www.suspend2.net in corso... 212.236.250.103 |
| | Connessione a www.suspend2.net|212.236.250.103:80... connesso. |
| | HTTP richiesta inviata, aspetto la risposta... 200 OK |
| | Lunghezza: 104,327 (102K) [application/x-bzip2] |
|
| |
|
| ==Configurazione dell'OpenSSH Server== | | 100%[====================================>] 104,327 77.44K/s |
|
| |
|
| 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.
| | 12:40:17 (77.22 KB/s) - "suspend2-2.2.5-for-2.6.16.9.tar.bz2" salvato [104327/104327] |
|
| |
|
| Le varie autentificazione che OpenSSH Server pu� offrire sono:
| | koky:/usr/src#</pre> |
|
| |
|
| #Autentificazione tramite '''password''' | | ====Decompressione==== |
| #Autentificazione '''ChallengeResponseAuthentication''' o '''Keyboard-Interactive'''
| | <pre>koky:/usr/src# tar xvjf suspend2-2.2.5-for-2.6.16.9.tar.bz2 |
| #Autentificazione '''a chiave pubblica'''
| | suspend2-2.2.5-for-2.6.16.9/ |
| #Autentifiazione '''GSSAPI''' | | suspend2-2.2.5-for-2.6.16.9/apply |
| | suspend2-2.2.5-for-2.6.16.9/Changelog.txt |
| | suspend2-2.2.5-for-2.6.16.9/unapply |
| | suspend2-2.2.5-for-2.6.16.9/2000-workqueue-freezing.patch |
| | suspend2-2.2.5-for-2.6.16.9/features |
| | suspend2-2.2.5-for-2.6.16.9/2020-kmod-freeze.patch |
| | suspend2-2.2.5-for-2.6.16.9/3030-reboot-handler-hook.patch |
| | suspend2-2.2.5-for-2.6.16.9/3020-cryptoapi-deflate.patch |
| | suspend2-2.2.5-for-2.6.16.9/3050-init-hooks.patch |
| | suspend2-2.2.5-for-2.6.16.9/3060-reset-kswapd-max-order-after-resume.patch |
| | suspend2-2.2.5-for-2.6.16.9/3080-dynamic-pageflags.patch |
| | suspend2-2.2.5-for-2.6.16.9/3070-clear-swapfile-bdev-in-swapoff.patch |
| | suspend2-2.2.5-for-2.6.16.9/3040-proc-acpi-sleep-activate-hook.patch |
| | suspend2-2.2.5-for-2.6.16.9/2010-suspend2-freezer-upgrade.patch |
| | suspend2-2.2.5-for-2.6.16.9/3000-crypto-api-lzf-support.patch |
| | suspend2-2.2.5-for-2.6.16.9/9900-Suspend2.patch |
| | koky:/usr/src#</pre> |
|
| |
|
| '''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.
| | ===Applicare la patch=== |
| | | ===Configurare il kernel=== |
| '''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.
| | [[image:Menuconfig-01.png]] |
| | | [[image:Menuconfig-02.png]] |
| '''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.
| | ===Configurazione del bootloader=== |
| | | =Configurare il sistema= |
| '''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 #:
| |
| | |
| {|
| |
| |style="width:14.5em;vertical-align:top;"|''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 firewall di 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)
| |