GNU/Linux >> Znalost Linux >  >> Linux

Zabezpečení Linuxu:Chraňte své systémy pomocí fail2ban

Zabezpečení je pro systémové administrátory neustálým bojem, protože musíte zabezpečit své systémy dostatečně, abyste je ochránili před nechtěnými útoky, ale ne natolik, aby byla omezena produktivita uživatelů. Je těžké udržet rovnováhu. Vždy se objevují stížnosti na "příliš mnoho" zabezpečení, ale když je systém ohrožen, stížnosti se pohybují od "Nebylo dostatečné zabezpečení" až po "Proč jste nepoužili lepší bezpečnostní kontroly?" Boj je skutečný. Existují ovládací prvky, které můžete zavést a které jsou účinné proti útoku vetřelců a zároveň dostatečně nenápadné, aby uživatelům umožnily pracovat obecně neomezeným způsobem. Fail2ban je odpovědí na ochranu služeb před hrubou silou a jinými automatizovanými útoky.

Poznámka:Fail2ban lze použít pouze k ochraně služeb, které vyžadují ověření uživatelského jména/hesla. Například nemůžete chránit ping pomocí fail2ban.

V tomto článku demonstruji, jak chránit démona SSH (SSHD) před útokem hrubou silou. Filtry můžete nastavit jako fail2ban zavolá je, aby byla chráněna téměř každá naslouchací služba ve vašem systému.

Instalace a počáteční nastavení

Naštěstí existuje balíček připravený k instalaci pro fail2ban to zahrnuje všechny případné závislosti pro váš systém.

$ sudo dnf -y install fail2ban

Povolte a spusťte fail2ban .

$ sudo systemctl enable fail2ban

$ sudo systemctl start fail2ban

Pokud nemáte nějaký problém se syntaxí ve vašem fail2ban konfiguraci, neuvidíte žádné standardní výstupní zprávy.

Nyní nakonfigurujte několik základních věcí v fail2ban chránit systém, aniž by do něj zasahoval. Zkopírujte /etc/fail2ban/jail.conf soubor do /etc/fail2ban/jail.local . jail.local soubor je konfigurační soubor, který nás zajímá.

$ sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Otevřete /etc/fail2van/jail.local ve svém oblíbeném editoru a proveďte následující změny nebo zkontrolujte, zda je nastaveno těchto několik parametrů. Hledejte nastavení ignoreip a přidejte na tento řádek všechny IP adresy, které musí mít přístup bez možnosti uzamčení. Ve výchozím nastavení byste měli přidat adresu zpětné smyčky a všechny místní IP adresy do chráněného systému.

ignoreip = 127.0.0.1/8 192.168.1.10 192.168.1.20

Můžete také přidat celé sítě IP adres, ale odebere to velkou část ochrany, kterou chcete použít fail2ban pro. Nechte to zatím jednoduché a místní. Uložte soubor jail.local a restartujte fail2ban službu.

$ sudo systemctl restart fail2ban

Musíte restartovat fail2ban pokaždé, když provedete změnu konfigurace.

Nastavení filtrované služby

Nová instalace fail2ban ve skutečnosti pro vás mnoho nedělá. Pro každou službu, kterou chcete chránit, musíte nastavit tzv. filtry. Téměř každý systém Linux musí být přístupný pomocí SSH. Existují určité okolnosti, kdy byste zcela jistě zastavili a deaktivovali SSHD, abyste lépe zabezpečili svůj systém, ale předpokládám, že každý systém Linux umožňuje připojení SSH.

Hesla, jak každý ví, nejsou dobrým bezpečnostním řešením. Často je to však standard, podle kterého žijeme. Pokud je tedy uživatelský nebo administrativní přístup omezen na SSH, měli byste podniknout kroky k jeho ochraně. Pomocí fail2ban „sledovat“ SSHD na neúspěšné pokusy o přístup s následným zablokováním je dobrý začátek.

Poznámka:Před implementací jakékoli bezpečnostní kontroly, která by mohla bránit v přístupu uživatele do systému, informujte uživatele, že tento nový ovládací prvek je může uzamknout ze systému na deset minut (nebo jak dlouho se rozhodnete), pokud jejich neúspěšné pokusy o přihlášení překročí vaši prahovou hodnotu. .

Chcete-li nastavit filtrované služby, musíte vytvořit odpovídající soubor "jail" v /etc/fail2ban/jail.d adresář. Pro SSHD vytvořte nový soubor s názvem sshd.local a zadejte do něj pokyny pro filtrování služeb.

