OpenBSD
OpenBSD è il riferimento assoluto per quanto riguarda la sicurezza. E' il primo sistema Unix rilasciato pensando alla sicurezza.
Se avete bisogno di un server altamente sicuro (e chi non serve?), questo è il sistema giusto. Avviamente, non sto dicendo che i due di prima siamo dei colabrodo o che la maggior parte delle distribuzioni Linux sia piene di vulnerabilità. Dico solo che OpenBSD è il primo che fornisce un sistema sicuro alla prima installazione. L'unico sistema simile che posso menzionare è la distribuzione Linux EnGarde, dal momento che l'idea di base è la stessa: sicurezza.
Con OpenBSD avete tutto. Tutti gli strumenti di sicurezza sono disponibili, la crittografia è parte integrale del sistema (lo stesso team sviluppa anche OpenSSH) e, ultimo ma non meno importante, molto è stato fatto per migliorare la revisione del codice. In questo modo il team di OpenBSD ha contribuito a scoprire e a correggere molte vulnerabilità di Unix. Inclusi anche difetti nei programmi di terze parti (sia commerciali che free)
Inoltre, dal momento che OpenBSD deriva da NetBSD, può girare su molte piattaforme oltre a quella Intel o Alpha (non così tante come NetBSD, comunque!). Al momento OpenBSD può girare su una decina piattaforme.
La filosofia "sicuro di default" era qualcosa a cui non eravamo abituati prima che apparisse OpenBSD. Nessuno dei curatori di Unix (free o prorpietario) la pensava così, e continuavano a fornire sistemi che richiedevano molto lavoro (e conoscenze!) per renderli piu' robusti. Ad esempio, l'idea di avviare di default il sistema senza nessun servzio non è stata ancora compresa. A volte, si possono avere in esecuzione sin dall'avvio alcuni dei servizi peggiori. Cose tipo telnetd, rshd, ftpd, ecc, sono attive di default. Incredibile!
Comunque, anche se molti ammettono che OpenBSD sia un modello (una specie)... per ora, non tentano di "copiare". Al momento, la famiglia BSD sembra essere l' unica ad aver compreso il problema. Grazie tante!
Di conseguenza, se avete bisogno di un server realmente sicuro che fornisca un'elevata disponibilità, OpenBSD è la scelta piu' ovvia. Volete usarelo a casa, perchè no? E naturalemente, si integrerà molto facilmente anche nella vostra rete locale. Inoltre se analizzerete in che modo lavora, imparerete molto sulla sicurezza: cosa fare, cosa non fare, ecc. E sarete in grado di usare queste conoscenze anche con altri sistemi. I concetti basilari sono sempre gli stessi: meno servizi attivi e meno porte aperte ci sono, e meglio è. Non usate, se potete (e dovreste!), protocolli e daemon che trasmettono i dati in chiaro (incluse le password). Se non potete evitare (andiamo!) allora utilizzate un tunnel SSH per ricevere e trasmettere i vostri dati. Riducete i permessi delle directory e dei files piu' sensibili. Controllati i programmi che fanno uso del SUID e SGID. E così via.
Relase attuale: 4.2
How-To:
Installare OpenBSD su un RAID Software 1 (mirroring). di Herod2k
Nel kernel di default di OpenBSD il modulo per il raid software è disabilitato e quindi non si può installare il sistema operativo direttamente sul raid software (vedi Debian), ma il processo è un po' più macchinoso.
Tra tutte le possibilità che ho trovato in rete (non molte) vi vengo a proporre forse il metodo più facile ed intiuitivo per l'installazione di OpenBSD su un Raid Software.
Useremo 3 Hard Disks, 2 per il mirroring finale e 1 di appoggio per poter installare temporaneamente il Sistema operativo e ricompilare il kernel attivando l'opzione per il raid Software per poi in un secondo momento spostare il tutto su i due Hard Disks in mirroring.
La procedura che segue è stata testa su OpenBSD 3.8 e visto che la salvaguardia dei propri dati è importante
non mi assumo nessuna responsabilità in caso di perdita di dati.
E' consigliabile attaccare i due HD su due canali IDE diversi ad esempio come, Primary master e Secondary Master e attaccare il terzo HD come secondary slave.
Installiamo il sistema operativo minimale su wd2 (l'hd in secondary slave), potete trovare la procedura d'installazione
qui e lasciamo gli hard disks
wd0 e
wd1 intatti. (ricordatevi di mettere l'HD di appoggio come primo dispositivo di boot).
Una volta installato il sistema operativo connettetevi ad internet (se non avete già un router) e installate wget:
Codice:
# pkg_add -r ftp://ftp.openbsd.org/pub/OpenBSD/3.8/packages/i386/wget-1.10.2.tgz
ovviamente questo è il link per il pacchetto i386 se siete su un'altra piattaforma dovete riadattare l'indirizzo.
una volta installato wget posizionatevi in /usr/src, scaricate e decomprimete il kernel di OpenBSD.
Codice:
# cd /usr/src
# wget ftp://ftp.openbsd.org/pub/OpenBSD/3.8/sys.tar.gz
# tar xvzfp sys.tar.gz
questa procedura la potete effettuare anche con altri supporti, se avete tutto su cd/dvd evitate di installarvi il wget e montate il cd e fate tutto da la:
Codice:
# mount /dev/cd0a /mnt
# cd /usr/src
# tar xvzfp /mnt/3.8/sys.tar.gz
Ora andiamo a creare il file di configurazione per il nuovo kernel che andremo a compilare, kernel con il supporto Raid Software attivato, per editare il file potete usare
vi oppure potete installare
nano:
Codice:
Da web:
# pkg_add -r ftp://ftp.openbsd.org/pub/OpenBSD/3.8/packages/i386/nano-1.2.5.tgz
Da CD-Rom/DVD-Rom:
# pkg_add -r /mnt/3.8/packages/i386/nano-1.2.5.tgz
posizioniamoci nella cartella
/usr/src/sys/arch/i386/conf e all'interno creaimo un file GENERIC.RAID che conterrà il seguente testo:
Codice:
# GENERIC.RAID - Add kernelized RAIDframe driver
include "arch/i386/conf/GENERIC"
option RAID_AUTOCONFIG # Automatically configure RAID at boot
pseudo-device raid 4 # RAIDframe disk driver
salviamo il file e poi compiliamo il kernel con l'opzione di Raid attivata che andrà a sostituire quello esistente.
Codice:
# config GENERIC.RAID
# cd ../compile/GENERIC.RAID
# make depend && make
(ora comincerà a compilare il nuovo kernel)
# mv /bsd /bsd.original
# cp bsd /bsd
# chmod 644 /bsd
riavviamo con
reboot e una volta riavviato controlliamo che il raid sia attivo con:
Codice:
dmesg | grep RAIDframe
che dovrebbe rispondere con
Kernelized RAIDframe activated
Ok se il processo ha funzionato andiamo avanti e andiamo a partizionare i due HD da mettere in RAID:
Codice:
sia con il primo HD
# fdisk -e wd0
che con il secondo
# fdisk -e wd1
editate la terza voce e occupate tutto lo spazio, dovreste ottenere uno schema simile a questo:
Codice:
Disk: wd0 geometry: 787/64/63 [3173184 Sectors]
Offset: 0 Signature: 0xAA55
Starting Ending LBA Info:
#: id C H S - C H S [ start: size ]
------------------------------------------------------------------------
0: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
1: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
*3: A6 0 1 1 - 786 63 63 [ 63: 3173121 ] OpenBSD
ora con disklabel andiamo a creare 3 label nella partizione OpenBSD.
- Un label
a di
20000 (circa 10 MB) necessario per il boot del sistema in raid.
- un label della metà della dimesione della swap, se vogliamo avere uno spazio di swap di 512 MB ad esempio, creeremo un label di 256 MB e quindi il label
b sara grande
512000 (circa 256 MB)
- un label d che andrà ad occuppare tutto il resto dello spazio rimanente,
mi raccomando il file system dovrà essere RAID oppure il sistema non funzionerà.
Dopo avere effettuato tutti questi passaggi dovreste ottenere uno schema simile a questo:
Codice:
wd0:wd0:
# size offset fstype [fsize bsize cpg]
a: 20000 63 4.2BSD 2048 16384 20 # (Cyl. 0*- 19*)
b: 512000 20063 swap # (Cyl. 19*- 527*)
c: 3173184 0 unused 0 0 # (Cyl. 0 - 3147)
d: 2600000 532063 RAID # (Cyl. 527*- 3107*)
il comando per avviare disklabel è:
Codice:
per il primo HD
# disklabel -E wd0
per il secondo HD
# disklabel -E wd1
Ho omesso volontariamente i comandi interni per fdisk e disklabel perché sono troppi, comunque all'interno trovate i vari Help e
QUI trovate una buona guida in italiano a riguardo.
Mi raccomando i label devono essere IDENTICI su entrambi gli HD. Ora creiamo il filesystem alle partizioni e poi inseriamo il kernel e delle partizioni da 10MB e le rendiamo di boot:
Codice:
# newfs /dev/rwd0a
# newfs /dev/rwd1a
# cd /mnt
# mkdir a
# mkdir b
# mount /dev/wd0a /mnt/a
# mount /dev/wd1a /mnt/b
# cp /bsd /mnt/a/bsd
# cp /bsd /mnt/b/bsd
# cp /boot /mnt/a/boot
# cp /boot /mnt/b/boot
# /usr/mdec/installboot -v /mnt/a/boot /usr/mdec/biosboot wd0
# /usr/mdec/installboot -v /mnt/b/boot /usr/mdec/biosboot wd1
Creaimo ora il file per le impostazione del RAID 1, creiamo un file di nome
raid0.conf dentro la cartella /etc/ potete farlo sia con nano che con vi e all'interno scrivete:
Codice:
START array
# numRow numCol numSpare
1 2 0
START disks
/dev/wd0d
/dev/wd1d
START layout
# sectPerSU SUsPerParityUnit SUsPerReconUnit RAID_level_1
128 1 1 1
START queue
fifo 100
e ora creiamo l'array:
Codice:
# raidctl -C /etc/raid0.conf raid0
# raidctl -I 100 raid0
# raidctl -iv raid0
(quest'ultimo comando potrebbe impiegarci un po')
ora creiamo i label nello spazio in raid che ci è avanzato con
disklabel -E raid0 ricordatevi che la partizione di swap le avete gia create quindi non dovete ricrearle, quindi se non necessitate di separare le varie cartelle /home /usr /var vi basta creare un label
a che occupi tutto lo spazio con un filesystem 4.2BSD.
Ora montiamo la partizione raid0a che abbiamo appena creato e ci andremo a spostare tutti i files d'installazione che sono sul nostro HD di appoggio sulla partizione raid, per fare cio seguite i prossimi comandi:
Codice:
# newfs /dev/rraid0a
# cd /mnt
# mkdir new
# mount /dev/raid0a /mnt/new
# cd /
# tar cf - .cshrc .profile altroot bin boot bsd dev etc home mnt root sbin stand sys var | (cd /mnt/new; tar xpf - )
# tar cf - tmp | (cd /mnt/new; tar xpf - )
# tar cf - usr | (cd /mnt/new; tar xpf - )
Ora cancelliamo il file /mnt/new/etc/fstab e creiamone uno nuovo con lo stesso nome con vi o nano e all'interno scriveremo.
Codice:
/dev/raid0a / ffs rw,softdep 1 1
/dev/wd0b none swap sw 0 0
/dev/wd1b none swap sw 0 0
ovviamente se avete altre partizioni in raid0 dovete indicare anche quelle
(raid0b, raid0d, raid0e etc etc etc)
Smontiamo il raid e concludiamo con:
Codice:
# cd /
# umount /mnt/new
# raidctl -A yes raid0
# raidctl -A root raid0
Spengete il computer (
halt), staccate/disattivate l'hard disk secondario e rimettete wd0 o wd1 come periferica di boot nel bios, riavviate e avrete il vostro sistema OpenBSD in raid 1.
Fonti per la scrittura di questo How-To:
Eclectica -Software RAID on OpenBSD
Sickness - OpenBSD RAID di root e di boot!
OpenBSD Software RAID
Comandi utili specifici OpenBSD:
work in progress
Distribuzioni Derivate.Links Utili su OpenBSD: