GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Suchen Sie nach einer Sicherheitskompromittierung:Untersuchung des Rettungsmodus

Im Artikel Auf Sicherheitskompromittierung prüfen:Hintertüren und Eindringlinge haben Sie einige grundlegende Techniken zum Sammeln der Informationen kennengelernt, die zum Identifizieren von Eindringlingen erforderlich sind, die Ihren Server kompromittiert haben. Dieser Artikel beschreibt, wie Sie den Rettungsmodus des Cloud Control Panel verwenden um sich Ihr System genauer anzusehen. Sie können den Rettungsmodus verwenden, um besser zu verstehen, wie Ihr Server kompromittiert wurde, und um nicht kompromittierte Dateien zu identifizieren, bevor Sie die Daten sichern.

Rettungsmodus aktivieren

Da auch das Betriebssystem Ihres Cloud-Servers kompromittiert sein könnte, können Sie sich nicht darauf verlassen. Der Eindringling könnte Binärdateien wie „ls“, „find“ und „netstat“ kompromittiert haben, sodass deren Ausgabe Sie in die Irre führen könnte. Folglich müssen Sie eine andere Betriebssystemumgebung verwenden, um die Kompromittierung sicher zu untersuchen.

Sie können dies tun, indem Sie die im Cloud Control Panel bereitgestellte Rettungsmodusfunktion verwenden. Anweisungen und weitere Informationen finden Sie unter Rettungsmodus.

Während sich Ihr Server im Rettungsmodus befindet, können Sie die folgenden Aktionen ausführen, um die Quelle der Kompromittierung zu lokalisieren.

Nach Rootkits suchen

Wir empfehlen Ihnen, die folgenden Tools zu installieren und zu verwenden, um Ihr System auf Rootkits zu scannen.

Mit chkrootkit nach Rootkits suchen

chkrootkit sucht nach bekannten Signaturen in kompromittierten Binärsystemen. Zum Beispiel einige kompromittierte Versionen von ps haben „/dev/ptyp " In ihnen. Wir empfehlen die Installation von chkrootkit indem Sie Ihren Paketmanager verwenden, anstatt aus dem Quellcode zu kompilieren. Weitere Optionen und Informationen zur Verwendung von chkrootkit finden Sie unter http://www.chkrootkit.org/README.

  1. Um es zu installieren, führen Sie den folgenden Befehl aus:

     apt-get install chkrootkit
    
  2. Führen Sie chkrootkit aus gegen das gemountete Dateisystem des Cloud-Servers:

     chkrootkit -r /mnt/demo
    

Die folgenden Meldungen werden von chkrootkit ausgegeben während seiner Tests:

  • INFECTED - Der Test hat einen Befehl identifiziert, der wahrscheinlich von einem bekannten Rootkit modifiziert wurde

  • not infected - Der Test hat keine bekannte Rootkit-Signatur gefunden

  • not tested - Der Test wurde nicht durchgeführt

    Dies kann in den folgenden Situationen passieren:

    • Der Test ist betriebssystemspezifisch
    • Der Test hängt von einem externen Programm ab, das nicht verfügbar ist
    • Einige spezifische Befehlszeilenoptionen werden angegeben (zum Beispiel -r )
  • not found - Der zu testende Befehl wurde nicht gefunden

  • Vulnerable but disabled - Der Befehl ist infiziert

Weitere Optionen und Informationen zur Verwendung von chkrootkit , siehe https://www.chkrootkit.org/README.

Mit rkhunter nach Rootkits scannen

Rootkit Hunter (rkhunter ) vergleicht Systeme mit einer Datenbank bekannter Rootkits. Es kann auch andere Systemdateien prüfen, um sicherzustellen, dass sie mit den erwarteten Eigenschaften und Werten übereinstimmen.

  1. Melden Sie sich bei Ihrer Terminalanwendung an und wechseln Sie zu Ihren sources Verzeichnis:

     cd ~/sources
    
  2. Laden Sie die neueste Version von rkhunter herunter aus dem SourceForge-Downloadbereich:

     https://sourceforge.net/projects/rkhunter/files/
    
  3. Nachdem Sie rkhunter installiert haben , führen Sie es gegen /mnt/demo aus .

     rkhunter -c -r /mnt/demo
    

rkhunter erzeugt während der Tests Warnungen, die angeben, wo eine Datei von den erwarteten Standardwerten abgewichen ist. Nach dem Test können Sie das Protokoll überprüfen, um detailliertere Informationen darüber anzuzeigen, welche Dateien die Warnung erzeugt haben. Für weitere Optionen und Informationen zur Verwendung von rkhunter , siehe https://rkhunter.cvs.sourceforge.net/viewvc/rkhunter/rkhunter/files/README.

Letzte Befehle prüfen

Um eine Vorstellung davon zu bekommen, wie die Sicherheit des Cloud-Servers verletzt wurde, überprüfen Sie, welche Benutzer Befehle ausgeführt haben, bevor der Cloud-Server kompromittiert wurde.

Die .bashhistory Datei enthält die letzten Befehle, die mit der Bash-Shell verwendet wurden. Sie müssen die .bashhistory überprüfen Dateien im Home-Verzeichnis jedes Benutzers. Die wichtigste .bashhistory Datei ist diejenige, die zu root gehört:/root/.bashhistory .

Ein kompromittierter Cloud-Server kann Einträge wie die folgenden haben:

