- Úvod
- předpoklady
- požadavky
- použité komponenty
- přehled
- cíle
- přehled seznamu řízení přístupu
- Nat přehled
- Configure
- Začínáme
- topologie
- Krok 1-nakonfigurujte Nat tak, aby umožnil hostitelům jít na Internet
- Krok 2-nakonfigurujte NAT pro přístup k webovému serveru z Internetu
- Krok 3-Konfigurace ACL
- Krok 4-Vyzkoušejte konfiguraci pomocí funkce Packet Tracer
- ověřte
- Poradce při potížích
- závěr
Úvod
tento dokument poskytuje jednoduchý a přímočarý příklad, jak nakonfigurovat překlad síťových adres (NAT) a seznamy řízení přístupu (ACL) na bráně Asa, aby bylo možné odchozí i příchozí připojení. Tento dokument byl napsán s Adaptive Security Appliance (ASA) 5510 firewall, než běží ASA kód verze 9.1 (1), ale to lze snadno aplikovat na jakoukoli jinou platformu brány firewall ASA. Pokud používáte platformu, jako je ASA 5505, která používá VLAN místo fyzického rozhraní, musíte podle potřeby změnit typy rozhraní.
předpoklady
požadavky
pro tento dokument neexistují žádné specifické požadavky.
použité komponenty
informace v tomto dokumentu jsou založeny na bráně Asa 5510, která spouští kód ASA verze 9.1 (1).
informace v tomto dokumentu byly vytvořeny ze zařízení v konkrétním laboratorním prostředí. Všechna zařízení použitá v tomto dokumentu začala vymazanou (výchozí) konfigurací. Pokud je vaše síť aktivní, ujistěte se, že rozumíte možnému dopadu jakéhokoli příkazu.
přehled
cíle
v tomto příkladu konfigurace, můžete se podívat na to, co NAT a ACL konfigurace bude zapotřebí s cílem umožnit příchozí přístup k webovému serveru v DMZ Asa firewall, a umožnit odchozí připojení z Interních a DMZ hostitelů. To lze shrnout jako dva cíle:
- povolit hostitelé na vnitřní straně a DMZ odchozí připojení k internetu.
- povolit hostitelům na internetu přístup k webovému serveru na DMZ s IP adresou 192.168.1.100.
než se dostanete k krokům, které musí být dokončeny, aby bylo možné dosáhnout těchto dvou cílů, tento dokument stručně popisuje způsob, jakým ACL a NAT pracují na novějších verzích kódu ASA (verze 8.3 a novější).
přehled seznamu řízení přístupu
seznamy řízení přístupu (zkráceně Access-lists nebo ACL) jsou metodou, kterou brána firewall ASA určuje, zda je provoz povolen nebo odepřen. Ve výchozím nastavení je provoz, který přechází z nižší na vyšší úroveň zabezpečení, odepřen. To může být přepsáno ACL aplikovaným na toto nižší bezpečnostní rozhraní. ASA také ve výchozím nastavení umožňuje provoz z vyšších na nižší bezpečnostní rozhraní. Toto chování lze také přepsat pomocí ACL.
v dřívějších verzích ASA kódu (8.2 a starších) Asa porovnávala příchozí spojení nebo paket s ACL na rozhraní, aniž by nejprve překládala paket. Jinými slovy, ACL musel povolit paket, jako byste měli zachytit tento paket na rozhraní. Ve verzi 8.3 a později kód, ASA untranslates, že paket před tím, než zkontroluje rozhraní ACL. To znamená, že pro kód 8.3 a novější a tento dokument je povolen provoz na skutečnou IP hostitele, nikoli na přeloženou IP hostitele.
další informace o ACL naleznete v části Konfigurace pravidel přístupu v knize 2: Cisco ASA Series Firewall CLI Configuration Guide, 9.1.
Nat přehled
NAT na ASA ve verzi 8.3 a novější je rozdělen do dvou typů známých jako Auto Nat (Object NAT) a Manual Nat (Twice Nat). První z nich, objekt Nat, je nakonfigurován v rámci definice síťového objektu. Příklad toho je uveden později v tomto dokumentu. Jednou z hlavních výhod této metody NAT je, že ASA automaticky objednává pravidla pro zpracování, aby se předešlo konfliktům. Toto je nejjednodušší forma NAT, ale s touto lehkostí přichází omezení v granularitě konfigurace. Například nemůžete učinit rozhodnutí o překladu na základě cíle v paketu, jako byste mohli u druhého typu NAT, manuálního Nat. Manuální NAT je robustnější ve své zrnitosti, ale vyžaduje, aby řádky byly nakonfigurovány ve správném pořadí, aby bylo možné dosáhnout správného chování. To komplikuje tento typ NAT a v důsledku toho nebude v tomto příkladu konfigurace použit.
Viz informace o Nat části Knihy 2: Cisco ASA Series Firewall CLI Configuration Guide, 9.1 pro více informací o NAT.
Configure
Začínáme
základním nastavením konfigurace ASA jsou tři rozhraní připojená ke třem síťovým segmentům. Segment ISP sítě je připojen k rozhraní Ethernet0 / 0 a označen venku s úrovní zabezpečení 0. Vnitřní síť byla připojena k Ethernetu0/1 a označena jako vnitřní s úrovní zabezpečení 100. Segment DMZ, kde je umístěn webový server, je připojen k Ethernet0/2 a označen jako DMZ s úrovní zabezpečení 50.
konfigurace rozhraní a IP adresy pro příklad jsou uvedeny zde:
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
zde můžete vidět, že vnitřní rozhraní ASA je nastaveno s IP adresou 192.168.0.1 a je to výchozí brána pro interní hostitele. Vnější rozhraní ASA je konfigurováno s IP adresou získanou od ISP. Na místě je výchozí trasa, která nastaví další-hop na bránu ISP. Pokud používáte DHCP, je to poskytováno automaticky. Rozhraní DMZ je nakonfigurováno s IP adresou 192.168.1.1 a je výchozí bránou pro hostitele v segmentu sítě DMZ.
topologie
zde je vizuální pohled na to, jak je to kabelováno a konfigurováno:
Krok 1-nakonfigurujte Nat tak, aby umožnil hostitelům jít na Internet
pro tento příklad se používá objekt Nat, známý také jako AutoNAT. První věcí, kterou je třeba nakonfigurovat, jsou pravidla NAT, která umožňují hostitelům uvnitř a DMZ segmentům připojení k internetu. Protože tito hostitelé používají soukromé IP adresy, musíte je přeložit na něco, co je směrovatelné na internetu. V takovém případě přeložte adresy tak,aby vypadaly jako adresa IP vnějšího rozhraní ASA. Pokud se vaše externí IP často mění (možná kvůli DHCP), je to nejjednodušší způsob, jak to nastavit.
Chcete-li nakonfigurovat tento Nat, musíte vytvořit síťový objekt, který představuje vnitřní podsíť, stejně jako objekt, který představuje podsíť DMZ. V každém z těchto objektů nakonfigurujte dynamické pravidlo nat, které bude portovat překlad adres (PAT) těchto klientů při přechodu ze svých příslušných rozhraní do vnějšího rozhraní.
tato konfigurace vypadá podobně:
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
pokud se podíváte na běžící konfiguraci v tomto bodě (s výstupem příkazu show run), uvidíte, že definice objektu je rozdělena na dvě části výstupu. První část označuje pouze to, co je v objektu (hostitel / podsíť, IP adresa, a tak dále), zatímco druhá část ukazuje, že pravidlo NAT vázána na tento objekt. Pokud vezmete první položku v předchozím výstupu:
když hostitelé, kteří odpovídají podsíti 192.168.0.0 / 24, přecházejí z vnitřního rozhraní do vnějšího rozhraní, chcete je dynamicky přeložit do vnějšího rozhraní.
Krok 2-nakonfigurujte NAT pro přístup k webovému serveru z Internetu
Nyní, když se hostitelé uvnitř a rozhraní DMZ mohou dostat na Internet, musíte upravit konfiguraci tak,aby uživatelé na internetu měli přístup k našemu webovému serveru na portu TCP 80. V tomto příkladu je nastavení tak, aby se lidé na internetu mohli připojit k jiné IP adrese, kterou ISP poskytl, další IP adrese, kterou vlastníme. Pro tento příklad použijte 198.51.100.101. S touto konfigurací se uživatelé na internetu budou moci dostat na webový server DMZ přístupem k 198.51.100.101 na TCP portu 80. Pro tuto úlohu použijte objekt NAT a ASA překládá TCP port 80 na webový server (192.168.1.100), aby vypadal jako 198.51.100.101 na TCP portu 80 na vnější straně. Podobně jako dříve, definujte objekt a definujte pravidla překladu pro tento objekt. Také definujte druhý objekt, který bude reprezentovat IP, do kterého budete tento hostitel překládat.
tato konfigurace vypadá podobně:
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
jen shrnout, co toto pravidlo NAT znamená v tomto příkladu:
když hostitel, který odpovídá IP adrese 192.168.1.100 na DMZ segmentech navazuje spojení pocházející z TCP portu 80 (www) a toto spojení jde ven z vnějšího rozhraní, chcete přeložit, že je TCP port 80 (www) na vnějším rozhraní a přeložit tuto IP adresu na 198.51.100.101.
to se zdá trochu divné… „pochází z TCP portu 80 (www)“, ale webový provoz je určen na port 80. Je důležité si uvědomit, že tato pravidla NAT jsou obousměrné povahy. V důsledku toho můžete změnit znění, abyste tuto větu přeformulovali. Výsledek dává mnohem větší smysl:
když hostitelé na vnější straně naváží spojení s 198.51.100.101 na cílovém TCP portu 80 (www), přeložíte cílovou IP adresu na 192.168.1.100 a cílovým portem bude TCP port 80 (www) a odešlete ji DMZ.
to dává větší smysl, když je formulováno tímto způsobem. Dále je třeba nastavit ACL.
Krok 3-Konfigurace ACL
NAT je nakonfigurován a konec této konfigurace je blízko. Nezapomeňte, že ACL na ASA vám umožní přepsat výchozí chování zabezpečení, které je následující:
- provoz, který jde z nižšího bezpečnostního rozhraní, je odepřen, když jde do vyššího bezpečnostního rozhraní.
- provoz, který jde z vyššího bezpečnostního rozhraní, je povolen, když jde do nižšího bezpečnostního rozhraní.
takže bez přidání jakýchkoli ACL do konfigurace tento provoz v příkladu funguje:
- hostitelé na vnitřní straně (úroveň zabezpečení 100) se mohou připojit k hostitelům na DMZ (úroveň zabezpečení 50).
- hostitelé na vnitřní straně (úroveň zabezpečení 100) se mohou připojit k hostitelům na vnější straně (úroveň zabezpečení 0).
- hostitelé na DMZ (úroveň zabezpečení 50) se mohou připojit k hostitelům na vnější straně (úroveň zabezpečení 0).
tento provoz je však odepřen:
- hostitelé na vnější straně (úroveň zabezpečení 0) se nemohou připojit k hostitelům na vnitřní straně (úroveň zabezpečení 100).
- hostitelé na vnější straně (úroveň zabezpečení 0) se nemohou připojit k hostitelům na DMZ (úroveň zabezpečení 50).
- hostitelé na DMZ (úroveň zabezpečení 50) se nemohou připojit k hostitelům uvnitř (úroveň zabezpečení 100).
protože provoz z vnějšku do sítě DMZ je ASA s aktuální konfigurací odepřen, uživatelé na internetu se nemohou dostat na webový server navzdory konfiguraci NAT v kroku 2. Tento provoz musíte výslovně povolit. V 8.3 a novějším kódu musíte použít skutečnou IP hostitele v ACL a ne přeloženou IP. To znamená, že konfigurace musí povolit provoz určený k 192.168.1.100 a ne provoz určený k 198.51.100.101 na portu 80. Pro jednoduchost budou pro tento ACL použity také objekty definované v kroku 2. Jakmile je ACL vytvořen, musíte jej použít na vnější rozhraní.
zde je to, co tyto konfigurační příkazy vypadat:
access-list outside_acl extended permit tcp any object webserver eq www
!
access-group outside_acl in interface outside
řádek access-list uvádí:
povolit provoz z libovolného (kde) na hostitele reprezentovaného objektovým webovým serverem (192.168.1.100) na portu 80.
je důležité, že konfigurace používá libovolné klíčové slovo zde. Protože zdrojová IP adresa klientů není známa, protože se dostane na váš web, zadejte jakýkoli význam „jakákoli IP adresa“.
a co provoz ze segmentu DMZ určený pro hostitele v segmentu vnitřní sítě? Například server ve vnitřní síti, ke kterému se musí hostitelé DMZ připojit. Jak může ASA povolit pouze ten specifický provoz určený k vnitřnímu serveru a blokovat vše ostatní určené k vnitřnímu segmentu z DMZ?
v tomto příkladu se předpokládá, že ve vnitřní síti je server DNS na adrese IP 192.168.0.53, ke kterému hostitelé na DMZ potřebují přístup pro rozlišení DNS. Vytvoříte potřebné ACL a použijete jej na rozhraní DMZ, takže ASA může přepsat toto výchozí bezpečnostní chování, zmíněné dříve, pro provoz, který vstupuje do tohoto rozhraní.
zde je to, co tyto konfigurační příkazy vypadat:
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 je složitější než pouhé umožnění přenosu na DNS server na UDP portu 53. Pokud bychom udělali pouze první řádek „povolení“, veškerý provoz by byl blokován z DMZ hostitelům na internetu. ACL mají implicitní ‚popřít ip any any‘ na konci ACL. V důsledku toho by vaši hostitelé DMZ nemohli jít na Internet. I když je ve výchozím nastavení povolen provoz z DMZ na vnější stranu, s aplikací ACL na rozhraní DMZ, tato výchozí bezpečnostní chování pro rozhraní DMZ již nejsou v platnosti a musíte explicitně povolit provoz v rozhraní ACL.
Krok 4-Vyzkoušejte konfiguraci pomocí funkce Packet Tracer
Nyní, když je konfigurace dokončena, musíte ji otestovat, abyste se ujistili, že funguje. Nejjednodušší metodou je použití skutečných hostitelů(pokud je to vaše síť). V zájmu testování z CLI a dalšího zkoumání některých nástrojů ASA však použijte Tracer paketů k testování a potenciálnímu ladění všech problémů, se kterými se setkáte.
Packet tracer pracuje tak, že simuluje paket založený na sérii parametrů a vstřikuje tento paket do datové cesty rozhraní, podobně jako by byl paket v reálném životě vyzvednut z drátu. Tento paket je sledován nesčetnými kontrolami a procesy, které se provádějí při průchodu firewallem, a packet tracer zaznamenává výsledek. Simulujte interního hostitele, který chodí na hostitele na internetu. Příkaz níže nařídí firewallu, aby:
simulujte TCP paket přicházející do vnitřního rozhraní z IP adresy 192.168.0.125 na zdrojovém portu 12345 určený na IP adresu 203.0.113.1 na portu 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
konečným výsledkem je, že provoz je povolen, cožznamená, že prošel všemi kontrolami NAT a ACL v konfiguraci a byl vyslán mimo výstupní rozhraní. Všimněte si, že paket byl přeložen ve fázi 3 a podrobnosti o této fázi ukazují, jaké pravidlo je zasaženo. Hostitel 192.168.0.125 je přeložen dynamicky na 198.51.100.100 podle konfigurace.
nyní jej spusťte pro připojení z Internetu k webovému serveru. Pamatujte, že hostitelé na internetu budou přistupovat k webovému serveru připojením k 198.51.100.101 na vnějším rozhraní. Tento další příkaz se opět překládá na:
simulujte TCP paket přicházející do vnějšího rozhraní z IP adresy 192.0.2.123 na zdrojovém portu 12345 určený na IP adresu 198.51.100.101 na portu 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
výsledkem je opět to, že paket je povolen. ACL se odhlásí, konfigurace vypadá dobře a uživatelé na internetu (mimo)by měli mít přístup k tomuto webovému serveru pomocí externí IP.
ověřte
ověřovací postupy jsou zahrnuty v kroku 4-testování konfigurace pomocí funkce Tracer paketů.
Poradce při potížích
v současné době nejsou k dispozici žádné konkrétní informace o řešení problémů pro tuto konfiguraci.
závěr
konfigurace ASA pro základní NAT není tak skličující úkol. Příklad v tomto dokumentu lze přizpůsobit vašemu konkrétnímu scénáři, pokud změníte adresy IP a porty použité v konfiguracích příkladů. Konečná konfigurace ASA pro toto, v kombinaci, vypadá podobně jako pro 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
na ASA 5505, například s rozhraními připojenými, jak je znázorněno dříve (vně připojenými k Ethernet0 / 0, uvnitř připojenými k Ethernet0/1 a DMZ připojenými k 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