Best practice per l'aggiornamento di un server RHEL5.7 precedentemente non mantenuto


21

Di recente mi è stato affidato un nuovo server RedHat EL5.6. È immediatamente ovvio che, nei 12 mesi precedenti, è stata prestata poca o nessuna attenzione a nessun tipo di aggiornamento dei pacchetti.

In genere sono della mentalità se non è rotto - non aggiustarlo. Tuttavia, dopo aver registrato il server con RHN e aver utilizzato anche il plugin yum-security per verificare gli aggiornamenti di sicurezza, sono disponibili poco più di 1100 aggiornamenti di "sicurezza".

Qualcuno ha avuto una situazione simile? Sono riluttante ad aggiornare tutto, poiché mi piace sapere cosa viene aggiornato e se ha il potenziale di avere un impatto su qualsiasi cosa in esecuzione sulla scatola (questo è un server di produzione). Tuttavia, sembra anche che essere in linea con questa pratica mi richiederebbe di esaminare 1100 pacchetti errata riga per riga. C'è una soluzione più efficiente?

Risposte:


21

In linea generale, gli aggiornamenti di sicurezza sono considerati in qualche modo sicuri, in particolare per una distribuzione con obiettivi come RedHat. Il loro obiettivo principale è la creazione di un ambiente operativo coerente. Pertanto, i manutentori tendono a scegliere le versioni dei pacchetti e ad attenersi a loro per il lungo raggio. Per capire cosa intendo un'occhiata alle versioni di tali pacchetti come kernel, python, perl, e httpd. Inoltre, eseguono il backport delle patch di sicurezza dagli sviluppatori upstream. Quindi, se viene rilevata una vulnerabilità di sicurezza per tutte le versioni di Apache httpd 2.2.x, la fondazione Apache potrebbe rilasciare la versione 2.2.40 con la correzione, ma RedHat lancerà la patch localmente e rilascerà httpd-2.2.3-80con la correzione.

Inoltre, tieni presente che al momento stai parlando di un sistema RHEL5.7, la versione corrente è 5.9. Alcuni produttori di software supporteranno solo determinate versioni secondarie. Recentemente mi sono imbattuto in un software, ad esempio, che il venditore dice che funziona solo su 5.4. Ciò non significa che non funzionerà con 5.9, ma potrebbe non fornire supporto se non funziona.

Ci sono anche preoccupazioni riguardo agli aggiornamenti di massa di un sistema che non è stato patchato da così tanto tempo. Il più grande che ho riscontrato è in realtà un problema di gestione della configurazione che può essere aggravato da grandi aggiornamenti. A volte un file di configurazione viene modificato ma l'amministratore non riavvia mai il servizio. Ciò significa che la configurazione su disco non è mai stata testata e la configurazione in esecuzione potrebbe non esistere più. Quindi, se il servizio viene riavviato, cosa che accadrà una volta applicati gli aggiornamenti del kernel, potrebbe non riavviarsi. Oppure può agire diversamente una volta riavviato.

Il mio consiglio sarebbe di fare gli aggiornamenti, ma sii furbo a riguardo.

  • Pianificalo durante una finestra di manutenzione. Se nient'altro il server richiederà il riavvio, ci sono stati un certo numero di aggiornamenti del kernel e dovrai riavviare per applicarli.
  • Assicurati di eseguire un backup completo prima di fare qualsiasi cosa. Questo potrebbe essere snapshot, se si tratta di una macchina virtuale, innescare un backup completo su qualunque sia il tuo strumento, eseguire il tarring /(su un altro sistema), scattare ddun'immagine delle unità, qualunque cosa. Solo finché è qualcosa che puoi ripristinare.
  • Pianifica come applicare gli aggiornamenti. Non vuoi semplicemente lanciarlo yum update -ye andartene. Per tutte le cose buone che yum fa, non ordina quando applica gli aggiornamenti in base alle dipendenze. Ciò ha causato problemi in passato. Corro sempre yum clean all && yum update -y yum && yum update -y glibc && yum update. Ciò tende a prendersi cura della maggior parte dei potenziali problemi di ordinazione.

Questo potrebbe anche essere un ottimo momento per riformattare. Abbiamo RHEL6 da un po 'di tempo ormai. A seconda di ciò che fa questo server, può essere logico lasciarlo funzionare così com'è mentre si apre una nuova istanza in parallelo. Quindi, una volta installato, è possibile copiare tutti i dati, testare i servizi ed eseguire il taglio. Questo ti darà anche la possibilità di sapere, da zero, che il sistema è standardizzato, pulito, ben documentato e tutto quel jazz.

Indipendentemente da ciò che fai, ritengo sia abbastanza importante che tu ti alzi ad un sistema attuale. Devi solo assicurarti di farlo in un modo che ti consenta di fidarti del tuo lavoro e del prodotto finito.


Grazie per la risposta dettagliata e approfondimento su alcune considerazioni a cui non ho pensato. Spero che questo sia l'ultimo aggiornamento in blocco che devo fare. Come ho detto nel mio post, non stavano nemmeno usando RHN (che hanno acquistato), quindi coinvolgere i proprietari delle applicazioni sarà probabilmente più difficile del lavoro tecnico :)
tdk2fe

@ tdk2fe: ​​lo è sempre. :) Onestamente, a seconda di ciò che funziona, dovrebbe essere abbastanza puzzolente. Sarei molto meno preoccupato che le applicazioni non funzionassero più di quanto farei effettivamente i servizi di backup.
Scott Pack

Non preoccuparti troppo di RHEL 5.7 contro 5.9, RHEL 5.9 è solo RHEL 5.0 con tutti gli aggiornamenti, spedito pronto per l'installazione. Non è davvero necessario "aggiornare" all'interno della serie. Consiglio di installare almeno gli aggiornamenti di sicurezza e prendere seriamente in considerazione di installare il resto come applicabile. Non è possibile impostare una macchina virtuale o una casella di prova in cui replicare la macchina principale e verificare che nulla esploda troppo male?
vonbrand

1
@vonbrand: esatto. I rilasci puntuali sono effettivamente solo tag tag del repository in date specifiche. Ciò non significa che non ci saranno problemi. Il kerfuffle gilbc dalla 5.3 alla 5.4 è un esempio fantastico.
Scott Pack

@ tdk2fe Per non parlare, se il sistema è stato solo non mantenuto per un anno, si sta facendo abbastanza bene. Molti di noi hanno visto i sistemi andare senza attenzione per diversi anni ...
Michael Hampton

3

Nella mia esperienza, RHEL non rompe la retrocompatibilità negli aggiornamenti della stessa versione.

che, tuttavia, non si estenderà a tutto ciò che è stato installato esternamente a rpm.

È possibile utilizzare rpm -qfper trovare i file che si sospetta siano compilati all'esterno, se restituisce "non di proprietà di alcun pacchetto", potrebbero verificarsi problemi durante l'aggiornamento.

Vorrei prendere un'immagine del server e fare l'aggiornamento, sono un po 'più devil-may-care di molti altri.


Buon punto. Verifica se /etc/yum.repos.dsono configurati alcuni repository strani ( EPEL dovrebbe essere sicuro), installa yum-utilse controlla l'output di package-cleanup --orphans(pacchetti installati che non sono in alcun repository configurato).
vonbrand
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.