GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak monitorovat a zjišťovat upravené soubory pomocí Tripwire IDS na Ubuntu 16.04

Tripwire je bezplatný a otevřený zdroj Intrusion Detection System (IDS). Je to bezpečnostní nástroj pro sledování a upozornění na změny souborů v systému. Tripwire je výkonný IDS, který chrání váš systém před nechtěnými změnami. Můžete sledovat systémové soubory, včetně souborů webových stránek. Takže když dojde k jakékoli nechtěné změně souboru v některém ze souborů, které jsou monitorovány, tripwire zkontroluje váš systém a upozorní vás (pokud je toto nastavení na místě).

V tomto tutoriálu vám ukážeme, jak nainstalovat a nakonfigurovat Tripwire Host Based IDS na Ubuntu 16.04. Také vám ukážeme, jak nakonfigurovat tripwire pro sledování a detekci upravených souborů v systému.

Co uděláme

  1. Nainstalujte Tripwire
  2. Nakonfigurujte zásady Tripwire pro systém Ubuntu
  3. Ověřte konfiguraci Tripwire
  4. Přidat novou sadu pravidel do zásad Tripwire
  5. Nastavte oznámení a cron Tripwire

Předpoklady

  • Server Ubuntu 16.04
  • Oprávnění uživatele root

Krok 1 – Instalace Tripwire

Prvním krokem je instalace tripwire do systému. Nástroj je k dispozici v oficiálním úložišti Ubuntu – stačí aktualizovat úložiště Ubuntu a nainstalovat Tripwire pomocí následujících příkazů.

sudo apt update
sudo apt install -y tripwire

Během instalace budete dotázáni na konfiguraci Postfix SMTP. Vyberte 'Internet Site “ a klikněte na „OK ' pokračovat v instalaci.

U názvu poštovního systému ponechte výchozí (jak je uvedeno níže) a zvolte 'OK ' pokračovat.

Dále budete dotázáni na konfiguraci Tripwire.

Vytvořte nový 'site-key ' pro Tripwire – zvolte 'Ano a pokračujte stisknutím klávesy Enter.

Nyní k 'místnímu klíči “, zvolte „Ano a znovu stiskněte Enter.

Pro možnost Rebuild Tripwire Configuration zvolte 'Ano '.

Totéž pro možnost Rebuild Tripwire Policy – ​​zvolte 'Ano '.

Nyní budete vyzváni k zadání 'site-key ' přístupová fráze. Zadejte heslo a zvolte 'OK '.

Opakujte 'site-key ' přístupová fráze.

Potom pro 'místní klíč ' heslo, zadejte heslo a zvolte 'OK '.

Opakujte „místní klíč ' přístupová fráze.

A nyní byla dokončena instalace tripwire na Ubuntu 16.04.

Krok 2 – Konfigurace zásad Tripwire pro systém Ubuntu

V tomto kroku nakonfigurujeme Tripwire pro náš systém Ubuntu. Veškerá konfigurace související s Tripwire se nachází v adresáři '/etc/tripwire'.

Po instalaci Tripwire musíme inicializovat databázový systém. Spusťte pro něj následující příkaz.

sudo tripwire --init

Budete dotázáni na vaši přístupovou frázi místního klíče – zadejte přístupovou frázi místního klíče a stiskněte Enter.

A pravděpodobně se zobrazí chyba „Žádný takový adresář ', jak je uvedeno níže.

Abychom tuto chybu vyřešili, musíme upravit konfigurační soubor Tripwire a přegenerovat konfiguraci.

Před úpravou konfigurace Tripwire musíme zkontrolovat, který adresář neexistuje, což můžete provést pomocí následujícího příkazu.

sudo sh -c "tripwire --check | grep Filename > no-directory.txt"

Nyní můžete vidět všechny adresáře a soubory, které neexistují, následujícím způsobem.

cat no-directory.txt

Dále přejděte do konfiguračního adresáře Tripwire a upravte konfigurační soubor twpol.txt.

cd /etc/tripwire/
vim twpol.txt

U pravidla 'Boot Scripts' zakomentujte řádek jako níže.

