Kako istražiti konfiguraciju vatrozida Shorewall u Linuxu


U mom prethodnom članku naučili smo instalaciju Shorewalla, postavljanje konfiguracijske datoteke i konfiguraciju prosljeđivanja porta preko NAT-a. U ovom ćemo članku istražiti uobičajene pogreške povezane s Shorewallom, ponuditi rješenja i predstaviti njegove opcije naredbenog retka.

Shorewall nudi široku lepezu naredbi koje se mogu pokrenuti u naredbenom retku. Pogled na čovjekov obalni zid trebao bi vam dati mnogo toga za vidjeti, ali prvi zadatak koji ćemo obaviti je provjera naših konfiguracijskih datoteka.

sudo shorewall check

Shorewall će ispisati provjeru svih vaših konfiguracijskih datoteka i opcija sadržanih u njima.

Izlaz će izgledati otprilike ovako.

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

Čarobni redak koji tražimo je onaj na dnu koji glasi: “Konfiguracija obalnog zida potvrđena”. Ako dobijete bilo kakvu pogrešku, najvjerojatnije je to zbog nedostajućih modula u vašoj konfiguraciji kernela.

Pokazat ću vam kako riješiti dvije uobičajene pogreške, ali morate ponovno kompajlirati svoj kernel sa svim potrebnim modulima ako planirate koristiti svoj stroj kao vatrozid.

Prva pogreška i najčešća je pogreška o NAT-u.

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)

Ako vidite nešto slično ovome, velika je vjerojatnost da vaš trenutni Kernel nije kompajliran s podrškom za NAT. Ovo je uobičajeno kod većine jezgri izvan okvira. Pročitajte moj vodič o “Kako kompajlirati Debian kernel” da biste započeli.

Još jedna uobičajena pogreška koju proizvodi provjera je pogreška o iptables i logiranju.

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

Ovo je također nešto što možete kompajlirati u novi kernel, ali za to postoji brzo rješenje ako želite koristiti ULOG. ULOG je drugačiji mehanizam zapisivanja od syslog-a. Prilično je jednostavan za korištenje.

Da biste ovo postavili, morate promijeniti svaku instancu “info” u “ULOG” u svim vašim konfiguracijskim datotekama u /etc/shorewall . Sljedeća naredba to može učiniti umjesto vas.

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

Nakon toga uredite datoteku /etc/shorewall/shorewall.conf i postavite liniju.

LOGFILE=

Tamo gdje želite da vaš dnevnik bude pohranjen. Moj je u /var/log/shorewall.log.

LOGFILE=/var/log/shorewall.log

Ponovno pokretanje sljedeće naredbe trebalo bi vam dati čist račun zdravlja.

shorewall check

Shorewall-ovo sučelje naredbenog retka dolazi s mnogo praktičnih jednolinerskih programa za administratore sustava. Jedna često korištena naredba, posebno kada se rade brojne promjene na vatrozidu, je spremanje trenutnog konfiguracijskog stanja tako da se možete vratiti ako dođe do bilo kakvih komplikacija.

Sintaksa za ovo je jednostavna.

sudo shorewall save <filename>

Vraćanje je jednako jednostavno:

sudo shorewall restore <filename>

Shorewall se također može pokrenuti i konfigurirati za korištenje alternativnog konfiguracijskog direktorija. Možete odrediti da je ovo naredba za pokretanje, ali prvo je želite provjeriti.

sudo shorewall check <config-directory>

Ako jednostavno želite isprobati konfiguraciju i ako radi, pokrenuti je, možete navesti opciju probati.

sudo shorewall try <config-directory> [  ]

Shorewall je samo jedno od mnogih robusnih vatrozidnih rješenja koja su dostupna na Linux sustavima. Bez obzira na kojem se kraju mrežnog spektra nalazite, mnogi ga smatraju jednostavnim i korisnim.

Ovo je samo mali početak, koji vas može pokrenuti bez previše zalaženja u koncepte umrežavanja. Kao i uvijek, istražite i pogledajte stranice priručnika i druge resurse. Shorewallov popis adresa je sjajno mjesto, ažuriran je i dobro se održava.