Kaip ištirti „Shorewall Firewall“ konfigūraciją sistemoje „Linux“.


Ankstesniame straipsnyje mes sužinojome apie Shorewall diegimą, konfigūracijos failo sąranką ir prievado persiuntimo per NAT konfigūraciją. Šiame straipsnyje mes gilinsimės į įprastas klaidas, susijusias su Shorewall, pateiksime sprendimus ir pristatysime jos komandų eilutės parinktis.

Shorewall siūlo daugybę komandų, kurias galima vykdyti komandų eilutėje. Pažvelgę į man shorewall turėtumėte daug ką pamatyti, bet pirmoji užduotis, kurią ketiname atlikti, yra konfigūracijos failų patikrinimas.

sudo shorewall check

Shorewall išspausdins visų konfigūracijos failų ir juose esančių parinkčių čekį.

Išvestis atrodys maždaug taip.

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

Stebuklinga eilutė, kurios ieškome, yra apačioje, kuri parašyta: „Shorewall konfigūracija patvirtinta“. Jei gaunate klaidų, greičiausiai jos atsirado dėl trūkstamų modulių jūsų branduolio konfigūracijoje.

Parodysiu, kaip išspręsti dvi dažniausiai pasitaikančias klaidas, tačiau jei planuojate kompiuterį naudoti kaip užkardą, turite iš naujo sukompiliuoti branduolį su visais reikalingais moduliais.

Pirmoji ir dažniausiai pasitaikanti klaida yra 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)

Jei matote kažką panašaus į tai, gali būti, kad jūsų dabartinis branduolis nėra sudarytas su NAT palaikymu. Tai būdinga daugumai jau paruoštų branduolių. Norėdami pradėti, perskaitykite mano vadovėlį „Kaip kompiliuoti Debiano branduolį“.

Kita dažna tikrinimo klaida yra iptables ir registravimo klaida.

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

Tai taip pat yra kažkas, ką galite sukompiliuoti į naują branduolį, bet yra greitas pataisymas, jei norite naudoti ULOG. ULOG yra kitoks registravimo mechanizmas nei syslog. Tai gana paprasta naudoti.

Norėdami tai nustatyti, turite pakeisti kiekvieną „info“ atvejį į „ULOG“ visuose konfigūracijos failuose, esančiuose adresu /etc/shorewall . Ši komanda gali tai padaryti už jus.

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

Po to redaguokite failą /etc/shorewall/shorewall.conf ir nustatykite eilutę.

LOGFILE=

Kur norite, kad jūsų žurnalas būtų saugomas. Mano yra /var/log/shorewall.log.

LOGFILE=/var/log/shorewall.log

Dar kartą paleidus šią komandą, turėtumėte gauti švarią sveikatos ataskaitą.

shorewall check

„Shorewall“ komandų eilutės sąsajoje yra daug patogių sistemos administratoriams skirtų elementų. Viena dažnai naudojama komanda, ypač kai atliekama daug ugniasienės pakeitimų, yra išsaugoti esamą konfigūracijos būseną, kad galėtumėte grįžti atgal, jei kiltų kokių nors komplikacijų.

Tai paprasta sintaksė.

sudo shorewall save <filename>

Atsukti atgal taip pat paprasta:

sudo shorewall restore <filename>

„Shorewall“ taip pat galima paleisti ir sukonfigūruoti naudoti alternatyvų konfigūracijos katalogą. Galite nurodyti, kad tai yra pradžios komanda, bet pirmiausia norėsite ją patikrinti.

sudo shorewall check <config-directory>

Jei norite tiesiog išbandyti konfigūraciją ir, jei ji veikia, paleiskite ją, galite nurodyti bandymo parinktį.

sudo shorewall try <config-directory> [  ]

Shorewall yra tik vienas iš daugelio patikimų ugniasienės sprendimų, kurie yra prieinami Linux sistemose. Kad ir kokiame tinklo spektro gale atsidurtumėte, daugelis mano, kad tai paprasta ir naudinga.

Tai tik nedidelė pradžia, kuri gali padėti jums pereiti per daug nesigilinant į tinklų kūrimo koncepcijas. Kaip visada, tyrinėkite ir peržiūrėkite žinyno puslapius bei kitus išteklius. „Shorewall“ adresų sąrašas yra nuostabi vieta, ji yra atnaujinta ir gerai prižiūrima.