Firewall Builder: differenze tra le versioni

Nessun cambiamento nella dimensione ,  1 apr 2006
m
nessun oggetto della modifica
mNessun oggetto della modifica
mNessun oggetto della modifica
Riga 1: Riga 1:
==Introduzione==
==Xorg su Debian Sid==


Molti utenti non prendono molto in considerazione l'importanza di una password 'decente', in quanto pensano che a nessuno interessi il proprio sistema oppure che avere una password complessa e/o diversa da quelle normalmente scelte sia una cosa faticosa/per paranoici!
===Descrizione===
Bene, non cos�!
Questa guida tenter� di illustrare i passi base necessari a chi volesse cimentarsi nella compilazione ed installazione di xorg su sid.<br>
L'importanza di scegliere una password 'difficile' � fondamentale, essendo una facile chiave di accesso ai nostri dati.
Il nostro obiettivo � creare una serie di pacchetti .deb adattando quelli presenti nei repository dei sorgenti ubuntu e personalizzandoli per sid.<br>
Tutto questo lavoro di compilazione serve ad evitare di dover installare ulteriori pacchetti dal repository ubuntu, le cui versioni sono spesso presenti soltanto in quel particolare repository (molti pacchetti vengono personalizzati e modificati dal team di sviluppo) e che renderebbero il nostro sistema un misto tra ubuntu e debian.<br>
Tenuta presente comunque la buona compatibilit� dei sorgenti dei pacchetti ubuntu rispetto ai .deb prelevati da debian.org (specialmente in relazione alle dipendenze di ciascun pacchetto), � possibile ricostruire l'intero xorg sfruttando le librerie necessarie prelevandole  per�, direttamente da sid.<br>
Faccio notare come la durata di tutta l'operazione sia un fattore importante da valutare: sulla mia macchina (Athlon xp 2000+, 256Mb), ad esempio, sono necessari oltre '''100 minuti''' per portare a termine tutto il processo di compilazione.<br>


===Configurazione sistema===
Innanzitutto dobbiamo aggiungere ad i repository dei pacchetti che usiamo abitualmente, anche quello di ubuntu (NB: abbiamo bisogno solo dei sorgenti, quindi basta la sola riga con deb-src), commentando temporaneamente le altre righe deb-src presenti nel nostro '''sources.list'''.<br>


==Generazione di Password: Come Fare==
<pre>deb-src http://us.archive.ubuntu.com/ubuntu hoary universe main restricted</pre>


Quante volte ci siamo trovati davanti ad una riga con scritto ''Password:'' senza sapere che cosa inserire? Immagino tante, tantissime!
Dopo aver aggiunto tale riga, provvediamo ad aggiornare le liste di apt con il solito '''apt-get update'''.<br>
Scegliare una buona password non � facile, ma non � nemmeno impossibile!!!
Durante l'operazione, possiamo controllare se viene scaricata anche la lista appena inserita per i pacchetti di ubuntu.
Ecco una piccola lista delle caratteristiche principali che dovrebbe avere ogni password:
* Non deve essere banale (casa, gatto, il nome della persone, la data di nascita), in quanto uno dei primi sistemi per cercare la password di una persone � proprio quello di analizzare la sua vita (supponendo che l'attaccante possa entrare in comunicazione con l'attaccato), e questo genere di password � quello pi� facile da scoprire.
* Non deve essere una sola parola ripetuta pi� volte: non penso che 'gattogatto' sia pi� difficile da indovinare di 'gatto';
* Non dovrebbe essere riconducibile a qualche cosa della propria vita;
* Non deve essere una parola di senso compiuto: spesso, infatti, vengono fatti attacchi con dei dizionari, che riescono a forzare in pochissimo tempo questo genere di password;
* Deve contenete altri caratteri oltre alle sole lettere maiuscole: ci� consente di ampliare l'elenco dei caratteri disponibili in caso di attacco brute force...  


Per esempio, supponiamo di scegliere una password di 6 caratteri:
Prepariamo adesso una directory di nome '''xorg''', con il comando <pre>mkdir xorg</pre> questa accoglier� i sorgenti prelevati dalla rete, i file oggetto prodotti dalla compilazione ed infine i pacchetti .deb.<br>
* se questa � formata da solo lettere minuscole, abbiamo 21^6 combinazioni possibili (non sono tante, anzi...);
Per esperienza personale, consiglio di creare la cartella all'interno di una partizione con '''almeno 4.5 gb di spazio libero'''.
* lettere minuscole e maiuscole: 42^6 (sempre troppo poche...);
* numeri, minuscole e maiuscole: 52^6;
* numeri, minuscole, maiuscole e una 15ina di caratteri 'speciali' (come _.,-^=%....): 62^6!!!
Come potete vedere, la differenza � grandissima!


Siamo, quindi, arrivati davanti al problema cruciale: come generare questa password?
===Modifica degli script di compilazione===
Vediamo qualche trucco:
Posizionamoci nella directory appena creata, e con <pre>apt-get source xorg</pre> procediamo al download dei sorgenti e alla scompattazione dei sorgenti di xorg.<br>
# '''Sostituiamo numeri alle lettere:''' seguendo questo schema, � possibile sostituire alcuni numeri a determinate lettere:
Attualmente, (versione '''6.8.2-10'''), il download consiste di circa '''51 MB''' di archivi.<br>
<pre>
Alla fine del download, notiamo che sono stati creati all'interno della directory xorg, alcuni file ed una directory.
i/l -> 1
z -> 2
b/e -> 3
a -> 4
s -> 5
g -> 6
t -> 7
b -> 8
p -> 9
o -> 0
</pre>
Cos� � semplicissimo aumentare il numero di caratteri disponibili senza comprometterne la mnemonicit�!


# Usiamo qualche cosa di facile da ricordare!
* situazione del nostro filesystem
''facile da ricordare'' non vuol dire, per�, banale!
<pre>[xorg]
|
|_ [xorg-6.8.2]
|  |
|  |_ [debian]
|  |_ ALTRI_FILES
|
|_ xorg_6.8.2-10.diff.gz
|_ xorg_6.8.2-10.dsc
|_ xorg_6.8.2.orig.tar.gz</pre>


'''Esempio:'''
La directory '''xorg-6.8.2''' raccoglie i sorgenti scompattati dell'archivio orginale di xorg (oltre ai file necessari alla compilazione di un sorgente debian), a cui non sono ancora state applicate le varie patch apportate dali sviluppatori ubuntu.<br>
Prensiamo una frase di una canzone:
I file, invece, rappresentano l'archivio con il sorgente originale, il file con le patch approntate dal team di ubuntu e quello con la descrizione del pacchetto debian.<br>
Posizionamoci pertanto nella sottodirectory '''debian''' di xorg-6.8.2.


''And I give up forever to touch you'' (Iris, GooGooDolls)
Affinch� si possano adattare i sorgenti a sid, dobbiamo modificare 2 file: nel primo caso la modifica � pi� che altro cosmetica, nel secondo caso invece � una scelta obbligata.


La cosa che si nota a prima vista � la presenza di 8 parole (uhm...lunghezza minima di una password per quanto riguarda la nuova legge sulla privacy e sicurezza informatica!!!)
Con il nostro editor preferito, apriamo pertanto il file '''changelog'''.<br>
Bene, allora prendiamo l'iniziale di ogni parola:
Questo file mantiene lo storico delle modifiche fatte dagli sviluppatori ubuntu a partire dalla versione stable rilasciata dal team di xorg: tale file viene regolato da una sintassi ben precisa, in cui anche gli spazi hanno una loro funzione e pertanto vanno tenuti in considerazione per la buona riuscita della compilazione.<br>
E' necessario pertanto, prestare molta attenzione alla disposizione dei vari campi e al numero degli spazi che li delimitano.<br>
La entry pi� recente presente nella versione attuale del file changelog ci appare cos�:
<pre>xorg (6.8.2-10) hoary; urgency=low


''aIguftty''
  * Include patch from Ben Herrenschmidt to fix assertion of DDC GPIO lines
    after a DDC probe had finished, which would render Apple Studio Displays
    useless.
  * Don't reset all templates when migrating from xserver-xfree86; this will
    render the template migration useless.  Don't mess with $RECONFIGURE when
    migrating from xfree86.  Set use_sync_ranges true when upgrading from
    xfree86 (closes: Ubuntu#8562, Ubuntu#8626).
  * Use debug_echo liberally in xserver-xorg.postinst.in to tell us why we're
    writing out sync ranges.


Non ha molto senso come parola, vero?
-- Daniel Stone <daniel.stone@ubuntu.com>  Tue, 5 Apr 2005 08:38:20 +1000</pre>
Bene...ottima cosa!!!
Ora effettuiamo la sostituzione:
Affinch� possiamo ottenere una nostra versione personalizzata dei pacchetti, dobbiamo aggiungere precendetemente al gruppo di linee appena descritto (quindi all'inizio del file), qualcosa del genere:
<pre>xorg (6.8.2-10-ld10) sid; urgency=low


''4Iguf77y''
  * [Ld-xorg] packages for Debian Sid, based on Ubuntu sources.


Niente male!
-- Mario "Ldonesty" Di Nitto <ldonesty@debianizzati.org>  Sun, 15 May 2005 10:25:32 +0100</pre>


mantenendo uno spazio di separazione con il gruppo successivo.


'''Nb''': la "I" l'ho lasciata espressa in lettera maiuscola, cos� per aumentare un po' la fatica (modifica di un sistema oramai ben conosciuto)!
Queste righe possono essere personalizzate secondo i propri gusti tenendo presente che '''6.8.2-10-ld10''' sar� la versione che comparir� nel nome di ogni pacchetto, dove -ld indica la nostra estensione personale, la quale *dovr�* essere seguita da un numero a scelta: es -myExt1.<br>
Prima di finire, mettiamo qualche carattere:
Infatti la mancanza di tale valore pregiudica irreparabilmente la compilazione e creazione dei pacchetti (lo script preposto all'operazione, si rifiuter� di assemblare i .deb)


''4Iguf-77y_''
A questo punto salviamo il file changelog e dedichiamoci invece a '''control'''.<br>
La struttura del file control si puo riassumere in una sequenza di "blocchi" all'interno dei quali sono contenute tutte le informazioni proprie di un pacchetto debian raccolte per riga (ad esempio: la descrizione, le dipendenze, i conflitti, etc etc). <br>
Dato che la versione di xorg su cui stiamo lavorando proviene dal repository ubuntu, � possibile che siano presenti alcune dipendenze relative a pacchetti contenuti solamente in tale repository.<br>
Pertanto questi pacchetti risulterebbero non disponibili all'atto dell'installazione sulla nostra sid, pregiudicando cos� tutta l'operazione.<br>
Possiamo evitare questa situazione ricercando nelle sole righe Depends del file control, i riferimenti ai pacchetti di ubuntu (presentano la segnatura "ubuntu" all'interno del numero di versione).<br>
Nel nostro caso, scorrendo il file (possiamo usare la funzione di ricerca del nostro editor) notiamo che alla riga 1895 � presente una referenza al pacchetto '''lsb-base''' nella versione ('''1.3-9ubuntu2''').


Ora abbiamo ottenuto una password di ben 10 caratteri non derivante da un dizionario! quindi l'unico attacco possibile � quelo brute force!
Dopo aver controllato che in sid esista tale pacchetto in una versione per lo meno uguale (meglio se superiore) a quella citata dal file control (possiamo usare '''apt-cache show lsb-base | grep Version''' per questo scopo), cancelliamo la parola "ubuntu" ed ogni eventuale numero postposto, lasciando quindi solo il numero della versione del pacchetto, infine salviamo.<br>
Quindi la versione di lsb-base nella riga Depends ci apparir� come ('''1.3-9''').<br>
Relativamente a questa versione di xorg, non ci sono altre referenze da modificare; nel caso in cui, invece, fossimo in presenza di parecchie dipendenze da sistemare dobbiamo valutare ciascun caso separatamente, ripetendo tutta la procedura di controllo e modifica.


===Controllo dipendenze e avvio compilazione===
A questo punto siamo in grado di avviare la compilazione/creazione dei pacchetti di xorg usando il comando '''dpkg-buildpackage''' dopo esserci posizionati nella cartella xorg-6.8.2 ed aver ottenuto i privilegi di root.


==Memorandum per la conservazione della password==
Molto probabilmente ci verr� notificato che alcune dipendenze non sono soddisfatte per portare a termine la compilazione:


Vediamo, ora, come conservare correttamente una password.
es.
Si, perch� anche se usiamo una password difficile da trovare ma la scriviamo su un pezzo di carta...avete capito! Quindi niente post-it con password scritte, niente bigliattini nel portafoglio e cos� dicendo...
La password non deve essere scritta da nessuna parte (ecco perch� abbiamo lavorato un po' sulla mnemonicit�), altrimenti i nostri sforzi risultano vani!
L'unico posto in cui potrebbe essere scritta (per quanto riguarda la legge sulla privacy e sicurezza informatica) � in un foglio di carta inserito in una busta sigillata da consegnare al responsabile (solo nei posti in cui � necessario rispettare la legge sulla privacy e sulla sicurezz a informatica).


<pre>dpkg-checkbuilddeps: Unmet build dependencies: flex bison groff zlib1g-dev |
libz-dev libpam0g-dev | libpam-dev libfreetype6-dev rman lynx
libglide2-dev (>> 2001.01.26) libglide3-dev (>= 2002.04.10-7) libpng12-dev |
libpng-dev libexpat1-dev libfontconfig1-dev libxft-dev (>= 2.1.2) libxcursor-dev
dbs m4 libxrender-dev (>= 0.9.0) sharutils</pre>


==Appunto di Paranoia==
Per ovviare a questo problema possiamo installare i pacchetti suggeriti usando il comando (ricomporre su una riga).


Prima di terminare, ecco alcuni consigli per mantenere ancora pi� sicura la password:
<pre>apt-get install flex bison groff zlib1g-dev libpam0g-dev libfreetype6-dev
* non usarla in pubblico (o meglio...non facciamola vedere a chi � vicino a noi);
rman lynx libglide2-dev libglide3-dev libpng12-dev libexpat1-dev libfontconfig1-dev
* se dobbiamo digitarla in luogo pubblico, confondiamo facendo finta di premere dei caratteri in pi�, magari digitando e  cancellando...copriamo la tastiera con un foglio ed altri trucchetti simili;
libxft-dev libxcursor-dev dbs m4 libxrender-dev sharutils</pre>
* Cerchiamo di usare connessioni sicure: preferiamo ssh a telnet, server con supporto ssl, sftp al posto di ftp e cos� via!
* Non memorizziamola sul computer! altra cosa da evitare � quella di conservare la password in database volnerabili (InternetExplorer, Firefox, Kwallet (anche se questo una un sistema di crittazione basato su password..), in quanto � facile che un attaccante acceda a questi in caso di intromissione in una macchina.


A questo punto possiamo rilanciare il comando '''dpkg-buildpackage''' (a cui potremo preporre il comando '''time''', per visualizzare la durata effettiva di tutta l'operazione) ed attendere che i pacchetti vengano creati.


==Conclusione==
===Installazione===
Posizionamoci innanzitutto nella cartella dove sono contenuti i file .deb di xorg.


Spero che questa piccola rassegna di suggerimenti su come gestire le password aiuti un po' di persone, e faccia riflettere sul social eng.
Possiamo avere 3 situazioni:
*  Macchina pulita: nessun xfree/xorg precedentemente installato
*  Xorg in una versione precedente
*  Xfree preso da sid


<br>La prima situazione pu essere risolta (NB, si potrebbe fare anche con un repository locale) con <pre>dpkg -i x-window-system-core*.deb </pre> aggiungendo volta per volta i pacchetti che vengono richiesti come mancanti in coda a dpkg -i, ovvero
<pre>dpkg -i PKT1 PKT2 PKT3 PKT4</pre> dove i vari PKT corrispondono al nome del pacchetto '''completo di estensione'''.


---- [[User:MaXeR|MaXeR]]
DA COMPLETARE
[[Categoria:Sicurezza]]
 
--<br>
<u>Autore</u>: Ldonesty
1 760

contributi