GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie RKHunter auf CentOS 7

In diesem Artikel werden wir lernen, Rootkits mit Rootkit Hunter zu installieren und zu finden, neben anderen Bedrohungen, mit denen Sie Anzeichen einiger Varianten der XOR.DDoS-Malware finden können, die derzeit zum Erstellen von Botnets verwendet wird Linux-Systeme für massive verteilte Denial-of-Service-Angriffe.

Inhaltsverzeichnis

  • Installieren
    • Herunterladen
    • Patch - (optional)
    • Installieren
  • Konfigurieren
    • Tests
    • Protokolle
    • Wahllisten
    • Verschiedenes
  • Ausführen
    • Flaggen
    • Cron-Planung

RKHunter installieren

Laden Sie Rkhunter herunter, versuchen Sie es mit cURL.

curl http://nbtelecom.dl.sourceforge.net/project/rkhunter/rkhunter/1.4.2/rkhunter-1.4.2.tar.gz -o rkhunter-1.4.2.tar.gz

Extrahieren Sie dann den Inhalt des Pakets.

tar zxvf rkhunter-1.4.2.tar.gz

Geben Sie das Tarball-Verzeichnis ein.

cd rkhunter-1.4.2

Patch (Optional)

Dieser Schritt wird das rkhunter-Skript und seine Datenbank patchen, um nach der XOR-DDoS-Linux-Malware zu suchen. Dieser Patch basiert auf dem Port und den Dateien, die in den Berichten von Akamai, Avast und Malware Must Die gefunden wurden.

Geben Sie das Dateiverzeichnis unter dem Verzeichnis rkthunter ein.

cd files

Installieren Sie den Patch Dienstprogramm mit yum.

yum install patch

Laden Sie jetzt den Patch herunter.

curl http://sourceforge.net/p/rkhunter/patches/44/attachment/rkhunter.patch -o rkhunter.patch

Alternativ können Sie den Inhalt der Datei rkhunter.patch von hier aus kopieren und einfügen.

--- rkhunter    2014-03-12 17:54:55.000000000 -0300
+++ rkhunter.new        2015-10-02 17:01:25.040000000 -0300
@@ -7797,6 +7797,19 @@
#

+       # XOR.DDoS
+       XORDDOS_FILES="/lib/udev/udev
+                      /lib/udev/debug
+                      /etc/cron.hourly/cron.sh
+                      /etc/cron.hourly/udev.sh
+                      /lib/libgcc4.so
+                      /var/run/udev.pid
+                      /var/run/sftp.pid"
+       XORDDOS_DIRS=
+       XORDDOS_KSYMS=
+
+
+
# 55808 Variant A
W55808A_FILES="/tmp/.../r
/tmp/.../a"
@@ -11907,6 +11920,13 @@
return
fi

+       # XOR.DDoS Rootkit
+       SCAN_ROOTKIT="XOR.DDoS - Rootkit"
+       SCAN_FILES=${XORDDOS_FILES}
+       SCAN_DIRS=${XORDDOS_DIRS}
+       SCAN_KSYMS=${XORDDOS_KSYMS}
+       scanrootkit
+

# 55808 Trojan - Variant A

--- backdoorports.dat   2010-11-13 20:41:19.000000000 -0300
+++ backdoorports.dat.new       2015-10-02 17:10:24.086000000 -0300
@@ -12,6 +12,7 @@
2001:Scalper:UDP:
2006:CB Rootkit or w00tkit Rootkit SSH server:TCP:
2128:MRK:TCP:
+3502:Possible XOR.DDoS Botnet Malware:TCP:
6666:Possible rogue IRC bot:TCP:
6667:Possible rogue IRC bot:TCP:
6668:Possible rogue IRC bot:TCP:

Wenden Sie den Patch auf dem rkhunter an script und backdoors.dat Dateien mit dem folgenden Befehl.

patch < rkhunter.patch

Der Patch ist fertig, gehen Sie jetzt zurück zum Tarball-Stammverzeichnis, um die Installation fortzusetzen.

cd ..

Dateien installieren

Führen Sie das Installationsskript mit den folgenden Parametern aus, um es unter /usr/local. zu installieren

./installer.sh --install --layout /usr/local

Sie können auch die --Beispiele verwenden Flag, um mehr Layout-Informationen und Beispiele anzuzeigen, oder und die --show Option anstelle von --install um anzuzeigen, was auf Ihrer Anlage installiert werden soll.

Installieren Sie Unhide (empfohlen)

Das Einblenden und unhide-tcp Dienstprogramme suchen nach versteckten Prozessen und Ports, obwohl dies nicht obligatorisch ist, wird dies dringend empfohlen, da die meisten ausgeklügelten Rootkits ihre Anwesenheit verbergen.

Zuerst müssen wir die GNU Compiler Collection installieren.

yum install gcc

Installieren Sie glibc-static, das zum Erstellen der Striped-Binärdateien benötigt wird.

yum install glibc-static

Kompilieren Sie unhide-linux.

gcc -Wall -O2 --static -pthread unhide-linux*.c unhide-output.c -o unhide-linux

Kompilieren Sie unhide-tcp.

gcc -Wall -O2 --static unhide-tcp.c unhide-tcp-fast.c unhide-output.c  -o unhide-tcp

Installieren Sie die Dateien unter /usr/local/bin und erstellen Sie einen symbolischen Link zum Einblenden.

cp unhide-linux unhide-tcp /usr/local/bin && cd /usr/local/bin/ && ln -s unhide-linux unhide && cd -

Konfigurieren

In diesem Abschnitt werde ich einige der Optionen zeigen, die in der rkhunter.conf zu finden sind Datei, die Optionen sind in Gruppen getrennt und ihre Beschreibung ist vereinfacht, lesen Sie die eigentliche Beschreibung der Datei und wenn Sie sich nicht sicher sind, ignorieren Sie sie einfach, da die Standardoptionen ausreichen sollten, die meisten von ihnen sind kommentiert.

Sie werden ermutigt, einen ersten Lauf zu machen, bevor Sie die eigentlichen Änderungen an der Konfigurationsdatei vornehmen, dies gibt Ihnen ein besseres Verständnis dafür, wie rkhunter funktioniert, und die Möglichkeit, einige falsch positive Ergebnisse zu identifizieren, die in der Konfigurationsdatei auf die weiße Liste gesetzt werden sollen.

Rufen Sie einfach rkhunter mit dem -c auf oder --check Parameter.

rkhunter -c

Wie Sie auf dem obigen Bild sehen können, wird es einige Warnungen geben, dass Dateien wie egrep oder ifup Skripte anstelle von ELF-Binärdateien sein sollen, aber es handelt sich um legitime Systemdateien, und die meisten Optionen in der Konfigurationsdatei beziehen sich darauf, wie rkhunter solche Dateien ignorieren kann Vorkommnisse.

Tests

Die folgenden Optionen ENABLE_TESTS und DISABLE_TESTS legen fest, welche Arten von Tests durchgeführt werden sollen, aktivieren alle und deaktivieren dann die unerwünschten. Es ist eine gute Idee, zumindest suspscan standardmäßig deaktiviert zu haben, da es anfällig für Fehlalarme ist.

ENABLE_TESTS=ALL

DISABLE_TESTS=suspscan

Sichere Shell

Es ist nie eine gute Idee, die Root-Anmeldung bei SSH-Verbindungen zu aktivieren, verwenden Sie stattdessen su/sudo, andernfalls setzen Sie dies auf yes.

ALLOW_SSH_ROOT_USER=no

Die Version 1 des SSH-Protokolls ist bekanntermaßen unsicher, setzen Sie dies auf 1, um diese Protokollprüfung zu ignorieren

ALLOW_SSH_PROT_V1=0

Netzwerkports

Erlaubte Netzwerkports im Format protocol:port

PORT_WHITELIST

Setzen Sie die Whitelist für einige Programme mit der Syntax path_to_binary:protocol:port_number

PORT_PATH_WHITELIST=/usr/sbin/squid:TCP:3801

Anwendungsversion

Mit dieser Option können Sie einige veraltete Anwendungen ausführen, dies wird im Allgemeinen nicht empfohlen und Sie müssen sicher sein, dass die Anwendung sicher ist, bevor Sie sie auf diese Liste setzen.

APP_WHITELIST=openssl:0.9.7d gpg httpd:1.3.29

Schnüffler

Erlauben Sie die Verwendung von Sniffer, Software, die Netzwerkpakete erfasst.

Erlauben Sie dem folgenden Prozess, das Netzwerk abzuhören, wie in der folgenden Zeile.

