3. Guarddog gebruiken

3.1 Basisinstellingen

In wat volgt worden de belangrijkste concepten in de context van een netwerk beschreven. Voorts tonen we hoe je Guarddog snel kan instellen voor een individuele computer.

Guarddog opstarten

Een goed begin is natuurlijk Guarddog opstarten. Voor recente installaties zou je Guarddog moeten terugvinden in het K-menu van KDE, in de categorie "Internet". Je zal na het opstarten meteen om het root-paswoord gevraagd worden. Dat is de bedoeling, omdat Guarddog privileges nodig heeft om de netwerkinstellingen van je computer bij te werken.

Als je het hoofdvenster van Guarddog vluchtig bekijkt, zie je dat het verdeeld is in vier tabbladen. In dit onderdeel van deze handleiding laten we de tabbladen Zone, Loggen en Geavanceerd even links liggen. We concentreren ons op het tabblad Protocol.

Fundamentele netwerk-concepten

Deze sectie mag je gerust overslaan als je op de hoogte bent van netwerk-protocollen en van het typische client/server-model.

Om te begrijpen wat een protocol is, moet je beseffen dat een netwerk bestaat uit computers die met andere computers spreken. Net zoals dat voor mensen het geval is, moeten beide computers het eens zijn over de taal die ze gebruiken om te communiceren. Bij mensen gaat het dan om Engels, Nederlands of Chinees, maar ook om morse-code, chemische symbolen en lichaamstaal. De taal die computers in een netwerk hanteren, noemen we netwerk-protocollen (het meervoud mag ook protocols luiden, als je dat liever hoort ;-)).

In tegenstelling tot menselijke spreektalen dienen netwerk-protocollen steevast één specifiek doel, zoals het verplaatsen van bestanden (FTP), het ophalen van webpagina's (HTTP) of chatten tussen gebruikers mogelijk maken (IRC).

Een aanval op systemen die deel uitmaken van een netwerk is gebaseerd op het gebruik/misbruik van protocollen en van de software die die protocollen implementeert. Al te vaak is het de software, als implementatie van een protocol, die gebreken of fouten bevat die het kwaadwillige lieden mogelijk maakt om toegang te krijgen tot een systeem of om een systeem danig te ontregelen.

Een andere belangrijk begrip is het client/server-model. Eender welk netwerk-protocol bedient ten minste twee onderscheiden partijen die aan de communicatie deelnemen. Ofschoon beide partijen gebruik maken van hetzelfde protocol, zullen ze meestal verschillende rollen spelen. In het meest gebruikelijke model speelt de ene partij "client" en de andere partij "server". De server beantwoordt dan bepaalde verzoeken van de client. Koop je een pakje sigaretten in de krantenwinkel, dan ben jij de client. De persoon die de transactie afhandelt is de server. Jullie spreken beide Nederlands, maar maken op een sterk verschillende manier deel uit van de communicatie. Een concreet voorbeeld is het HTTP-protocol, in wijd verbreid gebruik op het WWW. Je webbrowser gedraagt zich als client, en de imposante server van Slashdot of CNN houdt zich ermee bezig je webbrowser te bedienen met HTML-pagina's, zodra die daarom vraagt.

DNS toestaan

Deze sectie mag je gerust overslaan als je weet wat DNS is.

Het Protocol-tabblad van Guarddog gebruik je om te bepalen welke protocollen gebruikt mogen worden tussen jouw computer en het internet.

Het DNS-protocol speelt een erg belangrijke rol bij eender welke vorm van communicatie. Alle computers die met het internet verbonden zijn, bezitten een uniek nummer: een IP-adres. Meestal bestaat een IP-adres uit vier, door punten gescheiden nummers van elk maximaal drie cijfers, bijvoorbeeld 216.239.59.104. Die notatie heet in het Engels "dotted quad", vrij vertaald: Van Puntjes Voorzien Viertal. Je kan een IP-adres vergelijken met een telefoonnummer, maar dan voor computers.

