Mandi! [EMAIL PROTECTED] In chel dí si favelave... scvi> qualcuno conosce un sistema veloce per fare questa scvi> operazione ?
Allego (attacco) un piccolo tutorial che ho realizzato per dei miei colleghi, credo che possa esserti di aiuto, anche se parla dei nostri firewall. ;) E se qualcuno ha da fare commenti ed aggiunte, è ovviamente il benvenuto. ;) ---------------------------------------------------------------------- Con questo testo cerco di spiegare brevemente come produrre un clone del vostro firewall, in maniera facile e veloce. Questa procedura può essere usata per ripristinare un firewall morto, oppure per crearne un clone da tenere a portata di mano ``perchè non si sa mai''. PREMESSE Una macchina GNU/Linux (ma potremmo dire UNIX) tende ad essere ben organizzata, in particolare da quando sforzi organizzativi come LSB stanno imponendo standard sull'organizzazione dei file nel disco. Tutte le distribuzoni, ma in particolare debian, hanno ormai i file di configurazione che risiedono solo ed esclusivamente in /etc. Inoltre c'è da considerare che un firewall non ha dati ``stabili'', ma solo in transito: insomma, non c'è niente di cui fare backup in un firewall, se non... la configurazione del firewall stesso. Il file che vi arriva via email (uuencoded) mensilmente risponde a questa filosofia. Vediamo che cosa contiene. LA TARPALLA La tarpalla quindi contiene: + lo stato delle partizioni nel disco del firewall + lo stato dei pacchetti installati nel sistema + una copia dei file di configurazione (/etc) del sistema + una copia del file di configurazione del kernel + altre cose minori, come le crontab user-defined (/var/lib/cron, solitamente vuoto) normalmente per un firewall sono poche centinaia di K. Ovviamente, come vi raccomando sempre, dovete sincerarvi che mensilmente il file vi arrivi dal vostro firewall, e dovete anche preoccuparvi di salvare (l'email o il file, non è importante) in un luogo sicuro. LA CAVIA Prendete quindi una macchina su cui clonare il firewall; se possibile cercare hardware (in particolare chipset della sk madre e schede di rete installate) il più possibile simili a quelle del vostro firewall: non è indispensabile ma vi evita lavoro inutile, vedremo poi. Fate una installazione di debian sarge, rispondendo come vi pare e piace, con solo tre note: + usate il kernel 2.4 (il default) + Partizionate il disco secondo lo schema del vecchio partizionamento (che trovate in var/backups/hda.part nella tarpalla): ovviamente il disco non deve essere identico, può essere più piccolo o più grande, basta che grossomodo rispettiate le ``proporzioni'' e che rispettiate ordine e tipo delle partizioni. + arrivati alla fase di installazione dei pacchetti aggiuntivi oltre al sistema base, non installate nulla. arrivati al prompt fate login come root, e come prima cosa riducete il carico sul filesystem / con i comandi: cd / rm -r tmp; ln -s var/tmp . mv home var/; ln -s var/home . che sostanzialmente eliminano /tmp e spostano home in /var/home. [questo solitamente vale se avete usato il mio schema di partizionamento, nel dubbio lasciate stare che tanto non è indispensabile...] A questo punto recuperate la tarpalla, decomprimetela da qualche parte (ad esempio in /var/tmp) e prelevate da li il file etc/apt/sources.list copiandolo sopra a quello corrente (/etc/apt/sources.list appunto). Aggiornate quindi la definizione dei pacchetti: apt-get update I PROGRAMMI Non abbiamo copiato i programmi, abbiamo solo i file di configurazione; occorre quindi reinstallare nel firewall il software che avevamo prima, ma avendo la lista dei pacchetti installati la cosa è piuttosto semplice. Nella tarpalla in var/backups/status.selections trovate un file che elenca brutalmente i pacchetti installati. Spostatevi nella cartella dove c'è questo file e date: apt-get install $(cat status.selections | cut -f 1) apt-get dovrebbe iniziare a lavorare, ma fermarsi con degli errori: il problema è che nella lista dei pacchetti potrebbero esserci dei pacchetti non esistenti come i kernel custom che compilo io, o come pacchetti vecchi (solitamente librerie) rimasti li da precedenti aggiornamenti. Occorre semplicemente eseguire il proprio editor preferito contro status.selections ed eliminare, una ad una, le righe incriminate che danno errore: i pacchetti obsoleti non ci servono, i kernel custom li installeremo dopo a manina. L'operazione è pedante ma nel giro di una mezza dozzina di tentativi apt-get dovrebbe smetterla di lamentarsi e inziare a scaricare i pacchetti. Alla fine otteniamo un firewall che ha esattamente i programmi che ci servono, ma completamente sconfigurato. ;( LE CONFIGURAZIONI La tentazione potrebbe essere quella di copiare i file di configurazione del vecchio firewall sopra questi, ma occorre trattenersi per due motivi: a) se l'hardware non è precisamente lo stesso, o avete cambiato lo schema di partizionamento, potreste sovrascrivere file importanti e rendere la macchina quasi inutilizzabile b) inoltre molti utenti di sistema (bind, ssh, ...) vengono creati in fase di installazione, e quindi non hanno un UID univoco (ssh 102 sul vecchio firewall, 104 sul nuovo ad esempio). Il primo problema è di facile soluzione: basta eliminare/rinominare nella tarpalla i file che fanno riferimento all'hardware, come etc/modules o etc/fstab; se l'hw è simile/gemello, oppure se state semplicemente costruendo un disco nuovo per lo stesso firewall potete benissimo lasciarli così. Il secondo problema è invece un pelo più rognoso... molti di questi utenti di sistema vengono usati per eseguire demoni e programmi vari, quindi è probabile che esistano intere cartelle in /var che sono di proprietà di questi utenti, e se scambiare ssh con bind poi probabilmente non vi funzionano entrambi. Una soluzione potrebbe essere quindi quella di fare un diff tra i file e segnarsi le modifiche più imprtanti, essenzialmente gli scambi di ID: diff -ud etc/passwd /etc/passwd diff -ud etc/group /etc/group ma sostanzialmente quello che conviene fare è eliminare i file estratti dalla tarpalla in precedenza (per tirare fuori le informazioni sui pacchetti installati), e ri-estrarre la tarpalla: tar, se eseguito da root, è abbastanza intelligente da ripristinare da solo i file basandosi sugli utenti/gruppi e non sugli UID/GUD, e quindi la cosa dovrebbe funzionare senza remore. Quindi occorre rinominare i file della tarpalla in modo che non sovrascrivano quelli della nuova installazione: mv etc/passwd etc/passwd.old mv etc/shadow etc/shadow.old mv etc/group etc/group.old mv etc/gshadow etc/gshadow.old per evitare che si ``incrocino'' gli ID... 3 .. 2 .. 1 .. 0 .. GO!!! Bene, il grosso è fatto, ora è venuto il momento della verità. Ora basta solo copiare i file, per farlo ci viene in aiuto l'opzione -a di cp. Basta dare: cp -a * /etc (supponendo di essere ovviamente nella cartella etc/ della tarpalla decompressa!) per sovrascrivere i file di configurazione della nostra installazione vergine con quella nuova. Volendo è anche possibile a questo punto verificare che non ci siano stati degli scambi di ID, cercando i file appartenenti ad un tal utente o gruppo con, ad esempio: find / -gid 102 Inoltre se sono stati creati degli utenti o dei gruppi, è venuto il momento di recuperarli da passwd/shadow/group/gshadow vecchi (o ricrearli con adduser/addgroup). KERNEL Per i firewal solitamente ricompilo un kernel all'uopo, utilizzando come base il file di configurazione boot/config-2.4.XY che trovate nella tarpalla. Esistono in rete dozillioni di tutorial su come si compila il kernel (ad esempio cercate su google "compiling kernel debian way"), evito l'argomento in toto. [...] REBOOT Installato il nuovo kernel la macchina può essere riavviata, e se tutto è andato a buon fine dovrebbe essere tale e quale al firewall. Appunto, tale e quale, quindi con lo stesso indirizzo di rete... quindi non collegatelo alla rete perchè tutto potrebbe smette di funzionare. ;) Se volete fare delle verifiche, vi ricordo che l'indirizzo di rete in debian si trova nel file /etc/network/interfaces, modificate l'indirizzo della rete prima di connetterlo. [...] ---------------------------------------------------------------------- -- L'entropia dei soldi aumenta sempre. (prof. Taffara) -- Per REVOCARE l'iscrizione alla lista, inviare un email a [EMAIL PROTECTED] con oggetto "unsubscribe". Per problemi inviare un email in INGLESE a [EMAIL PROTECTED] To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]