ALLOWPROCLISTEN=/usr/sbin/snort-plain

Dadurch kann die aufgelistete Netzwerkschnittstelle das Netzwerk im Promiscuous-Modus abhören.

ALLOWPROMISCIF=eth0

Dateien

Sie müssen einige Ausnahmen zu den von rkhunter durchgeführten Tests erstellen. Die folgenden Optionen ermöglichen Ihnen, Tests auf bestimmte Objekte, wie Dateien, Verzeichnisse, zu umgehen.

Einige versteckte Verzeichnisse zulassen.

ALLOWHIDDENDIR=/etc/.java

Einige versteckte Dateien zulassen.

ALLOWHIDDENFILE=/usr/share/man/man1/..1.gz
ALLOWHIDDENFILE=/usr/share/man/man5/.k5identity.5.gz
ALLOWHIDDENFILE=/usr/share/man/man5/.k5login.5.gz

Diese Whitelist ermöglicht es einigen Dateien, Skripte anstelle einer ELF-Binärdatei zu sein.

SCRIPTWHITELIST=/usr/sbin/ifdown
SCRIPTWHITELIST=/usr/sbin/ifup
SCRIPTWHITELIST=/usr/bin/egrep
SCRIPTWHITELIST=/usr/bin/fgrep
SCRIPTWHITELIST=/usr/bin/ldd

Datei weltweit beschreibbar machen.

WRITEWHITELIST=/usr/bin/date

Attributänderungen der Datei zulassen.

ATTRWHITELIST=/usr/bin/date

Prozess erlauben, gelöschte Dateien abzufragen.

ALLOWPROCDELFILE=/sbin/cardmgr

Protokolloptionen

Dadurch wird definiert, in welche Datei geloggt werden soll.

LOGFILE=/var/log/rkhunter.log

Setzen Sie diesen Wert auf 1, wenn Sie jedes Mal, wenn rkhunter läuft, mit der Protokollierung in derselben Datei fortfahren möchten. Der Standardwert ist 0, wodurch '.old' an die Protokolldatei angehängt und eine neue erstellt wird.

APPEND_LOG=0

Wenn Sie die Protokolldatei behalten möchten, wenn etwas nicht stimmt, setzen Sie die folgende Option auf 1.

COPY_LOG_ON_ERROR=0

Entkommentieren Sie und stellen Sie die Protokollfunktion ein, wenn Sie Syslog verwenden möchten.

USE_SYSLOG=authpriv.warning

Standardmäßig melden Elemente auf der Whitelist OK bei Tests. Wenn Sie Elemente auf der Whitelist hervorheben möchten, müssen Sie diese Option auf 1 setzen.

WHITELISTED_IS_WHITE=0

Betriebssystemoptionen

Setzen Sie die Paketmanager-Option auf Red Hat-ähnlichen Systemen, die CentOS enthalten, auf RPM.

PKGMGR=RPM

Aktivieren Sie dies, um eine Warnung zu melden, wenn das Betriebssystem die Version/das Release ändert.

WARN_ON_OS_CHANGE

Sollten wir unsere Datenbank aktualisieren, wenn sich das Betriebssystem ändert?

UPDT_ON_OS_CHANGE

Wo Sie die Release-Datei des Betriebssystems finden, setzen Sie sie auf /etc/redhat-release unter CentOS.

OS_VERSION_FILE=/etc/redhat-release

Sperren

Wenn wahrscheinlich mehr als ein rkhunter gleichzeitig läuft, sollten Sie diese Option aktivieren, um die Verwendung von Sperrdateien zu ermöglichen und eine Beschädigung der Datenbank zu vermeiden.

USE_LOCKING=0

Wenn Sie die Verwendung von Sperren aktiviert haben, sollten Sie ein Zeitlimit festlegen, um Deadlocks zu vermeiden.

LOCK_TIMEOUT

Sollten wir vor gesperrten Sitzungen warnen?

SHOW_LOCK_MSGS

Startup und Superdeamon

Wo ist die inetd-Konfigurationsdatei.

INETD_CONF_PATH=/etc/inetd.conf

Welche Dienste dürfen den inetd durchlaufen.

INETD_ALLOWED_SVC=/usr/sbin/rpc.metad /usr/sbin/rpc.metamhd

Xinetd-Konfigurationsdatei.

