GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare RKHunter su CentOS 7

In questo articolo impareremo a installare e trovare rootkit con Rootkit Hunter, tra le altre minacce, sarai in grado di usarlo per trovare segni di alcune varianti del malware XOR.DDoS, attualmente utilizzato per creare botnet con Sistemi Linux per massicci attacchi denial of service distribuiti.

Sommario

  • Installa
    • Scarica
    • Patch - (opzionale)
    • Installa
  • Configura
    • prove
    • registri
    • whilelist
    • varie
  • Esegui
    • bandiere
    • programmazione cron

Installa RKHunter

Scarica Rkhunter, prova cURL per farlo.

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

Quindi estrai il contenuto della confezione.

tar zxvf rkhunter-1.4.2.tar.gz

Entra nella directory tarball.

cd rkhunter-1.4.2

Patch (opzionale)

Questo passaggio consentirà di correggere lo script rkhunter e il suo database per cercare il malware XOR DDoS Linux. Questa patch si basa sulla porta e sui file trovati nei rapporti effettuati da Akamai, Avast e Malware Must Die.

Entra nella directory dei file nella directory rkthunter.

cd files

Installa la patch utilità con yum.

yum install patch

Ora scarica la patch.

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

In alternativa, puoi copiare e incollare il contenuto del file rkhunter.patch da qui.

--- 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:

Applica la patch su rkhunter script e backdoors.dat file con il seguente comando.

patch < rkhunter.patch

La patch è terminata, ora torna alla directory principale del tarball per continuare l'installazione.

cd ..

Installa file

Esegui lo script di installazione con i seguenti parametri per installarlo in /usr/local.

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

Puoi anche utilizzare gli --esempi flag per mostrare ulteriori informazioni sul layout ed esempi o e il --show opzione invece dell'opzione --install per mostrare cosa deve essere installato sul tuo layout.

Installa Unhide (consigliato)

Il scopri e unhide-tcp le utility cercheranno processi e porte nascosti, sebbene non sia obbligatorio, è altamente raccomandato poiché i rootkit più sofisticati nasconderanno la loro presenza.

Per prima cosa, dobbiamo installare GNU Compiler Collection.

yum install gcc

Installa glibc-static, necessario per creare i binari con striping.

yum install glibc-static

Compila unhide-linux.

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

Compila unhide-tcp.

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

Installa i file in /usr/local/bin e crea un collegamento simbolico da mostrare.

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

Configura

In questa sezione mostrerò alcune delle opzioni trovate su rkhunter.conf file, le opzioni sono separate in gruppi e la loro descrizione è semplificata, leggi la descrizione effettiva sul file e se non sei sicuro ignora semplicemente perché le opzioni predefinite dovrebbero essere sufficienti, la maggior parte di esse viene commentata.

Ti consigliamo di eseguire una prima esecuzione prima di apportare le modifiche effettive al file di configurazione, questo ti darà una migliore comprensione di come funziona rkhunter e la possibilità di identificare alcuni falsi positivi da inserire nella whitelist nel file di configurazione.

Chiama semplicemente rkhunter con il -c o --controlla parametri.

rkhunter -c

Come puoi vedere nell'immagine sopra, ci saranno alcuni avvisi su file come egrep o ifup per essere script invece di binari ELF, tuttavia sono file di sistema legittimi e la maggior parte delle opzioni sul file di configurazione riguardano come fare in modo che rkhunter ignori tali occorrenze.

Prove

Le seguenti opzioni ENABLE_TESTS e DISABLE_TESTS impostano quali tipi di test devono essere eseguiti, abilita tutti e quindi disabilita quelli indesiderati. È una buona idea avere almeno suspscan disabilitato per impostazione predefinita poiché è soggetto a falsi positivi.

ENABLE_TESTS=ALL

DISABLE_TESTS=suspscan

Shell sicuro

Non è mai una buona idea abilitare l'accesso come root sulle connessioni SSH, usare invece su/sudo, altrimenti impostarlo su yes.

ALLOW_SSH_ROOT_USER=no

È noto che la versione 1 del protocollo SSH non è sicura, impostalo su 1 devi ignorare questo controllo del protocollo

ALLOW_SSH_PROT_V1=0

Porte di rete

Porte di rete consentite con protocollo di formato:porta

PORT_WHITELIST

Imposta la whitelist per alcuni programmi con la sintassi path_to_binary:protocol:port_number

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

Versione dell'applicazione

Questa opzione ti consente di eseguire alcune applicazioni obsolete, generalmente non è consigliata e devi assicurarti che l'applicazione sia sicura prima di inserirla in questo elenco.

APP_WHITELIST=openssl:0.9.7d gpg httpd:1.3.29

Sniffer

Consenti l'uso di sniffer, software che catturano i pacchetti di rete.

Consenti al seguente processo di ascoltare la rete, come nella riga seguente.

ALLOWPROCLISTEN=/usr/sbin/snort-plain

Ciò consentirà all'interfaccia di rete elencata di ascoltare la rete in modalità promiscua.

ALLOWPROMISCIF=eth0

File

Avrai bisogno di creare alcune eccezioni ai test effettuati da rkhunter, le seguenti opzioni ti consentono di ignorare i test su oggetti specifici, come file, directory.

Consenti alcune directory nascoste.

ALLOWHIDDENDIR=/etc/.java

Consenti alcuni file nascosti.

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

Questa whitelist consentirà ad alcuni file di essere script anziché binari ELF.

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

Consenti al file di essere scrivibile in tutto il mondo.

WRITEWHITELIST=/usr/bin/date

