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.
Controllo del supporto del boot WAN da parte dell'OBP del client
(Opzionale) Configurazione del server di boot WAN come server di log
(Opzionale) Uso della chiave privata e del certificato per l'autenticazione del client
La Figura 13–1 mostra la configurazione del sito a cui fa riferimento l'esempio descritto.
Questo sito di esempio presenta le seguenti caratteristiche:
Il server server_wan-1 deve essere configurato come server di boot WAN e server di installazione.
L'indirizzo IP di server_wan-1 è 192.168.198.2.
Il nome di dominio di server_wan-1 è www.esempio.it.
server_wan-1 esegue la versione corrente di Solaris.
server_wan-1 esegue il server Web di Apache. Il software Apache su server_wan-1 è configurato per il supporto di HTTPS.
Il client da installare è client_wan-1.
client_wan-1 è un sistema UltraSPARCII.
L'ID client di client_wan-1 è 010003BA152A42.
L'indirizzo IP di client_wan-1 è 192.168.198.210.
L'indirizzo IP della sottorete del client è 192.168.198.0.
Il sistema client client_wan-1 ha accesso a Internet, ma non è collegato direttamente alla rete su cui si trova server_wan-1.
client_wan-1 è un nuovo sistema su cui deve essere installato la versione corrente di Solaris.
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.
Directory Solaris Flash
server_wan-1# mkdir -p /opt/apache/htdocs/flash/ |
Directory della miniroot di boot WAN
server_wan-1# mkdir -p /opt/apache/htdocs/miniroot/ |
Directory del programma wanboot
server_wan-1# mkdir -p /opt/apache/htdocs/wanboot/ |
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_10 di server_wan-1.
Inserire i supporti del Solaris nell'unità collegata al server_wan-1. Digitare i seguenti comandi:
server_wan-1# mkdir -p /export/install/cdrom0 server_wan-1# cd /cdrom/cdrom0/s0/Solaris_10/Tools server_wan-1# ./setup_install_server -w /export/install/cdrom0/miniroot \ /export/install/cdrom0 |
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/cdrom0/miniroot/miniroot \ /opt/apache/htdocs/miniroot/miniroot.s10_sparc |
Determinare se la OBP del client supporta il boot WAN digitando il seguente comando sul client.
# eeprom | grep network-boot-arguments network-boot-arguments: data not available |
Nell'esempio precedente, il risultato network-boot-arguments: datanot available indica che la OBP del client supporta le installazioniboot WAN.
Per installare il programma wanboot sul server di boot WAN, copiare il programma dai supporti del Solaris alla directory radice dei documenti del server di boot WAN.
Inserire il DVD di Solaris o il CD Solaris Software - 1 nell'unità collegata a server_wan-1 e digitare i seguenti comandi.
server_wan-1# cd /cdrom/cdrom0/s0/Solaris_10/Tools/Boot/platform/sun4u/ server_wan-1# cp wanboot /opt/apache/htdocs/wanboot/wanboot.s10_sparc |
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 nella sottorete 192.168.198.0, e ha un ID client 010003BA152A42. Per creare la sottodirectory appropriata di /etc/netboot per client_wan-1, procedere come segue.
Creare la directory /etc/netboot.
Modificare le autorizzazioni della directory /etc/netboot su 700.
Modificare il proprietario della directory /etc/netboot in modo che corrisponda al proprietario del processo del server Web.
Assumere lo stesso ruolo dell'utente del server Web.
Creare una sottodirectory di /etc/netboot il cui nome corrisponda alla sottorete (192.168.198.0).
Creare una sottodirectory nella directory della sottorete utilizzando come nome l'ID del client.
Modificare le autorizzazioni delle sottodirectory di /etc/netboot su 700.
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 nobody Password: nobody# mkdir -p /etc/netboot/192.168.198.0/010003BA152A42 nobody# chmod 700 /etc/netboot/192.168.198.0 nobody# chmod 700 /etc/netboot/192.168.198.0/010003BA152A42 |
Sui sistemi che eseguono la versione corrente di Solaris, 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 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 |
Nell'impostazione predefinita, i messaggi relativi al boot WAN vengono visualizzati sul sistema client. Questo comportamento permette di identificare e correggere rapidamente gli eventuali problemi di installazione.
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 |
Per usare HTTPS nell'installazione boot WAN, è necessario abilitare il supporto di SSL nel 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 di 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 server Web per l'uso di SSL, vedere la documentazione del server Web.
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, assumere lo stesso ruolo dell'utente del server Web. Quindi, 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, l'utente assume il ruolo dell'utente del server Web (nobody). Quindi, suddivide il certificato PKCS#12 del server cert.p12 e inserisce il certificato trusted nella directory /etc/netboot di client_wan-1.
server_wan-1# su nobody Password: server_wan-1# wanbootutil p12split -i cert.p12 -t \ /etc/netboot/192.168.198.0/010003BA152A42/truststore |
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, procedere come segue.
Assumere lo stesso ruolo dell'utente del server Web.
Suddividere il file PKCS#12 in una chiave privata e un certificato client
Inserire il certificato nel file certstore del client
Inserire la chiave privata nel file keystore del client
In questo esempio, l'utente assume il ruolo dell'utente del server Web (nobody). Quindi, 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# su nobody Password: server_wan-1# wanbootutil p12split -i cert.p12 -c \ /etc/netboot/192.168.198.0/010003BA152A42/certstore -k wanclient.key server_wan-1# wanbootutil keymgmt -i -k wanclient.key \ -s /etc/netboot/192.168.198.0/010003BA152A42/keystore \ -o type=rsa |
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 decifrare i dati durante l'installazione.
Per prima cosa, assumere lo stesso ruolo dell'utente del server Web. In questo esempio, il ruolo dell'utente del server Web è nobody.
server_wan-1# su nobody Password: |
Quindi, usare il comando wanbootutil keygen per creare una chiave master HMAC SHA1 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.
In questo esempio, l'archivio Solaris Flash viene creato per clonazione dal sistema master di server_wan-1. L'archivio, denominato sol_10_sparc, viene copiato esattamente dal sistema master in modo da costituire un esatto duplicato del sistema master. L'archivio viene memorizzato in sol_10_sparc.flar. L'archivio va salvato nella sottodirectory flash/archives della directory radice dei documenti sul server di boot WAN.
server_wan-1# flarcreate -n sol_10_sparc \ /opt/apache/htdocs/flash/archives/sol_10_sparc.flar |
Per preconfigurare il sistema client_wan-1, specificare le parole chiave e i valori nel file sysidcfg. Salvare quindi il file nella sottodirectory appropriata della directory radice dei documenti di server_wan-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. Questo file si trova nella directory /opt/apache/htdocs/flash/.
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=CET system_locale=it terminal=xterm timeserver=localhost name_service=NIS {name_server=matter(192,168,254,254) domain_name=leti.esempio.it } security_policy=none
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 la versione corrente di Solaris da installare sul sistema client_wan-1:
# parole chiave valori # ---------------- ------------------- install_type flash_install archive_location https://192.168.198.2/flash/archives/cdrom0.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.
Il profilo installa un archivio Solaris Flash sul sistema clone. Tutti i file verranno sovrascritti, come in un'installazione iniziale.
L'archivio Solaris Flash compresso viene recuperato da server_wan-1.
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 utilizza lo spazio su disco rimanente. /export/home è installata su c0t1d0s7.
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 di client_wan-1 è 192.168.198.210, la maschera di sottorete è 255.255.255.0. Usare la parola chiave network per specificare il profilo che il programma JumpStart personalizzato deve utilizzare per installare client_wan-1.
network 192.168.198.0 - client_wan_1_prof - |
Il file rules comunica ai programmi JumpStart di usare client_wan_1_prof per l'installazione di la versione corrente di Solaris 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/.
Creare un file di configurazione del sistema che elenchi le posizioni del file sysidcfg e dei file dell'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.it. Il server di boot WAN è configurato per l'uso di HTTPS, in modo che i dati e i file siano protetti durante l'installazione.
In questo esempio, il file di configurazione del sistema è sys-conf.s10–sparc ed è salvato nella struttura gerarchica /etc/netboot sul server di boot WAN. I file sysidcfg e di installazione JumpStart personalizzata sono ubicati nella sottodirectory flash della directory radice dei documenti.
SsysidCF=https://www.esempio.it/flash/ SjumpsCF=https://www.esempio.it/flash/
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 HTTPS. 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.s10_sparc root_server=https://www.esempio.it/cgi-bin/wanboot-cgi root_file=/miniroot/miniroot.s10_sparc signature_type=sha1 encryption_type=3des server_authentication=yes client_authentication=no resolve_hosts= boot_logger= system_conf=sys-conf.s10–sparc
Il file wanboot.conf specifica la configurazione seguente:
Il nome del programma wanboot è wanboot.s10_sparc e si trova nella directory wanboot della directory radice dei documenti su server_wan-1.
La posizione del programma wanboot-cgi su server_wan-1 è https://www.esempio.it/cgi-bin/wanboot-cgi. La parte https dell'URL indica che questa installazione boot WAN usa HTTPS.
Il nome della miniroot di boot WAN è miniroot.s10_sparc. La miniroot si trova nella directory miniroot all'interno della directory radice dei documenti su server_wan-1.
Il programma wanboot e il file system di boot WAN sono “firmati” per mezzo di una chiave di hashing HMAC SHA1.
La cifratura del programma wanboot e del file system di boot WAN è eseguita con una chiave 3DES.
Il server è autenticato durante l'installazione.
Il client non è autenticato durante l'installazione.
Se sono state eseguite le operazioni descritte in (Opzionale) Uso della chiave privata e del certificato per l'autenticazione del client, impostare questo parametro come client_authentication=yes
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.
I messaggi di log dell'installazione e del boot vengono visualizzati sulla console del sistema. Se il server di log è stato configurato secondo quanto indicato nella sezione (Opzionale) Configurazione del server di boot WAN come server di log e si desidera che i messaggi di boot WAN compaiano anche sul server di boot WAN, impostare questo parametro su boot_logger=https://www.esempio.it/cgi-bin/bootlog-cgi.
Il file di configurazione del sistema che specifica le posizioni del file sysidcfg e dei file JumpStart si trova nel file sys-conf.s10–sparc 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.
Per eseguire il boot del client dalla WAN con boot net, l'alias di dispositivo net deve essere impostato sul dispositivo di rete principale 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.
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 decifrazione 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:
Specifica l'indirizzo IP della sottorete del client
Specifica l'ID del client
Specifica il valore della chiave di hashing HMAC SHA1 del client
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:
Installa la chiave di hashing HMAC SHA1 con un valore di b482aaab82cb8d5631e16d51478c90079cc1d463 su client_wan-1
Installa la chiave di cifratura 3DES con un valore di 9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04 su client_wan-1
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, 512 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.10 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 definite le seguenti variabili:
L'indirizzo IP del client è impostato su 192.168.198.210.
L'indirizzo IP del router del client è impostato su 192.168.198.1
La maschera di sottorete del client è impostata su 255.255.255.0
Il nome host del client è impostato su client_wan-1
Il programma wanboot-cgi è situato in http://192.168.198.2/cgi-bin/wanboot-cgi
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.