Håndtere ikke-rutbare adresser fra andre steder

Selv når du har en riktig konfigurert gateway som håndterer nettverksadresseoversetting for ditt eget nettverk, kan du komme ut for at du må kompensere for feilkonfigurasjoner andre har gjort andre steder.

En direkte deprimerende vanlig type feilkonfigurasjoner er de som lar trafikk med ikke-rutbare adresser slippe ut på Internett. Trafikk fra ikke-rutbare adressser har også spilt en rolle i flere teknikker som er brukt i DOS-angrep, så det kan være verd å overveie å blokkere eksplisitt for trafikk fra ikke-rutbare adresser inn til nettverket ditt.

En mulig løsning er skissert nedenfor, her i en utgave som for sikkerhets skyld blokkerer for forsøk på å kontakte ikke-rutbare adresser gjennom det ytre grensesnittet på gatewayen:

martians = "{ 127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, \
              10.0.0.0/8, 169.254.0.0/16, 192.0.2.0/24, \
              0.0.0.0/8, 240.0.0.0/4 }"

block drop in quick on $ytre from $martians to any
block drop out quick on $ytre from any to $martians

Her står makroen martians adressene fra RFC 1918 og noen få andre adresseområder som forskjellige RFCer angir ikke skal være i åpen sirkulasjon på Internett. Trafikk til og fra slike adresser blir stille forkastet på det ytre grensesnittet på gatewayen.

Nøyaktig hvordan denne typen beskyttelse bør implementeres vil variere etter en rekke forhold, hovedsakelig hvordan nettverket ellers er konfigurert. Det er for eksempel ikke utenkelig at nettverksdesignen du arbeider ut fra gjør at du må tillate eller blokkere andre adresseområder enn det som er angitt her.

Dermed er vår enkle brannmur med NAT for et lite lokalnett komplett.