Een probleem met IP-adressen als unieke identificatie van computers is dat zo'n dotted quad-notatie niet bijster gebruiksvriendelijk is. Om die reden kwamen domeinnamen in gebruik. Een domeinnaam is niets meer dan een computernaam, maar dan gemakkelijker te onthouden dan zijn IP-adres. Voorbeelden van domeinnamen zijn www.simonzone.com, www.google.com en www.kde.nl. Je computer werkt echter niet met domeinnamen, maar met IP-adressen. DNS slaat daarom een brug tussen domeinnamen en IP-adressen: het is een systeem dat vlot bekkende namen als www.kde.nl omzet in het minder vlot bekkende, maar voor computers gemakkelijkere IP-adres 130.161.180.142. DNS-servers zijn machines op het internet die niets anders doen dan andere machines antwoorden geven op de vraag naar het IP-adres dat bij een gegeven domeinnaam hoort. Vergelijk het met een telefoonboek, dat lange lijsten bevat van namen en adressen met de bijbehorende telefoonnummers. Dankzij een DNS-server weet je computer wat je bedoelt als je naar www.kde.nl vraagt, of als je wil chatten via irc.freenode.net.

Laten we even de stappen doorlopen die nodig zijn om onze computer de toelating te geven gebruik te maken van het DNS-protocol.

Ziezo. Meer hoef je niet te doen om je machine toegang te verlenen tot DNS-servers op het internet. Het venster zou er zo uit moeten zien:

Basisinstellingen...
[klik voor ware grootte]

Bovenstaande afbeelding vat ook mooi samen hoe je de informatie binnen het Protocol-tabblad moet interpreteren. Er staat heel wat, maar het is van cruciaal belang dat je weet wat het allemaal betekent, om foute instellingen te vermijden. Merk trouwens op dat er een dt-fout in de vertaling is geslopen... :-)

Organisatie van protocollen

In het voorbeeld hebben we het gebruik van DNS toegestaan. Je kan nu verdergaan met de gebruikelijke protocollen al dan niet toe te laten.

De vele protocollen die Guarddog ondersteunt, worden in categorieën gegroepeerd, opdat je gemakkelijk dat ene protocol kan terugvinden waar je naar op zoek bent. De verschillende categorieën zijn:

Er is natuurlijk een zeker overlappingsgebied; sommige protocollen hadden evengoed bij een andere categorie geplaatst kunnen worden. Klik op de naam van een protocol als je meer informatie nodig hebt; er verschijnt dan een beschrijving onderaan in de linkerhoek van het venster.

Vaak gebruikte protocollen toestaan

Wat volgt is een kort lijstje van de meest gebruikelijke protocollen die je zou kunnen willen toestaan.

Opgelet!

Probeer aan de verleiding te weerstaan om stomweg alle protocollen toe te laten! Hoe meer protocollen je toestaat, hoe zwakker je firewall wordt. Het idee is dat je niet meer protocollen aanvinkt dan je echt nodig hebt. Laat niet zomaar een protocol toe omdat je het wel 's nodig zou kunnen hebben in de toekomst. Mocht dat het geval blijken, gebruik dan pas op dat moment Guarddog om je firewall bij te schaven.

Je nieuwe firewall aan het werk zetten

De wijzigingen die je zonet aangebracht hebt, zijn niet onmiddellijk actief. Om de veranderingen ook daadwerkelijk toe te passen klik je op de knop Toepassen of op OK. Die laatste zorgt ervoor dat je Guarddog meteen na het inschakelen van de firewall afsluit. Denk dus niet dat je firewall niet langer functioneel is zodra je Guarddog verlaat!

Als je je aanpassingen inschakelt met een van voormelde knoppen, krijg je een waarschuwingsvenster, dat je vertelt dat je de huidige netwerkverbindingen kan verstoren door de firewall in te schakelen. Dat is normaal; algemeen gesproken is het beter om niet met iets belangrijks bezig te zijn op het netwerk, op het moment dat je je firewall inschakelt. Doe dat dus niet als pakweg die ene FTP-download van je favoriete distributie ongeveer voor drie vierde gevorderd is.

Nadat je in dat eerste waarschuwingsvenster op OK geklikt hebt, springt er een tweede venster tevoorschijn, dat je op de hoogte houdt van de vooruitgang van het instellen van de firewall. Mochten er zich fouten voordoen, dan krijg je die in dit venster te zien. Klik nogmaals op OK om het venster te sluiten.

Klaar! Je nieuwe firewall zou actief moeten zijn. Je systeem is bovendien zodanig ingesteld, dat het de firewall elke keer als je opstart inschakelt. Nogmaals, Guarddog hoeft niet te draaien opdat de firewall je systeem beschermt. Je kan natuurlijk wél te allen tijde Guarddog gebruiken om de instellingen van je firewall bij te werken.

Tip

