Guida all'installazione di Solaris 9 12/03

Capitolo 42 SPARC: Installazione con il metodo boot WAN (esempi)

Questo capitolo fornisce un esempio di configurazione e installazione dei sistemi client in una rete geografica o WAN (Wide Area Network). Gli esempi illustrati descrivono come eseguire un'installazione boot WAN sicura con un collegamento HTTPS.

Configurazione del sito di riferimento

La figura seguente mostra la configurazione del sito a cui fa riferimento l'esempio descritto.

Figura 42–1 Sito di esempio per l'installazione boot WAN

Il contesto descrive l'immagine.

Questo sito di esempio presenta le seguenti caratteristiche:

Creazione della directory radice dei documenti

Per memorizzare i file e i dati di installazione, definire le seguenti directory nella directory radice dei documenti (/opt/apache/htdocs) su server_wan-1.

Creazione della miniroot di boot WAN

Usare il comando setup_install_server(1M) con l'opzione -w per copiare la miniroot di boot WAN e l'immagine del software di Solaris nella directory /export/install/Solaris_9 di server_wan-1.

Inserire i supporti Solaris nell'unità collegata al server_wan-1. Digitare i seguenti comandi:


server_wan-1# mkdir -p /export/install/sol_9_sparc
server_wan-1# cd /cdrom/cdrom0/s0/Solaris_9/Tools
server_wan-1# ./setup_install_server -w /export/install/sol_9_sparc/miniroot \
  /export/install/sol_9_sparc

Spostare la miniroot di boot WAN nella directory radice dei documenti (/opt/apache/htdocs/) del server di boot WAN.


server_wan-1# mv /export/install/sol_9_sparc/miniroot \
  /opt/apache/htdocs/miniroot/miniroot.s9_sparc

Installazione del programma wanboot sul server di boot WAN

Per installare il programma wanboot sul server di boot WAN, copiare il programma dai supporti di Solaris 9 12/03 alla directory radice dei documenti del server di boot WAN.

Inserire il DVD Solaris o il Solaris Software 1 of 2 CD nell'unità collegata a server_wan-1 e digitare i seguenti comandi.


server_wan-1# cd /cdrom/cdrom0/s0/Solaris_9/Tools/Boot/platform/sun4u/
server_wan-1# cp wanboot /opt/apache/htdocs/wanboot/wanboot.s9_sparc

Creazione della struttura gerarchica /etc/netboot

Creare le sottodirectory di client_wan-1 della directory /etc/netboot sul server di boot WAN. Durante l'installazione, è da questa directory che i programmi di installazione boot WAN richiamano le informazioni di configurazione e sicurezza.

client_wan-1 si trova sulla sottorete 198.168.198.0 e ha l'ID client 010003BA152A42. Per creare correttamente la sottodirectory di /etc/netboot per client_wan-1, eseguire le seguenti operazioni:


server_wan-1# cd /
server_wan-1# mkdir /etc/netboot/
server_wan-1# chmod 700 /etc/netboot
server_wan-1# chown nobody:admin /etc/netboot
server_wan-1# exit
server_wan-1# su nobodyPassword:
nobody# mkdir -p /etc/netboot/192.168.255.0/010003BA152A42
nobody# chmod 700 /etc/netboot/192.168.255.0
nobody# chmod 700 /etc/netboot/192.168.255.0/010003BA152A42

Copiare il programma wanboot-cgi sul server di boot WAN

Sui sistemi che eseguono l'ambiente operativo Solaris 9 12/03, il programma wanboot-cgi è ubicato nella directory /usr/lib/inet/wanboot/. Per abilitare il server di boot WAN alla trasmissione dei dati di installazione, copiare il programma wanboot-cgi nella directory cgi-bin all'interno della directory del software server web.


server_wan-1# cp /usr/lib/inet/wanboot/wanboot-cgi \
  /opt/apache/cgi-bin/wanboot-cgi
server_wan-1# chmod 755 /opt/apache/cgi-bin/wanboot-cgi

Configurazione del server di boot WAN per l'uso di HTTPS

