Zoeken op website

Hoe u de Shorewall Firewall-configuratie in Linux kunt verkennen


In mijn vorige artikel hebben we de installatie van Shorewall, het instellen van het configuratiebestand en de configuratie van port forwarding via NAT geleerd. In dit artikel gaan we dieper in op veelvoorkomende fouten die verband houden met Shorewall, bieden we oplossingen en introduceren we de opdrachtregelopties.

Shorewall biedt een breed scala aan opdrachten die op de opdrachtregel kunnen worden uitgevoerd. Als je naar de man shorewall kijkt, zou je genoeg te zien moeten krijgen, maar de eerste taak die we gaan uitvoeren is een controle van onze configuratiebestanden.

sudo shorewall check

Shorewall drukt een controle af van al uw configuratiebestanden en de daarin opgenomen opties.

De uitvoer zal er ongeveer zo uitzien.

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

De magische regel waarnaar we op zoek zijn, is degene onderaan die luidt: “Shorewall-configuratie geverifieerd”. Als u fouten ontvangt, zijn deze hoogstwaarschijnlijk te wijten aan ontbrekende modules in uw kernelconfiguratie.

Ik zal je laten zien hoe je twee van de meest voorkomende fouten kunt oplossen, maar het is verstandig om je kernel opnieuw te compileren met alle benodigde modules als je van plan bent je machine als firewall te gebruiken.

De eerste en meest voorkomende fout is de fout over 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)

Als u iets ziet dat hierop lijkt, is de kans groot dat uw huidige Kernel niet is gecompileerd met ondersteuning voor NAT. Dit is gebruikelijk bij de meeste kant-en-klare kernels. Lees mijn tutorial over “Hoe een Debian Kernel compileren” om u op weg te helpen.

Een andere veel voorkomende fout die door de controle wordt veroorzaakt, is de fout over iptables en loggen.

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

Dit is ook iets dat je in een nieuwe kernel kunt compileren, maar er is een snelle oplossing voor als je ULOG wilt gebruiken. ULOG is een ander logmechanisme dan syslog. Het is vrij eenvoudig te gebruiken.

Om dit in te stellen, moet u elke instantie van “info ” wijzigen in “ULOG” in al uw configuratiebestanden in /etc/shorewall . Het volgende commando kan dat voor u doen.

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

Bewerk daarna het bestand /etc/shorewall/shorewall.conf en stel de regel in.

LOGFILE=

Waar u wilt dat uw log wordt opgeslagen. De mijne staat in /var/log/shorewall.log.

LOGFILE=/var/log/shorewall.log

Als u de volgende opdracht opnieuw uitvoert, krijgt u een schone gezondheidsverklaring.

shorewall check

De opdrachtregelinterface van Shorewall wordt geleverd met veel handige oneliners voor systeembeheerders. Een vaak gebruikte opdracht, vooral wanneer er talloze wijzigingen in de firewall worden aangebracht, is het opslaan van de huidige configuratiestatus, zodat u deze kunt terugdraaien als er complicaties optreden.

De syntaxis hiervoor is eenvoudig.

sudo shorewall save <filename>

Terugdraaien is net zo eenvoudig:

sudo shorewall restore <filename>

Shorewall kan ook worden gestart en geconfigureerd om een alternatieve configuratiemap te gebruiken. U kunt opgeven dat dit de startopdracht is, maar u wilt dit eerst controleren.

sudo shorewall check <config-directory>

Als u de configuratie eenvoudig wilt uitproberen en als deze werkt, start u deze op. U kunt de try-optie opgeven.

sudo shorewall try <config-directory> [  ]

Shorewall is slechts een van de vele robuuste firewalloplossingen die beschikbaar zijn op Linux-systemen. Ongeacht aan welke kant van het netwerkspectrum u zich bevindt, velen vinden het eenvoudig en nuttig.

Dit is nog maar een klein begin, en een begin dat u op weg kan helpen zonder al te zwaar in te gaan op netwerkconcepten. Zoals altijd dient u onderzoek te doen en de manpagina's en andere bronnen te bekijken. De mailinglijst van Shorewall is een geweldige plek en is up-to-date en goed onderhouden.