The good news is that ISE is working really well for me, and (the better news for you) that I am running out of ISE-related puns. But here is a picture of Mr. Freeze anyway:
Thinking about it, from purely a lab point-of-view, the Guest portal is probably not that essential. It'll be a virtual lab, so actually testing the wifi will be difficult. However, an IP Phone connected to a laptop (or other device), now there is a viable possibility.
So, that is what we do do next.
Here is the current port configuration:
3750X(config-if)#do sh run int gi 3/0/3 | b interface interface GigabitEthernet3/0/3 description IP Phone switchport access vlan 21 switchport mode access switchport voice vlan 9 authentication event fail action next-method authentication host-mode multi-auth authentication open authentication order dot1x mab authentication priority dot1x mab authentication port-control auto authentication periodic mab dot1x pae authenticator spanning-tree portfast end 3750X(config-if)#Setting up the phone was a bit tricky, it's my first time playing with a Cisco phone, so a little learning curve and lots of Googling, I got thrown off by an couple of "errors" but apparently these can be ignored. I don't need the phone to be 100%, just working enough to allow the phone to get onto the network.
Initially, I could not get it working on VLAN 21 (for the data port), but that was due to forgetting to add the necessary VIFs to SW1 and SW2 (because of the rebuild a couple of days ago). Once I had the brainwave that this was the missing component, whilst bathing the twins, and confirming this was the case, a quick fix and the correct VLAN is now being used. As a side note, UNetLab works really well on a Kindle Fire 10, and SSH works well through JuiceSSH. I have not tried VNC integration yet though.
For the phone to work, we need a few things. It needs to be pointed to a TFTP server, and this is done by adding an option in DHCP. In the DHCP server, right-click on IPv4 and select "Set Predefined Options", then click on add and add the following:
Once this is added, under the scope we add the option and point it to the TFTP server:
The VLAN VIF does need the "ip helper-address" command to point to the DHCP server, but this is it as far as DHCP goes.
The TFTP server needs a few files. Naturally we need the firmware files, and I am using 7.5.0. I did try 8.X, but whilst troubleshooting decided to downgrade (in case I was going too high).
The other files are the OS79XX file (as I am using a 7940 IP phone). This needs to have one line, which is the firmware version:
This file gets called first, then the phone looks for another couple of files. We have the SIPDefault.cnf file:
Not sure if the proxy stuff is needed, this was added for troubleshooting. The we have the phone-specific config file, which needs to be named SIPMACADDRESS.cnf, where MACADDRESS is the MAC address of the phone:
The we have the xmlDefault.cnf.xml file, not sure if this is necessary for the 7940 or not, but I have it anyway:
The phone does say thats it's still "unprovisioned", but this is related to the proxy_backup and proxy_emergency commands. This is not a show stopper, but I did send a long time chasing this one.
The phone now connects happily, as does the laptop connected to it:
Let's return to ISE and see what that tells us.
We get a green tick, but not a whole lot else. So, are we missing something?
The Live Log is rather useful here:
3750X#sh authentication interface gi 3/0/3
Client list:
Interface MAC Address Method Domain Status Session ID
Gi3/0/3 e411.5b25.c2e9 dot1x DATA Authz Success 0A01013200000038021D78F6
Gi3/0/3 0019.e83e.3b09 mab VOICE Authz Success 0A01013200000039021D8F8A
Available methods list:
Handle Priority Name
3 0 dot1x
4 1 mab
Runnable methods list:
Handle Priority Name
3 0 dot1x
4 1 mab
3750X#
So, the phone uses MAB (Mac Authentication Bypass) and the laptop uses dot1x. It's good to know that these both work as it's the only reason I bought the 3750X switch.The cool thing is that we can confirm that naughty old Bob is hitting the right policy when using the laptop:
Still making really good headway now. ISE is pretty intuitive, most of the hard stuff is remembering what to add on the actual network devices. Most of the commands either begin with an A (aaa), R (radius) or d (dot1x). Remember this and the rest can probably be figured out through a decent bit of context-sensitive help. But do check out the post on troubleshooting ISE, as that's a real bonus in getting things to work!
We have not really pushed the boundaries though. ISE is a big product with lots of options, so what else can we do? We could do something like permit some traffic, and deny others, using a downloadable ACL.
To create a downloadable ACL we go to Policy > Policy Elements > Results >Authorization > Downloadable ACLs:
We can check the syntax as well, which is a useful feature.
We then need to turn this into something we can use, by creating an Authorization profile:
Now we should be able to attach this to the Bob-Wired-OK policy (and now I am pleased that I created this):
How does this fair?
Well, Bob can still reach the server via HTTP and HTTPS, but the dACL is being used:
Line 11022 shows that the dACL is being sent, it's just not being used by the client. Let's eliminate the phone from the equation and move the laptop to gi3/0/20:
3750X#sh access-list
Extended IP access list Auth-Default-ACL-OPEN
10 permit ip any any (3318 matches)
Extended IP access list xACSACLx-IP-Deny-AP-DNS-to-Bob-5757323f (per-user)
10 deny tcp any host 10.1.4.101 eq www
20 deny tcp any host 10.1.4.101 eq 443
30 permit ip any any
Extended IP access list xACSACLx-IP-PERMIT_ALL_TRAFFIC-56161e32 (per-user)
10 permit ip any any
3750X#sh authentication sessions interface gi3/0/20
Interface: GigabitEthernet3/0/20
MAC Address: e411.5b25.c2e9
IP Address: Unknown
User-Name: dodgybob
Status: Authz Success
Domain: DATA
Security Policy: Should Secure
Security Status: Unsecure
Oper host mode: multi-auth
Oper control dir: both
Authorized By: Authentication Server
Vlan Policy: N/A
ACS ACL: xACSACLx-IP-Deny-AP-DNS-to-Bob-5757323f
Session timeout: 3600s (local), Remaining: 2836s
Timeout action: Reauthenticate
Idle timeout: N/A
Common Session ID: 0A0101320000004609E58FCD
Acct Session ID: 0x0000005F
Handle: 0x2C000047
Runnable methods list:
Method State
dot1x Authc Success
mab Not run
3750X#
We are definitely getting the right details, the ACL is being applied. I posted yesterday about troubleshooting ISE, so working through that I added as many of the commands as necessary, but still Bob can get to the web page. We also do not see any hits on the access list (which I changed to add the "log" option):
3750X(config-if)#do sh access-lists
Extended IP access list Auth-Default-ACL-OPEN
10 permit ip any any (6511 matches)
Extended IP access list xACSACLx-IP-Deny-AP-DNS-to-Bob-57591fa3 (per-user)
10 deny tcp any host 10.1.4.101 eq www log
20 deny tcp any host 10.1.4.101 eq 443 log
30 permit ip any any log
Extended IP access list xACSACLx-IP-PERMIT_ALL_TRAFFIC-56161e32 (per-user)
10 permit ip any any
3750X(config-if)#
So, I hit the Googles again. Turns out, one of the commands I was missing (ip device tracking) was the one I needed (go figure!):
3750X(config)#ip device tracking
3750X(config)#int gi 3/0/20
3750X(config-if)#shut
3750X(config-if)#no shut
3750X(config-if)#do sh access-lists
Extended IP access list Auth-Default-ACL-OPEN
10 permit ip any any (6531 matches)
Extended IP access list xACSACLx-IP-Deny-AP-DNS-to-Bob-57591fa3 (per-user)
10 deny tcp any host 10.1.4.101 eq www log
20 deny tcp any host 10.1.4.101 eq 443 log
30 permit ip any any log
Extended IP access list xACSACLx-IP-PERMIT_ALL_TRAFFIC-56161e32 (per-user)
10 permit ip any any
3750X(config-if)#
3750X(config-if)#
Now, while the ACL hits do not increment, we do get the desired result. We also fill in one of the blanks in the auth session output (the IP Address):
3750X(config-if)#do sh auth sess int gi 3/0/20
Interface: GigabitEthernet3/0/20
MAC Address: e411.5b25.c2e9
IP Address: 10.1.4.202
User-Name: dodgybob
Status: Authz Success
Domain: DATA
Security Policy: Should Secure
Security Status: Unsecure
Oper host mode: multi-auth
Oper control dir: both
Authorized By: Authentication Server
Vlan Policy: N/A
ACS ACL: xACSACLx-IP-Deny-AP-DNS-to-Bob-57591fa3
Session timeout: 3600s (local), Remaining: 3420s
Timeout action: Reauthenticate
Idle timeout: 65535s (local), Remaining: 65355s
Common Session ID: 0A0101320000004A0A50A8B8
Acct Session ID: 0x00000070
Handle: 0x4C00004B
Runnable methods list:
Method State
dot1x Authc Success
mab Not run
3750X(config-if)#
3750X(config-if)#do sh ip access-lists int gi 3/0/20
deny tcp host 10.1.4.202 host 10.1.4.101 eq www log
deny tcp host 10.1.4.202 host 10.1.4.101 eq 443 log
permit ip host 10.1.4.202 any log (73 matches)
3750X(config-if)#
So let's move the laptop back to the phone connection, and just make sure that it still does what it is supposed to:
3750X(config-if)#do sh authe sess
Interface MAC Address Method Domain Status Session ID
Gi3/0/3 e411.5b25.c2e9 dot1x DATA Authz Success 0A0101320000004B0A57FC2A
Gi3/0/3 0019.e83e.3b09 mab VOICE Authz Success 0A0101320000003A02750260
3750X(config-if)#do sh authe sess in gi 3/0/3
Interface: GigabitEthernet3/0/3
MAC Address: e411.5b25.c2e9
IP Address: 10.1.21.20
User-Name: dodgybob
Status: Authz Success
Domain: DATA
Security Policy: Should Secure
Security Status: Unsecure
Oper host mode: multi-auth
Oper control dir: both
Authorized By: Authentication Server
Vlan Policy: N/A
ACS ACL: xACSACLx-IP-Deny-AP-DNS-to-Bob-57591fa3
Session timeout: 3600s (local), Remaining: 3582s
Timeout action: Reauthenticate
Idle timeout: 65535s (local), Remaining: 65518s
Common Session ID: 0A0101320000004B0A57FC2A
Acct Session ID: 0x00000071
Handle: 0x2600004C
Runnable methods list:
Method State
dot1x Authc Success
mab Not run
----------------------------------------
Interface: GigabitEthernet3/0/3
MAC Address: 0019.e83e.3b09
IP Address: 10.1.9.20
User-Name: 00-19-E8-3E-3B-09
Status: Authz Success
Domain: VOICE
Security Policy: Should Secure
Security Status: Unsecure
Oper host mode: multi-auth
Oper control dir: both
Authorized By: Authentication Server
ACS ACL: xACSACLx-IP-PERMIT_ALL_TRAFFIC-56161e32
Session timeout: 3600s (local), Remaining: 1318s
Timeout action: Reauthenticate
Idle timeout: N/A
Common Session ID: 0A0101320000003A02750260
Acct Session ID: 0x00000045
Handle: 0xE800003B
Runnable methods list:
Method State
dot1x Failed over
mab Authc Success
3750X(config-if)#
Bob still cannot get to the 10.1.4.101 web page by HTTP or HTTPS. I call that a success! So, what's next? What can we do with ISE? I am kinda tempted to set up the portal for guest access, but not sure if I really need to, maybe we should look at MAB instead.Yep, let's look at MAB, but let's have a new post for that.