Per usare HTTPS nell'installazione boot WAN, è necessario abilitare il supporto dell'SSL nel software server web. Occorre inoltre installare un certificato digitale sul server di boot WAN. In questo esempio si presume che il server web Apache su server_wan-1 sia già configurato per l'uso dell'SSL. In questo esempio si presume inoltre che un certificato digitale e un'autorità di certificazione che stabiliscono l'identità di server_wan-1 siano già installate su server_wan-1.

Per reperire esempi sulla configurazione del software server web per l'uso dell'SSL, vedere la documentazione del server web.

Fornitura del certificato digitale al client

Richiedendo al server di autenticarsi presso il client, si proteggono i dati trasmessi dal server al client tramite HTTPS. Per consentire l'autenticazione del server, occorre fornire un certificato digitale trusted al client, che permette a quest'ultimo di verificare l'identità del server durante l'installazione.

Per fornire il certificato trusted al client, suddividere il certificato in modo da estrarre un certificato trusted. Quindi inserire il certificato nel file truststore del client, all'interno della struttura gerarchica /etc/netboot.

In questo esempio, si suddivide il certificato PKCS#12 del server cert.p12 e quindi si inserisce il certificato trusted nella directory /etc/netboot di client_wan-1.


server_wan-1# wanbootutil p12split -i cert.p12 -t \
  /etc/netboot/192.168.198.0/010003BA152A42/truststore 

(Opzionale) Uso della chiave privata e del certificato per l'autenticazione del client

A ulteriore protezione dei dati durante l'installazione, è auspicabile richiedere che anche client_wan-1 esegua la propria autenticazione presso server_wan-1. Per abilitare l'autenticazione del client nell'installazione boot WAN, inserire un certificato per il client e una chiave privata nella sottodirectory del client della struttura gerarchica /etc/netboot.

Per fornire una chiave privata e un certificato al client, usare il comando wanbootutil ed eseguire le operazioni seguenti:

In questo esempio, si suddivide il certificato PKCS#12 cert.p12 del server. Il certificato va inserito nella struttura gerarchica /etc/netboot di client_wan-1, quindi si inserisce la chiave privata client_wan.key nel file keystore del client.


server_wan-1# wanbootutil p12split -i cert.p12 -c \
  /etc/netboot/192.168.198.0/010003BA152A42/certstore -k client_wan.key
server_wan-1# wanbootutil keymgmt -i -k client_wan.key \
  -s  /etc/netboot/192.168.198.0/010003BA152A42/keystore \
  -o type=rsa

Creazione di chiavi per il server e il client

Per proteggere i dati trasmessi tra il server e il client, è possibile creare una chiave di hashing e una chiave di cifratura. Il server utilizza la chiave di hashing per proteggere l'integrità del programma wanboot, mentre la chiave di cifratura consente di cifrare i dati di configurazione e installazione. Il client utilizza a sua volta la chiave di hashing per controllare l'integrità del programma wanboot scaricato, mentre la chiave di cifratura consente di decrittografare i dati durante l'installazione.

Per creare le chiavi, usare il comando wanbootutil keygen. Per prima cosa, creare una chiave HMAC SHA1 master per server_wan-1.


server_wan-1# wanbootutil keygen -m

Poi creare una chiave di hashing e una chiave di cifratura per client_wan-1.


server_wan-1# wanbootutil keygen -c -o net=192.168.198.0,cid=010003BA152A42,type=sha1
server_wan-1# wanbootutil keygen -c -o net=192.168.198.0,cid=010003BA152A42,type=3des

Il comando precedente crea una chiave di hashing HMAC SHA1 e una chiave di cifratura 3DES per client_wan-1. 192.168.198.0 specifica la sottorete di client_wan-1, mentre 010003BA152A42 specifica l'ID di client_wan-1.

Creazione dell'archivio Solaris Flash

In questo esempio, l'archivio Solaris Flash viene creato per clonazione dal sistema master di server_wan-1. L'archivio è denominato sol-9-sparc e viene copiato nella sua forma esatta dal sistema master, in modo da costituire un esatto duplicato del sistema master. L'archivio è memorizzato in sol-9–sparc.flar. L'archivio va salvato nella sottodirectory flash/archives della directory radice dei documenti sul server di boot WAN.


