|
|
(25 versioni intermedie di 7 utenti non mostrate) |
Riga 1: |
Riga 1: |
| == Introduzione == | | == Descrizione == |
| Il [[repository]] � a tutti gli effetti un archivio ordinato dove sono raccolti i pacchetti Debian (siano essi pacchetti binari o sorgenti) in modo ben organizzato e costantemente aggiornato. In ogni sistema debian i repository utilizzati vengono indicati nel file <tt>/etc/apt/sources.list</tt>. Vedi anche [[Faq#Repository|FAQ: Cos'� un '''repository'''?]].
| |
|
| |
|
| == Lista repository ufficiali debian ==
| | '''SSH''' ('''S'''ecure '''SH'''ell, shell sicura) è un ''protocollo'' che permette di stabilire una connessione sicura tra due computer. SSH garantisce la segretezza e l'integrità dei dati scambiati tra due computer cifrando l'intera comunicazione, compresa la fase di autenticazione. |
| Di seguito troverete l'elenco repository ufficiali da inserire nel <tt>sources.list</tt> per le varie [[La struttura della Distribuzione|versioni di debian]]. Il mirror � quello italiano. I repository dei pacchetti sorgente sono commentati. per ulteriori informazioni leggere la sezione: [[I repository ed il loro utilizzo#Sources.list|Sources.list]].
| |
|
| |
|
| === Debian Sarge ===
| | Le connessioni SSH vengono instaurate tipicamente sulla ''porta 22'' e, di norma, il server risponde aprendo una [[shell]] di comando, tuttavia tramite il meccanismo del [http://en.wikipedia.org/wiki/Tunneling_protocol tunneling] è possibile instradare attraverso tale canale criptato anche il traffico di altre porte e persino le connessioni generate da applicazioni grafiche che risiedono sul computer remoto (ad es. una sessione vnc).<br/> |
| | Questa importante caratteristica consente quindi di sottoporre a comunicazione criptata protocolli che in origine non prevedono questa possibilità, inoltre utilizzando una sola porta per la trasmissione di pacchetti che invece ne userebbero molte altre, è possibile collegarsi ad un [[host]] Linux posto dietro ad un firewall senza bisogno di modificarne le impostazioni. |
|
| |
|
| ## Debian Stable (sarge)
| | == Implementazioni == |
| deb http://ftp.it.debian.org/debian/ testing main contrib non-free
| |
| #deb-src http://ftp.it.debian.org/debian/ testing main contrib non-free
| |
|
| |
| ## Aggiornamenti della sicurezza
| |
| deb http://security.debian.org/ sarge/updates main contrib
| |
| #deb-src http://security.debian.org/ sarge/updates main contrib
| |
|
| |
|
| Per l'uso di sarge in ambito desktop (ma non solo) sono molto utili i [[backports]]:
| | Gli strumenti più diffusi per utilizzare il protocollo SSH sono la [http://www.openssh.com/ suite OpenSSH] che è disponibile per OpenBSD, Linux, vari UNIX, Mac OS X, e MS Windows tramite Cygwin.<br/> |
| | Nella suite sono inclusi diversi client, tra cui il più famoso è <code>ssh</code> che permette di aprire appunto una shell remota connettendosi al server. Altri client sono <code>scp</code> che emula il comportamento di <code>cp</code> e <code>sftp</code> che ha un'interfaccia molto simile a <code>ftp</code> (simula un server FTP). |
|
| |
|
| * [http://backports.org/ Debian Backports]
| | Il client <code>ssh</code> ha un'interfaccia a linea di comando simile a quella di [[telnet]] e <code>rlogin</code>, ma, a differenza di questi ultimi, l'intera comunicazione (sia l'autenticazione che la sessione di lavoro) avviene in maniera cifrata. Per questo motivo, SSH è diventato uno standard di fatto per l'amministrazione remota di sistemi *nix e di molti dispositivi di rete, rendendo obsoleto il protocollo telnet, giudicato troppo pericoloso per la sua mancanza di protezione contro le intercettazioni. |
|
| |
|
| === Debian Etch ===
| | Altro client interessante, venuto recentemente alla ribalta è '''<code>[[SSHFS: montare una risorsa remota sfruttando FUSE ed SSH|SSHFS]]</code>''' che permette di montare directory remote ed usarle in tutto e per tutto come directory locali (grazie a [http://fuse.sourceforge.net/ FUSE]): tutti i programmi possono accedere alla cartella remota in maniera trasparente, ignorando del tutto che essa si trovi su un altro computer! |
|
| |
|
| ## Debian Testing (etch)
| | Su sistemi Debian è possibile installare separatamente un server SSH (sulla macchina a cui si vuole accedere) o un client SSH (sulla macchina da cui si vuole accedere a un server SSH). |
| deb http://ftp.it.debian.org/debian/ testing main contrib non-free
| |
| #deb-src http://ftp.it.debian.org/debian/ testing main contrib non-free
| |
|
| |
| ## Aggiornamenti della sicurezza
| |
| deb http://security.debian.org/ etch/updates main contrib
| |
| #deb-src http://security.debian.org/ etch/updates main contrib
| |
|
| |
|
| === Debian Sid === | | == Autenticazione e crittografia della connessione == |
|
| |
|
| ## Debian Unstable (sid)
| | SSH implementa diversi metodi di autenticazione, dal comune metodo della coppia di credenziali utenza/password al più sicuro e sofisticato metodo della coppia di chiavi pubblica/privata. Tralasciando il metodo utenza/password assai noto, risulta più interessante spendere due parole sul secondo. |
| deb http://ftp.it.debian.org/debian/ unstable main contrib non-free
| |
| #deb-src http://ftp.it.debian.org/debian/ unstable main contrib non-free
| |
|
| |
|
| Per '''Sid''' non c'� il repository per la sicurezza dato che eventuali falle vengono corrette semplicemente con l'aggiornamento del pacchetto incriminato.
| | La [http://it.wikipedia.org/wiki/Crittografia_asimmetrica criptografia asimmetrica] detta anche '''crittografia a coppia di chiavi''' o, più semplicemente, '''a chiave pubblica/privata''' (o, semplicemente, '''a chiave pubblica''') 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]): la '''chiave pubblica''' cripta la comunicazione, mentre la '''chiave privata''' è usata per decriptarla. Ogni coppia di chiavi viene generata usando degli algoritmi asimmetrici, per esempio [http://it.wikipedia.org/wiki/RSA RSA] e [https://en.wikipedia.org/wiki/EdDSA EdDSA (ed25519)]: le connessioni che usano tali coppie di chiavi 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ù efficienti per questo scopo ovvero per cifrare la comunicazione. |
|
| |
|
| == Lista repository non ufficiali ==
| | Riassumendo una '''connessione SSH''' è una connessione cifrata che utilizza gli algoritmi asimmetrici 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 autenticità del server e del client) in modo da essere utilizzata, per l'intera sessione, per la [[Introduzione alla crittografia|cifratura simmetrica]] con algoritmi come AES o 3DES. |
| Per una lista dei repository non ufficiali pi� diffusi vedere: [[Repository non ufficiali]].
| |
|
| |
|
| == La Struttura dei repository ==
| |
| Un repository suddivisibile, grossomodo, in due sezioni:
| |
| * '''dists''' in questo ramo sono contenuti i file di controllo, che permettono il funzionamento del sistema di pacchettizzazione. Infatti sono presenti i file che descrivono i pacchetti presenti nell'archivio (divisi per la release di appartenenza);
| |
| * '''doc''' raccoglie la documentazione di base per Debian (segnalazioni di Bug, Faq, il Contratto Sociale ed altro)
| |
| * '''indices''' contiene l'indice di tutti i file contenuti in tutti i pacchetti. Queste informazioni sono usate da [[Apt-file: ricerca all'interno dei pacchetti|<tt>apt-file</tt>]].
| |
| * '''non-US''' a causa di problemi legali dovuti al divieto di esportazione di matariale per la difesa (tra cui materiale crittografici, utilizzati anche in PGP e SSH). Per ovviare a questi problemi, i pacchetti sono stati posti in una sezione a parte, la cui distribuzione legata a server non Statunitensi.
| |
| * '''pool''' questo l'archivio vero e proprio, dove sono contenuti i pacchetti, raggruppati per lettera iniziale;
| |
| * '''project''' contiene materiale per sviluppatori. Degne di nota la direcotory experimetal, che contiene i pacchetti in fase di sviluppo e perfezionamento;<br/>
| |
| * '''tools''' contiene degli strumenti Dos per la creazione di dischetti di boot, partizionamento e lancio di Linux.
| |
|
| |
|
| == La Suddivisione del repository == | | == Voci correlate sul wiki == |
| Navigando un po' tra gli archivi Debian, si nota subito una particolare suddivisione: i repository, infatti, sono divisi in '''main''', '''contrib''' e '''non-free''', nel modo seguente:
| |
| * '''main''' � la sezione principale, che contiene il 90% dei pacchetti presenti in Debian
| |
| * '''contrib''' raccoglie i pacchetti coerenti con la DFSG5.6, ma che dipendono da pacchetti che non la rispettano
| |
| * '''non-free''' contiene dei pacchetti che possiedono delle limitazioni nella distribuzione (ad esempio perch� non utilizzabili in ambito commerciale o perch� dipendenti da applicazioni o pacchetti che non rispettano la Debian Free Software Guideline)
| |
|
| |
|
| == Sources.list ==
| | * [[OpenSSH]] |
| === Il ruolo fondamentale ===
| | ** [[OpenSSH: file di configurazione | File di configurazione]] |
| Il file '''/etc/apt/sources.list''' � forse il pi� importante file di configurazione del sistema di gestione dei pacchetti Debian. Esso, infatti, contiene l'elenco e gli indirizzi dei repository a cui apt accede.
| | ** [[OpenSSH: Windows | Connettere windows e linux]] |
| | ** [[SSHFS: montare una risorsa remota sfruttando FUSE ed SSH]] |
| | * [[Fail2ban | Ostacolare attacchi ''brute-force'' al server SSH con fail2ban]] |
|
| |
|
| === Ordine di Inserimento === | | == Approfondimenti == |
| � importante inserire i repository con un giusto ordine: i primi in elenco, infatti, sono i pi� importanti (o favoriti). Per migliorare le performance, � consigliabile ordinarli per velocit� (Es. prima il cdrom, poi la rete locale, poi internet, ...).
| |
|
| |
|
| === Sintassi ===
| | * [http://it.wikipedia.org/wiki/Ssh Ssh] su Wikipedia (it) |
| Ogni riga che descrive un repository ha una ben determinata sintassi:
| | * [http://en.wikipedia.org/wiki/Secure_Shell Secure Shell] su Wikipedia (en) |
| <pre>
| | * [http://en.wikipedia.org/wiki/Public-key_cryptography Public-key cryptography] su Wikipedia (en): spiega, molto meglio del corrispondente articolo italiano, in cosa consiste la crittografia a chiave pubblica. |
| deb uri distribution [component..]
| | * [https://www.digitalocean.com/community/tutorials/understanding-the-ssh-encryption-and-connection-process SSH encryption and connection process], pagina che spiega le basi di chiavi pubblica/privata e di come funziona il processo autenticativo di SSH. |
| </pre>
| |
|
| |
|
| Analizziamo i singoli componenti:
| | [[Categoria:Glossario]] |
| * '''deb o deb-src''' serve ad indicare se il repository indicato contiene pacchetti binari o pacchetti sorgenti (se li contiene entrambi, � necessario specificarlo usando due righe diverse).
| |
| * '''uri''' indica l'indirizzo a cui � possibile trovare il repository; � possibile scegliere tra i seguenti metodi di accesso ai pacchetti:
| |
| ** '''file''' permette di inserire un repository presente sull'Hard Disk del computer;
| |
| ** '''cdrom''' permette di inserire un repository presente su un cd-rom;
| |
| ** '''http''' permette di accedere ad un repository tramite il protocollo http (se � impostata una variabile di ambiente '''http_proxy''' col formato '''http://server:port/''' verranno usate queste opzioni per accedere al repository; in caso di necessit� di autenticazione, � possibile specificare l'inidirizzo del proxy, nella variabile d'ambiente '''http_proxy''', nel seguente modo: '''http://user:pass@server:port/''', anche se risulta non essere un modo sicuro di autenticazione);
| |
| ** '''ftp''' permette di accedere ad un repository tramite il protocollo ftp; � possibile specificare un proxy nell stesso modo indicato per http al punto precedente, sostituendo alla variabile '''http_proxy''' '''ftp_proxy''';
| |
| ** '''copy''' � idendico a file, ma i file utilizzati vengono salvati nella cache di apt; utile nel caso di supporti removibili quali Usb-drive, Floppy, Zip, ...;
| |
| ** '''rsh, ssh''' permette di accedere ad un repository tramite il protocollo ssh. Non � possibile, per�, effettuare alcuna autenticazione interativa, ma solo tramite lo scambio di chiavi RSA.
| |
| * '''distribution''' indica la [[La struttura della Distribuzione|distribuzione (o release)]] utilizzata... � possibile usare il nome in codice (sarge, etch, sid) o il nome generico (stable, testing, unstable);
| |
| *'''component''' indica la sezione (non-free, main, contrib...) del repository da inserire; sono possibili scelte multiple.
| |
| | |
| === Alcuni esempi ===
| |
| Non c'� niente di meglio, per capire la sintassi del file sources.list, si un po' di esempi.
| |
| | |
| I repository ufficiali (binari e sorgenti) presi da un mirror italiano:
| |
| <pre>
| |
| deb http://ftp.it.debian.org/debian/ stable main non-free contrib
| |
| deb-src http://ftp.it.debian.org/debian/ stable main non-free contrib
| |
| </pre>
| |
| | |
| Il repository di apt-build (Rif. 7.1 Pag. [*]):
| |
| <pre>
| |
| deb file:/var/cache/apt-build/repository apt-build main
| |
| </pre>
| |
| | |
| Un repository 'artigianale' accessibile tramite un webserver:
| |
| <pre>
| |
| deb http://repos.debianizzati.org ./
| |
| </pre>
| |
| | |
| Un repository situato nella home dell'utente maxer, creato con <code>dpkg-scanpackages</code>:
| |
| <pre>
| |
| deb file:/home/maxer/repos ./
| |
| </pre>
| |
| | |
| Per altri repository vedere: [[#Lista repository ufficiali debian|Lista repository ufficiali debian]] e [[Repository non ufficiali]].
| |
| | |
| ----
| |
| [[User:MaXeR|MaXeR]]
| |
| [[Categoria:Apt]]
| |
| [[Categoria:Repository]] | |