wget https://malware.tar.gz
gunzip malware.tar.gz
tar xf malware.tar

Installierte Pakete prüfen

Alle Änderungen am Paketsystem werden in /var/log/dpkg.log gespeichert onDebian-basierte Distributionen. Überprüfen Sie diese Datei auf verdächtige Aktivitäten wie installierte oder entfernte Pakete oder einen modifizierten Bus.

Führen Sie den folgenden Befehl aus, um die letzten 50 Zeilen von dpkg.log anzuzeigen Datei:

tail 50 /mnt/demo/var/log/dpkg.log

Verwenden Sie den Find-Befehl

Der find Der Befehl wird normalerweise verwendet, um Dateinamen mit bestimmten Mustern zu finden. Sie können ihn jedoch auch verwenden, um die Dateien zu finden, die innerhalb eines bestimmten Zeitraums geändert oder aufgerufen wurden.

Beispielsweise finden Sie alle Dateien in /etc im Besitz von root, die in den letzten zwei Tagen wie folgt geändert wurden:

find /mnt/demo/etc -user root -mtime -2

Verfügbare Optionen sind wie folgt:

-atime: when the file was last accessed
-ctime: when the file's permissions were last changed
-mtime: when the file's data was last modified

Beachten Sie das Minuszeichen vor „2“ im vorherigen Beispiel. Die ‚Zeit‘-Optionen für find Befehle werden in 24-Stunden-Schritten ausgedrückt, und das Symbol vor der Zahl kann weniger als anzeigen oder größer als „-2“ bedeutet also, dass Sie Dateien finden möchten, die innerhalb der letzten zwei Tage geändert wurden. Wenn Sie Dateien finden möchten, die vor mehr als 2 Tagen geändert wurden, verwenden Sie +2 :

find /mnt/demo/etc -user root -mtime +2

Es gibt auch Versionen von atime , ctime und mtime Argumente, die die Zeit in Minuten messen:

-amin: when (in minutes) the file was last accessed
-cmin: when (in minutes) the file's permissions were last changed
-mmin: when (in minutes) the file's data was last modified

Beispiel

Finden Sie alle Dateien auf Ihrem Cloud-Server, die der demo gehören Benutzer, auf die in den letzten fünf Minuten zugegriffen wurde:

find /mnt/demo -user demo -amin -5

Die folgende Liste von find Befehlsoptionen können bei der Untersuchung der kompromittierten Cloud-Server-Untersuchung nützlich sein:

-nouser: shows output not associated with an existing userid
-nogroup: shows output not associated with an existing groupid
-links n: file has n links
-newer file: file was modified more recently than file
-perm mode: file has mode permissions

Überprüfen Sie Protokolle und verdächtige Dateien

Sie können einen Eindringling finden, indem Sie in /tmp nach verdächtigen Dateien suchen ,/var/tmp , /dev/shm , /var/spool/samba , /var/spool/squid , und/var/spool/cron .

Sie können sich auch Protokolldateien in /var/log ansehen Verzeichnis. Beispiel:auth.log zeichnet Benutzeranmeldeinformationen auf, einschließlich IP-Adressen.

Zusammenfassung

In Auf eine Sicherheitskompromittierung prüfen:Hintertüren und Eindringlinge haben Sie einige Techniken kennengelernt, mit denen Sie Hintertüren entdecken und Eindringlinge auf Ihrem Cloud-Server verfolgen können. Dies hilft Ihnen, die Situation oder den Fehler zu vermeiden, die bzw. der zum Kompromiss geführt hat, und minimiert die Wahrscheinlichkeit zukünftiger Kompromisse. In diesem Artikel haben Sie gelernt, wie Sie Ihren Cloud Server im Rettungsmodus untersuchen.

Unabhängig davon, ob es durch Viren, beschädigte Dateien, Maschinenausfälle oder andere unvorhergesehene Pannen verursacht wird, die Möglichkeit eines Datenverlusts ist real. Sichern Sie Ihre Dateien regelmäßig, um Unterbrechungen zu vermeiden, die ein solcher Verlust verursachen kann. Die folgenden Optionen helfen Ihnen, Ihre Dateien zu sichern:

  • Rackspace Cloud Backup ist eine gute Wahl für Cloud-Server-Kunden. Es ist vollständig in Cloud-Server integriert und stellt eine dateibasierte Backup-Alternative zum Backup des gesamten Image-Servers dar.
  • Für diejenigen, die es vorziehen, es selbst zu tun, siehe Sichern Sie Ihre Dateien mit rsync.

Linux
  1. Beliebte Linux-Distributionen für Sicherheitstests

  2. Benutzer-Shell aus Sicherheitsgründen deaktivieren?

  3. Auf Prozess prüfen, wenn dieser läuft?

  4. So suchen Sie unter Ubuntu 9.10 nach openCV

  5. Überprüfen Sie die Anzahl der ausstehenden Sicherheitsupdates in Ubuntu

So prüfen (scannen) Sie offene Ports in Linux

Rettungsmodus

Installieren Sie PostgreSQL auf einem Ubuntu-Server für Sicherheitskonfigurationen

Verwenden von Ubuntu 18.04 im erweiterten Modus für Hyper-V unter Windows 10

CentOS / RHEL 6 :So booten Sie in den Rettungsmodus

Wofür ist i915.modeset=1?