VPN Dobre praktyki Często spotykane problemy z perspektywy Cisco TAC Piotr Kupisiewicz Krakow TAC VPN Lead CCIE #39762 Cisco Secure 2014
Agenda Wstęp do IKEv1 IKEv1 vs IKEv2 Problemy z konfiguracją IKEv1 Crypto Map vs FlexVPN Call Admission Control (CAC) Ustawienia MTU AnyConnect DMVPN Problemy z routingiem HA w Data Center Cisco Public 2
Agenda Wstęp do IKEv1 IKEv1 vs IKEv2 Problemy z konfiguracją IKEv1 Crypto Map vs FlexVPN Call Admission Control (CAC) Ustawienia MTU AnyConnect DMVPN Problemy z routingiem HA w Data Center Cisco Public 3
Wstęp do IKEv1/IKEv2 IKEv1 FAZA 1 (Main mode/aggressive Move) FAZA 2 (QUICK MODE) IKEv2 Szyfrowanie danych (ESP) IKE_SA_INIT IKE_AUTH CREATE_CHILD_SA (tylko dla kolejnych SA) Cisco Public 4
IKEv1 Faza 1 Dwa różne tryby budowania fazy pierwszej Main Mode 6 pakietów w całej wymianie IKE ID (Tożsamość) chroniona Lepsza ochrona anty-dos Aggressive Mode 3 pakiety w całej wymianie IKE ID (Tożsamość) wysłana otwartym tekstem Moja liczba DH OK. Liczę. Wynik X Strona odpowiadająca (responder) autentykuje się jako pierwsza (!) Moja liczba DH OK. Liczę. Wynik X Cisco Public 5
IKEv1 Faza 1 Faza pierwsza zapewnia bezpieczeństwo (szyfrowanie) oraz poufność przesyłu danych (wiemy z kim się komunikujemy) Następujące operacje występują w fazie pierwszej Dead Peer Detections (Keepalive) Negocjacja właściwych SA (Security Assosiactions), czyli ochrona Fazy 2 Powiadomienia (Notifications) Xauth (Autentykacja użytkownika i hasła) Remote Access Mode_CFG (Przypisanie adresu IP, DNS, ustawień proxy) Remote Access Cisco Public 6 6
IKEv1 Faza 2: Quick Mode Chcę chronić: ruch IP z 10.1.3.0/24 do 10.1.4.0/24 Użyjmy ESP + AES + SHA ESP + 3DES + SHA ESP + DES + MD5 Chcę chronić: ruch IP z 10.1.4.0/24 do 10.1.3.0/24 Użyjmy ESP + AES + SHA IPSec SA negotiation Quick Mode pozwala na utworzeniu IPSEC SA w trzech pakietach (Quick Mode jest chroniony poprzez szyfrowanie wynegocjowane w fazie 1) Cisco Public 7 7
IKEv1 Faza 2: Quick Mode Co jest negocjowane: Jaki ruch ma być chroniony (źródłowe adresy/porty/protokoły, docelowe adresy/porty/protokoły) Jaki rodzaj enkapsulacji będzie użyty (ESP/AH) Jakie algortytmy szyfrowania danych będą użyte (3DES/AES, etc.) Jak zapewniana jest integralność danych (MD5/SHA) Jak długo SA powinno istnieć (KB/sekundy) PFS (Perfect Forward Secrecy) Cisco Public 8
Podsumowanie IKEv1 IKEv1 FAZA 1 (Main mode/aggressive Move) FAZA 2 (QUICK MODE) IKEv2 Szyfrowanie danych (ESP) IKE_SA_INIT IKE_AUTH CREATE_CHILD_SA (tylko dla kolejnych SA) Cisco Public 9
Agenda Wstęp do IKEv1 IKEv1 vs IKEv2 Problemy z konfiguracją IKEv1 Crypto Map vs FlexVPN Call Admission Control (CAC) Ustawienia MTU AnyConnect DMVPN Problemy z routingiem HA w Data Center Cisco Public 10
IKEv2 w porównaniu z IKEv1 Mniejsza ilość wiadomości (4 zamiast 9) IKE ID (Identity) jest zawsze chroniona/zaszfrywana Standardowe metody uwierzytelniania (EAP/RSA/PSK) Autentykacja może być asymetryczna Config Mode w standardzie (wymiana routingu, przypisywanie adresów IP etc.) RFC 5996 Cisco Public 11 11
Podsumowanie IKEv2 IKEv1 FAZA 1 (Main mode/aggressive Move) FAZA 2 (QUICK MODE) IKEv2 Szyfrowanie danych (ESP) IKE_SA_INIT IKE_AUTH CREATE_CHILD_SA (tylko dla kolejnych SA) Cisco Public 12
Agenda Wstęp do IKEv1 IKEv1 vs IKEv2 Problemy z konfiguracją IKEv1 Crypto Map vs FlexVPN Call Admission Control (CAC) Ustawienia MTU AnyConnect DMVPN Problemy z routingiem HA w Data Center Cisco Public 13
IKEv1 IKE ID PAT 172.16.0.3 10.0.0.1 10.0.0.1->172.16.0.1 MM5 Src IP: 172.16.0.1 IKE ID: 10.0.0.1 Konfiguracja R3 crypto isakmp profile PROFILE keyring KEY self-identity address match identity address 10.0.0.1 crypto keyring KEY2 pre-shared-key address 172.16.0.1 key CISCO crypto keyring KEY pre-shared-key address 0.0.0.0 key CISCO IKE ID (Identity)!= Adres IP Cisco Public 14
Problemy z konfiguracją IKEv1 RFC2409: For pre-shared keys: SKEYID = prf(pre-shared-key, Ni_b Nr_b) W praktyce oznacza to, że aby zdeszyfrować/zaszyfrować wiadomość MM5 potrzebujemy znać klucz... crypto isakmp profile PROFILE keyring KEY self-identity address match identity address 10.0.0.1 crypto keyring KEY2 pre-shared-key address 172.16.0.1 key CISCO crypto keyring KEY pre-shared-key address 0.0.0.0 key CISCO ZŁA Konfiguracja: keyring z profilu nie pasuje keyring owi użytemu do deszyfracji MM5 Cisco Public 15
Problemy z konfiguracją IKEv1 rozwiązanie Tak na prawdę rozwiązaniem jest IKEv2, gdzie IKE ID jest przesyłane w sposób zaszyfrowany, aczkolwiek klucze enkrypcji/dekrypcji nie są budowane na podstawie hasła! IKEv2 ze względu na budowę protokołu pozwala na prostszą konfigurację, łatwiejszy troubleshooting oraz używanie standardowych rozwiązań (EAP). Cisco Public 16
Problemy z konfiguracją IKEv1 Przykład IKEv2 crypto ikev2 profile default match identity address 10.0.0.1 authentication remote pre-share key CISCO authentication local pre-share key CISCO Można dopasowywać profile na podstawie IKE ID interface Tunnel0 ip unnumbered Ethernet0/0 tunnel source Ethernet0/0 tunnel destination 10.1.1.1 tunnel protection ipsec profile default end Cisco Public 17
Agenda Wstęp do IKEv1 IKEv1 vs IKEv2 Problemy z konfiguracją IKEv1 Crypto Map vs FlexVPN Call Admission Control (CAC) Ustawienia MTU AnyConnect DMVPN Problemy z routingiem HA w Data Center Cisco Public 18
Crypto MAP vs FlexVPN przykładowa konfiguracja CRYPTO MAP access-list 101 permit ip 1.1.1.0 0.0.0.255 2.2.2.0 0.0.0.255 crypto isakmp policy 1 hash md5 authentication pre-share group 2 crypto isakmp key CISCO address 0.0.0.0 crypto ipsec transform-set TSET esp-des esp-md5-hmac mode tunnel crypto map CMAP 10 ipsec-isakmp set peer 10.1.1.1 set transform-set TSET match address 101 Interface Ethernet0/0 crypto map CMAP FLEXVPN (with Smart-defaults) crypto ikev2 profile default match identity remote any authentication remote pre-share key CISCO authentication local pre-share key CISCO interface Tunnel0 ip unnumbered Ethernet0/0 tunnel source Ethernet0/0 tunnel mode ipsec ipv4 tunnel destination 10.1.1.1 tunnel protection ipsec profile default end ip route 2.2.2.0 255.255.255.0 tunnel0 Cisco Public 19
Crypto MAP vs FlexVPN protokół Crypto MAP IKEv1 FlexVPN IKEv2 negocjowane SA any<->any Cisco Public 20
Agenda Wstęp do IKEv1 IKEv1 vs IKEv2 Problemy z konfiguracją IKEv1 Crypto Map vs FlexVPN Call Admission Control (CAC) Ustawienia MTU AnyConnect DMVPN Problemy z routingiem HA w Data Center Cisco Public 21
Call Admission Control Mechanizm ograniczający ilość sesji IPSEC oraz IKEv1/IKEv2 w czasie negocjacji, jak również globalnie Celem jest oszczędzanie zasobów oraz uniknięcie problemów takich jak: Cisco Public 22
Call Admission Control - Problem Po restarcie HUBa/Awarii ISP 1000 Spoke ów łaczy się równolegle Proces ISAKMP posiada priorytety (QM, DPD, MM/AM) Proces ISAKMP zabiera 100% procesora, wpływając na stabilność systemu/protokołów routing etc. Cisco Public 23
Call Admission Control przykładowe ustawienia R1(config)#crypto call admission limit ike in-negotiation-sa 10 R1(config)#crypto call admission limit ike sa 50 R1(config)#crypto ikev2 limit max-in-negotation-sa 10 R1(config)#crypto ikev2 limit max-sa 100 R1(config)#crypto call admission limit ipsec sa 100 Cisco Public 24
Agenda Wstęp do IKEv1 IKEv1 vs IKEv2 Problemy z konfiguracją IKEv1 Crypto Map vs FlexVPN Call Admission Control (CAC) Ustawienia MTU AnyConnect DMVPN Problemy z routingiem HA w Data Center Cisco Public 25
Ustawienia MTU - Wstęp Cisco Public 26
Ustawienia MTU - Problem interface tunnel 0 ip address 10.1.1.1 255.255.255.0 Post-Crypto fragmentation 1480B 100x100B Zfragmentowane ESP (2 pakiety) (1550b) Tunnel VPN 100x150B tunnel source ether 0/0 tunnel destination 172.16.0.1 tunnel protection ipsec profile default Anty-replay errors High CPU Cisco Public 27
Ustawienia MTU - Problem Pre-Crypto fragmentation 2xESP 1480B Tunnel VPN 100x100B 100x150B!ZALECANE! interface tunnel 0 ip address 10.1.1.1 255.255.255.0 ip mtu 1400 tunnel source ether 0/0 tunnel destination 172.16.0.1 tunnel protection ipsec profile default Cisco Public 28
Agenda Wstęp do IKEv1 IKEv1 vs IKEv2 Problemy z konfiguracją IKEv1 Crypto Map vs FlexVPN Call Admission Control (CAC) Ustawienia MTU AnyConnect DMVPN Problemy z routingiem HA w Data Center Cisco Public 29
AnyConnect - Wstęp - SSL standardowe porty TCP 443 for TLS oraz UDP 443 for DTLS Zalecane używanie metody Diffie-Hellman. Na Firewallu ASA (od 9.1(2)): crypto encryption dhe-aes256-sha1 - IKEv2 oparty o IPSEC oraz ESP używający UDP 500 oraz ESP - Od ASA 9.3.2 wsparcie dla natywnych klientów Microsoft Windows! Cisco Public 30
AnyConnect Fundamentals: ASA Server Certificate Klient powinien ufać certifikatowi ASA (lub CA) Proszę zwracać uwagę na problemy z CRL (tak, żeby CRL nie był dostępny poprzez VPN) Warning FQDN ASA powinno znajdować się w polu Subject Name: asa.training.com Internet Intranet Cisco Public 31 31
Ensure Clients Trust the ASA Certificate AnyConnect korzysta z mechanizmów systemu operacyjnego celem uwierzytelniania certyfikatu: Microsoft Windows: MS CAPI MAC OS: Keychain Linux: W zależności od dystrybucji Tip: Warto sprawdzać ścieżke zaufania przeglądarką (np. IE). Niezaufane CA FQDN nie istniejące w Subject Name Czas (NTP) Cisco Public 32 32
Key Usage and Extended Key Usage Checking Extended Key Usage (EKU) oraz Key Usage (KU) określają sposób w jaki certyfikat może zostać użyty (client authentication, server authentication, email itd.) AnyConnect nie wymaga EKU oraz KU w certyfikacie serwera Od AnyConnect 3.1: jeżeli EKU lub KU istnieją w certyfikacie, muszą zawierać: EKU: Server Authentication KU: Digital Signature oraz Key Encipherment Cisco Public 33 33
AnyConnect Pliki konfiguracje Pliki konfiguracje AnyConnect oraz Profile są zapisywane w podanych ścieżkach: Windows 7 and Windows VISTA C:\ProgramData\Cisco\Cisco AnyConnect Secure Mobility Client Windows XP C:\Documents and Settings\All Users\Application Data\Cisco\Cisco AnyConnect VPN Client MAC OS X and Linux /opt/cisco/anyconnect/ Windows 7 and Windows VISTA Windows XP C:\Users\username\AppData\Local\Cisco\ Cisco AnyConnect VPN Client\preferences.xml C:\Documents and Settings\username\Local Settings\ApplicationData\ Cisco\Cisco AnyConnect VPN Client\preferences.xml MAC OS X and Linux /Users/username/.anyconnect Cisco Public 34
Agenda Wstęp do IKEv1 IKEv1 vs IKEv2 Problemy z konfiguracją IKEv1 Crypto Map vs FlexVPN Call Admission Control (CAC) Ustawienia MTU AnyConnect DMVPN Problemy z routingiem HA w Data Center Cisco Public 35
DMVPN Problemy z routingiem Resolution Request Ruch (ICMP/UDP/TCP) do 10.0.3.10 Traffic Indication IPSEC Resolution Reply 10.0.0.0/16 Cisco Public 36
DMVPN Problemy z routingiem Ruch do 10.0.1.0/24 przez Spoke 3! IPSEC Cisco Public 37
Agenda Wstęp do IKEv1 IKEv1 vs IKEv2 Problemy z konfiguracją IKEv1 Crypto Map vs FlexVPN Call Admission Control (CAC) Ustawienia MTU AnyConnect DMVPN Problemy z routingiem HA w Data Center Cisco Public 38
HA w Data Center - Topologia Metoda pozwalająca na szybkie (<1s) wykrycie awarii jednego z HUBa Alternatywa dla Statefull IPSEC (SSO) Rozwiązanie oparte o standardy takie jak BGP/BFD/FlexVPN Cisco Public 39
HA w Data Center - Topologia W momencie awarii R1-HUB, BFD na R2 wykrywa brak połączenia z R1 powodując zerwanie sąsiedztwa BGP R2 w tym momencie rozpoczyna rozgłaszanie tras lokalnych z podwyższonym parametrem local-preference Spoke i R3 oraz R4 rozpoczynają routing poprzez R2 Cisco Public 40
DEMO? Cisco Public 41
Q&A Cisco Public 42
Dziękuję! Cisco Public 43