Vorhandenen Server erben

9

Ich habe gerade 6 Webserver von einem früheren Server geerbt, der gefeuert wurde. Ich bin kein Systemadministrator, sondern eher ein DevOps.

Könnte mich jemand auf eine Art Standard-Checkliste verweisen, die man beim Erben vorhandener Server befolgen würde? Dinge, die ich wissen muss, sind:

  1. Welche Software befindet sich auf den Servern?
  2. Was sind die Standardmaßnahmen, die ich ergreifen sollte, um die Sicherheit zu überprüfen?
  3. Was verbindet sie und was sind sie auch verbunden?
  4. Was soll ich noch wissen?

Jeder Rat ist willkommen. Ich hatte gehofft, dass es eine Standard-Checkliste gibt, der man zunächst folgen würde, aber ich konnte nichts finden.

Alle Server sind Ubuntu (verschiedene Versionen)

user3408844
quelle
3
Du bist kein DevOps. DevOps ist kein Titel, es ist eine Kultur.
GWaldo
Was wäre ein besserer Begriff für einen "Entwickler, der gezwungen ist, einen Sysadmins-Job ohne das Fachwissen eines Sysadmin zu erledigen, aber ein gutes Verständnis aller beteiligten Konzepte und genügend praktische Erfahrung, um
durchzukommen
Ich bin damit einverstanden, DevOps auf Wikipedia gelesen zu haben. Ich sehe, dass ich es falsch verwendet habe, aber es scheint im täglichen Leben von Entwicklern, die Semi-Syadmins werden müssen, zu einem Slang geworden zu sein
user3408844
Der Begriff für das, was Sie beschreiben, lautet "Entwickler" oder "Entwickler, der gezwungen ist, einige System- / Betriebsaufgaben zu übernehmen".
GWaldo
Wow! - viel Mühe in diese
user3408844

Antworten:

24
  1. Um festzustellen, welche Software installiert wurde, können Sie /var/log/dpkg.log überprüfen. Dies ist jedoch möglicherweise kein vollständiger Datensatz. Möglicherweise sind Binärdateien und Code vorhanden, die manuell kompiliert oder direkt in das vorkompilierte System kopiert wurden. Sie können eine Standardinstallation derselben Ubuntu-Version und -Typ mit den Servern vergleichen und herausfinden, welche Dateien unterschiedlich sind. Dies kann jedoch recht mühsam sein. Eine Datei - Monitor - Lösung wäre ideal (tripewire, inotifywatch, etc.) http://linuxcommando.blogspot.com/2008/08/how-to-show-apt-log-history.html

  2. Sie müssen ALLES auf dem Server überprüfen . Jedes Benutzerkonto in / etc / passwd , jedes Anwendungsbenutzerkonto (z. B. Benutzer in Apache / PHP, Datenbankkonten usw.) sollte berücksichtigt werden, und Sie sollten alle Kennwörter ändern. Sie sollten überprüfen, welche Dienste beim Booten gestartet werden, wie hoch der Standard-Runlevel ist und was damit und mit anderen Runlevels beginnt. Ich würde einen Schwachstellenscanner und ein Basiskonfigurationstool verwenden, um den aktuellen Status zu überprüfen. Das Center for Internet Security bietet ein kostenloses Tool zur Bewertung der Konfiguration, das jedoch möglicherweise eingeschränkt ist. Sie verfügen über erweiterte Tools für Mitgliedsorganisationen ($). http://benchmarks.cisecurity.org/ OpenVAS ist ein FOSS-Scanner, ähnlich wie Nessus, der möglicherweise über ähnliche Funktionen verfügt. Es gibt noch viele weitere Dinge zu überprüfen, aber diese Antwort wird schon etwas lang ... (Die Codeüberprüfung für Webanwendungen und Webseiten ist ein gutes Beispiel.)

  3. Sie können den Status der für Verbindungen zu den Servern verfügbaren Ports mit verschiedenen Flags für netstat überprüfen . http://www.thegeekstuff.com/2010/03/netstat-command-examples/ Um festzustellen, wer eine Verbindung zum Server hergestellt hat, müssen Sie auf die sexiesten Internet-Sicherheitsaktivitäten zurückgreifen und die Systemprotokolle überprüfen. Die Informationen können sich in einem von mehreren Protokollen befinden, je nachdem, welche Anwendungen und Server sich auf dem System befinden. Möglicherweise haben Sie auch etwas Glück mit externen Netzwerkprotokollen, falls vorhanden.

  4. Sie haben viel zu tun. Sie gaben an, dass der vorherige Server - Betreiber wurde gefeuert ; Wenn Sie den Verdacht haben, dass diese Person böswillige Absichten hat (dh sie hat möglicherweise Hintertüren, Sprengfallen, Logikbomben usw. hinterlassen), ist es fast sicher besser, die Server aus sauberen Medien neu zu erstellen und die darauf befindlichen Webanwendungen erneut zu implementieren. Wenn dieser vorherige Administrator vollen Zugriff und Kontrolle auf dieses System hatte und keiner sorgfältigen Prüfung und Überwachung unterzogen wurde, sollten Sie wahrscheinlich davon ausgehen, dass es Hintertüren gibt.

