Uw firewall testen

>Index <

Firewalls instellen

Het instellen van een firewall is beslist niet eenvoudig. Veel mensen maken zich er te gemakkelijk vanaf. Bijvoorbeeld door zonder netwerkkennis een personal firewall te installeren. Ze laten het configureren aan een Wizard doen, maar wat die doet weten ze niet. Ze willen snel "veilig" zijn, zonder zich om de technische details te bekommeren. En als een gerenommeerde brandmuur dat belooft te zijn, geloven ze dat graag. Ze willen vooral gerustgesteld zijn.

De Wizard zet de firewall in een learning modus, zodat ze met een ja klik hun poorten weer openzetten. Want als ze nee zeggen komt dat hinderlijke pop-up menu terug. Maar doordat deze gebruikers hiermee aangeven niet door hun firewall gehinderd te willen worden, openen ze opnieuw de poorten van spyware en virussen. Soms zijn ze nog wel onzichtbaar op het internet, maar over het uitgaande verkeer hebben ze geen zicht.

Firewall testen

Het testen van een firewall is nog moeilijker. Als de journalisten van computerbladen soft- of hardfirewalls bespreken, volstaan ze doorgaans met het opsommen van de door de fabrikant vermelde features. De gebruikersinterface wordt beoordeeld op gebruikersvriendelijkheid. Op grond van beloftes en uiterlijkheden worden de firewalls met elkaar vergeleken. Veel features en toch een overzichtelijk gebruikersbeheer doen het goed. Het geeft de gebruiker de indruk dat hij alles onder controle heeft. Maar het chaotisch voorbij flitsende ALT-F10 beeld van de Linux console (kernel logging) geeft waarschijnlijk toch een realistische beeld.

Of een firewall de besproken geavanceerde functies ook correct uitvoert, wordt zelden getest. Als de NAT het doet zijn de testers al tevreden. Maar of een stateful inspection of DOS defense echt waarmaakt wat de interface belooft, blijft buiten beschouwing. Serieuze stresstesten kwam ik nooit tegen. En voor een analyse van de gerepareerde bugs die in de readme's van de vorige versie bekend werden nemen uw voorlichters zelden de tijd. Dat was toen, maar nu zal het wel beter zal zijn.

Open source firewalls zoals de Shoreline firewall publiceren hun lekken dapper op de homepage. En niet in een cryptisch verstopt bericht na een software update.

07/17/2005 Security vulnerability in MACLIST processing
Description

A security vulnerability has been discovered which affects all supported stable versions of Shorewall.  This vulnerability enables a client accepted by MAC address filtering to bypass any other rule.  If MACLIST_TTL is set to a value greater than 0 or MACLIST_DISPOSITION is set to "ACCEPT" in /etc/shorewall/shorewall.conf (default is MACLIST_TTL = 0 and MACLIST_DISPOSITION = REJECT), and a client is positively identified through its MAC address, it bypasses all other policies/rules in place, thus gaining access to all open services on the firewall. 

In dit geval leverde de feature MAC adres filtering van de Shoreline firewall een vrijplaats op voor degenen die MAC adressen spoofden. Maar veel firewalls worden niet op dergelijke interacties getest. Ze zijn slechts gecertificeerd voor standaard installaties. Installaties waarbij alles goed gaat en er niet van te voren al een virus of een andere verstorende factor was geïnstalleerd.

Toxicologie

Dit lijkt op een fundamenteel probleem in de toxicologie, dat redelijk wat bekend is over de schadelijke effecten en economisch gezien "acceptabel" bevonden MAC waarden van enkele individuele noxen bij "gezonde werkers", maar weinig over de effecten op zieken, kinderen, zwangeren en ouden van dagen. Laat staan over het samenspel van meerdere toxische stoffen. Dat is te ingewikkeld om te onderzoeken, te kostbaar en ook ethisch gezien (mensen- en dierenleed) een onhaalbare kaart. Daarom zeggen de "acceptabele" MAC waarden dus niet dat die stoffen veilig zijn. Alles hangt af van de overige stoffen, feiten en omstandigheden.

Maar dat u met hun product nu eindelijk van schade gevrijwaard bent, dat is wèl wat de commerciële firewallmakers u beloven. Niet in de kleine lettertjes, maar ze suggereren het wel in hun naamgeving : Internet security, firewall. Kortom: niemand komt er door. U kunt alles, maar booswichten kunnen niets.

