1
00:00:11,050 --> 00:00:12,610
Now, this complicates things.

2
00:00:13,360 --> 00:00:21,070
We're told that we need to put the access list in the most efficient place on the router to, for instance,

3
00:00:21,490 --> 00:00:29,760
deny external hosts getting access to internal hosts, but being able to access the HTTP servers.

4
00:00:30,400 --> 00:00:32,900
So I'm going to place the access list here.

5
00:00:33,490 --> 00:00:37,960
It's also good to put your access list on the outside interface of your router.

6
00:00:38,350 --> 00:00:44,470
In other words, the interface facing the Internet so that you could, for example, block traffic to

7
00:00:44,470 --> 00:00:46,720
the router to protect the router.

8
00:00:47,020 --> 00:00:53,880
You want to place your access lists, especially your external access lists on the outside interface.

9
00:00:54,400 --> 00:01:00,700
In other words, you want to protect yourself from the Internet as far away from your internal network

10
00:01:00,700 --> 00:01:01,410
as you can.

11
00:01:01,780 --> 00:01:05,010
So we don't want to place the access list here or here.

12
00:01:05,290 --> 00:01:06,420
We want to put it here.

13
00:01:07,210 --> 00:01:14,110
In any way based on this criteria, you wouldn't be able to create one access list that meets all the

14
00:01:14,110 --> 00:01:14,980
criteria.

15
00:01:15,550 --> 00:01:19,360
If you try to bind it here or here, it's going to need to be here.

16
00:01:20,140 --> 00:01:26,470
That also creates another problem, because when this PC sends traffic to the Internet, it's going

17
00:01:26,470 --> 00:01:34,750
to have to pass to access lists, one going from left to right and one going from right to left for

18
00:01:34,750 --> 00:01:35,950
the return traffic.

19
00:01:36,550 --> 00:01:39,630
And that is what makes things more complicated.

20
00:01:40,150 --> 00:01:43,060
So we are told to use access list 101.

21
00:01:44,860 --> 00:01:53,800
So access list 101, we have to permit traffic so that any external device can access the internal servers

22
00:01:53,800 --> 00:02:00,130
using HTTP or HTTPS, so that requires TCP IP.

23
00:02:00,970 --> 00:02:07,810
The source will be any device going to 10.1.2.0.

24
00:02:09,710 --> 00:02:11,210
That's our service subnet.

25
00:02:13,750 --> 00:02:19,690
Over here, and we want to permit HTTP and HTTPS.

26
00:02:20,780 --> 00:02:23,510
So port 80 and port 443.

27
00:02:24,550 --> 00:02:34,000
So show access lists, these two access list entries are part of access list 101, notice the numbers

28
00:02:34,240 --> 00:02:40,690
automatically added to the access list, which would allow us to edit the access list if required.

29
00:02:41,080 --> 00:02:44,650
I showed you that in the previous access list lab.

30
00:02:45,340 --> 00:02:49,670
No external device can access subnet 10.1.2.0.

31
00:02:50,080 --> 00:02:55,750
We need to explicitly add this line, but that causes problems.

32
00:02:56,260 --> 00:03:02,140
Because this PC shouldn't be able to access, for instance, these PCs.

33
00:03:02,710 --> 00:03:06,520
But what happens if PC 1 wants to connect to Cisco.com?

34
00:03:07,880 --> 00:03:09,860
What about the return traffic?

35
00:03:10,910 --> 00:03:17,790
And when that PC connects to Cisco.com or Facebook.com, what does it do?

36
00:03:18,650 --> 00:03:20,640
It sends a DNS request.

37
00:03:20,900 --> 00:03:24,240
In other words, it needs the name to be resolved.

38
00:03:25,040 --> 00:03:33,230
So this is where it gets a little bit more complicated, because what we want to do is permit DNS replies

39
00:03:33,410 --> 00:03:38,490
from our DNS server with IP address 8.8.8.8.

40
00:03:39,260 --> 00:03:47,960
So we want to allow that server to reply back to DNS requests.

