Um ein Update zu machen? Oder nicht?

13

bitte verzeihen sie diese recht unkomplizierte frage.

Zunächst einmal bin ich kein Systemadministrator, und meine Erfahrung mit Linux ist etwas begrenzt.

Vor ungefähr drei bis vier Monaten habe ich aus verschiedenen Gründen einen CentOS-Server in Betrieb genommen. Wir verwenden es als Entwicklungsserver für Websites (auf die unsere Kunden Zugriff haben), als Subversion-Server und hosten dort auch ein Wiki für die interne Kommunikation, sodass es für uns zu einem wichtigen Werkzeug geworden ist. (Wahrscheinlich wichtiger, als wir gedacht hatten, als ich es eingerichtet habe!)

Mir ist aufgefallen, dass Yum ungefähr 250 Pakete auf die neuesten Versionen im Repo aktualisieren möchte.

Sollte ich das Risiko eingehen, diese Pakete zu aktualisieren, da der Server für uns in Ordnung ist? Wiegen die Sicherheitsrisiken das Risiko eines Serverausfalls auf, wenn ich alles aktualisiere?

Ich sollte darauf hinweisen, dass ich zwar Backups von allem habe, aber es einige Zeit dauern würde, alles so einzurichten, wie es gerade ist, und ich habe im Moment nicht sehr viel Freizeit bei der Arbeit!

Gibt es im Falle einer Aktualisierung bewährte Methoden, die weitergegeben werden könnten, um den Prozess so sicher wie möglich zu gestalten?

Vielen Dank im Voraus für jeden Rat.

UPDATE - Vielen Dank für Ihre Antworten an alle. Wenn ich genug Repräsentanten hätte, um alle zu unterstützen, würde ich es tun. ;) Ich habe beschlossen, die Festplatte zu spuken und zu aktualisieren. Leider ist es im Moment nicht möglich, einen Voll- oder Teilzeit-Systemadministrator zu finden. Ich muss mich also nur so gut wie möglich mit dem Problem befassen!

John McCollum
quelle

Antworten:

12

Schnelle und schmutzige (dh Battlefield Administrator) Lösung:

  1. Schalten Sie Ihr System offline (ich hoffe, Sie können es) und erstellen Sie ein NortonGhost-Backup (oder ähnliches) auf einer zweiten Festplatte.

  2. Starten Sie die 2. Festplatte (um sicherzustellen, dass Ihre Sicherung tatsächlich funktioniert) und führen Sie das YUM-Update auf DIESER Festplatte durch.

  3. Wenn alles klappt ... herzlichen Glückwunsch!

  4. Wenn es etwas vermasselt ... legen Sie Ihr ORIGINAL-Laufwerk ein und lassen Sie sich einen "Plan B" einfallen.

AKTUALISIEREN:

Ich dachte nur, ich würde erwähnen, dass das eigentliche Problem hier ist: "Aktualisiere ich mein veraltetes Waaaay-System und riskiere es, es durcheinander zu bringen?" oder "Lasse ich mein einwandfrei funktionierendes System ungepatcht und riskiere, dass es gehackt / kompromittiert wird?"

Die Antwort ist ... sobald Sie Ihr System über die oben genannten Schritte gepatcht haben ... versuchen Sie, den Überblick zu behalten, indem Sie es regelmäßig sichern UND regelmäßig patchen.

Dann haben Sie das Beste aus beiden Welten. ;-)

KPWINC
quelle
Gerne ... viel Glück mit Ihrem Backup / Update. Als Randnotiz, ich persönlich habe yum-Updates in CentOS gemacht, als es 200-300 Updates gab und es war in Ordnung. ABER ... Ich habe auch Aktualisierungen durchgeführt, bei denen es komplett zerplatzt ist und ich musste doofe Voodoo- / Hühnerrituale (und eine Menge Kommandozeilen-Mist) machen, um die Dinge wieder zum Laufen zu bringen. Ich wünsche Ihnen ein schnelles und erfolgreiches Update. ;-)
KPWINC
10

Ja, aktualisieren.

RHEL (und daher CentOS) achten darauf, keine inkompatiblen Versionen zu aktualisieren. Stattdessen werden Bugfixes und Sicherheitskorrekturen zurückportiert, sodass die tatsächlichen Änderungen an Paketen minimal sind und mit ziemlicher Wahrscheinlichkeit keine Kompatibilitätsprobleme verursachen.

Wenn sich Konfigurationsdateien geändert haben, werden Sie von den Paketen über eine .rpmorig- oder .rpmnew-Datei informiert, die erstellt wird. Dies hängt von der Konfiguration des RPM ab. Sie können nach Warnungen zu den erstellten suchen und entweder Ihre alte Konfiguration cp foo foo.bak; cp foo.rpmorig foozurücksetzen (" ") oder die .rpmnew-Dateien überprüfen und alle Änderungen in Ihre Konfiguration übernehmen.

Das Problem ist weniger auffällig, wenn Sie regelmäßig aktualisieren.

Wir haben viele Systeme, die vierteljährlich (alle 3 Monate) aktualisiert werden. und sehr selten treten Probleme durch Paketaktualisierungen auf. (außer auf Systemen, die seltsame Kernel-Dinge tun, um von einem SAN aus auf LUNs zuzugreifen)

