GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat RKHunter na CentOS 7

V tomto článku se naučíme nainstalovat a najít rootkity pomocí Rootkit Hunter, kromě jiných hrozeb jej budete moci použít k nalezení známek některých variant malwaru XOR.DDoS, který se v současnosti používá k vytváření botnetů s Linuxové systémy pro masivní distribuované útoky odmítnutí služby.

Obsah

  • Instalovat
    • Stáhnout
    • Oprava – (volitelné)
    • Instalovat
  • Konfigurovat
    • testy
    • protokoly
    • seznamy záznamů
    • různé
  • Spustit
    • příznaky
    • plánování cron

Nainstalovat RKHunter

Stáhněte si Rkhunter, zkuste to provést pomocí 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

Poté vyjměte obsah balíčku.

tar zxvf rkhunter-1.4.2.tar.gz

Zadejte adresář tarball.

cd rkhunter-1.4.2

Oprava (volitelné)

Tento krok bude proti záplatě skriptu rkhunter a jeho databáze hledat malware XOR DDoS Linux. Tato oprava je založena na portu a souborech nalezených ve zprávách Akamai, Avast a Malware Must Die.

Vstupte do adresáře souborů pod adresářem rkthunter.

cd files

Nainstalujte záplatu nástroj s yum.

yum install patch

Nyní si stáhněte opravu.

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

Případně můžete zkopírovat a vložit obsah souboru rkhunter.patch odtud.

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

Nalepte záplatu na rkhunter skript a backdoors.dat soubory pomocí následujícího příkazu.

patch < rkhunter.patch

Oprava je hotová, nyní se vraťte do kořenového adresáře tarball a pokračujte v instalaci.

cd ..

Instalovat soubory

Spusťte instalační skript s následujícími parametry a nainstalujte jej pod /usr/local.

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

Můžete také použít --příklady příznak pro zobrazení dalších informací o rozložení a příkladů nebo a --show místo možnosti --install ukázat, co se má nainstalovat do vašeho rozvržení.

Instalovat Odkrýt (doporučeno)

Odkrýt a unhide-tcp utility budou hledat skryté procesy a porty, i když to není povinné, důrazně se to doporučuje, protože většina sofistikovaných rootkitů svou přítomnost skryje.

Nejprve musíme nainstalovat GNU Compiler Collection.

yum install gcc

Nainstalujte glibc-static, potřebný k vytvoření prokládaných binárních souborů.

yum install glibc-static

Zkompilujte unhide-linux.

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

Zkompilujte unhide-tcp.

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

Nainstalujte soubory do /usr/local/bin a vytvořte symbolický odkaz pro zobrazení.

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

Konfigurovat

V této části ukážu některé možnosti na rkhunter.conf soubor, možnosti jsou rozděleny do skupin a jejich popis je zjednodušený, přečtěte si skutečný popis v souboru a pokud si nejste jisti, stačí ignorovat, protože výchozí možnosti by měly stačit, většina z nich je okomentována.

Doporučujeme vám provést první spuštění před provedením skutečných změn v konfiguračním souboru, což vám umožní lépe porozumět tomu, jak rkhunter funguje, a možnost identifikovat některé falešně pozitivní výsledky, které budou přidány na seznam povolených v konfiguračním souboru.

Stačí zavolat rkhunter pomocí -c nebo --check parametry.

rkhunter -c

Jak můžete vidět na obrázku výše, budou tam nějaká varování o souborech jako egrep nebo ifup, které mají být skriptem místo binárních souborů ELF, nicméně jsou to legitimní systémové soubory a většina možností v konfiguračním souboru je o tom, jak přimět rkhunter takové ignorovat výskytů.

Testy

Následující volby ENABLE_TESTS a DISABLE_TESTS nastavují, jaké typy testů mají být provedeny, povolí všechny a poté zakážou ty nežádoucí. Je dobré mít ve výchozím nastavení vypnuté alespoň suspscan, protože je náchylné k falešným poplachům.

