Raziskovanje konfiguracije požarnega zidu in možnosti ukazne vrstice


V prejšnjem članku smo si ogledali Shorewall, kako ga namestiti, nastaviti konfiguracijske datoteke in konfigurirati posredovanje vrat prek NAT. V tem članku bomo raziskali nekatere pogoste napake Shorewalla, nekatere rešitve in predstavili možnosti njegovih ukaznih vrstic.

  1. Shorewall - Požarni zid na visoki ravni za konfiguriranje strežnikov Linux - 1. del

Shorewall ponuja široko paleto ukazov, ki jih je mogoče zagnati v ukazni vrstici. Če si ogledate man shorewall, bi morali imeti veliko za videti, toda prva naloga, ki jo bomo izvedli, je preverjanje naših konfiguracijskih datotek.

$ sudo shorewall check

Shorewall bo natisnil pregled vseh vaših konfiguracijskih datotek in možnosti, ki jih vsebujejo. Rezultat bo videti približno tako.

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

Čarobna vrstica, ki jo iščemo, je tista na dnu, ki se glasi:\"Konfiguracija Shorewall-a preverjena". Če se prikažejo napake, so najverjetneje posledica manjkajočih modulov v konfiguraciji jedra.

Pokazal vam bom, kako odpraviti dve najpogostejši napaki, vendar morate znova zbrati svoje jedro z vsemi potrebnimi moduli, če nameravate svojo napravo uporabljati kot požarni zid.

Prva in najpogostejša napaka je napaka 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)

Če vidite kaj podobnega temu, je verjetno, da vaše trenutno jedro ni prevedeno s podporo za NAT. To je pogosto pri večini jeder, ki so že na voljo. Za začetek preberite mojo vadnico o\"Kako sestaviti jedro Debian".

Druga pogosta napaka, ki jo povzroči preverjanje, je napaka glede iptables in dnevnika.

[email :/etc/shorewall# 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

To je tudi nekaj, kar lahko prevedete v novo jedro, vendar obstaja hitra rešitev, če želite uporabiti ULOG. ULOG je drugačen mehanizem beleženja kot sistem slog. Je dokaj enostaven za uporabo.

Če želite to nastaviti, morate v vseh svojih konfiguracijskih datotekah v/etc/shorewall spremeniti vsak primerek\"info" v\"ULOG". Naslednji ukaz lahko to stori namesto vas.

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

Po tem uredite datoteko /etc/shorewall/shorewall.conf in nastavite vrstico.

LOGFILE=

Tja, kamor želite shraniti svoj dnevnik. Moja je v /var/log/shorewall.log.

LOGFILE=/var/log/shorewall.log

Izvedba "sudo shorewall check" bi vam zagotovila čisto zdravstveno stanje.

Shorewallov vmesnik ukazne vrstice je opremljen s številnimi priročnimi enostavnimi podlogami za sistemske skrbnike. Pogosto uporabljen ukaz, še posebej, ko se na požarnem zidu izvajajo številne spremembe, je shraniti trenutno stanje konfiguracije, da se lahko vrnete nazaj, če pride do zapletov. Sintaksa tega je preprosta.

$ sudo shorewall save <filename>

Vračanje nazaj je prav tako enostavno:

$ sudo shorewall restore <filename>

Shorewall lahko tudi zaženete in konfigurirate tako, da uporablja nadomestni konfiguracijski imenik. Lahko določite, da je to ukaz start, vendar ga boste najprej želeli preveriti.

$ sudo shorewall check <config-directory>

Če želite preprosto preizkusiti konfiguracijo in če deluje, jo zaženite, lahko določite možnost preizkusa.

$ sudo shorewall try <config-directory> [  ]

Shorewall je le ena izmed mnogih zanesljivih rešitev požarnega zidu, ki so na voljo v sistemih Linux. Ne glede na to, na katerem koncu omrežnega spektra se znajdete, je mnogim preprosto in uporabno.

To je le majhen začetek, ki vas lahko pripelje na pot, ne da bi se močno ukvarjali s koncepti mreženja. Kot vedno vas prosimo, da raziščete in si ogledate priročnike in druge vire. Dopisni seznam Shorewalla je čudovit, posodobljen in dobro vzdrževan.