Integracja ISE z IPS z wykorzystaniem pxgrid

Integracja ISE z IPS z wykorzystaniem pxGrid Demo aplikacji pxLog Michał Garcarz Krakow TAC AAA Lead CCIE #25272 (R&S, Security, Wireless) Cisco Secur...
7 downloads 0 Views 3MB Size
Integracja ISE z IPS z wykorzystaniem pxGrid Demo aplikacji pxLog Michał Garcarz Krakow TAC AAA Lead CCIE #25272 (R&S, Security, Wireless) Cisco Secure 2014

Agenda API w ISE

REST External RESTful (+ guest)

pxGrid Demo aplikacji pxLog pokazujące możliwości pxGrid © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

2

API w ISE

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

3

API w ISE 

API: Co to jest i po co ?



Partnerzy, środowisko



Cisco



Kompletne rozwiązania zamiast pudełek

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

4

API w ISE 1.3 

REST API



External RESTful API



pxGrid

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

5

ISE API - REST

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

6

ISE API - REST 

Admin (basic HTTP auth), GET request, transport tcp/443



Session Management (lista wszystkich sesji lub po MAC, IP, User, szczegółowe informacje o każdej sesji)



Troubleshooting (lista błędów wszystkich sesji lub per MAC)



Change of authorization (Reauth, Disconnect: per MAC)



