Abholung der Teile nach fehlendem Linux-Administrator [geschlossen]


8

Also hat unser Linux-Administrator unser Projekt verlassen und plötzlich bin ich (der Webcodierer mit grundlegenden Linux- / Serverkenntnissen) für unseren dedizierten Server (Ubuntu Server) verantwortlich, auf dem hauptsächlich eine Website (Apache / MySQL / PHP) und E-Mail (Postfix) ausgeführt werden. Unser Administrator war nicht wirklich ein professioneller Linux-Administrator, sondern ein Typ mit grundlegenden Linux-Kenntnissen, der im Laufe der Zeit etwas herausgefunden hat. Ich erwarte also funky Konfigurationen, unsichere Dienste usw.

Meine Fragen sind:

  1. Wie führe ich eine "Prüfung" des Servers durch, um den aktuellen Status zu ermitteln, um sicherzustellen, dass die Dinge richtig konfiguriert sind, dass keine unnötigen Benutzerkonten vorhanden sind, dass keine unnötigen Dienste ausgeführt werden usw. usw.

  2. Ich bin mir nicht sicher, wie ich unsere Produktionswebsite sichern soll. Neben den eigentlichen CMS-Dateien und der Datenbank gibt es Apache-Konfigurationen, Mail-Datenbanken und mehr, die gesichert werden müssen. Irgendwelche Vorschläge, wie dies automatisiert werden kann?

  3. Was sind die wichtigsten täglichen Aufgaben eines Linux-Administrators, die ich unbedingt ausführen muss? Riesige Frage, ich weiß.


Was meinst du mit einer "funky" Konfiguration? Als meine Generation das Wort benutzte, bedeutete das, dass etwas gut war.
John Gardeniers

Antworten:


11

Beeindruckend. Wo soll man anfangen.

Dies ist, was ich tun würde, aber hoffentlich werden andere mit mehr / besseren Vorschlägen einspringen.

Zuerst keine Panik. Ich gehe davon aus, dass Sie jetzt root sind. Sie sind derzeit die gefährlichste Bedrohung für den Server, da Sie über viel Leistung verfügen und nicht genau wissen, was Sie damit tun sollen.

