Grunnleggende ASA NAT-Konfigurasjon: Webserver i DMZ i ASA versjon 8.3 Og Nyere

Introduksjon

dette dokumentet gir et enkelt og greit eksempel på hvordan du konfigurerer Network Address Translation (Nat) og Access Control Lists (Acl) på EN ASA-Brannmur for å tillate utgående og innkommende tilkobling. Dette dokumentet ble skrevet med EN ADAPTIVE Security Appliance (ASA) 5510 brannmur enn kjører ASA kode versjon 9.1 (1), men dette kan enkelt gjelde for alle ANDRE ASA brannmur plattform. Hvis du bruker en plattform som EN ASA 5505, som bruker Vlan i stedet for et fysisk grensesnitt, må du endre grensesnittypene etter behov.

Forutsetninger

Krav

det er ingen spesifikke krav til dette dokumentet.

Komponenter Som Brukes

informasjonen i dette dokumentet er basert PÅ EN ASA 5510-brannmur som kjører ASA-kodeversjon 9.1 (1).

informasjonen i dette dokumentet ble opprettet fra enhetene i et bestemt laboratoriemiljø. Alle enhetene som ble brukt i dette dokumentet, startet med en ryddet (standard) konfigurasjon. Hvis nettverket ditt er live, må du sørge for at du forstår den potensielle effekten av en kommando.

Oversikt

Mål

i denne eksempelkonfigurasjonen kan du se på HVILKEN NAT-og ACL-konfigurasjon som trengs for å tillate innkommende tilgang til en webserver I DMZ i EN ASA-brannmur, og tillate utgående tilkobling fra interne og DMZ-verter. Dette kan oppsummeres som to mål:

  1. Tillat verter på innsiden og DMZ utgående tilkobling Til Internett.
  2. Tillat verter på Internett å få tilgang til en webserver PÅ DMZ med EN IP-adresse på 192.168.1.100.

før du kommer til trinnene som må fullføres for å oppnå disse to målene, går dette dokumentet kort over Måten Acler og NAT fungerer på nyere versjoner AV ASA-kode (versjon 8.3 og nyere).

Oversikt Over Tilgangskontrolllister

Tilgangskontrolllister (Tilgangslister eller Acler for kort) er METODEN SOM ASA-brannmuren bestemmer om trafikk er tillatt eller nektet. Som standard nektes trafikk som går fra et lavere til et høyere sikkerhetsnivå. Dette kan overstyres av EN ACL brukt på det lavere sikkerhetsgrensesnittet. OGSÅ ASA, som standard, tillater trafikk fra høyere til lavere sikkerhetsgrensesnitt. Denne virkemåten kan også overstyres MED EN ACL.

I tidligere VERSJONER AV ASA-kode (8.2 og tidligere) sammenlignet ASA en innkommende tilkobling eller pakke mot ACL på et grensesnitt uten å oversette pakken først. MED ANDRE ord MÅTTE ACL tillate pakken som om du skulle fange den pakken på grensesnittet. I versjon 8.3 og senere kode, ASA uoversetter den pakken før den sjekker grensesnittets Acler. Dette betyr at for 8.3 og senere kode, og dette dokumentet, er trafikk til vertens virkelige IP tillatt og ikke vertens oversatte IP.

Se Delen Konfigurere Tilgangsregler I Bok 2: Cisco ASA SERIES Firewall Cli Konfigurasjonsveiledning, 9.1 for mer informasjon om Acler.

Nat Oversikt

NAT PÅ ASA i versjon 8.3 og senere er delt inn i To typer kjent som Auto Nat (Object NAT) og Manuell Nat (Twice NAT). Den første Av De To, Objekt NAT, er konfigurert innenfor definisjonen av et nettverksobjekt. Et eksempel på dette er gitt senere i dette dokumentet. En primær fordel med DENNE nat-metoden er at ASA automatisk bestiller reglene for behandling for å unngå konflikter. Dette er den enkleste formen FOR NAT, men med den enkle kommer en begrensning i konfigurasjonsgranularitet. Du kan for eksempel ikke gjøre en oversettelse beslutning basert på målet i pakken som du kunne med Den andre typen Nat, Manuell Nat. Manuell NAT er mer robust i sin granularitet, men det krever at linjene konfigureres i riktig rekkefølge slik at den kan oppnå riktig oppførsel. DETTE kompliserer DENNE NAT-typen, og som et resultat vil den ikke bli brukt i dette konfigurasjonseksemplet.