ENABLE_TESTS=ALL

DISABLE_TESTS=suspscan

Secure Shell

Nikdy není dobrý nápad povolit přihlášení root na připojení SSH, místo toho použijte su/sudo, jinak nastavte toto na yes.

ALLOW_SSH_ROOT_USER=no

Verze 1 protokolu SSH je známá jako nezabezpečená, nastavte toto na 1, tuto kontrolu protokolu je třeba ignorovat

ALLOW_SSH_PROT_V1=0

Síťové porty

Povolené síťové porty s formátem protocol:port

PORT_WHITELIST

Nastavte whitelist pro některé programy se syntaxí path_to_binary:protocol:port_number

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

Verze aplikace

Tato možnost vám umožní spouštět některé zastaralé aplikace, obecně se to nedoporučuje a než ji zařadíte na tento seznam, musíte si být jisti, že je aplikace bezpečná.

APP_WHITELIST=openssl:0.9.7d gpg httpd:1.3.29

Sniffery

Povolit použití snifferů, softwaru, který zachycuje síťové pakety.

Umožněte následujícímu procesu naslouchat síti, jako na následujícím řádku.

ALLOWPROCLISTEN=/usr/sbin/snort-plain

To umožní uvedenému síťovému rozhraní naslouchat síti v promiskuitním režimu.

ALLOWPROMISCIF=eth0

Soubory

Budete muset vytvořit nějaké výjimky z testů provedených rkhunterem, následující možnosti vám umožní obejít testy na konkrétní objekty, jako jsou soubory, adresáře.

Povolit některé skryté adresáře.

ALLOWHIDDENDIR=/etc/.java

Povolit některé skryté soubory.

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

Tento whitelist umožní, aby některé soubory byly skripty namísto binárního souboru ELF.

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

Umožněte souboru, aby bylo možné zapisovat do celého světa.

WRITEWHITELIST=/usr/bin/date

Povolit u souboru změny atributů.

ATTRWHITELIST=/usr/bin/date

Povolit procesu dotazovat se na smazané soubory.

ALLOWPROCDELFILE=/sbin/cardmgr

Možnosti protokolu

Toto určí, ke kterému souboru se má přihlásit.

LOGFILE=/var/log/rkhunter.log

Nastavte toto na 1, pokud chcete pokračovat v protokolování stejného souboru při každém spuštění rkhunter, výchozí hodnota je 0, která připojí '.old' k souboru protokolu a vytvoří nový.

APPEND_LOG=0

Pokud chcete zachovat soubor protokolu, když je něco v nepořádku, nastavte následující možnost na 1.

COPY_LOG_ON_ERROR=0

Pokud chcete používat syslog, odkomentujte a nastavte funkci protokolu.

USE_SYSLOG=authpriv.warning

Ve výchozím nastavení budou položky na seznamu povolených při testech hlásit v pořádku, pokud chcete zvýraznit položky na seznamu povolených, musíte tuto možnost nastavit na 1.

WHITELISTED_IS_WHITE=0

Možnosti operačního systému

Nastavte možnost správce balíčků na RPM na systémech typu Red Hat, které zahrnují CentOS.

PKGMGR=RPM

Povolte tuto možnost, chcete-li hlásit varování, když operační systém změní verzi/vydání.

WARN_ON_OS_CHANGE

Měli bychom aktualizovat naši databázi při změně operačního systému?

UPDT_ON_OS_CHANGE

Kde najít soubor s vydáním operačního systému, nastavte v CentOS na /etc/redhat-release.

OS_VERSION_FILE=/etc/redhat-release

Zamykání

Pokud je pravděpodobné, že budete mít současně spuštěno více než jeden rkhunter, měli byste povolit tuto možnost, abyste povolili použití souborů zámku a předešli poškození databáze.