XINETD_CONF_PATH=/etc/xinetd.conf

Pfade der RC-Startdateien.

STARTUP_PATHS=/etc/rc.d /etc/rc.local

Konten

Die Datei, die die verdeckten Passwörter enthält.

PASSWORD_FILE=/etc/shadow

Andere Benutzerkonten als root zulassen UID 0 haben.

UID0_ACCOUNTS=toor rooty

Konten ohne Passwort zulassen.

PWDLESS_ACCOUNTS=abc

Syslog

Syslog-Konfigurationsdatei.

SYSLOG_CONFIG_FILE=/etc/syslog.conf

Erlauben Sie Syslog, sich aus der Ferne zu protokollieren.

ALLOW_SYSLOG_REMOTE_LOGGING=0

Berichte

Anzahl der Warnungen melden?

SHOW_SUMMARY_WARNINGS_NUMBER

Die für die Ausführung der Tests benötigte Gesamtzeit anzeigen?

SHOW_SUMMARY_TIME

Um E-Mail-Berichte zu erhalten, wenn rkhunter etwas findet, müssen Sie die folgenden Optionen einstellen und über eine E-Mail-Anwendung verfügen.

Wer erhält die E-Mail.

[email protected]

Welcher Befehl zum Senden von E-Mails verwendet wurde.

MAIL_CMD=mail -s "[rkhunter] Warnings found for ${HOST_NAME}"

rkhunter läuft

OK, an dieser Stelle sollten Sie rkhunter bereits mindestens einmal ausgeführt haben, jetzt werfen Sie einen Blick auf einige andere Flags, die mit rkhunter verwendet werden können.

Überprüfen Sie Ihre Änderungen

Nachdem Sie mit der Konfiguration fertig sind, führen Sie rkhunter mit -C aus oder --check-config Flag, um nach Fehlern in der Datei zu suchen.

rkhunter -C

Aktualisierung der Eigenschaften

Stellen Sie jetzt und jedes Mal, wenn Sie die Konfigurationsdatei ändern, sicher, dass Sie die Dateieigenschaften-Datenbank aktualisieren.

rkhunter --propupd

Nur Warnungen melden.

rkhunter --rwo

Manchmal möchten Sie nur einen bestimmten Test ausführen, versuchen Sie es mit --list tests um die Namen der verfügbaren Tests zu erhalten und verwenden Sie dann --enable Flag gefolgt vom Testnamen.

rkhunter --list tests

Die folgende Option deaktiviert die Tastendruck-Aufforderung.

rkhunter --sk

Um rkhunter mit einem Cronjob auszuführen, verwenden Sie --cronjob Flag, erstellen Sie die ausführbare Datei /etc/cron.daily/rkhunter.sh mit den folgenden Inhalten, um eine tägliche Überprüfung durchzuführen

#!/bin/sh

( /usr/local/bin/rkhunter --versioncheck
/usr/local/bin/rkhunter --update

/usr/local/bin/rkhunter --cronjob -c ) >> /dev/null 2>&1

Schlussfolgerung

Dies sollte Ihnen den Einstieg in rkhunter erleichtern und Ihnen eine weitere Sicherheitsebene bieten, aber dies wird nicht ausreichen, wenn Sie grundlegende Sicherheitsprinzipien vernachlässigen und jede Warnung, die Sie treffen, auf Whitelists setzen, anstatt die Probleme zu mindern. Denken Sie auch daran, dass rkhunter Ihnen helfen wird, zu verhindern, dass Ihre Computer Mitglieder eines Linux-Botnetzes werden, aber Ihre Site nicht davor schützt, Ziel einer DDoS-Kampagne zu werden. Danke fürs Lesen!


Cent OS
  1. So installieren Sie PHP 7, 7.2 und 7.3 auf CentOS 7

  2. So installieren Sie Java 11 und 12 unter CentOS 7

  3. So installieren Sie Wine 4.0 unter CentOS 7

  4. So installieren Sie Vim 8.2 unter CentOS 7

  5. So installieren Sie VirtualBox unter CentOS 7

So installieren Sie Ruby unter CentOS 7

So installieren Sie PostgreSQL unter CentOS 7

So installieren Sie Go unter CentOS 7

So installieren Sie R unter CentOS 7

So installieren Sie R unter CentOS 8

So installieren Sie Rootkit Hunter auf CentOS 6