Firewall scannen – hoe doe je dat ?

      Reacties uitgeschakeld voor Firewall scannen – hoe doe je dat ?
We gaan er van uit dat je een firewall hebt draaien op je pc (en eventueel ook aan het netwerk). Hoe kun je nou controleren of die naar behoren functioneert? De meest doeltreffende methode is firewall-poorten scannen. Lees hier welke opties je zoal ter beschikking hebt.

Er bestaan verschillende, gratis online poortscans waarmee je de status van de (belangrijkste) poorten kunt checken. We vermelden graag de volgende poortscanners:

1. Port Scanner & Test van Spiceworks

2. De Online Firewall Test for Work or Home, maakt gebruik van nmap (zie paragraaf ‘Interne scan’).

3. En vooral ook Gibson’s Research ShieldsUP!. Klik hier eerst op Proceed en vervolgens bij voorkeur op All Service Ports.

ShieldsUP! scant automatisch alleen het netwerk van waaruit je de scan start. Bij de andere twee vul je zelf het externe ip-adres van je router in of eventueel van een ander netwerk waarvoor je geautoriseerd bent.

Wel is het zo dat de poortscan van Spiceworks als poortstatus alleen Open of Closed vermeldt. Bij de twee andere zie je mogelijk een derde status: Filtered (Online Firewall Test) of Stealth (ShieldsUP!).

Het spreekt voor zich dat een open poort het meeste risico inhoudt, maar wat is nou het verschil tussen ‘closed’ en ‘filtered’ of ‘stealth’? Dat lichten we toe aan de hand van de drieledige tcp-handshake, die normaal gesproken wordt uitgevoerd bij het opzetten van bijvoorbeeld een http-sessie. Bij een open poort zien we in de tcp-header dan de volgende vlaggen opduiken (dat kun je bijvoorbeeld nagaan met behulp van de gratis netwerksniffer/protocolanalyzer Wireshark): [Syn] (client > server), [Syn,Ack] (server > client), [Ack] (client > server).

Is de poort gesloten, dan betekent dit gewoonlijk dat de firewall zo is geconfigureerd dat een datapakket afgewezen (rejected) wordt in plaats van genegeerd (dropped). In ons voorbeeld zou de firewall dan een [Rst,Ack]-pakket kunnen uitsturen, oftewel een reset waarmee de connectie wordt verbroken.

Zo’n reactie geef in principe aan dat er geen service actief is op de computer, maar de firewall laat de connectie wel door naar de server, of er is eenvoudigweg geen firewall aanwezig. Staat de poortstatus op ‘filtered’ of ‘stealth’, dan reageert de gescande poort helemaal niet: het [Syn]-pakket werd zonder meer genegeerd door de firewall.

Firewall scannen - hoe doe je dat 01

Het lijkt logisch dat de status ‘filtered’ of ‘stealth’ veiliger is dan ‘closed’ en dat is ook de overtuiging van specialisten als Gibson Research: blijken alle gescande poorten ‘stealth’ te zijn, dan zie je bij ShieldsUP! alleen groene vakjes in het resultaat van de poortscan aan. En als tevens een ping-verzoek geblokkeerd wordt, dan krijgt je poortscan het stempel Passed mee in plaats van Failed.

Niet iedereen is het daar mee eens: één open poort bijvoorbeeld volstaat om de hacker duidelijk te maken dat er toch een systeem operationeel is. Maar hoe je het ook bekijkt: filtered/stealth-poorten zijn zeker niet minder veilig dan gesloten poorten.

Interne poortscan

Een poortscan kun je natuurlijk ook intern, binnen je eigen netwerk, uitvoeren, dus achter de eventuele firewall. Dat kun je zien als een extra beveiligingscontrole, want je weet nooit of de online poortscanner iets over het hoofd heeft gezien. Ook daar bestaan diverse tools voor. Windows zelf heeft daarvoor het Opdrachtprompt-commando netstat. Zo geeft de opdracht

netstat -a

je alle actieve tcp-connecties op je lokale machine te zien, inclusief de open poorten (die vind je in de kolom State terug met de aanduiding Listening). Heb je liever elke 10 seconden een lijst van alle actieve connecties, inclusief de pid’s (process id’s), dan gebruik je