USE_LOCKING=0

Pokud jste povolili použití zámků, měli byste nastavit časový limit, abyste zabránili uváznutí.

LOCK_TIMEOUT

Měli bychom varovat před uzamčenými relacemi?

SHOW_LOCK_MSGS

Startup a Superdeamon

Kde je konfigurační soubor inetd.

INETD_CONF_PATH=/etc/inetd.conf

Které služby mohou běžet přes inetd.

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

Xinetd konfigurační soubor.

XINETD_CONF_PATH=/etc/xinetd.conf

Cesty spouštěcích souborů RC.

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

Účty

Soubor, který obsahuje stínovaná hesla.

PASSWORD_FILE=/etc/shadow

Povolit jiné uživatelské účty než root mít UID 0.

UID0_ACCOUNTS=toor rooty

Povolit účty bez hesla.

PWDLESS_ACCOUNTS=abc

Syslog

Konfigurační soubor syslog.

SYSLOG_CONFIG_FILE=/etc/syslog.conf

Povolit vzdálené přihlášení syslog.

ALLOW_SYSLOG_REMOTE_LOGGING=0

Přehledy

Nahlásit počet varování?

SHOW_SUMMARY_WARNINGS_NUMBER

Zobrazit celkový čas potřebný ke spuštění testů?

SHOW_SUMMARY_TIME

Chcete-li dostávat e-mailové zprávy, když rkhunter něco najde, musíte nastavit následující možnosti a také mít poštovní aplikaci.

Kdo obdrží e-mail.

[email protected]

Který příkaz byl použit k odeslání e-mailu.

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

Spuštění rkhunter

OK, v tuto chvíli byste již měli spustit rkhunter alespoň jednou, nyní se podívejte na některé další vlajky, které lze s rkhunterem použít.

Zkontrolujte své změny

Po dokončení konfigurace spusťte rkhunter pomocí -C nebo --check-config příznak pro kontrolu případných chyb v souboru.

rkhunter -C

Aktualizace vlastností

Nyní a pokaždé, když změníte konfigurační soubor, nezapomeňte aktualizovat databázi vlastností souboru.

rkhunter --propupd

Hlásit pouze varování.

rkhunter --rwo

Někdy chcete spustit pouze konkrétní test, zkuste --vypsat testy získat názvy dostupných testů a poté použít --enable příznak následovaný názvem testu.

rkhunter --list tests

Následující možnost deaktivuje výzvu ke stisknutí klávesy.

rkhunter --sk

Chcete-li spustit rkhunter na cronjob, použijte --cronjob flag, vytvořte spustitelný soubor /etc/cron.daily/rkhunter.sh s následujícím obsahem proveďte každodenní kontrolu

#!/bin/sh

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

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

Závěr

To by vám mělo pomoci začít s rkhunterem a poskytnout vám další vrstvu zabezpečení, ale nebude to stačit, pokud zanedbáte základní bezpečnostní principy, stejně jako pokud dáte každé varování, se kterým jste se setkali, na seznamy povolených namísto zmírňování problémů. Mějte také na paměti, že rkhunter vám pomůže zabránit tomu, aby se vaše stroje staly členy linuxového botnetu, ale neochrání váš web před cílem DDoS kampaně. Děkujeme za přečtení!


Cent OS
  1. Jak nainstalovat PHP 7, 7.2 a 7.3 na CentOS 7

  2. Jak nainstalovat Java 11 &12 na CentOS 7

  3. Jak nainstalovat Wine 4.0 na CentOS 7

  1. Jak nainstalovat Vim 8.2 na CentOS 7

  2. Jak nainstalovat VirtualBox na CentOS 7

  3. Jak nainstalovat Git na CentOS 8

  1. Jak nainstalovat Docker na CentOS 8

  2. Jak nainstalovat Java 8 &11 na Centos 8

  3. Jak nainstalovat MySQL na CentOS 8