[sshd]
enabled = true
port = ssh
action = iptables-multiport
logpath = /var/log/secure
maxretry = 3
bantime = 600

Vytvořte [sshd] a zadejte nastavení, které vidíte výše jako výchozí místo. Většina nastavení je samovysvětlující. U dvou, které nemusí být intuitivně zřejmé, nastavení „action“ popisuje akci, kterou chcete fail2ban vzít v případě porušení. Pro nás fail2ban používá iptables zakázat IP adresu porušujícího systému na „bantime“ 600 sekund (10 minut).

Kterékoli z těchto nastavení můžete samozřejmě změnit, aby vyhovovalo vašim potřebám. Deset minut se zdá být dostatečně dlouhá doba na to, aby přiměla bota nebo skript k „přesunu“ na méně zabezpečené hostitele. Deset minut však není tak dlouhá doba, aby odradila uživatele, kteří více než třikrát zadají chybně svá hesla.

Jakmile budete s nastavením spokojeni, restartujte fail2ban službu.

Jak vypadá zákaz

V chráněném systému (192.168.1.83), tail /var/log/fail2ban.log zobrazit všechny aktuální akce zákazu.

2020-05-15 09:12:06,722 fail2ban.filter         [25417]: INFO    [sshd] Found 192.168.1.69 - 2020-05-15 09:12:06
2020-05-15 09:12:07,018 fail2ban.filter         [25417]: INFO    [sshd] Found 192.168.1.69 - 2020-05-15 09:12:07
2020-05-15 09:12:07,286 fail2ban.actions        [25417]: NOTICE  [sshd] Ban 192.168.1.69
2020-05-15 09:22:08,931 fail2ban.actions        [25417]: NOTICE  [sshd] Unban 192.168.1.69

Můžete vidět, že IP adresa 192.168.1.69 byla zakázána v 09:12 a odblokována o deset minut později v 09:22.

Na vzdáleném systému 192.168.1.69 vypadá akce zákazu takto:

$ ssh 192.168.1.83

[email protected]'s password: 

Permission denied, please try again.

[email protected]'s password: 

Permission denied, please try again.

[email protected]'s password: 

Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

$ ssh 192.168.1.83

ssh: connect to host 192.168.1.83 port 22: Connection refused

Můžete vidět, že jsem třikrát zadal nesprávné heslo, než mi byl zakázán přístup. Zakázaný uživatel, pokud nebude výslovně informován, nebude vědět, proč se již nemůže dostat do cílového systému. fail2ban filtr provede akci tichého zákazu. Neposkytuje vzdálenému uživateli žádné vysvětlení, ani není informován, když je zákaz zrušen.

Zrušení zákazu systému

Nevyhnutelně se stane, že bude zakázán systém, který je třeba rychle zrušit. Jinými slovy, nemůžete nebo nechcete čekat na vypršení doby zákazu. Následující příkaz okamžitě odblokuje systém.

$ sudo fail2ban-client set sshd unbanip 192.168.1.69

Po zadání tohoto příkazu nemusíte restartovat démona fail2ban.

Sbalit

To je v podstatě způsob fail2ban funguje. Nastavíte filtr a po splnění podmínek je vzdálený systém zakázán. Můžete zablokovat na delší dobu a můžete nastavit více filtrů pro ochranu vašeho systému. Pamatujte, že fail2ban je jediné řešení a nezabezpečuje váš systém před jinými zranitelnostmi. Vrstvený, mnohostranný přístup k zabezpečení je strategie, kterou chcete sledovat. Žádné jediné řešení neposkytuje dostatečné zabezpečení.

Můžete najít příklady dalších filtrů a některé pokročilé fail2ban implementace popsané na fail2ban.org.

[ Chcete se dozvědět více o zabezpečení? Podívejte se na kontrolní seznam zabezpečení IT a dodržování předpisů. ]


Linux
  1. Monitorujte svůj systém Linux ve svém terminálu pomocí procps-ng

  2. Prohledejte své zabezpečení Linuxu pomocí Lynis

  3. Jak můžete chránit svůj počítač?

  1. Dodejte firewallu svého systému Linux zvýšení zabezpečení

  2. Přežití bezpečnostního auditu s podnikovým Linuxem

  3. Jak chránit váš systém Ubuntu Linux pomocí SurfShark VPN

  1. Obnovte svůj systém pomocí režimu jednoho uživatele v Linux Mint / Linux Mint 12

  2. Vyvažování bezpečnosti Linuxu a použitelnosti

  3. 13 kurzů zabezpečení Linuxu