1 00:00:06,890 --> 00:00:08,740 - So let's go over what is pxGrid. 2 00:00:08,740 --> 00:00:13,740 And basically pxGrid stands for the platform exchange grid. 3 00:00:14,180 --> 00:00:15,320 And it's a technology 4 00:00:15,320 --> 00:00:18,340 that Cisco created to integrate Cisco products 5 00:00:18,340 --> 00:00:20,870 like the Cisco identity service engine 6 00:00:20,870 --> 00:00:23,220 with third party solutions. 7 00:00:23,220 --> 00:00:24,130 And it basically, 8 00:00:24,130 --> 00:00:26,570 it allows you to maintain threat visibility 9 00:00:26,570 --> 00:00:29,890 and accelerates the capabilities of instant response 10 00:00:29,890 --> 00:00:32,970 in order for you to of course, detect, investigate, contain 11 00:00:32,970 --> 00:00:34,550 and recover security incidents. 12 00:00:34,550 --> 00:00:39,341 Right? So now the Cisco pxGrid provides a unified method 13 00:00:39,341 --> 00:00:43,140 of publishing and subscribing to relevant context, you know 14 00:00:43,140 --> 00:00:45,340 with the platforms that actually support it 15 00:00:45,340 --> 00:00:47,050 for those third party integrations. 16 00:00:47,050 --> 00:00:49,650 So for example, you can actually integrate, you know 17 00:00:49,650 --> 00:00:52,300 non Cisco products with the Cisco eyes 18 00:00:52,300 --> 00:00:54,440 and other Cisco products as well. 19 00:00:54,440 --> 00:00:58,780 Now I have provided here a few links that provide detail 20 00:00:58,780 --> 00:01:01,640 information about pxGrid and the supported integration. 21 00:01:01,640 --> 00:01:04,730 However, I also want to at least, you know 22 00:01:04,730 --> 00:01:06,900 go over a few of the highlights 23 00:01:06,900 --> 00:01:11,900 of the protocol and also invite you to visit Devnet 24 00:01:12,010 --> 00:01:14,730 as I've been reminding you throughout the course 25 00:01:14,730 --> 00:01:17,440 because you actually have different exercises 26 00:01:17,440 --> 00:01:20,000 that you can actually complete and tons and tons 27 00:01:20,000 --> 00:01:24,310 of details on how to actually use pxGrid with ice. 28 00:01:24,310 --> 00:01:26,950 And also with, you know, other implementations 29 00:01:26,950 --> 00:01:30,470 using web sockets, using rest APIs, using things 30 00:01:30,470 --> 00:01:34,060 like the stump protocol or the simple text oriented message 31 00:01:34,060 --> 00:01:37,250 protocol. And they also have, you know, XMPP examples and 32 00:01:37,250 --> 00:01:38,410 and some other ones. 33 00:01:38,410 --> 00:01:40,570 Now, as far as the architecture, let's go 34 00:01:40,570 --> 00:01:42,220 over the architecture. 35 00:01:42,220 --> 00:01:46,230 Now, in this example, I have a high level architecture where 36 00:01:46,230 --> 00:01:50,280 two pxGrid servers, basically controllers, communicate 37 00:01:50,280 --> 00:01:52,970 with different participant notes, right? 38 00:01:52,970 --> 00:01:53,931 Now in pxGrid. 39 00:01:53,931 --> 00:01:57,890 A participant note does not communicate directly 40 00:01:57,890 --> 00:01:59,060 with pxGrid server. 41 00:01:59,060 --> 00:02:02,640 Basically they make programmatic calls to the grid 42 00:02:02,640 --> 00:02:05,910 client library or GCL, right? 43 00:02:05,910 --> 00:02:09,840 And then the GCL will actually communicate and connect 44 00:02:09,840 --> 00:02:11,630 to the pxGrid server. 45 00:02:11,630 --> 00:02:15,430 Now some deployments may actually have only a few notes, but 46 00:02:15,430 --> 00:02:18,320 in large organizations, we may actually encounter thousands 47 00:02:18,320 --> 00:02:19,610 upon thousands of notes, right? 48 00:02:19,610 --> 00:02:22,592 So it, it can actually scale, you know, fairly 49 00:02:22,592 --> 00:02:24,710 fairly significantly. 50 00:02:24,710 --> 00:02:27,700 Now there are two different types of pxGrid clients. 51 00:02:27,700 --> 00:02:32,700 A pxGrid, service consumer, and a pxGrid service provider. 52 00:02:34,170 --> 00:02:36,270 Now here I'm actually illustrating or, you know 53 00:02:36,270 --> 00:02:40,400 demonstrating the typical pxGrid, client flow. 54 00:02:40,400 --> 00:02:43,490 Now all pxGrid clients need to authenticate using 55 00:02:43,490 --> 00:02:47,370 certificate based authentication or using a user 56 00:02:47,370 --> 00:02:49,300 name and password, right? 57 00:02:49,300 --> 00:02:52,050 Now you can generate passwords with a pxGrid account 58 00:02:52,050 --> 00:02:53,400 create API. 59 00:02:53,400 --> 00:02:55,840 However, SSL based authentication we use 60 00:02:55,840 --> 00:02:59,870 in certificate is far more secure or stronger, right? 61 00:02:59,870 --> 00:03:03,171 And it is recommended by Cisco 62 00:03:03,171 --> 00:03:05,490 as the way to authenticate pxGrid clients, right? 63 00:03:05,490 --> 00:03:07,240 So at all possible, you know 64 00:03:07,240 --> 00:03:09,780 if you can actually perform certificate bases 65 00:03:09,780 --> 00:03:12,410 as authentication, definitely do that, right? 66 00:03:12,410 --> 00:03:14,510 Now in Cisco ice, you can generate 67 00:03:14,510 --> 00:03:18,500 and reuse certificates for pxGrid clients as well. 68 00:03:18,500 --> 00:03:21,970 Now, all pxgrid clients must request to 69 00:03:21,970 --> 00:03:25,820 activate their accounts on the pxGrid server via REST API. 70 00:03:25,820 --> 00:03:28,330 And these clients poll 71 00:03:28,330 --> 00:03:33,102 on this REST API call using an enabled message 72 00:03:33,102 --> 00:03:35,533 that is actually received from the server. 73 00:03:36,480 --> 00:03:39,420 Now, service providers use the register 74 00:03:39,420 --> 00:03:42,490 and on register service APIs to provide 75 00:03:42,490 --> 00:03:44,550 and update the necessary URLs 76 00:03:44,550 --> 00:03:49,030 from which their services are basically accessible 77 00:03:49,030 --> 00:03:51,410 for other pxGrid clients. 78 00:03:51,410 --> 00:03:55,310 All the clients use the server lookup API. 79 00:03:55,310 --> 00:03:58,040 And basically this is actually done to dynamically 80 00:03:58,040 --> 00:04:01,030 discover all available provider services 81 00:04:01,030 --> 00:04:02,690 and their locations. 82 00:04:02,690 --> 00:04:07,120 Now pxGrid clients can then perform rest based API queries 83 00:04:07,120 --> 00:04:11,260 via the service query and subscribed API 84 00:04:11,260 --> 00:04:13,400 or they can actually build socket connections 85 00:04:13,400 --> 00:04:16,423 to receive, you know, information from these participants. 86 00:04:17,300 --> 00:04:21,880 Now Cisco provides sample Java go 87 00:04:21,880 --> 00:04:24,700 and Python code that can be obtained 88 00:04:24,700 --> 00:04:27,730 from this (inaudible) repository that I'm highlighting 89 00:04:27,730 --> 00:04:28,630 in the screen. 90 00:04:28,630 --> 00:04:29,670 You don't actually have to go 91 00:04:29,670 --> 00:04:32,190 into the details and, you know, because some 92 00:04:32,190 --> 00:04:36,100 of the concentrations exams like the S auto, and 93 00:04:36,100 --> 00:04:40,810 of course the CCIE go into very, very detailed, you know 94 00:04:40,810 --> 00:04:43,730 examples and expect you to actually program in there. 95 00:04:43,730 --> 00:04:46,430 But at least at the, for the core exam 96 00:04:46,430 --> 00:04:48,150 you need to become familiar 97 00:04:48,150 --> 00:04:51,200 with the high level architecture of pxGrid. 98 00:04:51,200 --> 00:04:54,850 What are the pxGrid servers and clients and controllers 99 00:04:54,850 --> 00:04:59,140 and also, you know, at least recognize some example code 100 00:04:59,140 --> 00:05:00,230 on what is actually doing. 101 00:05:00,230 --> 00:05:01,560 And in this case, of course, you know 102 00:05:01,560 --> 00:05:05,753 to integrate with different APIs, like the Cisco is API.