Se Informasjon om NAT-delen I Bok 2: Cisco ASA SERIES Firewall Cli Configuration Guide, 9.1 for mer informasjon om NAT.

Konfigurer

Kom I Gang

DET grunnleggende ASA-konfigurasjonsoppsettet er tre grensesnitt koblet til tre nettverkssegmenter. Isp-nettverkssegmentet er koblet til Ethernet0/0-grensesnittet og merket utenfor med et sikkerhetsnivå på 0. Det interne nettverket er koblet Til Ethernet0 / 1 og merket som inside med et sikkerhetsnivå på 100. DMZ-segmentet, der webserveren befinner seg, er koblet Til Ethernet0 / 2 og merket SOM DMZ med et sikkerhetsnivå på 50.

grensesnittkonfigurasjonen OG IP-adressene for eksemplet er sett her:

interface Ethernet0/0
nameif outside
security-level 0
ip address 198.51.100.100 255.255.255.0
!
interface Ethernet0/1
nameif inside
security-level 100
ip address 192.168.0.1 255.255.255.0
!
interface Ethernet0/2
nameif dmz
security-level 50
ip address 192.168.1.1 255.255.255.0
!
route outside 0.0.0.0 0.0.0.0 198.51.100.1

Her kan DU se AT ASAS innvendige grensesnitt er satt MED IP-adressen til 192.168.0.1, og det er standard gateway for de interne vertene. ASAS eksterne grensesnitt er konfigurert MED EN IP-adresse hentet fra ISP. Det er en standardrute på plass, som setter neste hopp til ISP-gatewayen. HVIS DU bruker DHCP, leveres dette automatisk. DMZ-grensesnittet er konfigurert MED IP-adressen til 192.168.1.1, og det er standard gateway for verter på DMZ-nettverkssegmentet.

Topologi

her er en visuell titt på hvordan dette er kablet og konfigurert:

Trinn 1-Konfigurer NAT Slik At Verter Kan Gå Ut På Internett

For dette eksempelobjektet BRUKES Nat, også Kjent Som AutoNAT. Den første tingen å konfigurere ER nat-reglene som tillater vertene på innsiden og DMZ-segmentene å koble Til Internett. Fordi disse vertene bruker private IP-adresser, må du oversette dem til Noe som kan rutes på Internett. I dette tilfellet oversetter adressene SLIK at DE ser UT SOM ASAS eksterne grensesnitt IP-adresse. Hvis din eksterne IP endres ofte (kanskje PÅ GRUNN AV DHCP), er dette den enkleste måten å sette opp dette.

for å konfigurere DENNE NAT må du opprette et nettverksobjekt som representerer det indre delnettet, samt en som representerer DMZ-delnettet. I hvert av disse objektene konfigurerer du en dynamisk nat-regel som Vil Port Address Translation (PAT) disse klientene når de passerer fra deres respektive grensesnitt til det eksterne grensesnittet.

denne konfigurasjonen ligner denne:

object network inside-subnet
subnet 192.168.0.0 255.255.255.0
nat (inside,outside) dynamic interface
!
object network dmz-subnet
subnet 192.168.1.0 255.255.255.0
nat (dmz,outside) dynamic interface

hvis du ser på løpende konfigurasjon på dette punktet (med utgangen av show run-kommandoen), vil du se at objektdefinisjonen er delt inn i to deler av utgangen. Den første delen angir bare hva som er i objektet (vert/subnett, IP-adresse og så videre), mens den andre delen viser AT nat-regelen er knyttet til det objektet. Hvis du tar den første oppføringen i forrige utgang:

når verter som samsvarer med 192.168.0.0 / 24 subnet traverse fra innsiden grensesnittet til utsiden grensesnittet, vil du dynamisk oversette dem til utsiden grensesnittet.

Trinn 2-Konfigurer NAT For Å Få Tilgang Til Webserveren Fra Internett

Nå som vertene på innsiden og DMZ-grensesnittene kan komme Ut Til Internett, må du endre konfigurasjonen slik at brukere på Internett kan få tilgang til vår webserver PÅ TCP port 80. I dette eksemplet er oppsettet slik at folk på Internett kan koble til EN ANNEN IP-adresse SOM ISP har oppgitt, en ekstra IP-adresse vi eier. For dette eksemplet, bruk 198.51.100.101. Med denne konfigurasjonen vil brukere på Internett kunne nå DMZ webserveren ved å få tilgang til 198.51.100.101 på tcp-port 80. Bruk Objekt NAT for denne oppgaven, og ASA vil oversette tcp port 80 på webserveren (192.168.1.100) for å se ut som 198.51.100.101 PÅ TCP port 80 på utsiden. På samme måte som det som ble gjort tidligere, definerer du et objekt og definerer oversettelsesregler for det objektet. Definer også et annet objekt for å representere IP du vil oversette denne verten til.

denne konfigurasjonen ligner denne:

object network webserver-external-ip
host 198.51.100.101
!
object network webserver
host 192.168.1.100
nat (dmz,outside) static webserver-external-ip service tcp www www

bare for å oppsummere hva DEN nat-regelen betyr i dette eksemplet:

Når en vert som samsvarer MED IP-adressen 192.168.1.100 PÅ DMZ-segmentene etablerer en tilkobling hentet fra TCP-port 80 (www) og at tilkoblingen går ut utenfor grensesnittet, du vil oversette DET TIL Å VÆRE TCP-port 80 (www) på utsiden grensesnittet og oversette AT IP-adressen til å være 198.51.100.101.

det virker litt rart… «hentet FRA tcp port 80 (www)», men webtrafikk er bestemt til port 80. Det er viktig å forstå at DISSE nat-reglene er toveis i naturen. Som et resultat kan du vende ordlyden rundt for å omformulere denne setningen. Resultatet gir mye mer mening:

når verter på utsiden etablerer en tilkobling til 198.51.100.101 på destinasjon TCP port 80 (www), vil du oversette destinasjons-IP-adressen til å være 192.168.1.100 og destinasjonsporten vil VÆRE TCP port 80 (www) og sende DEN UT DMZ.

Dette gir mer mening når det er formulert på denne måten. Deretter må Du sette Opp Aclene.

Trinn 3-Konfigurer Acler

NAT er konfigurert, og slutten av denne konfigurasjonen er nær. Husk At Acler på ASA lar deg overstyre standard sikkerhetsadferd som er som følger:

  • Trafikk som går fra et lavere sikkerhetsgrensesnitt, nektes når Det går til et høyere sikkerhetsgrensesnitt.
  • Trafikk som går fra et høyere sikkerhetsgrensesnitt, er tillatt når Det går til et lavere sikkerhetsgrensesnitt.

så uten tillegg av Noen Acler til konfigurasjonen, fungerer denne trafikken i eksemplet:

  • Verter på innsiden (sikkerhetsnivå 100) kan koble til verter PÅ DMZ (sikkerhetsnivå 50).
  • Verter på innsiden (sikkerhetsnivå 100) kan koble til verter på utsiden (sikkerhetsnivå 0).
  • Verter PÅ DMZ (sikkerhetsnivå 50) kan koble til verter på utsiden (sikkerhetsnivå 0).

denne trafikken nektes imidlertid:

  • Verter på utsiden (sikkerhetsnivå 0) kan ikke koble til verter på innsiden (sikkerhetsnivå 100).
  • Verter på utsiden (sikkerhetsnivå 0) kan ikke koble til verter PÅ DMZ (sikkerhetsnivå 50).
  • Verter PÅ DMZ (sikkerhetsnivå 50) kan ikke koble til verter på innsiden (sikkerhetsnivå 100).

fordi trafikk fra utsiden TIL DMZ-nettverket nektes AV ASA med gjeldende konfigurasjon, kan brukere på Internett ikke nå webserveren til tross FOR nat-konfigurasjonen i trinn 2. Du må eksplisitt tillate denne trafikken. I 8.3 og senere kode må du bruke den Virkelige IP av verten I ACL og ikke den oversatte IP. Dette betyr at konfigurasjonen må tillate trafikk bestemt til 192.168.1.100 OG ikke trafikk bestemt til 198.51.100.101 på port 80. For enkelhets skyld vil objektene definert i trinn 2 også bli brukt til DENNE ACL. NÅR ACL er opprettet, må du bruke den innkommende på utsiden grensesnittet.

Her er hva disse konfigurasjonskommandoene ser ut:

access-list outside_acl extended permit tcp any object webserver eq www
!
access-group outside_acl in interface outside

access-liste linje stater:

Tillat trafikk fra hvilken som helst (hvor) til verten representert av objektets webserver (192.168.1.100) på port 80.

det er viktig at konfigurasjonen bruker søkeordet her. Fordi kilden IP-adressen til klienter ikke er kjent som den når nettstedet ditt, angi noen mening ‘Noen IP-adresse’.

hva med trafikk FRA DMZ segmentet bestemt til verter på innsiden nettverkssegmentet? For eksempel, en server på innsiden nettverket som vertene på DMZ må koble til. Hvordan kan ASA bare tillate den spesifikke trafikken som er bestemt til innsiden av serveren og blokkere alt annet som er bestemt til innsiden av DMZ?

i dette eksemplet antas DET at DET er EN DNS-server på innsiden av nettverket PÅ IP-adresse 192.168.0.53 at vertene på DMZ må få tilgang TIL DNS-oppløsning. Du oppretter ACL nødvendig og bruke DEN PÅ DMZ-grensesnittet SLIK AT ASA kan overstyre at standard sikkerhetsadferd, nevnt tidligere, for trafikk som går inn i grensesnittet.

Her er hva disse konfigurasjonskommandoene ser ut:

object network dns-server
host 192.168.0.53
!
access-list dmz_acl extended permit udp any object dns-server eq domain
access-list dmz_acl extended deny ip any object inside-subnet
access-list dmz_acl extended permit ip any any
!
access-group dmz_acl in interface dmz

ACL er mer komplisert enn bare tillater at trafikken TIL DNS-serveren PÅ UDP port 53. Hvis alt vi gjorde er den første tillatelseslinjen, vil all trafikk bli blokkert fra DMZ til verter på Internett. Acl har en implisitt ‘nekte ip noen noen’ på slutten AV ACL. SOM et resultat VILLE DMZ-vertene ikke kunne gå Ut på Internett. Selv om trafikk fra DMZ til utsiden er tillatt som standard, med bruk av EN ACL TIL DMZ-grensesnittet, er de standard sikkerhetsadferdene for DMZ-grensesnittet ikke lenger i kraft, og du må eksplisitt tillate trafikken i grensesnittet ACL.

Trinn 4-Test Konfigurasjon Med Packet Tracer-Funksjonen

nå som konfigurasjonen er fullført, må du teste den for å sikre at den fungerer. Den enkleste metoden er å bruke faktiske verter (hvis dette er nettverket ditt). Men for å teste dette fra CLI og videre utforske NOEN AV ASAS verktøy, bruk packet tracer for å teste og potensielt feilsøke eventuelle problemer som oppstår.

Packet tracer fungerer ved å simulere en pakke basert på en rekke parametere og injisere den pakken til grensesnittdatabanen, på samme måte som en ekte pakke ville gjort hvis den ble plukket opp av ledningen. Denne pakken følges gjennom myriaden av kontrollene og prosessene som gjøres når den passerer gjennom brannmuren, og packet tracer noterer utfallet. Simulere den interne verten går ut til en vert på Internett. Kommandoen nedenfor instruerer brannmuren til:

Simulere EN TCP-pakke som kommer inn i grensesnittet FRA IP-adresse 192.168.0.125 på kildeport 12345 bestemt til EN IP-adresse på 203.0.113.1 på port 80.

ciscoasa# packet-tracer input inside tcp 192.168.0.125 12345 203.0.113.1 80
Phase: 1
Type: ACCESS-LIST
Subtype:
Result: ALLOW
Config:
Implicit Rule
Additional Information:
MAC Access list
Phase: 2
Type: ROUTE-LOOKUP
Subtype: input
Result: ALLOW
Config:Additional Information:
in 0.0.0.0 0.0.0.0 outsidePhase: 3
Type: NAT
Subtype:
Result: ALLOW
Config:
object network inside-subnet
nat (inside,outside) dynamic interface
Additional Information:
Dynamic translate 192.168.0.125/12345 to 198.51.100.100/12345
Phase: 4
Type: NAT
Subtype: per-session
Result: ALLOW
Config:
Additional Information:
Phase: 5
Type: IP-OPTIONS
Subtype:
Result: ALLOW
Config:
Additional Information:
Phase: 6
Type: NAT
Subtype: per-session
Result: ALLOW
Config:
Additional Information:
Phase: 7
Type: IP-OPTIONS
Subtype:
Result: ALLOW
Config:
Additional Information:
Phase: 8
Type: FLOW-CREATION
Subtype:
Result: ALLOW
Config:
Additional Information:
New flow created with id 1, packet dispatched to next module
Result:
input-interface: inside
input-status: up
input-line-status: up
output-interface: outside
output-status: up
output-line-status: up
Action: allow

sluttresultatet er at trafikken er tillatt, hvilkenbetyr at den passerte alle nat-og ACL-kontrollene i konfigurasjonen og ble sendt ut grensesnittet utenfor. Merk at pakken ble oversatt I Fase 3 og detaljene i Den Fasen viser hvilken regel som er rammet. Verten er 192.168.0.125 er oversatt dynamisk til 198.51.100.100 som per konfigurasjonen.

kjør det Nå for en tilkobling Fra Internett til webserveren. Husk at verter på Internett vil få tilgang til webserveren ved å koble til 198.51.100.101 på utsiden grensesnittet. Igjen, denne neste kommandoen oversetter til:

Simulere EN TCP-pakke som kommer i det ytre grensesnittet FRA IP-adressen 192.0.2.123 på kildeport 12345 bestemt til EN IP-adresse på 198.51.100.101 på port 80.

ciscoasa# packet-tracer input outside tcp 192.0.2.123 12345 198.51.100.101 80
Phase: 1
Type: UN-NAT
Subtype: static
Result: ALLOW
Config:
object network webserver
nat (dmz,outside) static webserver-external-ip service tcp www www
Additional Information:
NAT divert to egress interface dmz
Untranslate 198.51.100.101/80 to 192.168.1.100/80
Phase: 2
Type: ACCESS-LIST
Subtype: log
Result: ALLOW
Config:
access-group outside_acl in interface outside
access-list outside_acl extended permit tcp any object webserver eq www
Additional Information:
Phase: 3
Type: NAT
Subtype: per-session
Result: ALLOW
Config:
Additional Information:
Phase: 4
Type: IP-OPTIONS
Subtype:
Result: ALLOW
Config:
Additional Information:
Phase: 5
Type: NAT
Subtype: rpf-check
Result: ALLOW
Config:
object network webserver
nat (dmz,outside) static webserver-external-ip service tcp www www
Additional Information:
Phase: 6
Type: NAT
Subtype: per-session
Result: ALLOW
Config:
Additional Information:
Phase: 7
Type: IP-OPTIONS
Subtype:
Result: ALLOW
Config:
Additional Information:
Phase: 8
Type: FLOW-CREATION
Subtype:
Result: ALLOW
Config:
Additional Information:
New flow created with id 3, packet dispatched to next module
Result:
input-interface: outside
input-status: up
input-line-status: up
output-interface: dmz
output-status: up
output-line-status: up
Action: allow

