SuSE Firewall konfiguratie
Setting Up a Firewall with SuSE Linux
1. Wat is een firewall ?
In computer terminologie is een "firewall" een term voor een computer die dient als een interface tussen twee computernetwerken en die bepaalde gebieden van een netwerk beveiligd tegen aanvallen en/of ongewenste toegang.
2. Waarom is een firewall nodig ?
Door een toename van netwerkverbindingen met het internet door bedrijven, particulieren, scholen en andere publieke instanties moeten deze "locale and kleine" netwerken (LANs genoemd, Local Area Networks) beveiligd worden tegen aanvallen en virussen vanaf het internet.
Vergeet echter niet: "Aanvallen komen niet altijd vanaf het internet!".
Een firewall kan alleen beveiligen tegen aanvallen als deze aanvallen door de firewall komen; de firewall stopt geen aanvallen als deze van hetzelfde netwerk afkomstig zijn. Daarom moet je er zeker van zijn dat de firewall de enige computer is tussen twee gekoppelde netwerken.
3. Grondbeginselen
Om een SuSE firewall op te zetten heb je enige
kennis van netwerken nodig. Bijvoorbeeld welke poorten, IP adressen en services
worden er gebruikt.
Tevens moet je weten hoe je een netwerkkaart via YAST
toevoegd en hoe je een IP adres moet toewijzen.
Natuurlijk heb je ook een draaiend Linux systeem nodig !
*** Belangrijk ***
Je moet weten welke services je wilt gaan gebruiken en welke poorten er door deze services worden gebruikt !
Als je dat niet weet kan je in /etc/services lezen welke poort gebruikt word door een bepaalde service.
4. Installatie
4.1 Twee netwerkkaarten configureren
We gaan er vanuit dat je al één netwerkkaart geinstalleerd en geconfigureerd hebt.
Nu gaan we een tweede installeren.
4.1.1 PCI kaarten
Als je twee PCI netwerkkaarten bezit moet de installatie geen problemen opleveren aangezien de IRQ en de I/O automatisch worden herkend en geconfigureerd.
4.1.2 ISA kaarten
Als je twee ISA netwerkkaarten bezit zal de installatie op dit moment nog een klein probleem opleveren. Linux zoekt namelijk niet automatisch naar een tweede ISA kaart en zal deze derhalve niet vinden. Dit probleem kun je als volgt oplossen:
--> System administration
--> Kernel- and boot-configuration
--> configure LILO.
Voeg de volgende entry aan de
append lijn toe:
"ether=[IRQ],[IO],[DEVICE ]"
Vervang de expressies tussen blokhaken
in overeenstemming met je systeem
(bijv. "ether=10,0x300,eth1")
Als je meer dan twee ISA netwerkkaarten in je systeem hebt moet je de append lijn als volgt veranderen:
"ether=[IRQ],[IO],eth1,et her=[IRQ],[IO],eth2" etc.
Onze append lijn ziet er als volgt uit:
"ether=10,0x300,eth1
ether=5,0x320,eth2".
Druk op "Next" en YAST wijzigt alle
config-files.
Re-boot je systeem om de wijzigingen in LILO door te voeren.
( Dit is de enige keer dat een re-boot nodig is in Linux.)
4.2 Configureren van de netwerkkaarten
Start YAST
--> Integrate Hardware
--> Configure network cards.
Al één netwerkkaart moet zijn
geconfigureerd. Dat ziet er als volgt uit:
Druk op F3 and selecteer eth1. Er mag géén entry in "card type" staan. Voer je tweede netwerkkaart hier in.
Druk op "Next" en YAST zal de config files
voor je updaten.
Sluit YAST af en herstart je netwerk door het intypen van
>> /etc/rc.d/network restart
Als alles goed gegaan is verschijnen de volgende regels:
Shutting down network device eth1 done Shutting down network device eth0 done Setting up network device eth0 done Setting up network device eth1 done
Als in één van deze regels "failed" voorkomt, herhaal dan de configuratie van de netwerkkaarten als omschreven in 4.2, echter enter de waardes van je netwerkkaarten in de lijn "Module options"
bijv.: irq=[IRQ] io=[IO] Port
Voer de juiste IRQ en I/O waardes in voor je netwerkkaarten.
Als beide kaarten werken kunnen we verder gaan met stap 5.
5. Configuratie van de SuSE firewall
5.1. Benodigde packages
Om de firewall te kunnen configureren moeten de volgende
packages zijn geinstalleerd:
ipchains
firewalls
Allebei uit security.
Als je deze packages al hebt geinstalleerd kun je verder gaan met stap 5.2.
Package installatie:
Start YAST
--> Start installation
--> Change/create configuration
Ga naar het menu
"Security software".
Installeer het pakket "firewalls" aldaar.
5.2 Configuratie van de firewall met YAST
Start YAST
--> System administration
--> Change configuration file
Zoek de variabelen die beginnen met "FW_" . Dit zijn de variablen voor het configureren van de SuSE firewall.
In het volgende leggen we elke variabele voor je uit.
1. START_FW
Zet deze variabele naar "yes"
als je de SuSE firewall wil starten.
2. FW_DEV_WORLD
Voer hier alle netwerkinterfaces in die verbonden zijn met het
"onveilige" deel van het netwerk.
bijv.: ippp0, eth0, eth1 etc.
3. FW_DEV_INT
Voer hier alle netwerkinterfaces in die verbonden zijn met het
"veilige" deel van het netwerk.
bijv.: ippp0, eth0, eth1 etc.
4. FW_DEV_DMZ
Voer hier alle netwerkinterfaces in die verbonden zijn met de DMZ
(demilitarised zone)
bijv.: ippp0, eth0, eth1 etc.
DMZ is het network dat is verbonden met de firewall. De computers die zich in dit network bevinden zullen services leveren naar buiten (bijv. mail, FTP, news). Deze computers hebben een officieel IP address nodig die door de firewall worden gerouteerd.
Als je deze variabele met yes bevestigd moet je ook de variabele FW_ROUTE met yes bevestigen en forwarding van de services toestaan. ( FW_FORWARD_*)
5. FW_ROUTE
Als de firewall een directe verbinding heeft met het internet of met de
DMZ (zonder proxy services), bevestig dan deze variabele met yes.
Tevens moet de variabele FW_MASQUERADE of FW_FORWARD_* ge-update worden voor de services die geforwarded zullen worden.
6.
FW_MASQUERADE, FW_MASQ_NETS and FW_MASQ_DEV
Als de firewall direct is verbonden met het internet en je wilt het
internet op met je clients zonder gebruik te maken van de proxy service zet dan de
variabele FW_MASQUERADE op yes.
Deze opties vertalen de interne IP adressen naar officiele IP adressen. Hierdoor lijkt het alsof de verzoeken naar het internet gegenereerd zijn door de firewall zelf.
Om masquerading te gebruiken dien je de variabele FW_ROUTE op yes te zetten.
Enter alle computers en/of netwerken die masquerading zouden moeten kunnen gebruiken in FW_NETS.
bijv.: 192.168.10.0/24 192.168.1.1
Deze regel houd in dat de computer 192.168.1.1 en het class C netwerk 192.168.10.x /255.255.255.0 masquerading gebruiken tijdens de toegang tot het internet.
In FW_DEV dien je alle uitgaande interfaces in te voeren
welke gebruik gaan maken van Masquerading.
bijv.: ippp0, eth1
7.
FW_PROTECT_FROM_INTERNAL
Als je deze variabele op yes
zet, kunnen computers vanaf het interne netwerk alleen toegang krijgen tot expliciet
toegestaande services die zijn opgenomen in FW_*_SERVICES_INTERNAL.
Als je deze optie op no zet, zullen alle services die draaien op de firewall toegang hebben tot het interne netwerk.
8.
FW_AUTOPROTECT_GLOBAL_SERVICES
Deze optie bewaard services (TCP en UDP) die op alle
netwerkadressen van de firewall (niet alleen de specifiek gedefinieerden)
wacht op verbinding. Deze optie kan gedeactiveerd worden voor een enkele
service met FW_*_SERVICES_*.
9.
FW_SERVICES_*
Hier dien je alle services in te voeren welke gebruikt worden door
de corresponderende netwerken.
Voorbeeld:
Als je als enige poort 80 en poort 25 toegang verleent vanaf het internet
maar poort 80 25 137-139 and 10000 aan de binnenkant moet je het volgende doen:
FW_SERVICES_EXTERNAL_TCP= 80 25
FW_SERVICES_INTERNAL_TCP= 80 25
137:13910000
Je kunt ook services toegang verlenen die geresolved kunnen
worden door de file /etc/sercives.
bijv.:
FW_SERVICES_EXTERNAL_TCP= www smtp
FW_SERVICES_INTERNAL_TCP= www smtp 137:139
10000
Poortbereiken kunnen gescheiden worden door een dubbele punt. Bijvoorbeeld poorten 1 to 1024 zijn gedefinieerd als: 1:1024
10.
FW_TRUSTED_NETS and FW_SERVICES_TRUSTED
Hier kun je de computers/netwerken invoeren van het internet die toegang
hebben to bepaalde services.
bijv.: FW_TRUSTED_NETS = 10.128.71.55 10.128.7.0/16
Dit houd in dat de computer 10.128.71.55 en het netwerk 10.128.7.0 in het subnet 255.255.0.0 toegang hebben tot de verleende services.
De services die toegankelijk zijn worden toegevoegd aan FW_SERVICES_TRUSTED. De poorten worden vergelijkbaar ingevoerd als in sectie 9.
11.
FW_ALLOW_INCOMING_HIGHPORTS_*
Deze variabele definieert het gedrag bij toegang tot unprivileged
poorten (vanaf 1023).
Mogelijke opties:
Everybody = yes; nobody = no
of voer namen in de geresolved kunnen worden door /etc/services.
Je dient
FW_ALLOW_INCOMING_HIGHPORTS_UDP op dns te zetten als verzoeken van naamservers
beantwoord kunnen worden.
Je dient FW_ALLOW_INCOMING_HIGHPORTS_TCP op ftp-data te zetten om FTP te
gebruiken in de passieve mode.
12.
FW_SERVICE_*
Zet de corresponderende services op yes
als je deze service op de firewall wilt verlenen.
Als je een service op yes zet, vergeet dan niet
om de corresponderende poort toe te voegen aan FW_SERVICES_*.
bijv.: voor DNS moet poort 53 toegevoegd worden aan FW_SERVICES_*.
13. FW_FORWARD
Hier stel je in of het interne netwerk toegankelijk mag zijn vanaf het
internet of vanaf de DMZ.
bijv.: FW_FORWARD = 10.128.7.4,192.168.10.1,25
Dit houdt in dat alle verzoeken aan poort 25 van 10.128.7.4 geforwarded worden naar poort 25 van 192.168.10.1.
Je kunt ook verzoeken van hele netwerken
op een poort forwarden naar een poort van een computer op het interne netwerk.
bijv.: FW_FORWARD = 10.128.7.0/24,192.168.10.1,25
14.
FW_FORWARD_MASQ_*
Hier kun je definieren welke computers/netwerken van buitenaf (internet) toegang mogen
op gemaskeerde computers in het interne netwerk.
15.
FW_STOP_KEEP_ROUTING_STATE
Als je een vaste internetverbinding hebt zet dan deze variable op yes.
Door dit te doen word de routering niet gedisabled als de regels worden geflushed zodat een nieuwe dial-in kan worden gedaan.
De variabelen FW_LOG, FW_KERNEL_SECURITY, FW_ALLOW_PING, FW_ALLOW_FW_TRACEROUTE, FW_MASQ_MODULES, FW_CUSTOMRULES dienen alleen veranderd te worden als je op de hoogte bent van de consequenties.
5.3 Een voorbeeld configuratie
| /etc/rc.config.d/firewall.rc.config |
FW_START=yes
FW_DEV_WORLD=eth0
FW_DEV_INT=eth1
FW_DEV_DMZ
FW_ROUTE=yes
FW_MASQUERADE=yes
FW_MASQ_NETS=192.168.10.0/24
FW_MASQ_DEV=eth0
FW_PROTECT_FROM_INTERNAL=yes
FW_AUTOPROTECT_GLOBAL_SERVICES=yes
FW_SERVICES_EXTERNAL_TCP=www smtp 137:139 3128
FW_SERVICES_EXTERNAL_UDP=domain
FW_SERVICES_DMZ_TCP
FW_SERVICES_DMZ_UDP
FW_SERVICES_INTERNAL_TCP=www smtp 137:139 3128 10000 3000
FW_SERVICES_INTERNAL_UDP=domain
FW_TRUSTED_NETS
FW_SERVICES_TRUSED_TCP
FW_SERVICES_TRUSED_UDP
FW_ALLOW_INCOMING_HIGHPORTS_TCP=yes
FW_ALLOW_INCOMING_HIGHPORTS_UDP=yes
FW_SERVICE_DNS=yes
FW_SERVICE_DHCP_CLIENT=no
FW_SERVICE_SAMBA=no
FW_FORWARD_TCP
FW_FORWARD_UDP
FW_FORWARD_MASQ_TCP
FW_FORWARD_MASQ_UDP
FW_REDIRECT_TCP
FW_REDIRECT_UDP
FW_LOG_DENY_CRIT=yes
FW_LOG_DENY_ALL=no
FW_LOG_ACCEPT_CRIT=yes
FW_LOG_ACCEPT_ALL=no
FW-KERNEL_SECURITY=yes
FW_STOP_KEEP_ROUTING_STATE=no
FW_ALLOW_PING_FW=yes
FW_ALLOW_PING_DMZ=no
|