41
00:03:48,440 --> 00:03:57,890
So when the host sends the DNS request, it's going to go to Port 53 and the reply is going to come

42
00:03:57,890 --> 00:04:04,320
back with a source port of 53, going to a random port number on the PC.

43
00:04:05,150 --> 00:04:14,450
So we want to specify that the source port is going to be 53 and the destination will be any one in

44
00:04:14,450 --> 00:04:15,860
our internal network.

45
00:04:16,640 --> 00:04:19,250
Now, in this lab, I'm not using NAT addresses.

46
00:04:19,690 --> 00:04:22,019
We cover NAT in a separate part of the course.

47
00:04:22,430 --> 00:04:29,870
So for the moment, we just ignoring the requirement that you need to NAT RFC 1918 addresses

48
00:04:30,140 --> 00:04:31,250
onto the Internet.

49
00:04:32,780 --> 00:04:38,060
If you want me to add a combined NAT and access list lab, let me know I can do that.

50
00:04:38,270 --> 00:04:40,490
It just makes things a little bit more complicated.

51
00:04:41,440 --> 00:04:50,710
We also need to think about the return traffic of sessions to the servers, so when the PC sends HTTP

52
00:04:50,710 --> 00:04:56,410
traffic to the server, the server needs to be able to return that back to the PC.

53
00:04:56,920 --> 00:05:05,680
But we only want to allow TCP traffic from our servers in response to requests to the servers.

54
00:05:06,190 --> 00:05:13,530
Now, you could tie it down here by specifying port 80, 443 and so forth, but what about the PCs

55
00:05:13,540 --> 00:05:15,250
initiating other kinds of sessions.

56
00:05:15,280 --> 00:05:20,170
So what about FTP or TFTP or other kinds of sessions.

57
00:05:20,980 --> 00:05:24,450
So I'm not going to specify a source port here.

58
00:05:25,030 --> 00:05:33,430
I'm going to allow all returned traffic, but what I'm going to do is use the word established.

59
00:05:34,330 --> 00:05:38,260
Established means that the ACK BIT is set.

60
00:05:39,810 --> 00:05:47,370
If you think back to your TCP three way handshake, the first host, when it initiates a session, sets

61
00:05:47,370 --> 00:05:54,680
the SIN BIT but not the ACK BIT, the ACK BIT is only set on return traffic.

62
00:05:55,350 --> 00:06:00,750
So this is looking for an acknowledgment or ACK in the return traffic.

63
00:06:01,240 --> 00:06:08,160
Now, in the real world, you don't want to use this because hacking tools can spoof ACK very easily.

64
00:06:08,550 --> 00:06:15,360
But when configuring an access list like this, that is an option to use, in the real world

65
00:06:15,360 --> 00:06:21,540
we want to use stateful firewalls, which are a lot more powerful than standard and extended access

66
00:06:21,540 --> 00:06:21,960
lists.

67
00:06:22,380 --> 00:06:28,140
But here we are using an access list and that would accomplish what we need to accomplish.

68
00:06:29,130 --> 00:06:36,330
And then we want to deny as a lost step all traffic to our internal network.

69
00:06:38,010 --> 00:06:43,080
So deny IP any going to 10.1.2.0

70
00:06:44,900 --> 00:06:46,910
with subnet mask

71
00:06:48,440 --> 00:06:55,160
and then we want to bind that, but let's have a look at our access list first, there's our new access

72
00:06:55,160 --> 00:07:00,140
list 101 and we want to bind it to gigabit 001.

73
00:07:02,270 --> 00:07:08,930
So Interface Gigabit 001, IP Access Group, 101 inbound.

74
00:07:10,840 --> 00:07:12,100
So again, show run

75
00:07:14,770 --> 00:07:23,620
access list 100 is bound inbound on gigabit 000, access list 101 is bound inbound on gigabit

76
00:07:23,620 --> 00:07:24,820
001

77
00:07:27,180 --> 00:07:34,290
and that's what our access lists look like, it's fairly complicated, so let's test whether it actually

78
00:07:34,290 --> 00:07:34,860
works.