(
  rulename = "Boot Scripts",
  severity = $(SIG_HI)
)
{
        /etc/init.d             -> $(SEC_BIN) ;
        #/etc/rc.boot           -> $(SEC_BIN) ;
        /etc/rcS.d              -> $(SEC_BIN) ;

K pravidlu 'System Boot Changes' napište komentář jako níže.

(
  rulename = "System boot changes",
  severity = $(SIG_HI)
)
{
        #/var/lock               -> $(SEC_CONFIG) ;
        #/var/run                -> $(SEC_CONFIG) ; # daemon PIDs
        /var/log                -> $(SEC_CONFIG) ;

U pravidla 'Root config files' proveďte následující změnu.

(
  rulename = "Root config files",
  severity = 100
)
{
        /root                           -> $(SEC_CRIT) ; # Catch all additions to /root
        #/root/mail                     -> $(SEC_CONFIG) ;
        #/root/Mail                     -> $(SEC_CONFIG) ;
        #/root/.xsession-errors         -> $(SEC_CONFIG) ;
        #/root/.xauth                   -> $(SEC_CONFIG) ;
        #/root/.tcshrc                  -> $(SEC_CONFIG) ;
        #/root/.sawfish                 -> $(SEC_CONFIG) ;
        #/root/.pinerc                  -> $(SEC_CONFIG) ;
        #/root/.mc                      -> $(SEC_CONFIG) ;
        #/root/.gnome_private           -> $(SEC_CONFIG) ;
        #/root/.gnome-desktop           -> $(SEC_CONFIG) ;
        #/root/.gnome                   -> $(SEC_CONFIG) ;
        #/root/.esd_auth                        -> $(SEC_CONFIG) ;
        #/root/.elm                     -> $(SEC_CONFIG) ;
        #/root/.cshrc                   -> $(SEC_CONFIG) ;
        /root/.bashrc                   -> $(SEC_CONFIG) ;
        #/root/.bash_profile            -> $(SEC_CONFIG) ;
        #/root/.bash_logout             -> $(SEC_CONFIG) ;
        /root/.bash_history             -> $(SEC_CONFIG) ;
        #/root/.amandahosts             -> $(SEC_CONFIG) ;
        #/root/.addressbook.lu          -> $(SEC_CONFIG) ;
        #/root/.addressbook             -> $(SEC_CONFIG) ;
        #/root/.Xresources              -> $(SEC_CONFIG) ;
        #/root/.Xauthority              -> $(SEC_CONFIG) -i ; # Changes Inode number on login
        #/root/.ICEauthority                -> $(SEC_CONFIG) ;

U pravidla 'Informace o zařízení a jádru' změňte řádek, jak je uvedeno níže.

(
  rulename = "Devices & Kernel information",
  severity = $(SIG_HI),
)
{
        /dev            -> $(Device) ;
        /dev/pts        -> $(Device);
        /dev/shm        -> $(Device);
        /dev/hugepages  -> $(Device);
        /dev/mqueue     -> $(Device);
        #/proc          -> $(Device) ;
        /proc/devices           -> $(Device) ;
        /proc/net               -> $(Device) ;
        /proc/tty               -> $(Device) ;
        /proc/cpuinfo           -> $(Device) ;
        /proc/modules           -> $(Device) ;
        /proc/mounts            -> $(Device) ;
        /proc/dma               -> $(Device) ;
        /proc/filesystems       -> $(Device) ;
        /proc/interrupts        -> $(Device) ;
        /proc/ioports           -> $(Device) ;
        /proc/scsi              -> $(Device) ;
        /proc/kcore             -> $(Device) ;
        /proc/self              -> $(Device) ;
        /proc/kmsg              -> $(Device) ;
        /proc/stat              -> $(Device) ;
        /proc/loadavg           -> $(Device) ;
        /proc/uptime            -> $(Device) ;
        /proc/locks             -> $(Device) ;
        /proc/meminfo           -> $(Device) ;
        /proc/misc              -> $(Device) ;
}

A je to. Uložte změny a ukončete editor.

Po úpravě konfiguračního souboru implementujte všechny změny opětovným vytvořením zašifrovaného souboru zásad pomocí příkazu twadmin, jak je uvedeno níže.

sudo twadmin -m P /etc/tripwire/twpol.txt

Zadejte heslo „site-key“ a stiskněte Enter.

Díky tomu budou vytvořeny nové zásady Tripwire. Nyní znovu inicializujte databázi Tripwire.

sudo tripwire --init

Zadejte přístupovou frázi místního klíče a ujistěte se, že tentokrát nedojde k chybě.

Zásady Tripwire byly nakonfigurovány pro systém Ubuntu

Krok 3 – Kontrola integrity systémových souborů

Tripwire byl nainstalován a zásady tripwire byly aktualizovány a znovu inicializovány. V tomto kroku ručně zkontrolujeme systém pomocí Tripwire.

Ověřte všechny systémové soubory pomocí následujícího příkazu.

sudo tripwire --check

A ve výsledku/výstupu byste měli dostat 'No Violation' a 'No Error'.

Dále přidejte nový soubor do kořenového adresáře a poté znovu zkontrolujte systém pomocí Tripwire.

cd ~/
touch hakase-labs.txt
sudo tripwire --check

A ve výstupu by se jako porušení mělo objevit přidání souboru a úprava adresáře, ve kterém je soubor umístěn.

Viz výsledek níže.

Krok 4 – Přidání nového pravidla do Tripwire

V tomto kroku chceme do konfigurace přidat nové pravidlo Tripwire. Chcete-li vytvořit novou politiku tripwire, musíme definovat název pravidla, závažnost a typ souborů. V tomto kroku se pokusíme přidat nové pravidlo s názvem 'Wordpress Data' se závažností 'High/SIG_HI' a všechny soubory v tomto adresáři, který je kritický, nelze změnit.

Přejděte do konfiguračního adresáře tripwire a upravte konfigurační soubor 'twpol.txt'.

cd /etc/tripwire/
vim twpol.txt

Přejděte na konec řádku a níže vložte ukázku pravidla Tripwire.

# Ruleset for Wordpress
(
  rulename = "Wordpress Ruleset",
  severity= $(SIG_HI)
)
{
        /var/www        -> $(SEC_CRIT);
}

Uložte a ukončete.

Nyní znovu vygenerujte konfigurační soubor tripwire.

sudo twadmin -m P /etc/tripwire/twpol.txt

Zadejte své heslo pro klíč webu.

A znovu inicializujte databázi Tripwire.

sudo tripwire --init

Zadejte přístupovou frázi místního klíče.

Pokud jsou všechny tyto konfigurace dokončeny, můžeme zkusit vytvořit nový soubor nebo upravit soubor v adresáři '/var/www/'.

Přejděte do adresáře '/var/www/', vytvořte nový soubor a upravte soubor indexu.

cd /var/www/
touch hakase-labs.txt
echo "<h1> Hakase-labs Tutorial</h1>" > html/index.nginx-debian.html

Zkontrolujte systém pomocí příkazu tripwire níže.

sudo tripwire --check

A obdržíte oznámení o narušení systému s úrovní zabezpečení 100, jak je uvedeno níže.

Bylo přidáno nové pravidlo Tripwire.

Krok 5 – Nastavení oznámení Tripwire a cron

V tomto kroku nakonfigurujeme upozornění pro konkrétní zásady sady pravidel Tripwire a nakonfigurujeme cron pro automatickou kontrolu systému.

Pro e-mailová upozornění poskytuje Tripwire v konfiguraci funkci „emailto“. Tripwire používá Postfix pro e-mailové upozornění a ten se automaticky nainstaluje během instalace nástroje.

Před konfigurací e-mailových upozornění otestujte upozornění Tripwire pomocí příkazu níže.

tripwire --test --email [email protected]

A ujistěte se, že máte e-mail ze svého serveru, jak je uvedeno níže.

Nyní přejděte do adresáře '/etc/tripwire' a upravte konfiguraci 'twpol.txt'.

cd /etc/tripwire/
vim twpol.txt

Přidejte nový řádek do pravidla 'Wordpress Data', jak je znázorněno níže.

# Rules for Web-app
(
  rulename = "Wordpress Rule",
  severity = $(SIG_HI),
  emailto = [email protected]
)

A je to. Uložte a ukončete.

Dále vygenerujte konfiguraci a znovu inicializujte databázi Tripwire.

sudo twadmin -m P /etc/tripwire/twpol.txt
sudo tripwire --init

Zadáním přístupové fráze klíče webu znovu vygenerujete konfiguraci a zadáním hesla místního klíče znovu inicializaci.

Nyní znovu vytvořte nový soubor v adresáři '/var/www/' a ručně zkontrolujte systém pomocí Tripwire a odešlete zprávu e-mailem.

sudo tripwire --check --email-report

A měli byste dostat e-mailovou zprávu do vaší doručené pošty.

Pokračujeme, pro konfiguraci cronu potřebujeme pouze definovat čas, ve kterém se spustí příkaz tripwire. Nakonfigurujeme kontrolu systému Tripwire na denní bázi.

Vytvořte nový cron pomocí příkazu crontab níže.

sudo crontab -e -u root

A vložte konfiguraci cronu níže.

0 0 * * * tripwire --check --email-report

Uložte a ukončete a poté znovu načtěte cron.

systemctl restart cron

Nyní bude systém provádět kontrolu každý den a na váš e-mail zasílat upozornění na porušení pravidla 'Wordpress'.

Tripwire IDS byl nainstalován a nakonfigurován na Ubuntu 16.04 a všechny soubory a adresáře v systému byly monitorovány. Můžete přidat vlastní sadu pravidel podle pokynů v kroku 4.


Ubuntu
  1. Jak monitorovat Nginx pomocí Netdata na Ubuntu 16.04

  2. Monitorování a detekce upravených souborů pomocí Tripwire na CentOS 7

  3. Jak monitorovat soubory protokolu serveru pomocí Logwatch na Debianu a Ubuntu

  1. Jak nainstalovat Stacer System Monitor na Ubuntu 18.04 LTS

  2. Monitorujte soubory protokolu Nginx pomocí ngxtop na Ubuntu 20.04

  3. Jak synchronizovat soubory/složky pomocí FreeFileSync na Ubuntu

  1. Jak nainstalovat a spustit aplikace pro Android na Ubuntu pomocí Anbox

  2. Jak zazipovat a rozbalit soubory na Ubuntu

  3. Jak přejmenovat soubory a adresáře v Ubuntu 20.04