server_wan-1# flar create -n sol-9-sparc /opt/apache/htdocs/flash/archives/sol-9-sparc.flar

Creazione del file sysidcfg

Per preconfigurare il sistema client_wan-1, specificare le parole chiave e i valore nel file sysidcfg. Salvare quindi il file nella sottodirectory flash della directory radice dei documenti di server_wan-1.


Esempio 42–1 File sysidcfg per il sistema client-1

Il seguente è un esempio di file sysidcfg per client_wan-1. Nome host, indirizzo IP e maschera di sottorete di questi sistemi sono stati preconfigurati modificando il servizio di denominazione. Il file è ubicato nella directory /opt/apache/htdocs/flash/sol_9_sparc.

network_interface=primary {hostname=client_wan-1
                           default_route=192.168.198.1
                           ip_address=192.168.198.210
                           netmask=255.255.255.0
                           protocol_ipv6=no}
timezone=US/Central
system_locale=C
terminal=xterm
timeserver=localhost
name_service=NIS {name_server=matter(192.168.254.254)
                  domain_name=leti.esempio.com
                  }
security_policy=none

Creazione del profilo del client

Per il sistema client_wan-1, creare un profilo denominato client_wan_1_prof. Il file client_wan_1_prof contiene le voci seguenti, che definiscono il software Solaris 9 da installare sul sistema client_wan-1:

# parole chiave         valori
# ----------------         -------------------
install_type               flash_install
archive_location           https://192.168.198.2/htdocs/flash/sol_9_sparc/archive1.flar
partitioning               explicit
filesys                    c0t1d0s0 4000 /
filesys                    c0t1d0s1 512 swap
filesys                    c0t1d0s7 free /export/home

L'elenco seguente descrive alcune parole chiave e valori dell'esempio.

install_type

Il profilo installa un archivio Solaris Flash sul sistema clone. Tutti i file verranno sovrascritti, come in un'installazione iniziale.

archive_location

L'archivio Solaris Flash compresso viene recuperato da server_wan-1.

partitioning

Le slice dei file system sono determinate dalle parole chiave filesys, con valore explicit. Le dimensioni di root (/) si basano sulle dimensioni dell'archivio di Solaris Flash. La partizione di swap è impostata sulla dimensione necessaria e deve essere installata su c0t1d0s1. /export/home si basa sullo spazio su disco rimanente. /export/home è installata su c0t1d0s7.

Creazione e convalida del file rules

I programmi di installazione JumpStart personalizzata usano il file rules per selezionare il profilo di installazione giusto per il sistema client_wan-1. Creare un file di testo denominato rules. Aggiungervi le parole chiave e i valori.

L'indirizzo IP del sistema client_wan-1 è 192.168.198.210. Usare la parola chiave network per specificare il profilo che i programmi JumpStart dovranno utilizzare per l'installazione di client-1.


network 192.168.198.210 - client_wan_1_prof - 

Il file rules comunica ai programmi JumpStart di usare client_wan_1_prof per l'installazione dell'ambiente operativo Solaris 9 su client_wan-1.

Denominare il file regole_client_wan.

Una volta creato il profilo e il file rules, eseguire lo script check per verificare che i file siano validi.


server_wan-1# ./check -r wanclient_rule

Se lo script check non rileva errori, viene creato il file rules.ok.

Salvare il file rules.ok nella directory /opt/apache/htdocs/flash/.

Creazione del file di configurazione del sistema

Creare un file di configurazione del sistema che elenchi le posizioni del file sysidcfg e dei file di installazione JumpStart personalizzata sul server di installazione. Salvare il file in una directory accessibile al server di boot WAN.

Nell'esempio seguente, il programma wanboot-cgi ricerca il file sysidcfg e i file dell'installazione JumpStart personalizzata nella directory radice dei documenti del server di boot WAN. Il nome di dominio del server di boot WAN è https://www.esempio.com. Il server di boot WAN è configurato per l'uso di Secure HTTP, in modo che i dati e i file siano protetti durante l'installazione.

In questo esempio, il file di configurazione del sistema è sys.conf, ed è salvato nella struttura gerarchica /etc/netboot sul server di boot WAN. I file sysidcfg e JumpStart sono situati nella sottodirectory di Solaris Flash flash della directory radice.