netstat -o 10

Zoals gebruikelijk bij de meeste Opdrachtprompt-commando’s krijg je met

netstat /?

een overzicht van alle mogelijke parameters.

Een krachtigere en multiplatform scanner is Nmap. Deze tool bedien je standaard vanaf de Opdrachtprompt, maar tijdens de installatie kun je ook de grafische frontend Zenmap mee-installeren (handig is deze frontend telkens ook de bijhorende Opdrachtprompt-commando’s toont). Deze tool heeft enkele geavanceerde scantechnieken ingebouwd, waaronder OS- en versiedetectie. Met een commando zoals

nmap 192.168.0.0/24

scan je je hele netwerk op open poorten. De tool kun je bovendien met allerlei parameters aanpassen voor zeer gerichte scans, bijvoorbeeld

nmap -n -sS -O -P0 <ip-bereik>

Firewall scannen - hoe doe je dat 02

Open poorten

Stel, tijdens je (externe en/of interne) poortscans ben je op een of meer open poorten uitgekomen. Dat hoeft op zich niet problematisch te zijn, zolang je doelbewust services hebt draaien op die poorten en er geen exploits voor die serverapplicaties bekend zijn. Je doet er dus verstandig aan die servertoepassingen altijd up-to-date te houden.

Services die niet strikt nodig zijn, laat je logischerwijze beter niet draaien, maar wat als niet meteen duidelijk is welke applicaties op je computer precies verantwoordelijk zijn voor de open poorten? In Windows kun je dat onder meer als volgt nagaan: druk op Windows-toets+R en voer perfmon /res uit. Ga naar het tabblad Netwerk en controleer de rubriek Listener-poorten.

Firewall op router

Heb je op de computer waarop je een externe poortscan uitvoerde geen serverapplicaties draaien én is er een correct geconfigureerde firewall actief (zoals de ingebouwde Windows firewall met standaardinstellingen: druk op Windows-toets+S, tik firewall in en start Status van firewall controleren, in het linkervenster zie je de optie Standaardwaarden herstellen), dan mag je in principe een vlekkeloos rapport van de poortscan verwachten. Bij ShieldsUP! bijvoorbeeld betekent dat uitsluitend groene vakjes, evenals de indicatie PASSED.

Voer je echter een perimeterscan uit, dan is de kans groot dat ook in jouw thuisnetwerk niet zozeer de computer waarop je de scan initieerde wordt gescand, maar wel je router, die eventueel in het modem van je provider geïntegreerd zit. In dat geval is het niet uitgesloten dat je zelfs bij een stevig dichtgetimmerde pc een aantal open poorten ziet voorbijkomen tijdens zo’n scan (rode vakjes bij ShieldsUP!).

Dat mag vreemd lijken omdat een thuisrouter normaliter als een soort firewall fungeert, met name door de nat-functionaliteit (network address translation) van het apparaat. Hierbij wordt immers aan elk netwerkapparaat een intern ip-adres bezorgd binnen een bereik dat alleen zichtbaar is binnen het lokale netwerk, wat het directe aanvallen al heel wat lastiger maakt.

Firewall scannen - hoe doe je dat 03

Je mag echter niet uit het oog verliezen dat de router doorgaans ook beheerfuncties aan boord heeft (vaak op tcp-poort 80 of zelfs het weinig robuuste telnet op tcp-poort 23), die bij een onachtzame configuratie mogelijk vanaf internet bereikbaar zijn. Een andere bron van open poorten is portforwarding, een functie op een router die extern verkeer doorsluist naar een interne serverapplicatie, bijvoorbeeld naar een ip-camera of een webserver.

Dan is er ook nog de dmz-functie (demilitarized zone), waarbij je vrijwel al het verkeer naar een specifieke machine toestaat. We gaan er dan wel vanuit dat die machine (eventueel via een extra firewall) gescheiden is van de rest van je netwerk. Hoe dan ook, bots je effectief en wat onverwachts op open poorten, controleer dan in elk geval ook de configuratie-instellingen van je router.