The good, the bad and NAT

Ik wil even een misverstand uit de weg ruimen. Iedereen heeft het over NAT en de problemen die daarbij optreden ten aanzien van het vinden van machines in het interne netwerk. Dat zou echter bij NAT niet het geval moeten zijn. NAT is namelijk Network Address Translation waarbij interne adressen 1-op-1 vertaald worden naar externe adressen. Als een extern adres, van de organisatie, bekend is, is uit de vertaaltabel te achterhalen wat het interne adres is.

Het probleem treedt op doordat alle leveranciers tegenwoordig PAT (Port Address Translation) verkopen als NAT. Bij PAT wordt ieder intern adres vertaald naar een enkel extern adres en wordt de poort, waarop wordt gesproken, gewijzigd.

NAT bestaat al zeer lang. Als een organisatie aansloot op internet kregen ze van hun provider een range publieke adressen. Intern werden private adressen gebruikt en de NAT-router vertaalde die private adressen naar de publieke adressen. Soms gebruikte een organisatie intern ook wel eens publieke adressen. Als ze dan van provider wisselden, wenste men intern niet te hernummeren en werd er een NAT-router geplaatst om de oude range te vertalen naar de range die ze van hun nieuwe provider kregen.

PAT is midden 90'er jaren ontstaan. Een van de eerste implementaties was IP-masquerade (voor Linux). Het werd ontwikkeld omdat zowel mijn vriendin als ik een PC hadden en we van onze ADSL-provider maar een IP-adres kregen. We wilden natuurlijk beiden tegelijk en ongestoord van internet genieten. Ik herinner me dat vooral FTP toen een uitdaging was.

Waarom gebruikt een organisatie binnen SURFnet NAT?

Veel van de huidige IT-leveranciers zijn gewend zaken te doen met bedrijven die, nog steeds, maar een enkel IP-adres van hun provider krijgen. De oplossingen die ze hebben bedacht zijn daar dus op gericht. Ze zijn natuurlijk ook heel goed bruikbaar in situaties waarbij een organisatie een hele range krijgt, zoals bij SURFnet. Andersom is lastiger.

Beveiliging is ook een veelgehoorde reden. Met NAT is het (nagenoeg) onmogelijk om een machine op het interne netwerk vanaf internet te bereiken. Jammer genoeg worden de meeste machines echter nog steeds besmet middels downloads en e-mail. Dan is toegang vanaf internet naar de machine niet nodig. Die machine maakt zelf wel een verbinding naar een Command & Control server om te horen welke streken hij uit moet halen.

Daar komt het probleem om de hoek kijken. SURFcert weet vaak wel dat er een verbinding is gemaakt, maar heeft verder geen informatie. Degene die de C&C server in de gaten houdt, wil het IP-adres hiervan niet bekend maken. Hoe meer mensen dat adres weten, des te eenvoudiger wordt het namelijk voor de makers van malware om dat IP-adres te mijden.

Een ander probleem waar SURFcert nog wel eens tegenaan loopt, is dat een instelling zegt dat ze het IP-adres dan wel zullen blokkeren. Dan komen er geen klachten meer. Dat wil natuurlijk niet zeggen dat het probleem is verholpen. De malware kiest een andere IP-adres, dat waarschijnlijk niet in de gaten wordt gehouden, en gaat verder met zijn werk.

Blokkeren kan wel, maar zorg dan ook voor adequate logging. Als het IP-adres bekend is en een machine verbinding wil maken met dat IP-adres, laat dan alle bellen afgaan. De keus of de machine dan nog steeds naar buiten kan of geblokkeerd wordt, is aan de instelling zelf. Als het adres geblokkeerd wordt, gaat de malware, zoals gezegd, op zoek naar een ander adres. Als de instelling voldoende capaciteit heeft, zou dat adres achterhaald kunnen worden. Dan zag SURFcert graag dat wij dat adres gemeld krijgen. Sommige instellingen doen dat en hierdoor konden we meer besmettingen vinden dan alleen die ons gemeld worden.

Hoe kun je een besmette machine vinden zonder dat je het adres van de C&C server weet?

Ik moet bekennen dat zoiets heel lastig is. Het is wel eenvoudiger te maken om de bron te vinden. Iedere instelling heeft van SURFnet minimaal een /24 gekregen. Dat zijn ruim 250 adressen die gebruikt kunnen worden. Ons advies is dan ook om meer dan een adres voor uitgaand verkeer te gebruiken. Een goed advies is altijd om de servers op een ander adres naar buiten te laten gaan dan de werkplekken van medewerkers. Voor studieplekken van leerlingen of studenten is het goed om daar ook een ander adres voor te gebruiken.

Als je verder wilt gaan, kun je overwegen om aparte adressen voor nameserver, mailserver en webserver te gebruiken. Zet iemand het adres van de mailserver in een blacklist, dan zijn nameserver en webserver nog gewoon benaderbaar.

Ben je bang voor besmettingen bij medewerkers, kun je iedere afdeling een eigen extern IP adres geven. Als er dan een besmetting wordt gemeld, is het aantal te onderzoeken pc’s plotseling veel lager geworden.

Bij leerlingen is het ook verstandig om compartimentering toe te passen. Zeker sinds leerlingen het leuk lijken te vinden om DDoS-aanvallen uit te voeren op de eigen instelling. Ze doen dan een aanval op hun eigen IP-adres. Als dat terug is te koppelen tot een locatie of zelfs een enkele (ICT)-klas sta je veel sneller bij de dader in het lokaal.

We hopen dat dit verhaal een en ander rond PAT en NAT wat heeft verduidelijkt en dat dit een goede reden is om eens naar de eigen situatie te kijken. Doe dat bij voorkeur met de IT-leverancier. Hoe meer kennis zij krijgen, des te beter ze ook voor hun andere klanten, soms ook onze klanten, kunnen zorgen.

Auteur

Reacties

Dit artikel heeft 0 reacties