Una volta scoperte le vulnerabilità della sicurezza, il software interessatodeve essere aggiornato in modo da evitare potenziali rischi. Se il pacchetto fà parte della distribuzione Red Hat Enterprise Linux ed è supportato, Red Hat, Inc. emette, appena possibile, dei pacchetti aggiornati in grado di risolvere i problemi riguardanti la sicurezza. Spesso la verifica di un exploit viene accompagnata da un patch (o da un source code capace di risolvere il problema). La patch viene applicata al pacchetto Red Hat Enterprise Linux, provato dal team Red Hat garante della qualità, ed emesso come un aggiornamento errata. Se la patch viene a mancare, allora uno sviluppatore di Red Hat lavorerà insieme con il tecnico responsabile del pacchetto, per la risoluzione del problema. Dopo aver risolto tale problema, il pacchetto viene provato, emettendo così un aggiornamento dell'errata.
Se è stato rilasciato un aggiornamento dell'errata riguardante la sicurezza, è consigliato effettuare un aggiornamento dei pacchetti in questione appenapossibile, questo per minimizzare il periodo nel quale il vostro sistema può essere vulnerabile.
Quando si effettua un aggiornamento del software su di un sistema, è importante effettuare un download dell'aggiornamento, da una fonte fidata. Un aggressore è in grado di ricostruire facilmente un pacchetto con lo stesso numero della versione del pacchetto preposto per la soluzione dei problemi ma con un exploit diverso presente nel suo interno, immettendolo così su Internet. Se si verifica quanto sopra descritto, l'uso delle misure di sicurezza come ad esempio il controllo dei file con l'RPM originale, non sarà sufficiente a rilevare l'exploit. Per questo motivo è molto importante scaricare gli RPM da fonti fidate come ad esempio Red Hat, Inc. e controllare la firma del pacchetto, per assicurarsi che lo stesso sia stato costruito dalla fonte.
Red Hat offre due modi per richiamare gli aggiornamenti degli errata della sicurezza:
Scaricarli da Red Hat Network
Scaricarli dal sito web degli errata di Red Hat
Red Hat Network vi permette di automatizzare molti dei processi di aggiornamento. Determina quali pacchetti RPM sono necessari al vostro sistema, li scarica da un luogo sicuro, verifica la firma RPM, assicurandosi così che essi non siano stati alterati, e successivamente li aggiorna. L'installazione del pacchetto può verificarsi immediatamente oppure può essere programmato durante un periodo ben determinato.
Red Hat Network vi richiede di fornire un profilo del sistema per ogni macchina che desiderate aggiornare. Il profilo del sistema contiene informazioni hardware e software. Queste informazioni sono riservate e non vengono quindi divulgate. Esse sono usate per determinare quali aggiornamenti degli errata sono applicabili per ogni sistema. Senza queste informazioni, Red Hat Network non è in grado di determinare se il vostro sistema ha bisogno di aggiornamenti. Quando viene emesso un errata della sicurezza (o qualsiasi tipo di errata),Red Hat Network vi invierà una email con la sua descrizione, indicandovi anche i sistemi che saranno colpiti. Per apportare un aggiornamento, potete usare il Red Hat Update Agent oppure organizzare l'aggiornamento del pacchetto attraverso il sito web http://rhn.redhat.com.
![]() | Suggerimento |
---|---|
Red Hat Enterprise Linux include il Tool di notifica di attenzione di Red Hat Network, una icona del pannello molto conveniente, che mostra allarmi visibili quando vi è un aggiornamento per un sistema Red Hat Enterprise Linux. Consultare le seguenti URL per maggiori informazioni riguerdanti l'applet http://rhn.redhat.com/help/basic/applet.html |
Per saperne di più sui benefici di Red Hat Network, consultare il Red Hat Network Reference Guide disponibile su http://www.redhat.com/docs/manuals/RHNetwork/ o visitate http://rhn.redhat.com.
![]() | Importante |
---|---|
Prima di installare qualsiasi errata di sicurezza, assicurarsi di leggere qualsiasi istruzione speciale contenuta nell'errata report ed eseguitela scrupolosamente. Consultare la Sezione 3.1.3 per istruzioni generali su come applicare i cambiamenti fatti da un aggiornamento dell'errata. |
Quando vengono emessi gli errata report riguardanti la sicurezza, essi vengono pubblicati sul sito web Errata di Red Hat disponibile su http://www.redhat.com/apps/support/errata/. Da questa pagina selezionare il prodotto e la versione per il vostro sistema, e successivamente selezionare security nella parte superiore della pagina, per visualizzare solo il Red Hat Enterprise Linux Security Advisories. Se uno dei commenti è un pacchetto usato sul vostro sistema, selezionatelo per ottenere maggiori informazioni.
I dettagli descrivono l'exploit inerenti la sicurezza, insieme con altre istruzioni specificheche necessarie per l'aggiornamento del pacchetto, in modo tale da poter risolvere i problemi della sicurezza che si sono verificati.
Per poter scaricare il pacchetto aggiornato, fate clic sul nome corrispondente e salvatelo su disco fisso. È fortemente consigliato creare una nuova directory come ad esempio /tmp/updates per poter salvare il pacchetto scaricato.
Tuuti i pacchetti Red Hat Enterprise Linux sono segnati da una chiave GPG di Red Hat, Inc.. L'utility RPM all'interno di Red Hat Enterprise Linux, prova automaticamente la verifica della firma GPG di un pacchetto RPM prima d'installarlo. Se la chiave GPG di Red Hat, Inc. non è installata, installatela da un luogo sicuro e statico come ad esempio un CD-ROM di installazione di Red Hat Enterprise Linux.
Assumendo che il CD-ROM è stato montato in /mnt/cdrom, usate il seguente comando per importarlo nel vostro portachiavi 'keyring':
rpm --import /mnt/cdrom/RPM-GPG-KEY |
Per poter visualizzare un elenco di tutte le chiavi installate usate per la verifica dell'RPM, eseguite il seguente comando:
rpm -qa gpg-pubkey* |
Per la chiave Red Hat, Inc., l'output include quanto segue:
gpg-pubkey-db42a60e-37ea5438 |
Per visualizzare i particolari di una chiave specifica, usare il comando rpm -qi seguito dall'output del comando precedente, come riportato in questo esempio:
rpm -qi gpg-pubkey-db42a60e-37ea5438 |
È molto importante controllare la firma dei file RPM prima di procedere alla loro installazione. In questo modo potete assicurarvi che essi non siano stati alterati dalla distribuzione dei pacchetti di Red Hat, Inc.. Per verificare tutti i pacchetti scaricati nello stesso istante, emettere il seguente comando:
rpm -K /tmp/updates/*.rpm |
Per ogni pacchetto, se la chiave GPG viene verificata con successo, il comando ritorna gpg OK.
Dopo aver verificato la chiave GPG e dopo aver scaricato tutti i pacchetti associati con l'errata report, installateli come utente root ad un promt della shell.
Questo può essere fatto in modo sicuro per la maggior parte dei pacchetti (eccetto per i pacchetti del kernel), emettendo il seguente comando:
rpm -Uvh /tmp/updates/*.rpm |
Per i pacchetti del kernel, è consigliato usare il seguente comando:
rpm -ivh /tmp/updates/<kernel-package> |
Sostituire <pacchetto del kernel> nell'esempio precedente, con il nome dell'RPM del kernel.
Una volta riavviata la macchina in modo sicuro usando il nuovo kernel, il vecchio kernel può essere rimosso usando il seguente comando:
rpm -e <old-kernel-package> |
Sostituire <pacchett-kernel-vecchio> nel precedente esempio, con il nome dell'RPM del kernel più vecchio.
![]() | Nota bene |
---|---|
Non è necessario rimuovere il vecchio kernel. |
![]() | Importante |
---|---|
Prima di installare qualsiasi errata di sicurezza, assicurarsi di leggere qualsiasi istruzione speciale contenuta nell'errata report ed eseguitela scrupolosamente. Consultare la Sezione 3.1.3 per istruzioni generali su come applicare i cambiamenti fatti da un aggiornamento dell'errata. |
Dopo aver effettuato un download e installato gli errata tramite il sito web errata di Red Hat Network o di Red Hat, è importante interrompere l'uso del software più vecchio e iniziare ad usare quello nuovo. Come eseguire tale operazione dipende dal tipo di software che è stato aggiornato. Il seguente elenco riporta le categorie generali del software e fornisce istruzioni sull'uso delle versioni aggiornate dopo il miglioramento di un pacchetto.
![]() | Nota bene |
---|---|
In generale, riavviare il sistema rappresenta il modo più sicuro per assicurarsi che la versione più aggiornata di un pacchetto software venga usata; tuttavia, questa opzione non è sempre disponibile per un amministratore del sistema. |
Le applicazioni del tipo user-space, sono tutti quei programmi che possono essere iniziati da un utente del sistema. Generalmente tali applicazioni vengono usate solo quando un utente, uno script oppure una utility di un compito automatizzato, effettua un loro lancio e non è persiste per un periodo di tempo prolungato.
Una volta aggiornata l'applicazione user-space, interrompete ogni istanza dell'applicazione presente sul sistema, e lanciare nuovamente il programma per usare la versione aggiornata.
Il kernel rappresenta il nucleo della componente software per il sistema operativoRed Hat Enterprise Linux. Esso gestisce l'accesso alla memoria, al processore, e ai peripheral, programmando anche tutti i vari compiti.
A causa del suo ruolo centrale, il kernel non può essere riavviato senza aver fermato il computer. Quindi, una versione aggiornata del kernel non può essere usata fino a quando il sistema non viene riavviato.
Le librerie condivise sono delle unità di codice, come glibc, le quali sono usate da un certo numero di applicazioni e di servizi. Le applicazioni che utilizzano una libreria condivisa, generalmente caricano il codice condiviso quando l'applicazione è inizializzata, in questo modo ogni applicazione che utilizza la libreria aggiornata, deve essere interrotta e rilanciata.
Per determinare quale applicazione in esecuzione, si collega ad una particolare libreria, usare il comando lsof, come riportato nel seguente esempio:
lsof /usr/lib/libwrap.so* |
Questo comando ritorna un elenco di tutti i programmi in esecuzione che usano i wrapperTCP per un controllo dell'accesso host. In questo modo, ogni programma presente nell'elenco, deve essere interrotto e rilanciato se il pacchetto tcp_wrappers è aggiornato.
I servizi SysV sono programmi server persistenti lanciati durante il processo di avvio. Un esempio di servizi SysV sono sshd, vsftpd, e xinetd.
Dato che questi programmi generalmente persistono in memoria se la macchina è avviata, ogni servizio SysV aggiornato, deve essere interrotto e rilanciato dopo il miglioramento del pacchetto. Questo può essere fatto usando il Strumento di configurazione dei servizi oppure effettuando un log in in un prompt della shell root ed emettendo il comando /sbin/service come riportato nel seguente esempio:
/sbin/service <service-name> restart |
Nell'esempio precedente, sostituire <nome -servizio> con il nome del servizio, come ad esempio sshd.
Consultare il capitolo intitolato Controllo dell'accesso ai servizi nel Red Hat Enterprise Linux System Administration Guide, per maggiori informazioni inerenti Strumento di configurazione dei servizi.
I servizi controllati dal super servizio xinetd possono essere eseguiti solo se vi è un collegamento attivo. Esempi di servizi controllati da xinetd sono Telnet, IMAP, e POP3.
A causa del lancio delle nuove istanze di questi servizi, da parte di xinetd ogni volta che si riceve una nuova richiesta, i collegamenti che si verificano dopo un miglioramento sono gestiti dal software aggiornato. Tuttavia, se vi sono collegamenti attivi al momento del miglioramento del servizio controllato da xinetd, essi vengono serviti dalla versione più vecchia del software.
Per eliminare le vecchie istanze di un particolare servizio controllato da xinetd, migliorare il pacchetto per il servizio e poi interrompere tutti i processi attualmente in esecuzione, determinando prima se il processo è in esecuzione usando il comando ps e poi usando il comando kill o killall per interrompere le istanze correnti del servizio.
Per esempio, se i pacchetti imap degli errata della sicurezza vengono emessi, migliorare i pacchetti, e poi inserire il seguente comando come root, in un prompt della shell:
ps -aux | grep imap |
Questo comando ritorna tutte le sessioni IMAP attive. Sessioni individuali potranno essere terminate emettendo il seguente comando:
kill -9 <PID> |
Nell'esempio precedente, sostituire <PID> con il numero d'identificazione del processo per una sessione IMAP.
Per eliminare tutte le sessioni IMAP attive, emettere il seguente comando:
killall imapd |
Consultare il capitolo intitolato Wrapper TCP e xinetd nel Red Hat Enterprise Linux Reference Guide per informazioni generali inerenti xinetd.