Je kan een soort test doen om te kijken of je firewall zijn werk doet. Surf naar de Gibson Research Corporation en klik op "Shields Up!". Zoek daarna naar "Test My Shields!" of "Probe My Ports!". Je computer wordt dan gescand en je krijgt een mooi overzicht van wat er zoal te vinden viel. Hopelijk krijg je een positief rapport! :-) De test is misschien niet de meest wetenschappelijk verantwoorde, maar hij kan je toch een idee geven van de stand van zaken...

3.2 Gebruik maken van zones

In wat volgt gaan we verder met wat we in de eerste sectie bekeken hebben. We introduceren voorts het concept van "zones". Zones bieden je de mogelijkheid om precies te bepalen welke protocollen je wil toelaten tussen bepaalde groepen van computers.

Zones: een inleiding

Een zone is voor Guarddog gewoon een hoopje IP-adressen. Herinner je dat IP-adressen een soort telefoonnummer zijn, maar dan voor computers die op het internet aangesloten zijn. Een zone is min of meer de bepaling van een groep computers. Eenmaal je een zone bepaald hebt, kan je in het tabblad Protocol aangeven van welke protocollen de computers in die zone zich mogen bedienen.

Een voorbeeld: stel dat je weet dat je de mensen van koengodderis.be absoluut niet kan vertrouwen. Je kan hen dan, met behulp van zones, de toegang tot je eigen computer ontzeggen. Eerst maak je een zone aan die je pakweg "Bad Guys" doopt. Je plaatst vervolgens het domein koengodderis.be in die zone. Daarna ga je naar het Protocol-tabblad en je vergewist je ervan dat er geen enkel protocol aangevinkt staat tussen de zone "Bad Guys" en de lokale zone, die de eigen machine voorstelt. Op die manier kan je de toegang van koengodderis.be tot je eigen machine inperken of volledig blokkeren.

Bad Guys...

Zones bepalen en wijzigen

Je kan zones opgeven en aanpassen onder het tabblad Zone. Aan de linkerkant zie je daar een lijst van de reeds opgegeven zones. Er zijn twee ingebouwde zones die je niet kan aanpassen: Internet en Lokaal. De lokale zone bevat de eigen machine: de computer waar Guarddog op draait. Het internet is de zone die alle IP-adressen bevat die in geen enkele andere zone voorkomen. Anders gezegd: een IP-adres dat nergens expliciet vermeld wordt, zit in de Internet-zone.

Aan de rechterkant van het venster zie je informatie over de geselecteerde zone. Elke zone heeft een naam, die onder het Protocol-tabblad gebruikt wordt (kies dus best een korte en duidelijke naam). Je kan verder een uitgebreider commentaar schrijven bij elke zone.

Onder Zone-adressen staat een lijst van IP-adressen uit de desbetreffende zone. Zones waarmee de geselecteerde zone mag communiceren worden vermeld in de lijst met Verbindingen aan de rechterzijde van het venster.

Opgelet!

Een welbepaald IP-adres mag slechts in één zone tegelijkertijd voorkomen!

Een gedemilitariseerde zone aanmaken

Aan de slag. Een goede manier om van zones gebruik te maken, is het verstevigen van onze firewall door middel van een gedemilitariseerde zone (in het Engels afgekort tot DMZ, voor "DeMilitarised Zone"). In netwerkjargon wordt met een DMZ een groep van computers bedoeld die zich tussen het internet en het interne netwerk bevindt. Computers in de DMZ zijn blootgesteld aan het internet; meestal fungeren ze als webserver, emailserver of iets dergelijks. Blootgesteld zijn aan het internet brengt natuurlijk een voortdurend risico op aanvallen van buitenaf met zich mee; om die reden is de toegang vanuit de DMZ naar het interne netwerk beperkt. Het idee is dat een eventuele aanvaller die zich toegang kan verschaffen tot een computer in de DMZ daardoor niet meteen volledige toegangsrechten heeft voor het interne computernetwerk.

Zelfs als je geen intern netwerk van web- of emailservers beheert, maak je waarschijnlijk wel gebruik van een groep computers die je kan beschouwen als onderdeel van een soort DMZ. In wat volgt zullen we bijvoorbeeld een DMZ opzetten die de mailservers bevat die je gebruikt voor het verzenden en ontvangen van e-mail.

Klik om te beginnen op het tabblad Zone en vervolgens op de knop Nieuwe zone om, logischerwijs, een nieuwe zone aan te maken. Die nieuwe zone zal meteen in in de lijst verschijnen. Bovenaan kan je in het tekstvak Naam een betere naam invullen; kies in dit geval bijvoorbeeld voor "DMZ". Zoals reeds gezegd werd houd je dergelijke namen best kort en bondig; in het tekstvak eronder (Toelichting) kan je altijd meer in detail treden.

