11-20-2017 09:57 PM
Hi
I am currently working for a DNA SDA customer on the ISE part. They are shifting from ISE 1.4 dACL based authorization (Machine Only) to DNA SDA TrustSec based authorization (User AND Machine). I am proposing AnyConnect for the solution against which the customer is reluctant to, as they already have many other client software in their endpoints.
To convince the customer, it would be great if you could confirm if my below understanding is correct.
////
In Machine-Only Authentication with Native Supplicant, when the machine restores back from sleep/hibernate mode, the Supplicant sends Machine credentials and gets authenticated automatically without user intervention.
In User-AND-Machine Authentication mode with Native Supplicant, when the machine restores back from sleep/hibernate mode, the Supplicant sends User credentials ONLY and NOT machine credentials. This behaviour is because of the User OR Machine credentials way of working in Windows Native Supplicant.
////
I see that in ISE 2.3, there is an option to extend the MAR cache time to 365 days. Could you please confirm if we set the MAR cache aging time to 365 days, then the endpoints that restores back from sleep mode for a Machine AND User authentication will not fail? Apart from the security risk that any non-Corporate machine with same hostname and MAC address can get authenticated through same switch port, technically we don't need AnyConnect with this feature?
Please help me understand the behaviour of Windows machine with User or Machine authentication enabled while restored from sleep mode.
Thanks and Regards
V Vinodh.
Solved! Go to Solution.
11-21-2017 03:38 AM
Vinodh,
Hello again after direct chat. It is good that questions posted here so other SMEs can respond and responses are archived for future reference!
As noted, Machine Access Restrictions (MAR) has a number of caveats. The basis of MAR is that a machine auth must first occur and the MAC address, not hostname or other credential, is cached in a specific PSN. If MAR enabled and policy is based on user and "if machine-authenticated", then subsequent user auth will perform a lookup into MAR cache on local PSN and determine if MAC address (as learned from Calling Station ID) is present.
When both auth events occur from same connection and to same PSN, which is often the case for initial bootup, then life is wonderful and MAR works as expected. However, there are cases where MAR can be problematic, including:
As you can see, many of the cases where MAR can fail include case where PC goes into hibernation/sleep mode and when it returns, it may hit a different PSN, or it connects with a different MAC, or cache on PSN has times out. Increasing the MAR cache timer may help address specific cases resulting from cache time out, but that is only attempts to address the first bullet above and as noted, becomes a potential security exposure.
As noted in email, two features will help case where PSN restarts or if move between PSNs:
1) ISE 2.2 adds support to persist MAR cache between restarts.
2) ISE 2.3 adds support to synchronize MAR cache between PSNs in same node group (not globally if multiple clusters).
You mentioned that Machine Auth automatically occurs after return from sleep/hibernate, or that user auth automatically occurs if machine+user. I don't think that is the case and machine auth only occurs after user logoff or restart or connection termination (such as plug and unplug wired connection, or disconnect and reconnect to SSID). I suspect you are seeing a reauth event due to session timeout and when switch requests identity, it is either sending machine or user based on client config. In either case, the most problematic case is where MAR enabled and one of the above conditions occurs after device exists sleep/hibernate.
If goal is to authenticate machine once and not have to repeat that step after a long interval, then I would recommend using device registration to allow MAC address to be registered and optionally purged at some interval--whether week, month, quarter as that can be persisted globally and device is associated to the user (portal_user attribute). You can also customize registration to a specific Endpoint Identity Group.
If goal is to truly authenticate machine + user via 1X credentials for both in each connection, then recommendation would be AC NAM for supported Windows clients, but ultimately TEAP is the preferred route and that still has not been adopted by major players like Microsoft / Apple.
HTH,
Craig
11-21-2017 03:38 AM
Vinodh,
Hello again after direct chat. It is good that questions posted here so other SMEs can respond and responses are archived for future reference!
As noted, Machine Access Restrictions (MAR) has a number of caveats. The basis of MAR is that a machine auth must first occur and the MAC address, not hostname or other credential, is cached in a specific PSN. If MAR enabled and policy is based on user and "if machine-authenticated", then subsequent user auth will perform a lookup into MAR cache on local PSN and determine if MAC address (as learned from Calling Station ID) is present.
When both auth events occur from same connection and to same PSN, which is often the case for initial bootup, then life is wonderful and MAR works as expected. However, there are cases where MAR can be problematic, including:
As you can see, many of the cases where MAR can fail include case where PC goes into hibernation/sleep mode and when it returns, it may hit a different PSN, or it connects with a different MAC, or cache on PSN has times out. Increasing the MAR cache timer may help address specific cases resulting from cache time out, but that is only attempts to address the first bullet above and as noted, becomes a potential security exposure.
As noted in email, two features will help case where PSN restarts or if move between PSNs:
1) ISE 2.2 adds support to persist MAR cache between restarts.
2) ISE 2.3 adds support to synchronize MAR cache between PSNs in same node group (not globally if multiple clusters).
You mentioned that Machine Auth automatically occurs after return from sleep/hibernate, or that user auth automatically occurs if machine+user. I don't think that is the case and machine auth only occurs after user logoff or restart or connection termination (such as plug and unplug wired connection, or disconnect and reconnect to SSID). I suspect you are seeing a reauth event due to session timeout and when switch requests identity, it is either sending machine or user based on client config. In either case, the most problematic case is where MAR enabled and one of the above conditions occurs after device exists sleep/hibernate.
If goal is to authenticate machine once and not have to repeat that step after a long interval, then I would recommend using device registration to allow MAC address to be registered and optionally purged at some interval--whether week, month, quarter as that can be persisted globally and device is associated to the user (portal_user attribute). You can also customize registration to a specific Endpoint Identity Group.
If goal is to truly authenticate machine + user via 1X credentials for both in each connection, then recommendation would be AC NAM for supported Windows clients, but ultimately TEAP is the preferred route and that still has not been adopted by major players like Microsoft / Apple.
HTH,
Craig
11-21-2017 08:26 AM
Thanks a lot, Craig for the detailed response. It was really helpful.
One more point I need to clarify here:
In a corporate machine, Windows Native supplicant is set to "User or Machine Authentication". Now the endpoint goes for sleep/hibernate. If the user disconnects that corporate machine and connects a Non-corporate machine within the MAR cache aging time, enters his corporate username/password, will he be able to get through the authorisation? Even though I have AuthZ policy configured as "user EQUALS ad/DomainUsers | AND | wasMachineAuthenticatedStatus EQUALS True".
That's another risk in MAR, right?
Thanks and Regards
V Vinodh.
11-21-2017 08:30 AM
Why would that be a concern? MAR is because of mac address, the other machine has a different one and will fail that policy
11-21-2017 08:33 AM
Thanks Jason, for responding. I missed to mention in case if the user has a Non-corporate machine with same MAC (spoofed), same Hostname and may be even the same static IP configured, then will that make a security loop hole.
Regards
V Vinodh.
11-21-2017 10:35 AM
BINGO! MAC caching is not authentication! Just as MAB-based auth for registered devices is not a true authentication of device identity. For this you would need to look at EAP Chaining and TEAP (assuming vendors adopt the open standard).
That said, the use of MAR or other chained methods does provide a tighter security than NOT doing it and are often sufficient to address abuse cases (employees trying to circumvent policy), or minor hack attempts, but not more sophisticated attacks. Even with MAR, some comfort can be found in the fact that deliberate attackers would still need to know user credentials in addition to knowing the MAC to spoof. We do have basic MAC spoofing detections in ISE, but that is another topic.
Craig
06-16-2019 12:23 AM
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide