PATowanie IPSEC`a

Problemy z zakresu security (VPN, firewall, IDS/IPS itp.)
Wiadomość
Autor
yellowboy
wannabe
wannabe
Posty: 536
Rejestracja: 13 lis 2006, 22:24

PATowanie IPSEC`a

#1

#1 Post autor: yellowboy »

Witam. Mam takie issue. Po mojej stronie stoi ASA z prywatną adresacją za routerem do którego podpięty jest ISP. Na routerze robię PATa na interfejs (inside) na ASĘ. Ja jestem inicjatorem tunelu. Tunel zapina się bez problemów i komunikacja jest między zdalnymi hostami ale zauważyłem dziwną sytuację a mianowicie:
ACL dla szyfrowania zawiera dwie linie:

Kod: Zaznacz cały

access-list S2S extended permit ip 192.168.0.0 255.255.255.0 10.8.0.0 255.255.255.0
access-list S2S extended permit ip 192.168.10.0 255.255.255.0 10.8.0.0 255.255.255.0
W takiej sytuacji wedle IPSEC`a tworzone są w sumie 4 asocjacje - dwie wejściowe i dwie wyjściowe i wszystko gra. W momencie korzystania z przepływów dla podsieci 192.168.0.0 do 10.8.0.0 w tablicy translacji na routerze mam wpisy:

Kod: Zaznacz cały

esp 89.x.x.218:0   192.168.10.217:0   x.x.x.x:841655145 x.x.x.x:322AA369
esp 89.x.x.218:0   192.168.10.217:E1BD172E x.x.x.x:0 x.x.x.x:0
Pierwszy wpis dotyczy asocjacji inbound a drugi dla outbound. Na tą chwile jest wszystko w porządku ale gdy tylko zaczną płynąc dane z podsieci 192.168.10.0 do 10.8.0.0 w tablicy translacji na routerze mam taki stan w którym brak jest translacji dla asocjacji outbound dla drugiego przepływu i tym samym nie mam komunikacji outbound:

Kod: Zaznacz cały

esp 89.x.x.218:0   192.168.10.217:0   x.x.x.x:841655145 x.x.x.x:322AA369
esp 89.x.x.218:0   192.168.10.217:0   x.x.x.x:1447224600 x.x.x.x:5642E518
esp 89.x.x.218:0   192.168.10.217:E1BD172E x.x.x.x:0 x.x.x.x:0
Dopiero po chwili (i jeśli nie są przesyłane dane dla tego przepływu) kasowana jest asocjacja outbound dla 192.168.0.0 i wstawiana nowa dla 192.168.10.0 i komunikacja działa dla drugiego przepływu outbound (i tym samym nie działa dla pierwszego!)

Kod: Zaznacz cały

esp 89.x.x.218:0   192.168.10.217:0   x.x.x.x:841655145 x.x.x.x:322AA369
esp 89.x.x.218:0   192.168.10.217:0   x.x.x.x:1447224600 x.x.x.x:5642E518
esp 89.x.x.218:0   192.168.10.217:F5594BC9 x.x.x.x:0 x.x.x.x:0
Reasumując:
W przypadku próby wykorzystania jednocześnie dwóch przepływów zdefiniowanych w ACL dla IPSEC i korzystając z PATa na routerze translacja na routerze nie jest wstanie jednocześnie utworzyć poprawnych wpisów w tablicy translacji dla dwóch różnych asocjacji wyjściowych dla tego samego zdalnego peera! Czy takie zachowanie jest poprawne? Czy może coś ja źle zrobiłem?

Seba
CCIE/CCDE Site Admin
CCIE/CCDE Site Admin
Posty: 6223
Rejestracja: 15 lip 2004, 20:35
Lokalizacja: Warsaw, PL

#2

#2 Post autor: Seba »

ESP przez PAT nie zadziala. Do takich rzeczy jak IPSec przez NAT/PAT uzywamy NAT-Traversal z UDP4500 albo tunelowania w TCP.
"Two things are infinite: the universe and human stupidity; and I'm not sure about the universe."
A. Einstein

yellowboy
wannabe
wannabe
Posty: 536
Rejestracja: 13 lis 2006, 22:24

#3

#3 Post autor: yellowboy »

Seba pisze:ESP przez PAT nie zadziala. Do takich rzeczy jak IPSec przez NAT/PAT uzywamy NAT-Traversal z UDP4500 albo tunelowania w TCP.
Hmm... To ciekawe... U mnie działa ESP przez PAT.... Wiem, że byłoby miło uruchomić NAT-T ale nie mam mozliwości wpłynąc na konfigurację zdalnego peera...

yellowboy
wannabe
wannabe
Posty: 536
Rejestracja: 13 lis 2006, 22:24

#4

#4 Post autor: yellowboy »

Co właśnie zauważyłem! Gdy to ja jestem inicjatorem tunelu mam taki problem. Gdy to zdalny peer jest inicjatorem wszystko działa poprawnie i możliwa jest jednoczesna translacja dla tych dwóch przepływów! :)
SEBA, jeśli chcesz to Ci udowodnię, że działa ESP przez PAT... Działa to u mnie na produkcji na c3640...

Kod: Zaznacz cały

ip nat inside source static 192.168.10.217 89.x.x.218 route-map IPSEC_CROWLEY no-alias
!
route-map IPSEC_CROWLEY, permit, sequence 10
  Match clauses:
    ip address (access-lists): RM_IPSEC_CROWLEY
    interface Ethernet3/1
!
IP access list RM_IPSEC_CROWLEY
    10 permit esp host 192.168.10.217 any (143769 matches)
    20 permit udp host 192.168.10.217 eq isakmp any eq isakmp (68 matches)
    30 permit udp host 192.168.10.217 eq non500-isakmp any eq non500-isakmp

Awatar użytkownika
kktm
CCIE
CCIE
Posty: 2025
Rejestracja: 20 paź 2004, 14:43
Lokalizacja: Wrocław

#5

#5 Post autor: kktm »

esp przez nat dziala przy zalozeniach ze routery natujace i jak i terminujace ipsec to cisco.
Ten ficzer ma kilka latek :)
"Trust no one"

Seba
CCIE/CCDE Site Admin
CCIE/CCDE Site Admin
Posty: 6223
Rejestracja: 15 lip 2004, 20:35
Lokalizacja: Warsaw, PL

#6

#6 Post autor: Seba »

yellowboy pisze:...
SEBA, jeśli chcesz to Ci udowodnię, że działa ESP przez PAT... Działa to u mnie na produkcji na c3640...

Kod: Zaznacz cały

ip nat inside source static 192.168.10.217 89.x.x.218 route-map IPSEC_CROWLEY no-alias
!
route-map IPSEC_CROWLEY, permit, sequence 10
  Match clauses:
    ip address (access-lists): RM_IPSEC_CROWLEY
    interface Ethernet3/1
!
IP access list RM_IPSEC_CROWLEY
    10 permit esp host 192.168.10.217 any (143769 matches)
    20 permit udp host 192.168.10.217 eq isakmp any eq isakmp (68 matches)
    30 permit udp host 192.168.10.217 eq non500-isakmp any eq non500-isakmp
No i mi udowodniles, no prawie, bo to jest static NAT, a nie PAT (Port Address Translation), ktory dziala tylko z TCP/UDP, a to juz inna para kaloszy.
Powiedzialbym, ze to kwestia uzycia tej samej nazwy przy mowieniu o dwoch roznych rzeczach.
Moze to moje uproszcznie, bo jak slysze/mowie PAT to mam namysli translacje z wielu adresow na jeden IP i wiele portow, czyli jeszcze dochodzi cos co nazywa sie overload.
"Two things are infinite: the universe and human stupidity; and I'm not sure about the universe."
A. Einstein

yellowboy
wannabe
wannabe
Posty: 536
Rejestracja: 13 lis 2006, 22:24

#7

#7 Post autor: yellowboy »

Seba pisze:
yellowboy pisze:...
SEBA, jeśli chcesz to Ci udowodnię, że działa ESP przez PAT... Działa to u mnie na produkcji na c3640...

Kod: Zaznacz cały

ip nat inside source static 192.168.10.217 89.x.x.218 route-map IPSEC_CROWLEY no-alias
!
route-map IPSEC_CROWLEY, permit, sequence 10
  Match clauses:
    ip address (access-lists): RM_IPSEC_CROWLEY
    interface Ethernet3/1
!
IP access list RM_IPSEC_CROWLEY
    10 permit esp host 192.168.10.217 any (143769 matches)
    20 permit udp host 192.168.10.217 eq isakmp any eq isakmp (68 matches)
    30 permit udp host 192.168.10.217 eq non500-isakmp any eq non500-isakmp
No i mi udowodniles, no prawie, bo to jest static NAT, a nie PAT (Port Address Translation), ktory dziala tylko z TCP/UDP, a to juz inna para kaloszy.
Powiedzialbym, ze to kwestia uzycia tej samej nazwy przy mowieniu o dwoch roznych rzeczach.
Moze to moje uproszcznie, bo jak slysze/mowie PAT to mam namysli translacje z wielu adresow na jeden IP i wiele portow, czyli jeszcze dochodzi cos co nazywa sie overload.
SEBA, mogę tylko przeprosić za nieścisłości w nazewnictwie... Zwracam honor:)

yellowboy
wannabe
wannabe
Posty: 536
Rejestracja: 13 lis 2006, 22:24

#8

#8 Post autor: yellowboy »

kktm pisze:esp przez nat dziala przy zalozeniach ze routery natujace i jak i terminujace ipsec to cisco.
Ten ficzer ma kilka latek :)
W kontekście wiadomości od SEBY uściślijmy... Jeśli mówimy o static NAT to mam terminowany tunel między moją ASĄ za NATem na routerze (oczywiście Cisco) a urządzeniem Juniper GGSN J20 bodajże (na pewno nie jest to Cisco)... A drugi tunel mam terminowany z jakimś Checkpointem...

Co do PATA to się nie wypowiem bo nie wiem:)

Awatar użytkownika
kktm
CCIE
CCIE
Posty: 2025
Rejestracja: 20 paź 2004, 14:43
Lokalizacja: Wrocław

#9

#9 Post autor: kktm »

Gents,
z calym szacunkiem, ale dla ciskaczy esp się natuje i patuje

snippet z doc na cco

Kod: Zaznacz cały

Configuring IPsec ESP Through NAT

IPsec ESP Through NAT provides the ability to support multiple concurrent IPsec ESP tunnels or connections through a Cisco IOS NAT device configured in Overload or PAT mode.

Perform this task to configure IPsec ESP through NAT.

Note	
IPsec can be configured for any NAT configuration, not just static NAT configurations.
Linka tutaj
"Trust no one"

Seba
CCIE/CCDE Site Admin
CCIE/CCDE Site Admin
Posty: 6223
Rejestracja: 15 lip 2004, 20:35
Lokalizacja: Warsaw, PL

#10

#10 Post autor: Seba »

No tak, ale to taki trick z tym ESP i PAT; oczywiscie mozna polemizowac nad tematem. Przyznaje, ze w podanych okolicznosciach mozna to odebrac, ze ESP daje sie PATowac 8)
"Two things are infinite: the universe and human stupidity; and I'm not sure about the universe."
A. Einstein

Awatar użytkownika
kktm
CCIE
CCIE
Posty: 2025
Rejestracja: 20 paź 2004, 14:43
Lokalizacja: Wrocław

#11

#11 Post autor: kktm »

Taki sam trick z esp jak z tcp/udp/icmp :)
zamiast portow matchujemy po spi.

Oczywiście nie jest to popularne, bo chyba tylko routery cisco to wspieraja.

Zysk to redukcja overhead jaki narzuca enkapsulacja udp.

Sam tego nigdy nie ustawiałem, (i raczej nie będę) ale kudos dla cisco za fajny pomysł.
"Trust no one"

ODPOWIEDZ