Maar deze naïeve fantasie van alles kunnen en toch ongenaakbaar zijn (Dooms god-mode) is nooit te realiseren. En zeker niet op het internet. Het internet is immers een tweerichtingsverkeer. En uw besturingssysteem en de applicaties die daarop lopen vormen een onvoorspelbaar systeem. Om die reden kiezen systeembeheerders ervoor om na een niet zo succesvol uitpakkende update het systeem in de oorspronkelijke staat te herstellen. In plaats van uit te zoeken wat er echt aan de hand was. Want dat laatste is vaak geen doen.

We willen het zo graag: veilig het internet op zonder problemen. Maar de nog jonge communicatie via het prille internet is net als de evolutionair veel oudere directe communicatie van mens tot mens met veel valkuilen omgeven. De gebrekkige communicatie via het internet bedreigt gelukkig minder uw lichaam en ziel dan wel uw computer en frustratietolerantie tegenover de ingewikkelde techniek, maar ik vrees dat dit met uw toenemende afhankelijkheid van het internet nog wel in negatieve zin zal veranderen.

Poortscanners

Tijdens het testen waren de volgende poortscanners van nut:

De al in Lastige klanten. OS/2 en het internet besproken freeware PM poortscanner voor OS/2 (http://www.horgen.net/rem/software/portscan.html). Deze kunt u als screening test vanaf uw eigen netwerk gebruiken. Het voordeel is dat u dit veilig zonder internetaansluiting kunt doen.

Geavanceerde poortscanners zijn nmap ("Network Mapper") en hping. De laatste kan ook kwaadaardige code versturen.

SoftPerfect Network Scanner: fast and free network scanner : Wie zit er op mijn Windows netwerk? Vink in Netscan / Program options / Shares / All aan om ook de "verborgen" shares te zien. Het is een aardige test voor uw firewall. En om te zien of er nog meer lieden op uw WLAN zitten.


Voor OS/2 zijn er Java poortscanners.

Gibson Research Corporation : Shields up!

Online Security Check

Sygate Online Services: veel opties.

WinNuke Test Page

[ Network tools from Leader ] : Online privacy and proxy tests, flexible whois tool, ping, traceroute and more. Also - news, security and anonymity tips, forums: Let eens op de hoeveelheid informatie die uw Browser doorgeeft!

De externe poortscanner moet op de te beschermen computer gericht staan. Dat is in ieder geval de computer die direct met het internet in verbinding staat. Gebruik bij een poortscan nooit een externe proxy (tenzij u de proxy op uw eigen firewall wilt testen): Netscape / Bewerken / Voorkeuren /Geavanceerd / Proxy's /Directe verbinding met het internet aanvinken.

Poortscans zijn screeningstesten. Ze controleren of u bekende poorten open hebt staan. Ze testen zelden alle poorten en bekijken het alleen vanuit IP perspectief. Bedenk dat internetproviders bepaalde poorten voor het internet kunnen blokkeren. Shields up! spreekt dan van Stealth, maar uw buurman op hetzelfde kabelnetwerk kan wel meekijken. Of een hacker die bij uw buurman is binnengedrongen.

DSL - DSLreports.com - the place for BROADBAND

monitor.dslreports.com scanning 62.251.n.m.. 
responds to an ICMP ping 
does NOT respond to a TCP ping 
does NOT respond to a UDP ping 
Probing TCP ports with SYN packets 
TCP probe finished 
Probing UDP ports for echos 
UDP probe finished 
Scan complete. 
Open TCP port 139 was NOT seen 
microsoft netbios check skipped 
Press results button. 
Conclusion: Healthy Setup! We could detect nothing interesting on any of the default ports on your IP address. Your computer appears to be a hard target. Well done! 

En de poortscanner van Steve Gibson op http://grc.com

139 Net BIOS Stealth! There is NO EVIDENCE WHATSOEVER that a port (or even any computer) exists at this IP address! 

De beste poortscanner is nmap. Nmap heeft vele opties.

sjoerd@zolder:~ nmap 
Nmap V. 2.54BETA30 Usage: nmap [Scan Type(s)] [Options] <host or net list 
Some Common Scan Types ('*' options require root privileges) 
-sT TCP connect() port scan (default) 
* -sS TCP SYN stealth port scan (best all-around TCP scan) 
* -sU UDP port scan 
-sP ping scan (Find any reachable machines) 
* -sF,-sX,-sN Stealth FIN, Xmas, or Null scan (experts only) 
-sR/-I RPC/Identd scan (use with other scan types) 
Some Common Options (none are required, most can be combined): 
* -O Use TCP/IP fingerprinting to guess remote operating system 
-p <range ports to scan. Example range: '1-1024,1080,6666,31337' 
-F Only scans ports listed in nmap-services 
-v Verbose. Its use is recommended. Use twice for greater effect. 
-P0 Don't ping hosts (needed to scan www.microsoft.com and others) 
* -Ddecoy_host1,decoy2[,...] Hide scan using many decoys 
-T <Paranoid|Sneaky|Polite|Normal|Aggressive|Insane General timing policy 
-n/-R Never do DNS resolution/Always resolve [default: sometimes resolve] 
-oN/-oX/-oG <logfile Output normal/XML/grepable scan logs to <logfile 
-iL <inputfile Get targets from file Use '-' for stdin 
* -S <your_IP/-e <devicename Specify source address or network interface 
--interactive Go into interactive mode (then press h for help) 
Example: nmap -v -sS -O www.my.com 192.168.0.0/16 '192.88-90.*.*' 
SEE THE MAN PAGE FOR MANY MORE OPTIONS, DESCRIPTIONS, AND EXAMPLES 

Standaard geeft nmap:

Interesting ports on (62.251.n.m): 
(The 1547 ports scanned but not shown below are in state: filtered) 
Port State Service 
80/tcp open http 
113/tcp closed auth 

Maar er zijn opties waarbij meer zaken zichtbaar worden.

laptop:/home # nmap -vO 62.251.70.10

Starting nmap V. 2.54BETA30 ( www.insecure.org/nmap/ )
No tcp,udp, or ICMP scantype specified, assuming vanilla tcp connect() scan. Use -sP if you really don't want to portscan (and just want to see what hosts are up).
Host fia10-70.dsl.hccnet.nl (62.251.70.10) appears to be up ... good.
Initiating Connect() Scan against fia10-70.dsl.hccnet.nl (62.251.70.10)
Adding open port 23/tcp
Adding open port 81/tcp
The Connect() Scan took 165 seconds to scan 1549 ports.
Warning: OS detection will be MUCH less reliable because we did not find at least 1 open and 1 closed TCP port
For OSScan assuming that port 23 is open and port 31282 is closed and neither are firewalled
For OSScan assuming that port 23 is open and port 44304 is closed and neither are firewalled
For OSScan assuming that port 23 is open and port 37398 is closed and neither are firewalled
Interesting ports on fia10-70.dsl.hccnet.nl (62.251.70.10):
(The 1547 ports scanned but not shown below are in state: filtered)
Port State Service
23/tcp open telnet
81/tcp open hosts2-ns

No OS matches for host (test conditions non-ideal).
TCP/IP fingerprint:
SInfo(V=2.54BETA30%P=i386-suse-linux%D=12/27%Time=3E0C7DFB%O=23%C=-1)
TSeq(Class=TD%gcd=C%SI=1%IPID=I%TS=U)
TSeq(Class=TD%gcd=6%SI=3%IPID=I%TS=U)
TSeq(Class=TD%gcd=2%SI=8%IPID=I%TS=U)
T1(Resp=Y%DF=N%W=834%ACK=S++%Flags=AS%Ops=ME)
T2(Resp=Y%DF=N%W=0%ACK=S++%Flags=AR%Ops=)
T3(Resp=Y%DF=N%W=834%ACK=S++%Flags=AS%Ops=ME)
T4(Resp=Y%DF=N%W=0%ACK=O%Flags=AR%Ops=)
T5(Resp=N)
T6(Resp=N)
T7(Resp=N)
PU(Resp=N)


TCP Sequence Prediction: Class=trivial time dependency
Difficulty=8 (Trivial joke)
IPID Sequence Generation: Incremental

Nmap run completed -- 1 IP address (1 host up) scanned in 185 seconds
laptop:/home # nmap -vO ecs

Starting nmap V. 2.54BETA30 ( www.insecure.org/nmap/ )
No tcp,udp, or ICMP scantype specified, assuming vanilla tcp connect() scan. Use -sP if you really don't want to portscan (and just want to see what hosts are up).
Host ecs.thuis (192.168.1.5) appears to be up ... good.
Initiating Connect() Scan against ecs.thuis (192.168.1.5)
Adding open port 139/tcp
Adding open port 8080/tcp
Adding open port 80/tcp
The Connect() Scan took 0 seconds to scan 1549 ports.
For OSScan assuming that port 80 is open and port 1 is closed and neither are firewalled
Interesting ports on ecs.thuis (192.168.1.5):
(The 1546 ports scanned but not shown below are in state: closed)
Port State Service
80/tcp open http
139/tcp open netbios-ssn
8080/tcp open http-proxy

Remote operating system guess: IBM OS/2 Warp Server for E-business (Aurora) Beta
TCP Sequence Prediction: Class=random positive increments
Difficulty=52560 (Worthy challenge)
IPID Sequence Generation: Incremental

Nmap run completed -- 1 IP address (1 host up) scanned in 1 second