Dies basiert auf einer pessimistischen Annahme über den vorherigen Administrator. Leider bröckelt das Cookie auf diese Weise für die betriebliche Netzwerksicherheit. Wie ich bereits sagte, gibt es noch viel mehr zu beachten ... viel mehr, als hier behandelt werden kann. Diese Punkte sollten Ihnen einige wichtige Hinweise geben, damit Sie dem Management mitteilen können, dass Sie Fortschritte erzielen. Aber um ehrlich zu sein, wenn Sie kein Sicherheitsexperte sind und Grund zu der Annahme haben, dass diese Person böswillig gehandelt hat, sind Sie wahrscheinlich überfordert.

Es ist eine unpopuläre Antwort beim Management, da es viel Aufwand erfordert (was mehr $ bedeutet), aber die allgemeine sicherheitsbewusste Antwort lautet, wenn Sie Zweifel haben, aus sauberen Quellen zu löschen und neu zu erstellen . So funktionieren die wichtigsten Regierungssysteme mit Malware. Wenn eine Warnung von AV ausgegeben wird, wird das System getrennt, gelöscht und neu erstellt. Ich hoffe, Sie haben ein Backup erstellt, da die Daten GEGANGEN sind .

Viel Glück und ich hoffe, das war hilfreich und nicht nur deprimierend.

0xSheepdog
quelle
Diese Frage kann auch gut für die StackExchange-Website www.AskUbuntu.com
0xSheepdog
2
Hervorragende Antwort.
EEAA
3
Das Löschen und Wiederherstellen wird wahrscheinlich viel einfacher, wenn Sie über ein gutes deklaratives Konfigurationsmanagement verfügen. Wenn Sie dies nicht tun, sollten Sie wahrscheinlich in Betracht ziehen, auf dieses Ziel hinzuarbeiten.
Zigg
2
/var/log/dpkg.logist gut geeignet, um den Installationsprozess selbst zu überprüfen (und nach Fehlern zu suchen), aber um eine Liste der installierten Pakete zu erhalten, wäre die Ausgabe von dpkg -loder noch einfacher dpkg --get-selectionseinfacher zu verdauen.
Dubu
0

Die Manpages sind dein Freund:

 man <command> 

Schauen Sie sich diese häufig verwendeten Befehle und ihre Verwendung an. Weitere Hilfe finden Sie in den Manpages für jeden oder in einigen Fällen durch Ausführen

  <command> --help 

Software:

  • dpkg -l (Liste der installierten Software)
  • ps -ef | more (Liste der laufenden Prozesse abrufen und Lesepause einlegen)

Sicherheit:

  • iptables (welche Ports sind offen und sind sie notwendig)
  • Überprüfen Sie Updates mit apt-get (sind die Server auf dem neuesten Stand?)
  • cat / etc / passwd (wer hat ein Konto auf der Box)
  • sshd (prüfe ob sshd läuft und wer sich anmelden kann)

Verbindungen:

  • netstat (welche Dienste lauschen und an welchen Ports)

Viel Glück. Es ist schwierig, eine Reihe von Servern zu erben, ohne dass die Person, die sie betreibt, die Möglichkeit hat, Sie zu schulen. Wenn der Kerl gefeuert wurde, ist es noch besorgniserregender, weil ich davon ausgehe, dass es einen Grund gab, und wenn ich auch annehme, dass es sich um einen Job handelt, gibt es möglicherweise einige seltsame Einstellungen im Stapel.

Chris Jones
quelle
0
  1. Welche Anwendungen werden ausgeführt: Führen Sie ein "ps -ef" oder "ps -auxw" aus, um die Prozessliste abzurufen. Entfernen Sie alles, was nicht mit dem Kernel zu tun hat, suchen Sie nach Dingen, die ausgeführt werden, und führen Sie auf jeder Seite Manpages durch, um herauszufinden, was es ist. Die meisten laufenden Prozesse können Sie ignorieren, da es sich nicht um Benutzeranwendungen handelt

  2. Aus Sicherheitsgründen: Führen Sie ein "netstat -pan" aus, um festzustellen, welche Ports geöffnet sind, und schließen Sie alle nicht erforderlichen Ports. Mit anderen Worten, die einzigen Ports, die geöffnet sein sollten, sind diejenigen, die den von diesen Servern bereitgestellten Netzwerkdiensten entsprechen. Wenn der Server ein Webserver ist, muss er offensichtlich Port 80/443 / etc. Abhören. Wenn der Server jedoch Port 21 überwacht und niemand ihn verwendet, sollten Sie den Prozess deaktivieren, bei dem dieser Port geöffnet ist.

  3. Für Verbindungen gibt Ihnen "netstat -pan" erneut die Antwort. Hier erfahren Sie, welche Hosts verbunden sind und an welchen Ports sie angeschlossen sind.

  4. Durchsuchen Sie die Protokolle in / var / log, um eine Vorstellung davon zu bekommen, was das System tut, und um festzustellen, ob offensichtliche Fehler oder rote Fahnen von verschiedenen Anwendungen stammen.

Michael Martinez
quelle