Cisco Anyconnect Posture


Aug 17, 2019 The Cisco AnyConnect ISE Posture agent runs on the endpoint. Upon initial connection the client authenticates to ISE and is matched against a Posture Unknown Authorization Policy, the AnyConnect module connects to ISE and receives the posture requirements.

Cisco AnyConnect Posture Module is an application marketed by the software company Cisco Systems, Inc. Sometimes, users decide to erase this application. This is troublesome because doing this by hand requires some experience regarding removing Windows applications by hand. Cisco AnyConnect Posture Module is a program developed by Cisco Systems. The most used version is 3.1. 04072, with over 98% of all installations currently using this version. It adds a background controller service that is set to automatically run. What is Ciscod EXE? Ciscod.exe is part of a product called known as Cisco AnyConnect Posture. The posture is performed locally by ASA with the use of Cisco Secure Desktop (CSD) with HostScan module. After VPN session is established, compliant station are allowed full network access whereas non-compliant station has limited network access. Also, CSD and AnyConnect 4.0 provisioning flows are presented. Name the AnyConnect Configuration appropriately e.g. ACConfiguration; Select the Compliance Module from the drop-down list (this will be the file uploaded in the previous step) Select the ISE Posture profile from the drop-down list (this will be the file ACPostureProfile uploaded in the previous step) Click Submit; Client Provisioning Policy.

Came across this task to set up a posture assessment for workstation domain membership check when connecting with Anyconnect (AC) VPN to Cisco ASA and enforce access based on compliance. ISE was already deployed for simple VPN authentication so, first of all, I had to make a decision on what to use: ASA host scan (requires ASA APEX license) or ISE posture assessment. Great feature comparison here but if it comes down to price then it is about $10 versus $7 per user for ASA vs ISE. And since ISE offers more flexibility it was picked for the final solution.

There are a few Cisco 1, 2 and non Cisco guides there so here I’ll just fill in missing pieces.

Cisco Anyconnect Posture License

  • Get APEX license to support posture for ISE in addition to Base License which you should have already.
  • Upload and enable proper AC package on ASA. The package you need is anyconnect-….webdeploy-k9.pkg. All necessary files will be included in it. At the time of writing, my file version was anyconnectwin-4.6.04056-webdeployk9.pkg. Once file is uploaded use this command to enable it.


anyconnect-win-4.6.04056-webdeploy-k9.pkg 1

  • Enable ISE posture module to be installed on the endpoint.

group-policy DfltGrpPolicy attributes


anyconnect modules value iseposture

  • Create ACL on ASA to allow DNS requests and traffic to ISE nodes. Redirect all other web traffic for posture to take place.

access-list redirect extended deny udp any any eq domain
access-list redirect extended deny ip any host <ISE IP>
access-list redirect extended permit tcp any any eq www

Cisco Anyconnect Posture Module

  • Add dynamic authorization under ISE aaa-server group

aaa-server ISE protocol radius
interim-accounting-update periodic 1

See All Results For This Question

  • Make sure accounting is enabled under default tunnel-group

tunnel-group DefaultWEBVPNGroup general-attributes
authentication-server-group ISE
accounting-server-group ISE

This will conclude ASA configuration.

Some good debugging commands to troubleshoot posture-related issues on ASA.

  • debug aaa url-redirect
  • debug aaa authorization
  • debug radius dynamic-authorization
  • debug radius decode
  • debug radius user <USERNAME>
  • show vpn-sessiondb detail anyconnect filter name <USERNAME>

Now move on to ISE.

First get you latest posture updates. Administration> System> Settings> Posture> Updates.

Analysis Of Cisco AnyConnect Posture (HostScan) Local ...

Make sure your posture portal is setup with publicly signed certificate otherwise users will get trust errors. With some providers, you can not generate a wildcard certificate so you will have to include all Policy Service Nodes (PSN) FQDN as a separate SAN field in CSR or generate individual certificate per node. When done attach certificate to proper Portal group.

Configure the following elements for Client Provisioning under Work Centers > Posture> Client Provisioning > Resources

  • Posture Agent Profile. Populate Discovery host with PSN FQDNs and Call Home list with PSN FQDNs and IP addresses.
  • Next upload AC package to ISE. This is the anyconnect-… file that you can find on Cisco AC download page. Select “Agent resources from local disk“. Make sure and give a meaningful name so it will be easier to identify.

AC version on ISE has to match the one on ASA otherwise you will get an error message.

  • Download the latest compliance modules from Cisco for Windows/OSX and Supplicant Provisioning Wizard.
  • Finally, create AnyConnect configuration for use in client provisioning policy.

AC configuration settings are below.

  • Create Client Provisioning Policy under Policy> Client Provisioning

Next, build a Posture Policy. I’m not going to cover different posture checks at this time. Remember on the policy there is an option to put it in audit mode so you can test it out before enforcing.

Cisco Anyconnect Posture Agent

Since ISE reporting is not the greatest for customization and flexibility I’m using Splunk searches to get quick reports. How to get ISE logs into Splunk I covered in this post.