Notieren Sie, welche Dienste der Server ausführen soll. Sie wissen, dass Apache, MySQL und Postfix erforderlich sind. Ich denke, Sie haben dort möglicherweise einen FTP-Server und können SSH einbinden, sodass SSH ausgeführt werden muss. Notieren Sie, welche Dienste installiert sind. Der schnellste Weg, dies herauszufinden, ist wahrscheinlich die Auflistung von /etc/init.d/*. Sie müssen dann herausfinden, was läuft. Ich weiß nicht, was das Äquivalent zu Red Hat chkconfig ist, aber wenn ein alternatives ps -ef fehlschlägt, wird aufgelistet, welche Prozesse gerade ausgeführt werden. Finden Sie auch heraus, ob eine Firewall installiert ist (z. B. iptables) und wie sie konfiguriert ist.

Als nächstes erhalten Sie eine Liste aller ausgeführten Cronjobs. Sie müssen sich wahrscheinlich nicht zu viele Gedanken darüber machen, was sie sofort tun, aber Sie sollten eine allgemeine Vorstellung davon haben, was der Server zu unterschiedlichen Zeiten tut.

Wieder würde ich das alles aufschreiben.

Schreiben Sie nun auf, wer Zugriff auf den Server haben soll und wer Root-Zugriff haben darf. Rufen Sie eine Liste der Benutzer mit Konten aus / etc / passwd ab.

Führen Sie ähnliche Schritte für den FTP-Zugriff und andere relevante Dienste wie Subversion oder Remote-MySQL-Verbindungen aus.

Jetzt wissen Sie etwas mehr darüber, was Ihr Server tut und wer darauf zugreifen kann. Sie sollten fortfahren, wie gut er funktioniert. Überprüfen Sie die Protokolldateien in / var / log, insbesondere / var / log / messages, und suchen Sie einige Zeit nach Fehlern.

Überprüfen Sie mit apt-get update && apt-get upgrade, ob noch ausstehende Updates verfügbar sind

Wenn Sie zur Aktualisierung aufgefordert werden, wählen Sie vorerst Nein.

Bisher sollten Sie keine Änderungen vorgenommen haben.

Sie müssen nun die gesammelten Informationen überprüfen und entscheiden, was (wenn überhaupt) behoben werden muss. Die Prioritäten sind Versuche, Versuche in /var/log/auth.log zu knacken, nicht benötigte Dienste herunterzufahren und die Firewall zu straffen.

Erstellen Sie Kopien aller Dateien, bevor Sie sie bearbeiten, und testen Sie Änderungen häufig, damit Sie bei Problemen leicht zurücktreten können.

Backups

Sie müssen entscheiden, was gesichert werden soll. Offensichtliche Kandidaten sind Datenbanken, / home / / etc / / var / log / / var / spool / cron / / var / www / und alle benutzerdefinierten Skripte, die von crontabs aufgerufen werden. Dann schreiben die meisten Leute ein Shell-Skript, um dies lokal zu sichern, und verwenden dann so etwas wie rsync, um die Dateien auf ein anderes USB-Laufwerk des Computers zu kopieren.

Zu den täglichen Aufgaben gehören das Überprüfen der Protokolldateien auf Probleme (siehe Logwatch, um Ihnen zu helfen), das Durchführen von Sicherheitsupdates, das Überprüfen von Backups und das Einrichten von Überwachungsfunktionen wie MRTG und Nagios, um die Arbeit als Administrator zu erleichtern .

Ich würde mir aber nicht zu viele Sorgen machen. Es mag entmutigend erscheinen, aber das liegt daran, dass Sie alles auf einmal verlangen. Der Server ist wahrscheinlich in Ordnung, behalten Sie die Protokolle im Auge und wenden Sie Updates an, sobald sie veröffentlicht werden, planen Sie, was Sie tun möchten, und arbeiten Sie darauf hin, unternehmen Sie kleine Schritte und versuchen Sie, es zu genießen.


3
Bevor ich etwas anderes mache, würde ich mir diesen Trottel vorstellen und / oder P2V.
Orangutech

+1 für einen aktuellen Schnappschuss. Tarball den Server zumindest über SSH oder rsync.
Gerald Combs

1
Führen Sie beim Abrufen der installierten Dienste auch "dpkg -l> ~ / installierte_Software" aus. Dadurch wird eine Liste der Pakete, die über apt-get installiert wurden, in eine Datei mit dem Namen "installierte_Software" in Ihrem Home-Verzeichnis geschrieben. Überprüfen Sie, ob Dienste ausgeführt werden, die nicht über apt-get installiert wurden. Der alte Administrator hat die Server möglicherweise nicht über apt-get installiert, und diese Dienste müssen auf andere Weise als durch "apt-get upgrade" aktualisiert werden. Man würde denken, dass dies selten wäre, aber es ist nicht.
Dru

Ein weiterer geeigneter Vorschlag wäre, die Konfigurationsdateien einer Versionskontrolle zu unterziehen. Wenn Sie dann Anpassungen vornehmen oder Dinge ändern, die Ihrer Denkweise entsprechen, können Sie diese Änderungen verfolgen und genau sehen, wo Sie es vermasselt haben. Oder vielleicht haben Sie Glück, aber es ist immer noch ein guter Rat.
OldTroll

All dies ist ein guter Rat. Zusätzlich zu den oben genannten Funktionen würde ich netstat -tanp und / oder -anp ausführen, um Details zu aktiven und empfangenden Verbindungen und den damit verbundenen Prozessen anzuzeigen.
Nedm

5

Einige Dinge, die Ihnen den Einstieg erleichtern sollen:

  1. Holen Sie sich jemanden, der bereits eine solche Prüfung durchgeführt hat - oder zumindest einige Kenntnisse über die häufigen Probleme bei der Wartung eines Servers hat. Im Ernst - es zahlt sich aus.

  2. Sichern Sie so gut wie möglich und versuchen Sie, einen Ersatzserver zu rekonstruieren - möglicherweise irgendwo eine virtuelle Instanz -, bis Sie sicher sind, dass a) Sie alle wichtigen Daten gesichert haben und b) Sie den Ersatzserver rekonstruieren können Ihr Backup in so kurzer Zeit, wie Sie möchten. So fügen Sie Karma hinzu: Tauschen Sie den aktuellen Produktionsserver gegen Ihren Ersatzserver aus. Solange Sie nicht nachgewiesen haben, dass Sie aus Ihrem Backup rekonstruieren können, tun Sie so, als hätten Sie keine.

  3. Aktualisieren Sie, lesen Sie Sicherheitshinweise, behalten Sie die Protokolldateien im Auge und automatisieren Sie dies, sobald Sie wissen, wonach Sie suchen müssen.


3
+1 für jemanden zu finden, der weiß, was er tut. Es wird auf lange Sicht billiger sein.
David Mackintosh

1
+ 1 für das gleiche, aber ich würde noch weiter gehen und vorschlagen, jemanden zu holen, der nachweislich erfahrener ist, um sicherzustellen, dass das gesamte System in einem geeigneten Zustand ist. Ein Live-System ist kein Ort, um von Grund auf neu zu lernen.
John Gardeniers

voll und ganz einverstanden, aber da das System bereits live ist, führt kein Weg an einem Live-System vorbei.
Olaf

1

Um die Protokolldateien einfacher in den Griff zu bekommen, sollten Sie LOGWATCH installieren (oder aktivieren. Ich weiß nicht, ob Ubuntu dies in der Standardinstallation hat). Es ist sehr schön, wenn Sie jeden Tag eine Zusammenfassung per E-Mail erhalten. Normalerweise nimmt es einige funky Sachen auf, die ein Blick auf configs möglicherweise nicht aufdeckt.


1

Wenn Sie Ihren Server und seine Daten schätzen, erhalten Sie Hilfe. Lassen Sie es von jemandem prüfen.

Wenn Sie nicht wissen, wie "richtig" aussieht, kann es schwierig sein zu erkennen, wo etwas "falsch" ist (oder wie Sie es sagen "funky"). Sobald jemand der Server in einem bekanntermaßen guten Zustand ist.

Die Verwendung von VMWare Converter zum Erstellen einer Staging-VM des Servers ist eine großartige Idee. Sie sollten dies prüfen.

Sie können dann auf der Staging-VM (Kopie des Servers) herumstöbern und versuchen, alles, was Sie tun sollen, zuerst auf dem VM-Staging-Server vor dem Produktionsserver auszuführen.


0

Nach dem, was Richard Holloway sagt; Führen Sie dann einen Netzwerkscan des Systems durch, um zu überprüfen, welche Dienste vom Server bereitgestellt werden, und vergleichen Sie dies mit den Daten, über die Sie bisher verfügen. Es ist möglich, mit Linux wirklich interessante Dinge zu tun , die nur beim Betrachten von Protokollen schwer zu finden sind.

Ich schlage vor, Zenmap von einem anderen System im selben Netzwerk zu verwenden und zuerst von Ihren Vorgesetzten die erforderlichen Freigaben zu erhalten. Zenmap ist einfach zu installieren, hat / hat eine GUI und versucht nicht, etwas auszunutzen, was gefunden wird.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.