freiheit
quelle
Ich mag mehr KPWINC Antwort. Zuerst sichern. Beispiel: httpd 2.2 wurde auf 2.4 aktualisiert und plötzlich funktionieren Konfigurationsdateien nicht mehr. Das Panik- und Entwicklerteam arbeitet stundenlang, bis das Problem diagnostiziert und behoben wurde.
Jose Manuel Gomez Alvarez
Nicht zu sprechen von Kernel - Paket zu aktualisieren, die möglicherweise das Booten der Maschine brechen könnte access.redhat.com/documentation/en-us/red_hat_enterprise_linux/...
Jose Manuel Gomez Alvarez
@Jose Manuel Gomez Alvarez - Sichern als erstes ist immer gut, aber wenn Ihr System von http 2.2 auf 2.4 wechselt, ist dies nicht der Fall - CentOS macht so etwas nie.
freiheit
6

Ja, die Aktualisierung würde einige Zeit in Anspruch nehmen, und im selben Land würde die Wiederherstellung einige Zeit in Anspruch nehmen, wenn etwas schief gelaufen wäre. Wie viel Schmerz / Leid wäre es, wenn die Daten auf diesem System durch einen Exploit / Hack gelöscht würden?

Zum größten Teil sind Upgrades von den CentOS-Basis-Repositorys sicher zu installieren. Das einzige Mal, dass ich Probleme beim Aktualisieren von CentOS hatte, war das Starten / Verwenden eines externen Repositorys (DAG, RPMForge, Ect ect ..).

Das beste Setup für diese Art von Dingen besteht darin, einen Hot-Swap-fähigen Server bereitzustellen, damit Sie die Updates darauf testen können, bevor Sie sie auf dem Live-Server bereitstellen.

grufftech
quelle
3

Angenommen, Sie benötigen einen tatsächlichen Systemadministrator, der einige Stunden benötigt, um Ihr System zu überprüfen, es zu aktualisieren und sicherzustellen, dass alles erneut ausgeführt wird. Idealerweise lässt du diese Person ein paar Mal im Monat kommen und dies für dich tun. Ein Server ist keine einmal installierbare Sache, bei der man alles vergessen muss. es muss regelmäßig gewartet werden.

Teddy
quelle
3

Wenn dieses System so wichtig ist, werden die Sicherheitsupdates umso wichtiger. Berücksichtigen Sie die Auswirkungen, wenn dieses System für eine Neuerstellung heruntergefahren werden muss, wenn (wann?) Ein veraltetes Paket einen Systemkompromiss zulässt. Im Idealfall wird ein Testserver auf ähnliche Weise konfiguriert, den Sie zuerst aktualisieren und prüfen können, ob etwas kaputt geht.

Wenn Sie Updates anwenden, müssen Sie einige Dinge sicherstellen:

  1. Die Aktualisierungszeit wird jedem bekannt gegeben, der das System verwendet
  2. Sie haben einen Plan zum Aktualisieren und Testen jeder Anwendung
  3. Sie haben einen Plan, wie Sie die Updates rückgängig machen können, wenn (wann?) Das Update die App bricht
  4. Und für den Fall, dass etwas wirklich schief geht, gibt es aktuelle Backups

Ein guter Sysadmin hätte Erfahrung in dieser Art von Arbeit und sollte sowieso all diese Dinge tun. Wenn in Ihrer Organisation welche vorhanden sind, ist dies möglicherweise die Zeit, um die Verwaltung des Systems auf diese zu sichern. Oder wenn Sie nervös sind, dies selbst zu tun, sollten Sie jemanden beauftragen, der diese Art der routinemäßigen Wartung übernimmt. So oder so, die Updates muß geschehen, da man sich bis zu einer viel schlechteren Situation auf der ganzen Linie öffnen.

Scott Pack
quelle
3

Aus diesem Grund betreibe ich heute fast nie mehr Produktionssysteme auf echter Hardware. Ich führe sie in virtuellen Maschinen aus. Während einer kurzen Ausfallzeit (5 Minuten) führe ich entweder einen Snapshot in ESX selbst aus oder wenn ich ein benutzerdefiniertes Xen / Solaris / OpenVZ-Setup verwende, erstelle ich einen LVM-Snapshot des Server-Images. Ich starte dann das Original wieder hoch und habe jetzt eine Kopie, mit der ich nach Belieben arbeiten kann.

Beginnen Sie jedoch mit der Aktualisierung des Kernels und von Apache und arbeiten Sie von dort aus rückwärts. Sie müssen nicht die vollständige Paketliste verwenden, die Sie gemeldet haben, aber die häufigsten Angriffsmethoden sollten die sein, die Sie am schnellsten patchen.

Jedes Mal, wenn ein Linux-System gehackt wurde, habe ich Apache, OpenSh oder den Kernel selbst nicht gepatcht.

Chris K
quelle
2

Ich würde nur die sicherheitsbezogenen Pakete aktualisieren.

fpmurphy
quelle
2

Ich hatte genau das vor einem Jahr oder so ... Ich habe das Yum-Update auf der CentOS-Box durchgeführt, auf Dell-Hardware ausgeführt und einen Kernel installiert, der nicht booten konnte. Die Box hatte noch nichts geladen (sonst wäre ich vorsichtiger gewesen). Habe viel Zeit damit verbracht, und es scheint, dass es eine gewisse Inkompatibilität zwischen neueren CentOS / Linux-Kerneln und dieser Dell-Box gibt. Seien Sie sehr vorsichtig mit Ihren Updates. Ich empfehle weiterhin, ein Update durchzuführen, da dies das Richtige ist, aber seien Sie bereit, sich von einem überflüssigen System zu erholen!

Brian Knoblauch
quelle
Toll, es ist zufällig eine Dell-Box!
John McCollum