Consenti al file di modificare gli attributi.

ATTRWHITELIST=/usr/bin/date

Consenti al processo di interrogare i file eliminati.

ALLOWPROCDELFILE=/sbin/cardmgr

Opzioni registro

Questo definirà a quale file accedere.

LOGFILE=/var/log/rkhunter.log

Imposta questo su 1 se vuoi continuare ad accedere allo stesso file ogni volta che viene eseguito rkhunter, il valore predefinito è 0, che aggiungerà '.old' al file di registro e ne creerà uno nuovo.

APPEND_LOG=0

Se vuoi conservare il file di registro quando c'è qualcosa che non va, imposta la seguente opzione su 1.

COPY_LOG_ON_ERROR=0

Decommenta e imposta la funzione di registro se desideri utilizzare syslog.

USE_SYSLOG=authpriv.warning

Per impostazione predefinita, gli elementi nella whitelist riporteranno l'ok sui test, se vuoi evidenziare gli elementi nella whitelist devi impostare questa opzione su 1.

WHITELISTED_IS_WHITE=0

Opzioni del sistema operativo

Imposta l'opzione di gestione dei pacchetti su RPM su sistemi simili a Red Hat, che includono CentOS.

PKGMGR=RPM

Abilita questa opzione per segnalare un avviso quando il sistema operativo cambia versione/rilascio.

WARN_ON_OS_CHANGE

Dobbiamo aggiornare il nostro database quando cambia il sistema operativo?

UPDT_ON_OS_CHANGE

Dove trovare il file di rilascio del sistema operativo, impostare su /etc/redhat-release su CentOS.

OS_VERSION_FILE=/etc/redhat-release

Blocco

Se è probabile che tu abbia più di un rkhunter in esecuzione contemporaneamente, dovresti abilitare questa opzione per abilitare l'uso dei file di blocco ed evitare il danneggiamento del database.

USE_LOCKING=0

Se hai abilitato l'uso dei blocchi, dovresti impostare un timeout per evitare deadlock.

LOCK_TIMEOUT

Dovremmo avvertire delle sessioni bloccate?

SHOW_LOCK_MSGS

Startup e Superdeamon

Dov'è il file di configurazione inetd.

INETD_CONF_PATH=/etc/inetd.conf

Quali servizi possono essere eseguiti tramite inetd.

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

File di configurazione Xinetd.

XINETD_CONF_PATH=/etc/xinetd.conf

Percorsi dei file di avvio RC.

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

Account

Il file che contiene le password nascoste.

PASSWORD_FILE=/etc/shadow

Consenti account utente diversi da root avere UID 0.

UID0_ACCOUNTS=toor rooty

Consenti account senza password.

PWDLESS_ACCOUNTS=abc

Syslog

File di configurazione Syslog.

SYSLOG_CONFIG_FILE=/etc/syslog.conf

Consenti a syslog di accedere in remoto.

ALLOW_SYSLOG_REMOTE_LOGGING=0

Rapporti

Segnalare il numero di avvisi?

SHOW_SUMMARY_WARNINGS_NUMBER

Mostrare il tempo totale necessario per eseguire i test?

SHOW_SUMMARY_TIME

Per ricevere rapporti e-mail quando rkhunter trova qualcosa, devi impostare le seguenti opzioni e disporre di un'applicazione di posta.

Chi riceverà l'e-mail.

[email protected]

Quale comando è stato utilizzato per inviare e-mail.

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

Rkhunter in esecuzione

OK, a questo punto dovresti aver già eseguito rkhunter almeno una volta, ora dai un'occhiata ad altri flag che possono essere usati con rkhunter.

Verifica le modifiche

Al termine della configurazione, esegui rkhunter con -C o --check-config flag per verificare la presenza di eventuali errori nel file.

rkhunter -C

Aggiornamento proprietà

Ora, e ogni volta che modifichi il file di configurazione, assicurati di aggiornare il database delle proprietà del file.

rkhunter --propupd

Segnala solo avvisi.

rkhunter --rwo

A volte vuoi eseguire solo un test specifico, per questo prova --list test per ottenere i nomi dei test disponibili e quindi utilizzare --enable flag seguito dal nome del test.

rkhunter --list tests

La seguente opzione disabiliterà la richiesta di pressione del tasto.

rkhunter --sk

Per eseguire rkhunter su un cronjob, usa --cronjob flag, crea il file eseguibile /etc/cron.daily/rkhunter.sh con i seguenti contenuti per fare un controllo giornaliero

#!/bin/sh

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

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

Conclusione

Questo dovrebbe farti iniziare con rkhunter, fornendoti un ulteriore livello di sicurezza, tuttavia questo non sarà sufficiente se trascuri i principi di sicurezza di base e se metti tutti gli avvisi che hai incontrato nelle whitelist invece di mitigare i problemi. Tieni anche presente che rkhunter ti aiuterà a impedire che le tue macchine diventino membri di una botnet Linux ma non proteggerà il tuo sito dall'essere bersaglio di una campagna DDoS. Grazie per aver letto!


Cent OS
  1. Come installare PHP 7, 7.2 e 7.3 su CentOS 7

  2. Come installare Java 11 e 12 su CentOS 7

  3. Come installare Wine 4.0 su CentOS 7

  4. Come installare Vim 8.2 su CentOS 7

  5. Come installare VirtualBox su CentOS 7

Come installare Ruby su CentOS 7

Come installare PostgreSQL su CentOS 7

Come installare Go su CentOS 7

Come installare R su CentOS 7

Come installare R su CentOS 8

Come installare Rootkit Hunter su CentOS 6