GNU/Linux >> Znalost Linux >  >> Linux

Jak na to:Zabezpečení serveru Ubuntu nebo Debian pomocí IPTables

Úvod

V tomto tutoriálu se budeme zabývat tím, jak provést některé základní změny IPTables, které výrazně pomohou zabezpečit váš server. To se provádí na čerstvé instalaci Ubuntu 14.04 64bit v našem cloudu. To lze také provést na jakékoli verzi našeho OS Ubuntu 12.04 a také na Debianu. Všechny naše příkazy se spouštějí jako root a úpravy souborů se provádějí přes vi. Pokud k tomu používáte jiného uživatele, budete potřebovat přístup sudo. Můžete použít libovolný editor souborů, který chcete.

Zabezpečení vašeho cloudového serveru pomocí IPTables

Bohužel naše Ubuntu 14.04 nebo 12.04 již nemají nainstalované IPTables. V Debianu je IPTables již nainstalován, takže toto můžete přeskočit. Takže náš první krok s Ubuntu je instalace IPTables. Chcete-li to provést, jednoduše spusťte:

apt-get install iptables

Po instalaci IPTables to můžete zkontrolovat spuštěním:

iptables –L

Tím se zobrazí seznam všech pravidel, která máte spuštěna, a ověří se, že jste nainstalovali iptables a že to funguje. V tuto chvíli je prázdný, ale můžete vidět tři dostupné typy řetězů.

Dále nainstalujeme balíček iptables-persistent. Tím se zapíše naše současná pravidla IPTables do nového souboru (/etc/iptables/rules.v4) a po restartu automaticky použije naše pravidla. Docela užitečné!

/etc/iptables/rules.v4

Když zadáte soubor, měl by vypadat jako na obrázku výše. Před naším prvním vlastním pravidlem budeme chtít přidat několik věcí. Toto by bylo pravidlo pro rozhraní zpětné smyčky a pravidlo pro provoz, který je již zaveden. Ty si můžete prohlédnout níže. První vlastní pravidlo, které přidáme, umožní SSH přístup k našemu serveru. Pravidla budeme chtít přidat nad řádek COMMIT, protože COMMIT vymezuje konec naší sady pravidel INPUT, FORWARD a OUTPUT. Chcete-li zjistit, co všechny segmenty IPTables znamenají, a další informace o nich naleznete v sekci IPTables.

-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

Poznámka:Pokud máte vlastní port SSH, jak jsme nastavili ve výukovém programu Změna portu SSH v Ubuntu, budete muset změnit 22 na port SSH, který jste nakonfigurovali. V našem případě 3389

/etc/iptables/rules.v4

Vaše pravidla by měla vypadat podobně jako na obrázku výše. Než tady skončíme, musíme změnit ještě dvě věci. Kde pravidla říkají:

:INPUT ACCEPT and :FORWARD ACCEPT

Budeme chtít, aby měly:

:INPUT DROP and :FORWARD DROP

To znamená, že IPTables má zablokovat a přerušit veškerý provoz, který nesměřuje na porty, které určíte pro povolení. Tím zabráníte tomu, aby se lidé pokoušeli proniknout do služeb, které máte spuštěné, pokud tyto porty neotevřete veřejnosti.

Po dokončení by to mělo vypadat podobně jako výše. Jakmile tam budete, stačí soubor uložit a zavřít. Poslední věc, kterou musíme udělat, je načíst tato nová pravidla do aktuálních tabulek IPT. Chcete-li to provést, jednoduše spusťte:

iptables-restore < /etc/iptables/rules.v4

Chcete-li ověřit, že naše pravidla platí, jednoduše spusťte stejný příkaz jako dříve:

iptables –L

Měli byste vidět něco podobného jako na stránce níže.

/etc/iptables/rules.v4

Po tomhle, to je ono! Vaše nová pravidla vstoupí v platnost okamžitě a zůstanou zachována i po restartu. Pokud chcete více omezit své IPtables, konkrétně přístup k SSH, můžete pro každou IP adresu, která by měla být povolena, provést následující. To zahrnuje úpravu pravidla SSH a přidání dalších. Tam, kde je uvedeno pravidlo SSH, které jsme identifikovali dříve, jej chcete změnit na:

-A INPUT -s IPADDR –m tcp –p tcp --dport 3389 –j ACCEPT

Kde IPADDR je vaše IP adresa, kterou chcete mít SSH přístup k vašemu serveru. Pokud jste nenastavili vlastní port SSH, chtěli byste, aby zůstal 22 a ne 3389.

Chcete-li povolit konkrétní porty, řekněme pro webový přístup k vašemu webu, vše, co musíte udělat, je znát/najít port, na kterém služba běží (nebo jste jej nakonfigurovali), a jeho protokol (TCP nebo UDP) a povolit jej. Například přístup k webu:

-A INPUT -m tcp -p tcp --dport 80 -j ACCEPT

A nyní má internet přístup k webhostingu, který provozujete.

Mějte na paměti, že při přidávání nových pravidel do sekcí INPUT nebo FORWARD je skvělým zvykem držet nová pravidla sjednocená s podobnými pravidly. INPUTs se INPUTs a FORWARDs s FORWARDs. Budete se také chtít ujistit, že všechna pravidla, která přidáte a která povolují nový port, budou uvedena NAD všemi příkazy odmítnutí pro danou sadu pravidel. Pokud jsou uvedeny za libovolnými řádky odmítnutí, pravidla se neprojeví.

Chcete-li vidět výstup toho, co IPTables dělá a/nebo blokuje svými pravidly, můžete spustit níže. Vytiskne pravidla, která máte, a vše, co je paketově moudré o přerušení připojení nebo jejich povolení.

iptables -L -vn

Chcete-li zjistit, co znamenají všechny segmenty IPTables a více informací o nich, podívejte se prosím do naší sekce IPTables (odkaz).

Poznámka:Pokud používáte cloudové služby Atlantic.Net, můžete vždy přistupovat ke svému serveru prostřednictvím našeho prohlížeče VNC na cloudovém portálu, pokud se uzamknete.


Linux
  1. Jak nainstalovat Puppet 6.x na Ubuntu 18.04 / Ubuntu 16.04 a Debian 9

  2. Jak nainstalovat SSH server na Ubuntu / Debian s OpenSSH

  3. Zabezpečení vašeho VPS založeného na Ubuntu/Debianu pomocí firewallu IPTABLES/Netfilter

  1. Jak nakonfigurovat HAProxy na serveru Debian 9 / Ubuntu 16.04

  2. Jak přidat další IP na váš server Ubuntu 18.04

  3. Jak zabezpečit server Ubuntu pomocí brány firewall CSF

  1. Jak vygenerovat sosreport na Ubuntu 18.04 / Debian 9 Server

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

  3. Jak nastavit e-mailový server s Mailinabox na Ubuntu 14.04