SsysidCF=https://www.esempio.com/htdocs/flash/
SjumpsCF=https://www.esempio.com/htdocs/flash/

Creazione del file wanboot.conf

La procedura di boot WAN utilizza le informazioni di configurazione incluse nel file wanboot.conf per installare il sistema client. Creare il file wanboot.conf in un editor di testo. Salvare il file nella sottodirectory appropriata del client nella struttura gerarchica /etc/netboot sul server di boot WAN.

Il file wanboot.conf seguente per client_wan-1 include le informazioni di configurazione per un'installazione WAN con Secure HTTP. Questo file istruisce inoltre il boot WAN di usare una chiave di hashing HMAC SHA1 e una chiave di cifratura 3DES per proteggere i dati.

boot_file=/wanboot/wanboot.s9_sparc
root_server=https://www.esempio.com/cgi-bin/wanboot-cgi
root_file=/miniroot/miniroot.s9_sparc
signature_type=sha1
encryption_type=3des
server_authentication=yes
client_authentication=no
resolve_hosts=
boot_logger=https://www.esempio.com/cgi-bin/bootlog-cgi
system_conf=sys.conf

Il file wanboot.conf specifica la configurazione seguente:

boot_file=/wanboot/wanboot.s9_sparc

Il programma wanboot è denominato wanboot.s9_sparc e si trova nella directory wanboot della directory radice dei documenti su server_wan-1.

root_server=https://www.esempio.com/cgi-bin/wanboot-cgi

La posizione del programma wanboot-cgi su server_wan-1 è https://www.esempio.com/cgi-bin/wanboot-cgi. La parte https dell'URL indica che questa installazione boot WAN usa Secure HTTP.

root_file=/miniroot/miniroot.s9_sparc

La miniroot di boot WAn è denominata miniroot.s9_sparc. La miniroot si trova nella directory miniroot all'interno della directory radice dei documenti su server_wan-1.

signature_type=sha1

Il programma wanboot e il file system di boot WAN sono "firmati" per mezzo di una chiave di hashing HMAC SHA1.

encryption_type=3des

La cifratura del programma wanboot e del file system di boot WAN è eseguita con una chiave 3DES.

server_authentication=yes

Il server è autenticato durante l'installazione.

client_authentication=no

Il client non è autenticato durante l'installazione.


Nota –

Se sono state eseguite le operazioni descritte nella sezione (Opzionale) Uso della chiave privata e del certificato per l'autenticazione del client, impostare questo parametro come client_authentication=yes


resolve_hosts=

Per eseguire l'installazione WAN non sono necessari altri nomi host. Tutti i nomi host richiesti dal programma wanboot-cgi sono specificati nel file wanboot.conf e nel certificato del client.

boot_logger=https://www.esempio.com/cgi-bin/bootlog-cgi

I messaggi di log di boot e installazione sono registrati su server_wan-1 usando Secure HTTP.

system_conf=sys.conf

Il file di configurazione del sistema che specifica le posizioni del file sysid.cfg e dei file JumpStart si trova nel file sys.conf nella struttura gerarchica /etc/netboot su server_wan-1.

In questo esempio, il file wanboot.conf viene salvato nella directory /etc/netboot/192.168.198.0/010003BA152A42 su server_wan-1.

Configurazione del server di boot WAN come server di log

Per visualizzare i messaggi di boot e installazione sul server di boot WAN, copiare lo script bootlog-cgi nella directory cgi-bin su server_wan-1.


server_wan-1# cp /usr/lib/inet/wanboot/bootlog-cgi /opt/apache/cgi-bin/
server_wan-1# chmod 755 /opt/apache/cgi-bin/bootlog-cgi

Controllo del supporto del boot WAN da parte dell'OBP del client

Determinare se l'OBP del client supporta il boot WAN digitando il seguente comando al prompt ok del client.


ok printenv network-boot-arguments
network-boot-arguments= 

Nell'esempio precedente, l'output network-boot-arguments= indica che l'OBP del client supporta il boot WAN.

Controllo dell'alias di dispositivo net in OBP