Zmiana URL przy przjeściu z ISE 1.2 do ISE 1.3 (ise/mnt -> admin//API/mnt)

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

7

ISE API – REST Session Management User-name Calling-station-id NAS-IP-Address Audit-session-id Framed-IP-Address

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

8

ISE API – REST CoA

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

9

ISE API – REST Błędy 

Debugi per węzeł (ERS) pokazują dokładnie każde żądanie oraz wynik (ise-psn.log)



2014-09-19 21:33:34,749 WARN [admin-http-pool5380][] apache.cxf.jaxrs.interceptor.JAXRSInInterceptor -:::::- No root resource matching request path /CoA/Reauth/lise.example.com/C0:4A:00:14:8D:4B/1 has been found.



2014-09-19 21:33:34,749 WARN [admin-http-pool5380][] apache.cxf.jaxrs.impl.WebApplicationExceptionMapper -:::::WebApplicationException has been caught : no cause is available

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

10

ISE API – External RESTful

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

11

ISE API – External RESTful 

ERS_Admin (basic HTTP auth), GET/POST/PUT request, CRUD, transport tcp/9060, ISE 1.2 włączane w CLI, ISE 1.3 w GUI



Wiele różnych operacji umożliwiających zmianę konfiguracji (operacje na użytkownikach, endpointach, grupach)

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

12

ISE API – External RESTful - włączanie ISE 1.3 ISE 1.2

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

13

ISE API – External RESTful administrator

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

14

ISE API – External RESTful pobranie listy endpointów

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

15

ISE API – External RESTful pobranie listy użytkowników z filtrem

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

16

ISE API – External RESTful usunięcie użytkownika

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

17

ISE API – External RESTful dodanie użytkownika

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

18

ISE API – External RESTful guest 

Guest API, nowość w ISE 1.3, dostęp dla sponsorów (nie admin), należy włączyć dla danej grupy sponsorów

Opcja per sponsor group: „Access Cisco ISE guest accounts using the programmatic interface (Guest REST API)” W razie próby dostępu bez uprawnień (ise-psc.log z debugami ERS): „Sponsor does not have permission to access REST Apis”

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

19

ISE API – External RESTful lista gości

API 2.0 ! Sponsor (nie admin)

Podobne zapytania o listę portali wraz z ustawieniami ! © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

20

ISE API – External RESTful szczegóły o gościu

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

21

ISE API – External RESTful reset hasła gościa

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

22

ISE API – External RESTful weryfikacja nowego hasła gościa

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

23

ISE API – External RESTful błędy 

Debugi per węzeł (ERS) pokazują dokładnie każde żądanie oraz wynik (ise-psn.log)



2014-09-19 22:06:41,498 INFO [ers-http-pool21][] cisco.cpm.ers.fw.GenericService -:::::- The GET ALL resources request for resource type 'endpoint' Completed Successfully



[ers-http-pool87][] cpm.ers.api.exception.ERSException -:::::- Validation Error - Mandatory fields missing: [portalId]



[ers-http-pool87][] cpm.ers.fw.schema.ERSSchemaValidator -:::::- At line 3 of null:cvc-complex-type.2.4.a: Invalid content was found starting with element 'password'. One of '{link, customFields}' is expected.

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

24

ISE API – pxGrid

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

25

ISE API – pxGrid 

Cel: integracja z wieloma systemami (np.: IPS, SIEM), przesyłanie do ISE informacji o kwarantannie (EPS)+ reakcja na ataki (port bounce, shutdown, terminate)



Transport: XMPP w SSL (tcp/5222), protokół bazujący na XML



Grupy (Session, EPS, inne)



Autentykacja (certyfikaty klienta, serwera + XMPP SASL), rejestracja, akceptacja, bezpieczeństwo



Operacje (publish, subscribe, query, bulk download)



Możliwość ustalenia bezpiecznego kanału p2p out-of-band



Skalowalność do tysięcy węzłów (filtry)



Klastrowanie wielu kontrolerów pxGrid

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

26

pxGrid – API 

Rejestracja użytkowników grup session oraz EPS



Shutdown portu (ip lub mac lub session_id)



Ściąganie informacji o aktywnych sesjach



Port bounce (ip lub mac lub session_id)



Ściąganie informacji o aktywnej sesji (ip endpointa)



Przerwanie sesji (ip lub mac lub session_id)



Ściąganie informacji o aktywnych sesjach (username)



Reautentykacja sesji (ip lub mac lub session_id)



Ściąganie informacji o profilach (profiling)



Ściąganie informacji o Trustsec SGT



Sprawdzanie wersji



Kwarantanna (ip lub mac lub session_id)



Koniec Kwarantanny (ip lub mac lub session_id)

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

27

pxGrid – wymagania protokołu 

Autoryzacja certyfikatami (klient ufa serwerowi, serwer klientowi)



Dla Javy: keystore po stronie klienta (trusted + klient)



Poprawne rekordy DNS typu A (API klienta łączy się do nazwy hosta, nie FQDN po wstępnej autoryzacji) – wymuszone przez SASL XMPP

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

28

ISE API – pxGrid – przykład z sdk (rejestracja)

Rejestracja manualna lub automatyczna:

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

29

ISE API – pxGrid – przykład z sdk (informacje o sesjach)

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

30

ISE API – porównanie

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

31

pxLog – demo aplikacji

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

32

pxGrid 

Jak zacząć



Co udostępnia Cisco



Przykłady w sdk



Przyszłość



Produkty Cisco

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

33

Demo aplikacji pxLog – po co ? 

Proof of concept



Budowanie ekosystemu ISE (Cisco otwartą firmą !)



Testowanie funkcjonalności pxGrid przed CCO/FCS



Dostępna na licencji GPLv3 ( „wolność udoskonalania programu i publicznego rozpowszechniania własnych ulepszeń, dzięki czemu może z nich skorzystać cała społeczność”)



Aplikacja pxLog nie jest wspierana przez Cisco !

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

34

Demo aplikacji pxLog

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

35

Demo aplikacji pxLog – dlaczego to działa ? 

Komunikaty syslog prawie wszystkich systemów bezpieczeństwa mają podobny format (łatwa integracja z czymkolwiek)



Korzystamy ze wszystkich możliwości pxGrid



Natywne wsparcie pxGrid na urządzeniach Cisco (WSA, Sourcefire)



Natychmiastowa zmiana (Use case: zwalniany pracownik, bezpieczeństwo po przepięciu do innego portu/AP -> IPSy bez świadomości kontekstu: IP based, AD user based, compliant ?)



IPS ciągle dobre – do blokowania inline

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

36

Demo aplikacji pxLog – architektura

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

37

Demo aplikacji pxLog – konfiguracja ISE Włączenie EPS (default: wyłączona)





Włączenie persona pxGrid (default: wyłączona)

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

38

Demo aplikacji pxLog – konfiguracja ISE 

Poprawny łańcuch certyfikatów



Rola pxGrid



Wymagania KU, EKU (nie ClientAuth)



Wymagania hostname

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

39

Demo aplikacji pxLog – regułki authz

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

40

Demo aplikacji pxLog – konfiguracja snort Snort z DAQ pracujący jako inline, przekierowanie ruchu iptables:

  

iptables -I FORWARD -j ACCEPT iptables -I FORWARD -j NFQUEUE --queue-num 1

Regułka wysyłająca alert dla icmp TTL = 6

 

alert icmp any any -> any any (itype:8; ttl: 6; sid:100124)

Threshold regułki na 60 s

 

event_filter gen_id 1, sig_id 100124, type limit, track by_src, count 1, seconds 60

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

41

Demo aplikacji pxLog – GUI

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

42

Demo aplikacji pxLog – Rejestracja użytkowników pxGrid

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

43

Demo aplikacji pxLog – Rejestracja użytkowników pxGrid

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

44

Demo aplikacji pxLog – Rejestracja użytkowników pxGrid

AJAX update

Startuje wątek enforcer (po rejestracji) © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

45

Demo aplikacji pxLog – Konfiguracja

Sep 8 10:42:13 snort snort[9690]: [1:100124:0] ALERT {ICMP} 10.221.0.240 -> 10.222.0.61 © 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

46

Demo aplikacji pxLog – Intergracja z innymi systemami Cisco ASA inspection

 

Aug 12 2014 14:36:20: %ASA-5-415006: HTTP - matched Class 23: MS13-025_class in policy-map MS_Mar_2013_policy, URI matched - Dropping connection from inside:192.168.60.88/2135 to outside:192.0.2.63/80

Cisco Sourcefire NGIPS

 

Aug 28 19:46:19 IDS01 SFIMS: [CA IDS][Policy1][119:15:1] http_inspect: OVERSIZE REQUEST-URI DIRECTORY [Classification: Potentially Bad Traffic] [Priority: 2] {TCP} 10.12.253.47:55504 -> 10.15.224.60:80

Juniper JunOS

 

Jul 16 10:09:39 JuniperJunOS: asp[8265]: ASP_IDS_TCP_SYN_ATTACK: asp 3: proto 6 (TCP), ge-0/0/1.0 10.60.0.123:2280 -> 192.168.1.12:80, TCP SYN flood attack

Linux iptables

 

Jun 15 23:37:33 netfilter kernel: Inbound IN=lo OUT= MAC=00:13:d3:38:b6:e4:00:01:5c:22:9b:c2:08:00 src=10.0.0.1 DST=10.0.0.100 LEN=60 TOS=0x10 PREC=0x00 TTL=64 ID=47312 DF PROTO=TCP SPT=40945 DPT=3003 WINDOW=32767 RES=0x00 SYN URGP=0

Freebsd ipfw

 

Sep 7 15:03:14 delta ipfw: 11400 Deny UDP 10.61.216.50 10.81.199.2 in via fxp0 (frag 52639:519@1480)

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

47

Demo aplikacji pxLog – Sesja 802.1x

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

48

Demo aplikacji pxLog – atak i kwarantanna

Regułka snort: alert icmp any any -> any any (itype:8; ttl: 6; sid:100124) Log odebrany przez pxLog: Sep 8 10:42:13 snort snort[9690]: [1:100124:0] ALERT {ICMP} 10.221.0.240 -> 10.222.0.61

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

49

Demo aplikacji pxLog – atak i kwarantanna

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

50

Demo aplikacji pxLog – atak i kwarantanna

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

51

Demo aplikacji pxLog – koniec kwarantanny Kiedy warto skończyć kwarantannę

  

Manualnie (ISE, pxLog) Automatycznie (IPS, NAC Agent, SIEM, Remediation, inne: pxLog)

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

52

Demo aplikacji pxLog – koniec kwarantanny

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

53

Demo aplikacji pxLog – koniec kwarantanny

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

54

Demo aplikacji pxLog – koniec kwarantanny

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

55

Demo aplikacji pxLog – Instalacja 

Biblioteki: jQuery(Ajax), JSTL (model MVC), Log4j(logowanie), Mysql connector, Displaytag (renderowanie tablic HTML), pxGrid



Instalacja:



Umieszczenie projektu w katalogu webapp Tomcat-a



Poprawić WEB-INF/web.xml. Zmienna serverip wskazująca na ISE. Generowanie java keystore. Rekord A w DNS dla ISE.



Baza Mysql inicjowana przez skrypt mysql/init.sql.



Wiele ustawień opcjonalnych w WEB-INF/web.xml.

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

56

pxGrid – integracja VPN

ISE 1.3.1 i unifikacja obsługi CoA dla modułu EPS

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

57

pxGrid – Partnerzy i rozwiązania 

LogRhythm (SIEM) - REST API



Splunk (SIEM) - REST API



HP Arcsight (SIEM) - REST API



Sentinel NetIQ (SIEM) – plan wsparcia pxGrid



Lancope StealthWatch (SIEM) – plan wsparcia pxGrid



Cisco Sourcefire - wsparcie pxGrid 1HCY15



Cisco WSA - wsparcie pxGrid - kwiecień 2015 (no commitment)

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

58

Podsumowanie API w ISE

   



REST External RESTful (+ guest) pxGrid

Demo aplikacji pxLog pokazujące możliwości pxGrid

© 2013-2014 Cisco and/or its affiliates. All rights reserved.

Cisco Public

59

Q&A Pytania ?

Dziękuję

Suggest Documents