Igjen er resultatet at pakken er tillatt. Aclene sjekker ut, konfigurasjonen ser bra ut, og brukere på Internett (utenfor) skal kunne få tilgang til den webserveren med den eksterne IP-EN.

Bekreft

Verifikasjonsprosedyrer er inkludert I Trinn 4-Testing Konfigurasjon Med Pakkespor-Funksjonen.

Feilsøk

det er for øyeblikket ingen spesifikk feilsøkingsinformasjon tilgjengelig for denne konfigurasjonen.

Konklusjon

konfigurasjonen AV EN ASA for å gjøre grunnleggende NAT er ikke så skremmende for en oppgave. Eksemplet i dette dokumentet kan tilpasses ditt spesifikke scenario hvis DU endrer IP-adressene og portene som brukes i eksempelkonfigurasjonene. Den endelige ASA-konfigurasjonen for dette, når kombinert, ligner dette for EN ASA 5510:

ASA Version 9.1(1)
!
interface Ethernet0/0
nameif outside
security-level 0
ip address 198.51.100.100 255.255.255.0
!
interface Ethernet0/1
nameif inside
security-level 100
ip address 192.168.0.1 255.255.255.0
!
interface Ethernet0/2
nameif dmz
security-level 50
ip address 192.168.1.1 255.255.255.0
!
object network inside-subnet
subnet 192.168.0.0 255.255.255.0
object network dmz-subnet
subnet 192.168.1.0 255.255.255.0
object network webserver
host 192.168.1.100
object network webserver-external-ip
host 198.51.100.101
object network dns-server
host 192.168.0.53
!
access-list outside_acl extended permit tcp any object webserver eq www
access-list dmz_acl extended permit udp any object dns-server eq domain
access-list dmz_acl extended deny ip any object inside-subnet
access-list dmz_acl extended permit ip any any
!
object network inside-subnet
nat (inside,outside) dynamic interface
object network dmz-subnet
nat (dmz,outside) dynamic interface
object network webserver
nat (dmz,outside) static webserver-external-ip service tcp www www
access-group outside_acl in interface outside
access-group dmz_acl in interface dmz
!
route outside 0.0.0.0 0.0.0.0 198.51.100.1 1

PÅ EN ASA 5505, for eksempel med grensesnittene koblet som vist tidligere (utenfor koblet Til Ethernet0 / 0, inne koblet Til Ethernet0 / 1 og DMZ koblet Til Ethernet0/2):

ASA Version 9.1(1)
!
interface Ethernet0/0
description Connected to Outside Segment
switchport access vlan 2
!
interface Ethernet0/1
description Connected to Inside Segment
switchport access vlan 1
!
interface Ethernet0/2
description Connected to DMZ Segment
switchport access vlan 3
!
interface Vlan2
nameif outside
security-level 0
ip address 198.51.100.100 255.255.255.0
!
interface Vlan1
nameif inside
security-level 100
ip address 192.168.0.1 255.255.255.0
!
interface Vlan3
nameif dmz
security-level 50
ip address 192.168.1.1 255.255.255.0
!
object network inside-subnet
subnet 192.168.0.0 255.255.255.0
object network dmz-subnet
subnet 192.168.1.0 255.255.255.0
object network webserver
host 192.168.1.100
object network webserver-external-ip
host 198.51.100.101
object network dns-server
host 192.168.0.53
!
access-list outside_acl extended permit tcp any object webserver eq www
access-list dmz_acl extended permit udp any object dns-server eq domain
access-list dmz_acl extended deny ip any object inside-subnet
access-list dmz_acl extended permit ip any any
!
object network inside-subnet
nat (inside,outside) dynamic interface
object network dmz-subnet
nat (dmz,outside) dynamic interface
object network webserver
nat (dmz,outside) static webserver-external-ip service tcp www www
access-group outside_acl in interface outside
access-group dmz_acl in interface dmz
!
route outside 0.0.0.0 0.0.0.0 198.51.100.1 1

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.