Aan de rechterzijde van het venster zie je een lijst met Verbindingen, die enkel een reeks selectievakjes bevat. Daarmee bepaal je met welke zones de huidige zone verbonden is. Vink in dit geval Lokaal aan, om aan te geven dat de DMZ verbonden is met de lokale zone. De combinatie van de DMZ en de lokale zone zal pas beschikbaar zijn onder het tabblad Protocol als je dit aankruisvakje aanvinkt. Guarddog blokkeert immers elke vorm van communicatie tussen zones die niet met elkaar verbonden zijn.

De DMZ instellen...
[klik voor ware grootte]

Ga nu naar het Protocol-tabblad en zorg ervoor dat het om Protocollen bediend vanuit zone 'DMZ' aan clieënten in zones: gaat, door aan de linkerkant de DMZ te selecteren. Klik je weg naar de E-mail-groep van protocollen en duid POP3 en SMTP aan. POP3 is het protocol waarmee je je mail van de mailserver afhaalt; SMTP is het protocol waarmee je je mail verzendt. Door die protocollen voor "Lokaal" in te schakelen, delen we mee dat we de lokale machine toestemming willen geven om deze mailprotocollen te gebruiken als het om machines in de DMZ-zone gaat.

Als de machines in de DMZ ook als webserver fungeren, wees dan vooral zo vrij om ook HTTP, FTP en eventuele andere protocollen die je nodig hebt aan te duiden. Ben je klaar met het instellen van Guarddog, klik dan op Toepassen en test met je mail-programma of alles nog naar behoren werkt.

3.3 Een router instellen

Tot dusver hebben we Guarddog enkel ingezet om één enkele machine te beschermen, namelijk de machine waarop Guarddog geïnstalleerd is. Iedereen weet echter dat een computer die Linux draait perfect dienst kan doen als een router, om meerdere netwerken met elkaar te verbinden. Hieronder bekijken we hoe je Guarddog op een gateway-machine installeert om een LAN van het internet af te schermen.

Let op!

Guarddog biedt voor routerconfiguraties enkel ondersteuning als het om een Linux kernel uit de 2.4-reeks of recenter gaat, vergezeld van iptables!

Een typisch LAN, verbonden met het internet

Onderstaande afbeelding toont de structuur van een typisch, via een op Linux-gebaseerd router-systeem met het internet verbonden lokaal netwerk (LAN). Het LAN dat we willen afschermen van de buitenwereld bevindt zich links op die afbeelding, het internet aan de rechterzijde ervan. Het diagram toont dus de zones waarmee we verderop aan de slag zullen gaan in Guarddog.

De structuur van een typisch LAN...

Alle communicatie tussen het LAN en het internet moet voorbij de gateway-machine (je herkent hem aan de waakhond ;-)), waarop Guarddog draait. Er is dus, anders gezegd, geen communicatie mogelijk zonder dat die een tussenstap maakt via die ene machine, die we de gateway noemen. Het spreekt dan ook voor zich welk de ideale plaats is om netwerkverkeer te filteren en te controleren...

Guarddog is een *firewall*!

Vaak heerst er wat verwarring over de functie van een firewall, als tegengesteld tot de functie van een router, die erin bestaat pakketjes te routen.

Een firewall is een filter van netwerkverkeer: hij filter en blokkeert ongewenst en misschien zelfs gevaarlijk netwerkverkeer. Een firewall heeft dus te maken met veiligheid. IP-pakketjes de juiste weg wijzen (routen) of aan NAT doen heeft daarentegen niets met veiligheid te maken! Dergelijke dingen vallen onder gewoon netwerkgebruik, zij het van het gevorderde soort.

De verwarring daaromtrent is ontstaan in de tijd voor Linux 2.4. Het netwerk-subsysteem van de kernel was toen nog zodanig ontworpen, dat je onmogelijk de alledaagse functionaliteit van een firewall onafhankelijk van gevorderde routing-functies kon beschouwen. Die situatie ligt aan de basis van firewall-software die meteen ondersteuning biedt voor dingen als routen, IP-masquerading en port-forwarding, om maar enkele dingen te noemen.

