Shorewall installatie

In deze how-to maak ik een voorbeeld voor een installatie van shorewall op een linux systeem. Shorewall is een veelzijdige oplossing voor het maken van firewall (iptables) regels.

BRON:

De installatie bestanden voor Shorewall zijn hier te vinden. Ik gebruik in dit voorbeeld de oude versie omdat deze ook alle voorbeeld bestanden aanmaakt in /etc/shorewall en /etc/shorewall6

Shorewall (Dit is de standaard shorewall versie)
Shorewall6 (Deze versie van shorewall is voor ipv6)

De installatie

De installatie van shorewall (we installeren eerst de oude versie omdat deze wel voorbeeld configs aanmaakt)

cd /home/beheer/software
apt-get update
apt-get install bzip2
apt-get install iproute
apt-get install perl
wget http://www.shorewall.net/pub/shorewall/4.4/shorewall-4.4.4/shorewall-4.4.4.2.tar.bz2
tar -xjvf shorewall-4.4.4.2.tar.bz2
cd shorewall-4.4.4.2
./install.sh
cd /etc/shorewall

De configuratie

Interfaces
In de interface file worden alle netwerk interfaces opgegeven en gekoppeld aan de zones waarmee shorewall later zal bepalen welke zone bij welke interface hoort. Daarnaast is het ook mogelijk om per interface op te geven welke opties er voor de interface actief moeten zijn.

vim /etc/shorewall interfaces

#
# Shorewall version 4 - Interfaces File
#
# For information about entries in this file, type "man shorewall-interfaces"
#
# For additional information, see
# http://shorewall.net/Documentation.htm#Interfaces
#
########################################################################################
net     eth0            detect  routefilter,nosmurfs,tcpflags,blacklist
net     ppp0            detect  routefilter,nosmurfs,tcpflags,blacklist
net     wlan0           detect  routefilter,nosmurfs,tcpflags,blacklist

#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Zones
In dit bestand wordt aangegeven wat de eigenschappen zijn van de zones welke we in de interfaces file hebben aangemaakt.

vim /etc/shorewall/zones

#
# Shorewall version 4 - Zones File
#
# For information about this file, type "man shorewall-zones"
#
# For more information, see http://www.shorewall.net/Documentation.htm#Zones
#
###############################################################################
#ZONE 	TYPE 	OPTIONS 	IN 	OUT
#			OPTIONS 	OPTIONS
fw 	firewall
net 	ipv4
#

Policy

In de policy file geven we aan wat de standaard actie is welke shorewall moet hanteren voor het verkeer wat over de interfaces gaat. In dit voorbeeld staat shorewall standaard het verkeer vanaf de machine (fw) naar het internet (net) toe toestaat. Verkeer vanaf internet (net) naar de machine (fw) toe wordt standaard geblokkeerd.

vim /etc/shorewall/policy

#
# Shorewall version 4 - Policy File
#
# For information about entries in this file, type "man shorewall-policy"
#
# See http://shorewall.net/Documentation.htm#Policy for additional information.
#
###############################################################################
#SOURCE	DEST	POLICY	LOG	LIMIT:BURST
#			LEVEL
fw	net	ACCEPT
net	all	DROP
all	all	REJECT

Rules

In de rules file worden alle regels geplaatst welke het verkeer vanaf internet naar de machine toelaten.

/etc/shorewall/rules

#
# Shorewall version 4 - Rules File
#
# For information on the settings in this file, type "man shorewall-rules"
#
# The manpage is also online at
# http://www.shorewall.net/manpages/shorewall-rules.html
#
############################################################################################################################
#ACTION         SOURCE          DEST            PROTO   DEST    SOURCE          ORIGINAL        RATE            USER/   MARK
#                                                       PORT    PORT(S)         DEST            LIMIT           GROUP
#SECTION ESTABLISHED
#SECTION RELATED
SECTION NEW
# De buitenwereld
ACCEPT          net                     fw      tcp     80,443
ACCEPT          net                     fw      udp     33434:33465  (Zorgt ervoor dat unix traceroute werkt)

Shorewall

In shorewall staan veel configuratie opties. Een van deze opties is DisableIPv6=Yes deze is goed voor machines waar geen ipv6 gewenst is. Maar moet op No gezet worden op machines die wel een ipv6 adres hebben.

LET OP: Als je gebruik maakt van ipv6 is het ook raadzaam om shorewall6 te installeren

Opstarten bij het starten van de machine

Shorewall start standaard niet op waardoor je machine bij het opstarten niet beveiligd is. Om dit op te lossen kun je de volgende file aanpassen vim /etc/default/shorewall zet hierin de startup=1

De machine is nu klaar en shorewall zal bij de volgende herstart actief worden

Shorewall commando`s

De volgende commando`s gebruik zelf vaak voor shorewall

shorewall status
shorewall check
shorewall restart

status laat ziet of shorewall acties is
check controleerd de wijzigingen in de configuratie
restart herlaad de configuratie

Upgraden van Shorewall

Inmiddels is er een nieuwe versie van shorewall. Het upgraden gaat als volgt

cd /home/beheer/software
wget http://www.shorewall.net/pub/shorewall/4.4/shorewall-4.4.17/shorewall-4.4.17.tar.bz2
tar -xjvf shorewall-4.4.17.tar.bz2
cd shorewall-4.4.17
./install.sh

shorewall restart

Laatste nieuwe versie

Omdat de bovenstaande versie niet meer willen installeren doen we het volgende

cd /home/beheer/software/
wget http://www.shorewall.net/pub/shorewall/4.6/shorewall-4.6.10/shorewall-4.6.10.tar.bz2
tar -xjvf shorewall-4.6.10.tar.bz2
cd shorewall-4.6.10
./install.sh

shorewall restart
/pre>