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:
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.
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?
Was sind die wichtigsten täglichen Aufgaben eines Linux-Administrators, die ich unbedingt ausführen muss? Riesige Frage, ich weiß.
Antworten:
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.
quelle
Einige Dinge, die Ihnen den Einstieg erleichtern sollen:
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.
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.
Aktualisieren Sie, lesen Sie Sicherheitshinweise, behalten Sie die Protokolldateien im Auge und automatisieren Sie dies, sobald Sie wissen, wonach Sie suchen müssen.
quelle
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.
quelle
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.
quelle
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.
quelle