Weboldal keresés

Hogyan lehet felfedezni a Shorewall tűzfal konfigurációját Linux alatt


Előző cikkemben megismertük a Shorewall telepítését, a konfigurációs fájl beállítását és a NAT-on keresztüli porttovábbítás beállítását. Ebben a cikkben a Shorewall gyakori hibáival foglalkozunk, megoldásokat kínálunk, és bemutatjuk a parancssori lehetőségeit.

A Shorewall a parancssorban futtatható parancsok széles skáláját kínálja. Ha egy pillantást vetünk a man shorewallra, akkor bőven látni fogunk, de az első feladat, amit végre kell hajtanunk, a konfigurációs fájljaink ellenőrzése.

sudo shorewall check

A Shorewall kinyomtatja az összes konfigurációs fájl és a bennük található opciók ellenőrzését.

A kimenet valahogy így fog kinézni.

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

A keresett varázslatos sor az alján található, amely így szól: „Shorewall konfiguráció ellenőrizve”. Ha bármilyen hibaüzenetet kap, annak oka valószínűleg a kernel konfigurációjában található modulok hiánya.

Megmutatom, hogyan lehet megoldani két gyakoribb hibát, de érdemes újrafordítania a kernelt az összes szükséges modullal, ha tűzfalként tervezi használni a gépet.

Az első, és a leggyakoribb hiba a NAT hiba.

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)

Ha valami ehhez hasonlót lát, akkor valószínűleg a jelenlegi Kernel nincs a NAT támogatásával fordítva. Ez gyakori a legtöbb kész kernelnél. A kezdéshez olvassa el a „Debian kernel fordítása” című oktatóanyagomat.

Egy másik gyakori, az ellenőrzés által okozott hiba az iptables és a naplózás hibája.

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

Ezt is lefordíthatja egy új kernelbe, de van rá egy gyors javítás, ha az ULOG-t szeretné használni. Az ULOG a syslogtól eltérő naplózási mechanizmus. Nagyon könnyen használható.

Ennek beállításához az „info” minden példányát „ULOG”-ra kell módosítania az összes konfigurációs fájljában az /etc/shorewall mappában. . A következő parancs megteheti ezt Ön helyett.

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

Ezt követően szerkessze az /etc/shorewall/shorewall.conf fájlt, és állítsa be a sort.

LOGFILE=

Oda, ahol a naplót tárolni szeretné. Az enyém a /var/log/shorewall.log fájlban található.

LOGFILE=/var/log/shorewall.log

A következő parancs ismételt futtatásával tiszta állapotot kell kapnia.

shorewall check

A Shorewall parancssori felülete számos praktikus egysoros elemet tartalmaz a rendszergazdák számára. Az egyik gyakran használt parancs, különösen akkor, ha a tűzfalon számos módosítást hajtanak végre, az aktuális konfigurációs állapot mentése, hogy visszaállíthassa, ha bármilyen probléma adódna.

Ennek a szintaxisa egyszerű.

sudo shorewall save <filename>

A visszatekerés ugyanolyan egyszerű:

sudo shorewall restore <filename>

A Shorewall elindítható és konfigurálható egy alternatív konfigurációs könyvtár használatára is. Megadhatja, hogy ez a start parancs, de először ellenőriznie kell.

sudo shorewall check <config-directory>

Ha egyszerűen csak ki akarja próbálni a konfigurációt, és ha működik, indítsa el, megadhatja a try opciót.

sudo shorewall try <config-directory> [  ]

A Shorewall csak egy a sok robusztus tűzfalmegoldás közül, amelyek Linux rendszereken elérhetők. Nem számít, hogy a hálózati spektrum melyik végén találja magát, sokan egyszerűnek és hasznosnak találják.

Ez csak egy kis kezdet, és egy olyan lépés, amely anélkül indíthatja el az utat, hogy túlságosan belemenne a hálózati koncepciókba. Mint mindig, kérjük, tájékozódjon, és tekintse meg a kézikönyvoldalakat és egyéb forrásokat. A Shorewall levelezőlistája egy fantasztikus hely, naprakész és jól karbantartott.