Onthoud echter dat Guarddog een firewall is. Guarddog zal dus van bitter weinig nut zijn voor het instellen van de hierboven opgesomde, gevorderde netwerkfuncties. Gebruik daarvoor andere software. Guidedog, bijvoorbeeld, is een gebruiksvriendelijk programma voor het instellen van dat soort functies. Het is geschreven door de auteur van Guarddog, en ontworpen om er mooi bij te passen.

Je router- en netwerkinstellingen afwerken

Voor je verdergaat, zorg je er best voor dat je router- en netwerkinstellingen in orde zijn. Vergewis je er dus van dat alle gewenste functionaliteit aanwezig is en zorg ervoor dat alles functioneert zoals het hoort! Om je gateway na te kijken kan het handig zijn om Guarddog tijdelijk uit te schakelen. Vink daartoe de optie Firewall uitschakelen aan, onder het tabblad Geavanceerd, en bevestig je keuze (Toepassen). Zo kan je de opstelling van je netwerk testen zonder gehinderd te worden door Guarddog, dat eventueel testverkeer zou kunnen blokkeren.

Let op!

Het is ten zeerste aan te raden om je netwerk niet te testen terwijl het met een potentieel vijandig netwerk zoals het internet verbonden is! Verbind liever een computer met de netwerkkaart waarmee je later met het internet wil verbinden en geef die machine een IP-adres dat niet tot je lokale netwerk behoort, zodat het lijkt alsof hij van het internet deel uitmaakt.

Guarddog aanleren om verkeer van en naar je LAN toe te laten

Heb je de instellingen van je router en netwerk getest met Guarddog uitgeschakeld, zet je firewall dan terug aan en pas de wijzigingen toe. Normaalgezien stel je vast dat je LAN nu totaal afgesloten is van het internet. Guarddog is ontworpen volgens het motto "wat niet mag, is verboden". Concreet komt dat erop neer dat alles wat je niet expliciet hebt toegestaan door Guarddog geblokkeerd wordt. In dit geval heeft niemand Guarddog verteld dat het verkeer vanuit je LAN naar het internet of vice versa doorgelaten mag worden; het gaat er dus van uit dat dat verkeer geblokkeerd moet worden. Deze aanpak zorgt ervoor dat het eenvoudig is om veilige instellingen te hebben (zij het misschien soms té veilig) en minder vanzelfsprekend om dingen in het honderd te laten lopen.

Je maakt Guarddog duidelijk dat computers binnen het LAN verbinding mogen maken met computers op het internet door gebruik te maken van zones. Het is heel eenvoudig: eerst maak je een zone aan die de adressen bevat van alle computers van het LAN. Je geeft vervolgens aan dat die zone verbonden is met het internet (en eventueel ook met de lokale zone) en tot slot klik je onder Protocol de protocollen aan die je tussen het LAN en het internet wil toestaan.

Stap voor stap

Ga naar het tabblad Zone en maak een nieuwe zone aan, die je bijvoorbeeld "LAN" noemt. In de lijst van Zone-adressen vul je alle IP-adressen in die deel uitmaken van je lokale netwerk. Verschillende notaties zijn daarbij trouwens toegestaan, je kan zelfs hele netwerkblokken in één keer ingeven. Heb je bijvoorbeeld een IP-masqueraded netwerk met de private adresruimte 192.168.1.0/255.255.255.0, dan kan je dat hele blok in een enkel adres beschrijven: 192.168.1.0/255.255.255.0 of, nog korter, 192.168.1.0/24.

Ga nu naar de Verbindingslijst en vink beide zones (Internet en Lokaal) aan om duidelijk te maken dat je LAN zowel met het internet als met de lokale zone verbonden is. Daarna breng je een bezoekje aan het Protocol-tabblad en je vergewist je ervan dat je aan het werk bent met Protocollen bediend vanuit zone 'Internet'. De lijst met netwerkprotocollen daaronder bevat nu reeksen aankruisvakjes voor zowel de lokale zone als de LAN-zone. Hogerop hadden we al protocollen ingeschakeld voor de lokale zone, nu doen we hetzelfde voor de LAN-zone. Vink dus hier de protocollen aan, waarvan je wil dat ze toegestaan zijn tussen de machines binnen het LAN en de rest van het internet.

Ben je klaar met het klikwerk, druk dan weer maar eens op Toepassen en kijk even na of je het internet nog kan benaderen vanuit je lokale netwerk. Meer is er echt niet aan.

Index | Terug | Vooruit | 4. En nu?

Over deze site | Laatst gewijzigd: $Date: 2005/04/24 18:27:05 $ door: $Author: tijmen $