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 jej použít ke sledování vašich systémových souborů, včetně souborů webových stránek, takže když dojde k nechtěné změně souboru, Tripwire zkontroluje váš systém a pokud je správně nastaven, může vás upozornit e-mailem.
V tomto tutoriálu vám ukážeme, jak sledovat a detekovat jakékoli změny ve vašich systémových souborech jinak pomocí Tripwire na systému CentOS 7. Ukážeme vám, jak nainstalovat a nakonfigurovat Tripwire na CentOS 7, jak generovat soubory klíčů Tripwire, konfigurovat a přidávat zásady tripwire, kontrolovat systém a povolit e-mailová upozornění pro nastavení tripwire a cron.
Co uděláme
- Nainstalujte Tripwire na CentOS 7
- Nakonfigurujte zásady Tripwire pro CentOS 7
- Ověření konfigurace Tripwire
- Přidat nové pravidlo do zásad Tripwire
- Nastavte upozorňování na e-mail Tripwire a Cron
Předpoklady
- Systém CentOS 7
- Kořenová oprávnění
Krok 1 – Instalace Tripwire na CentOS 7
Prvním krokem, který musíme udělat, je nainstalovat Tripwire do systému. Ve výchozím nastavení je tripwire k dispozici v úložišti CentOS 7.
Přihlaste se na svůj server a aktualizujte všechny balíčky.
ssh [email protected]
sudo yum update -y
Nyní nainstalujte Tripwire pomocí yum.
yum -y install tripwire
Po instalaci musíme vygenerovat nové soubory klíčů.
Tripwire pracuje se 2 soubory klíčů.
- site-key:Používá se k zabezpečení konfigurace Tripwire. Jakékoli změny konfigurace tripwire se tedy neuplatní, dokud konfiguraci znovu nevygenerujeme, a k tomu budeme vyzváni k zadání hesla „site-key“.
- místní klíč:Používá se k ověření binárního kódu tripwire. Když chceme aktualizovat systémovou databázi tripwire, musíme spustit příkaz tripwire a budeme vyzváni k zadání přístupové fráze pro 'local-key'.
Vygenerujme nové soubory tripwire klíčů (site a local keys) pomocí příkazu níže.
sudo tripwire-setup-keyfiles
Příkaz vygeneruje dva soubory klíčů 'site-key' a 'local-key' a budete požádáni o heslo pro každý z nich.
Zadejte svůj vlastní 'site-key ' heslo a stiskněte Enter.
Zadejte svůj vlastní „místní klíč ' heslo a znovu stiskněte Enter.
Dále podepište konfiguraci tripwire pomocí 'site-key'.
Zadejte svůj 'site-key ' přístupová fráze.
A nyní pro podepsání zásad Tripwire zadejte svůj 'místní klíč ' přístupová fráze.
Tripwire byl nainstalován na CentOS 7 a nová konfigurace tripwire a klíče jsou umístěny v adresáři '/etc/tripwire'.
Krok 2 – Konfigurace zásad Tripwire pro CentOS 7
Po instalaci tripwire, o které jsme hovořili v prvním kroku, musíme inicializovat databázi tripwire a ujistit se, že tam není žádná chyba.
Inicializujte databázi tripwire pomocí příkazu tripwire níže.
sudo tripwire --init
Budete dotázáni na heslo 'místní klíč' a pravděpodobně se zobrazí chybová zpráva 'žádný takový adresář', jak je uvedeno níže.
Dostaneme chybu, protože systém nemá adresář a soubory, které jsou již definovány v konfiguraci tripwire. Abychom tuto chybu vyřešili, musíme upravit konfiguraci tripwire 'twpol.txt' a znovu podepsat konfiguraci tripwire.
Nyní vygenerujte chybu protokolu z tripwire pomocí příkazu níže.
sudo sh -c "tripwire --check | grep Filename > no-directory.txt"
Všechny adresáře a soubory, které v systému CentOS 7 neexistují, jsou uvedeny v souboru 'mo-directory.txt'
cat no-directory.txt
Upravte konfiguraci tripwire 'twpol.txt' pomocí následujícího bash skriptu – spusťte tento skript na svém terminálu.
for f in $(grep "Filename:" no-directory.txt | cut -f2 -d:); do
sed -i "s|\($f\) |#\\1|g" /etc/tripwire/twpol.txt
done
Po tom všem musíme znovu vygenerovat a znovu podepsat konfiguraci tripwire pomocí příkazu twadmin, jak je ukázáno níže.
sudo twadmin -m P /etc/tripwire/twpol.txt
Zadejte své přístupové heslo „site-key“.
Znovu inicializujte databázi tripwire a ujistěte se, že se neobjeví žádná chyba.
sudo tripwire --init
Znovu inicializujte databázi tripwire bez jakékoli chyby.
Krok 3 – Ověření konfigurace Tripwire a kontrola systému
Pro ověření konfigurace tripwire můžeme spustit příkaz system check, jak je uvedeno níže.
sudo tripwire --check
A měli byste získat výsledek podobný následujícímu.
To znamená, že v našem systému nebyla nalezena žádná chyba ani porušení systému.
Nyní se pokusíme přidat nový soubor do kořenového domovského adresáře a znovu zkontrolovat pomocí tripwire.
Přejděte do kořenového domovského adresáře a vytvořte nový soubor 'hakase-labs.txt'.
cd ~/
touch hakase-labs.txt
Nyní znovu zkontrolujte systém pomocí příkazu tripwire.
sudo tripwire --check
A dostanete výsledek nového porušení v systému se závažností 100, jak je uvedeno níže.
V této fázi je Tripwire nainstalován a nakonfigurován pro systém CentOS 7.
Krok 4 – Přidání nového pravidla do zásad Tripwire
V tomto kroku vám ukážeme, jak přidat nové pravidlo do konfigurace zásad tripwire 'twpol.txt'.
K provedení této práce potřebujeme definovat název pravidla, závažnost, adresář pro monitorování a typ souborů. V tomto kroku vytvoříme nové pravidlo s názvem 'Wordpress Data' pro naši instalaci WordPress v adresáři '/var/www/' se závažností 'HIGH/SIG_HI' a všechny soubory v tomto adresáři jsou kritické (oba jejich vlastnictví stejně jako zdrojový kód nelze změnit).
Přejděte do konfiguračního adresáře tripwire '/etc/tripwire' a upravte konfigurační soubor 'twpol.txt' pomocí vim.
cd /etc/tripwire/
vim twpol.txt
Přejděte na konec řádku a vložte tam následující pravidlo WordPress.
# Ruleset for Wordpress
(
rulename = "Wordpress Data",
severity= $(SIG_HI)
)
{
/var/www -> $(SEC_CRIT);
}
Uložte a ukončete.
Regenerujte a znovu podepište konfiguraci pomocí příkazu twadmin, jak je uvedeno níže.
sudo twadmin -m P /etc/tripwire/twpol.txt
Zadejte své přístupové heslo „site-key“.
Nyní musíme znovu obnovit databázi tripwire.
sudo tripwire --init
Zadejte heslo „local-key“.
Byla přidána nová sada pravidel a aplikována na konfiguraci zásad Tripwire.
Zkontrolujte svůj systém pomocí příkazu tripwire níže.
sudo tripwire --check
A měli byste dostat výsledek bez chyby a porušení.
Nyní přejděte do adresáře '/var/www/' a vytvořte v něm nový soubor.
cd /var/www/
touch hakase-labs.php
Znovu proveďte kontrolu systému pomocí tripwire.
sudo tripwire --check
A dostanete výsledek, který říká narušení systému v adresáři '/var/www/' s úrovní zabezpečení High 100.
Bylo přidáno nové pravidlo a aplikováno na konfiguraci Tripwire Policy.
Krok 5 – Nastavení e-mailového upozornění Tripwire a cronu
V tomto kroku nakonfigurujeme upozornění pro konkrétní zásady sady pravidel tripwire a nakonfigurujeme cronjob pro automatickou kontrolu systému. Hlášení o jakémkoli porušení pravidla 'Wordpress Data' zašleme na e-mailovou adresu '[email protected]'.
Pro upozornění e-mailem poskytuje tripwire v konfiguraci funkci 'emailto'. A ve výchozím nastavení tripwire používá Postfix nebo Sendmail k odeslání zprávy e-mailem.
Před konfigurací e-mailových upozornění otestujte funkci upozornění tripwire pomocí příkazu níže.
sudo tripwire --test --email [email protected]
Zkontrolujte svůj e-mail a měli byste dostat e-mailovou zprávu z vašeho 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 'emailto' do pravidla 'Wordpress Data', jak je uvedeno níže.
# Ruleset for Wordpress
(
rulename = "Wordpress Data",
severity= $(SIG_HI),
emailto = [email protected]
)
{
/var/www -> $(SEC_CRIT);
}
Uložte a ukončete.
Regenerujte a podepište konfiguraci pomocí příkazu twadmin.
sudo twadmin -m P /etc/tripwire/twpol.txt
Zadejte své přístupové heslo „site-key“.
A regenerujte databázi tripwire.
sudo tripwire --init
Zadejte svou přístupovou frázi tripwire 'místní klíč'.
Konfigurace pro oznámení e-mailem Tripwire byla dokončena.
Nyní proveďte test vytvořením nového souboru znovu v adresáři '/var/www/'.
cd /var/www/
touch hakase.txt
Zkontrolujte svůj systém znovu pomocí příkazu níže.
sudo tripwire --check --email-report
Poznámka:
- --e-mail-report: Odeslat zprávu o systému na e-mailovou adresu definovanou v každém pravidle.
Zkontrolujte svůj e-mail a výsledek, jak je uvedeno níže, byste měli dostat na svůj e-mail.
E-mailové upozornění pro Tripwire bylo povoleno a použito.
Dále povolíme automatickou kontrolu systému Tripwire pomocí nastavení cronu. Za tímto účelem vytvořte nový cron skript pod uživatelem root pomocí příkazu crontab níže.
sudo crontab -e -u root
Vložte následující konfiguraci cronu.
0 0 * * * tripwire --check --email-report
Uložte a ukončete.
Poznámka:
- - Skript cron bude denně kontrolovat systém tripwire.
Nyní restartujte službu crond na CentOS 7.
systemctl restart crond
Nyní budete denně dostávat upozornění na zprávy o tripwire na váš e-mail.
Tripwire byl nainstalován a nakonfigurován pro systém CentOS 7.