Vyhledávání na webu

Jak prozkoumat konfiguraci Shorewall Firewallu v Linuxu


V mém předchozím článku jsme se naučili instalaci Shorewallu, nastavení konfiguračního souboru a konfiguraci přesměrování portů přes NAT. V tomto článku se ponoříme do běžných chyb spojených se Shorewallem, poskytneme řešení a představíme jeho možnosti příkazového řádku.

Shorewall nabízí širokou škálu příkazů, které lze spustit na příkazovém řádku. Když se podíváte na man shorewall, měli byste toho hodně vidět, ale prvním úkolem, který provedeme, je kontrola našich konfiguračních souborů.

sudo shorewall check

Shorewall vytiskne kontrolu všech vašich konfiguračních souborů a možností v nich obsažených.

Výstup bude vypadat nějak takto.

Determining Hosts in Zones...
Locating Actions Files...
Checking /usr/share/shorewall/action.Drop for chain Drop...
Checking /usr/share/shorewall/action.Broadcast for chain Broadcast...
Checking /usr/shrae/shorewall/action.Invalid for chain Invalid...
Checking /usr/share/shorewall/action.NotSyn for chain NotSyn..
Checking /usr/share/shorewall/action.Reject for chain Reject...
Checking /etc/shorewall/policy...
Adding Anti-smurf Rules
Adding rules for DHCP
Checking TCP Flags filtering...
Checking Kernel Route Filtering...
Checking Martian Logging...
Checking Accept Source Routing...
Checking MAC Filtration -- Phase 1...
Checking /etc/shorewall/rules...
Checking /usr/share/shorewall/action.Invalid for chain %Invalid...
Checking MAC Filtration -- Phase 2...
Applying Policies...
Checking /etc/shorewall/routestopped...
Shorewall configuration verified

Kouzelná čára, kterou hledáme, je ta dole, která zní: „Konfigurace Shorewall ověřena“. Pokud se zobrazí nějaké chyby, jsou pravděpodobně způsobeny chybějícími moduly v konfiguraci jádra.

Ukážu vám, jak vyřešit dvě z častějších chyb, ale pokud plánujete používat svůj počítač jako firewall, musíte překompilovat jádro se všemi potřebnými moduly.

První a nejčastější chybou je chyba o NAT.

Processing /etc/shorewall/shorewall.conf...
Loading Modules...
Checking /etc/shorewall/zones...
Checking /etc/shorewall/interfaces...
Determining Hosts in Zones...
Locating Actions Files...
Checking /usr/share/shorewall/action.Drop for chain Drop...
Checking /usr/share/shorewall/action.Broadcast for chain Broadcast...
Checking /usr/shrae/shorewall/action.Invalid for chain Invalid...
Checking /usr/share/shorewall/action.NotSyn for chain NotSyn..
Checking /usr/share/shorewall/action.Reject for chain Reject...
Checking /etc/shorewall/policy...
Adding Anti-smurf Rules
Adding rules for DHCP
Checking TCP Flags filtering...
Checking Kernel Route Filtering...
Checking Martian Logging...
Checking Accept Source Routing...
Checking /etc/shorewall/masq...
    ERROR: a non-empty masq file requires NAT in your kernel and iptables /etc/shorewall/masq (line 15)

Pokud vidíte něco podobného, je pravděpodobné, že vaše současné jádro není zkompilováno s podporou NAT. To je běžné u většiny předem připravených jader. Přečtěte si prosím můj návod „Jak zkompilovat jádro Debianu“, abyste mohli začít.

Další běžnou chybou způsobenou kontrolou je chyba týkající se iptables a protokolování.

shorewall check
Checking...
Processing /etc/shorewall/params...
Processing /etc/shorewall/shorewall.conf
Loading Modules..
   ERROR: Log level INFO requires LOG Target in your kernel and iptables

Toto je také něco, co můžete zkompilovat do nového jádra, ale pokud byste chtěli použít ULOG, existuje pro to rychlá oprava. ULOG je jiný mechanismus protokolování než syslog. Je to docela snadné.

Chcete-li to nastavit, musíte změnit každou instanci „info “ na „ULOG “ ve všech vašich konfiguračních souborech v /etc/shorewall . Následující příkaz to může udělat za vás.

cd /etc/shorewall
sudo sed –i ‘s/info/ULOG/g’ *

Poté upravte soubor /etc/shorewall/shorewall.conf a nastavte čáru.

LOGFILE=

Kam chcete, aby byl váš protokol uložen. Můj je v /var/log/shorewall.log.

LOGFILE=/var/log/shorewall.log

Opětovným spuštěním následujícího příkazu byste měli mít čisté konto.

shorewall check

Rozhraní příkazového řádku Shorewallu přichází s mnoha praktickými jednotnými řádky pro systémové administrátory. Jedním z často používaných příkazů, zejména při četných změnách brány firewall, je uložení aktuálního stavu konfigurace, abyste se mohli vrátit zpět, pokud nastanou nějaké komplikace.

Syntaxe pro toto je jednoduchá.

sudo shorewall save <filename>

Vrácení zpět je stejně snadné:

sudo shorewall restore <filename>

Shorewall lze také spustit a nakonfigurovat tak, aby používal alternativní konfigurační adresář. Můžete zadat, že se jedná o příkaz start, ale nejprve jej budete chtít zkontrolovat.

sudo shorewall check <config-directory>

Pokud chcete konfiguraci jednoduše vyzkoušet a pokud funguje, spustit ji, můžete zadat možnost vyzkoušet.

sudo shorewall try <config-directory> [  ]

Shorewall je pouze jedním z mnoha robustních firewallových řešení, která jsou k dispozici v systémech Linux. Bez ohledu na to, na jakém konci spektra sítí se nacházíte, mnozí to považují za jednoduché a užitečné.

Toto je jen malý začátek, který vás může dostat na cestu, aniž byste se příliš zabývali síťovými koncepty. Jako vždy prosím prozkoumejte a podívejte se na manuálové stránky a další zdroje. Mailing list Shorewallu je úžasné místo a je aktuální a dobře udržovaný.