Explorant la configuració del tallafoc de Shorewall i les opcions de línia d'ordres


Al meu article anterior, vam fer una ullada a Shorewall, com instal·lar-lo, configurar els fitxers de configuració i configurar el reenviament de ports a través de NAT. En aquest article, explorarem alguns dels errors comuns de Shorewall, algunes solucions i tindrem una introducció a les seves opcions de línia d'ordres.

  1. Shorewall: un tallafoc d'alt nivell per configurar servidors Linux: part 1

Shorewall ofereix una àmplia gamma d'ordres que es poden executar a la línia d'ordres. Fer una ullada a man shorewall us hauria de donar molt a veure, però la primera tasca que farem és comprovar els nostres fitxers de configuració.

$ sudo shorewall check

Shorewall imprimirà una comprovació de tots els vostres fitxers de configuració i de les opcions que contenen. La sortida tindrà un aspecte semblant a això.

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

La línia màgica que estem buscant és la que hi ha a la part inferior que diu: \Configuració de Shorewall verificada. Si rebeu algun error, és probable que siguin a causa de la falta de mòduls a la configuració del vostre nucli.

Us mostraré com resoldre dos dels errors més comuns, però us convé recompilar el vostre nucli amb tots els mòduls necessaris si teniu previst utilitzar la vostra màquina com a tallafoc.

El primer error, i el més comú, és l'error sobre 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)

Si veieu alguna cosa semblant a això, és probable que el vostre nucli actual no estigui compilat amb suport per a NAT. Això és comú amb la majoria de nuclis predefinits. Si us plau, llegiu el meu tutorial sobre \Com compilar un nucli de Debian per començar.

Un altre error comú produït per la comprovació és l'error sobre iptables i el registre.

[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

Això també és una cosa que podeu compilar en un nou nucli, però hi ha una solució ràpida per a això, si voleu utilitzar ULOG. ULOG és un mecanisme de registre diferent del syslog. És bastant fàcil d'utilitzar.

Per configurar-ho, heu de canviar cada instància de \info a \ULOG a tots els vostres fitxers de configuració a /etc/shorewall. La següent comanda pot fer-ho per vosaltres.

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

Després d'això, editeu el fitxer /etc/shorewall/shorewall.conf i configureu la línia.

LOGFILE=

On voleu que s'emmagatzemi el vostre registre. El meu és a /var/log/shorewall.log.

LOGFILE=/var/log/shorewall.log

L'execució de sudo shorewall check us hauria de donar un bon estat de salut.

La interfície de línia d'ordres de Shorewall inclou moltes línies útils per als administradors de sistemes. Una de les ordres que s'utilitza amb freqüència, especialment quan s'estan fent nombrosos canvis al tallafoc, és desar l'estat de configuració actual perquè pugueu tornar enrere si hi ha alguna complicació. La sintaxi per a això és senzilla.

$ sudo shorewall save <filename>

Tornar enrere és igual de fàcil:

$ sudo shorewall restore <filename>

Shorewall també es pot iniciar i configurar per utilitzar un directori de configuració alternatiu. Podeu especificar que aquesta és l'ordre d'inici, però primer voldreu comprovar-la.

$ sudo shorewall check <config-directory>

Si simplement voleu provar la configuració i si funciona, engegueu-la, podeu especificar l'opció de prova.

$ sudo shorewall try <config-directory> [  ]

Shorewall és només una de les moltes solucions de tallafocs robustes que estan disponibles als sistemes Linux. Independentment de l'extrem de l'espectre de xarxes en què us trobeu, molts consideren que és senzill i útil.

Aquest no és més que un petit començament i que us pot portar al vostre camí sense entrar molt en conceptes de xarxes. Com sempre, si us plau, investigueu i feu una ullada a les pàgines de manual i altres recursos. La llista de correu de Shorewall és un lloc fantàstic, està actualitzada i ben mantinguda.