Per eseguire il boot del client dalla WAN con boot net, l'alias di dispositivo net deve essere impostato sul dispositivo principale di rete del client. Al prompt ok del client, digitare il comando devalias per verificare che l'alias net sia impostato sul dispositivo principale della rete /pci@1f,0/pci@1,1/network@c,1.


ok devalias
screen                   /pci@1f,0/pci@1,1/SUNW,m64B@2
net                      /pci@1f,0/pci@1,1/network@c,1
net2                     /pci@1f,0/pci@1,1/network@5,1
disk                     /pci@1f,0/pci@1/scsi@8/disk@0,0
cdrom                    /pci@1f,0/pci@1,1/ide@d/cdrom@0,0:f
keyboard                 /pci@1f,0/pci@1,1/ebus@1/su@14,3083f8
mouse                    /pci@1f,0/pci@1,1/ebus@1/su@14,3062f8

Nell'esempio di output precedente, il dispositivo principale di rete /pci@1f,0/pci@1,1/network@c,1 è assegnato all'alias net. Non è necessario ripristinare l'alias.

Installazione delle chiave sul client

Nella sezione Creazione di chiavi per il server e il client si è proceduto a creare la chiave di hashing e la chiave di cifratura per proteggere i dati durante l'installazione. Per abilitare il client alla decifratura dei dati trasmessi da server_wan-1 durante l'installazione, installare queste chiavi su client_wan-1.

Visualizzare i valori delle chiavi su server_wan-1.


server_wan-1# wanbootutil keygen -d -c -o net=192.168.198.0,cid=010003BA152A42,type=sha1
b482aaab82cb8d5631e16d51478c90079cc1d463
server_wan-1# wanbootutil keygen -d -c -o net=192.168.198.0,cid=010003BA152A42,type=3des
9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04

L'esempio precedente usa le seguenti informazioni:

net=192.168.198.0

Specifica l'indirizzo IP della sottorete del client

cid=010003BA152A42

Specifica l'ID del client

b482aaab82cb8d5631e16d51478c90079cc1d463

Specifica il valore della chiave di hashing HMAC SHA1 del client

9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04

Specifica il valore della chiave di cifratura 3DES del client

Se nell'installazione si fa uso di una chiave di cifratura AES, modificare type=3des in type=aes per visualizzare il valore della chiave di cifratura.

Al prompt ok di client_wan-1, installare le chiavi.


ok set-security-key wanboot-hmac-sha1 
b482aaab82cb8d5631e16d51478c90079cc1d463
ok set-security-key wanboot-3des 
9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04

I comandi precedenti eseguono le seguenti operazioni:

Installazione del client

Per eseguire un'installazione non presidiata, impostare le variabili degli argomenti del boot di rete per client_wan-1 al prompt ok, quindi eseguire il boot del client.


ok setenv network-boot-arguments host-ip=192.168.198.210,
router-ip=192.168.198.1,subnet-mask=255.255.255.0,hostname=client_wan-1,
file=http://192.168.198.2/cgi-bin/wanboot-cgi

ok boot net - install
Resetting ...




Sun Blade 100 (UltraSPARC-IIe), No Keyboard
Copyright 1998-2003 Sun Microsystems, Inc.  All rights reserved.
OpenBoot 4.x.build_28, 256 MB memory installed, Serial #50335475.
Ethernet address 0:3:ba:e:f3:75, Host ID: 83000ef3.



Rebooting with command: boot net - install
Boot device: /pci@1f,0/network@c,1  File and args: - install



<time unavailable> wanboot progress: wanbootfs: Read 68 of 68 kB (100%) 
<time unavailable> wanboot info: wanbootfs: Download complete
Fri Jun 20 09:16:06 wanboot progress: miniroot: Read 166067 of 166067 kB (100%)
Fri Jun 20Tue Apr 15 09:16:06 wanboot info: miniroot: Download complete
SunOS Release 5.9 Version WANboot10:04/11/03 64-bit
Copyright 1983-2003 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
Configuring devices.

Vengono impostate le seguenti variabili.

Il client viene installato nella WAN. Se il programma wanboot non individua tutte le informazioni di installazione necessarie, occorre intervenire con un prompt dalla riga di comando per fornire tutte le informazioni mancanti.