ClearPass Profiling
ClearPass Profiling
Clearpass Profiling
Suryaa, Aruba ERT
Agenda
Introduction to profiling
Various methods
Profiling work-flow
Profile conflict
2
Introduction and it’s types
Profiling classifies endpoints using attributes obtained from software components called Collectors.
A device profile is a hierarchical model consisting of 3 elements – Device Category, Device Family and Device Name
derived by profile from endpoint attributes.
Profiling on CPPM can be categorized into Active and Passive
Profiling
Passive Active
1. DHCP
2. HTTP User Agent 1. WMI
3. TCP 2. SSH
3. SNMP
4. ARP 4. NMAP
5. CDP 5. MDM
6. Onguard 6. On-Demand Scan
7. Onboard
3
Profile Collectors
DHCP
Clearpass Onboard
HTTP User-Agent
MAC OUI – Acquired during auth
CPPM OnGuard
SNMP
Subnet Scanner
IF-MAP
Cisco Device Sensor
MDM
TCP Fingerprinting
4
Network Service (DHCP)
Work-Flow:
After 1 min, proceed with
Discover entry received
Wait for 1 min
No
Create new DHCP Update Device
DHCP DISCOVER DHCP Request Snooping table profiler with MAC and
Received Received? Yes entry in FDB fingerprint details.
5
Network Service Logs:
DEBUG com.avenda.tips.utils.udp.UDPServer - Received packet from /10.23.198.10 with length 484
DEBUG com.avenda.tips.utils.async.AsyncTask - Start task: com.avenda.tips.dhcp.snooper.tasks.ProcessDhcpMessageTask@2310a2b4
DEBUG com.avenda.tips.dhcp.snooper.tasks.ProcessDhcpMessageTask - DHCPDISCOVER :mac=808db7ce7290, ciaddr=/0.0.0.0,
DEBUG com.avenda.tips.dhcp.snooper.tasks.ProcessDhcpMessageTask - dhcpCache.size = 2 of 0
DEBUG com.avenda.tips.utils.async.AsyncTaskRegistry - Registering key=808db7ce7290: task=com.avenda.tips.dhcp.snooper.tasks.Pr
ocessDhcpMessageTask@2310a2b4
DEBUG com.avenda.tips.dhcp.snooper.data.DhcpSnoopingTable - Creating new DHCP snooping table entry :MAC: 808db7ce7290 IP: Loc
ation: null Timestamp :1581080890744
DEBUG com.avenda.tips.utils.async.AsyncTask - Start task: com.avenda.tips.dhcp.snooper.tasks.WriteEntryToFdbTask@19e2c9d5
DEBUG com.avenda.tips.dhcp.snooper.tasks.WriteEntryToFdbTask - Persisting entry to FDB
:"tips_dhcp_snooping_info_insert_or_update","808db7ce7290","",,"",1581080890744
DEBUG com.avenda.tips.utils.udp.UDPServer - Received packet from /10.23.198.10 with length 496
DEBUG com.avenda.tips.utils.async.AsyncTask - Start task: com.avenda.tips.dhcp.snooper.tasks.ProcessDhcpMessageTask@2ee81e3f
DEBUG com.avenda.tips.dhcp.snooper.tasks.ProcessDhcpMessageTask - DHCPREQUEST :mac=808db7ce7290, ciaddr=/0.0.0.0, ip=/10.23.198.34
DEBUG com.avenda.endpoints.EndpointService - Updated deviceprofiler with {"hostname":"","staticip":false,"ip":"10.23.198.34","m
ac":"808db7ce7290","dhcp":{"option60":["ArubaInstantAP"],"options":["53,61,60,50,54,55"],"option55":["1,3,4,6,12,15,28,42,43,60,66
,67"]}}
6
Continued..
DEBUG com.avenda.tips.utils.udp.UDPServer - Received packet from /10.23.198.10 with length 322
7
Device Profiler
Is there a IP
Post to Profiler Get the old Get the new
address change
Master fingerprint details IP address to
in the entry? Yes be updated
No Yes No
9
SNMP Profiling:
Endpoint information obtained by reading SNMP MIBs of network devices is used to discover and profile static IP
devices in the network.
SNMP based mechanism is only capable of profiling devices if they respond to SNMP, or if the device advertises its
capability via Link Layer Discovery Protocol (LLDP)
There are two ways to discover endpoints that are statically addressed:
ARP read
Subnet scan
ARP read is done from NAD devices added and the polling happens based on Device Poll Interval [Service
Parameters]
Enable ARP read on the NAD device if that’s the L3 device and ARP table on this device can be used as a way to
discover endpoints on the network .
Subnet Scan is particularly useful in deployments that are geographically distributed. In such deployments, it is
recommended that you assign the CPPM nodes in a cluster to multiple “Zones”, based on the geographical area
served by that node, and enable Profile on at least one node per zone.
10
The default behaviour is for a CPPM node is to read network device
information only for devices configured to send traps to that CPPM node.
SNMP_TRAP RequestId=trap-1 Input=[NAD=10.23.193.63. Trap received at: Tue Mar 03 16:22:13 IST 2020. Trap type=LINK_DOWN
NAD=10.23.193.63 ifIndex=127] Output=[null] Details=[Initiate port reset for NAD=10.23.193.63 portIndex=127 ]
SNMP_TRAP RequestId=trap-2 Input=[NAD=10.23.193.63. Trap received at: Tue Mar 03 16:22:13 IST 2020. Trap type=LINK_DOWN
NAD=10.23.193.63 ifIndex=128] Output=[null] Details=[Initiate port reset for NAD=10.23.193.63 portIndex=128 ]
SNMP_TRAP Input=[NAD=10.23.193.63] Output=[Ignore v2c trap. Bad security name in trap] Details=[null]
SNMP_TRAP Input=[NAD=10.23.193.63] Output=[Ignore v2c trap. Bad security name in trap] Details=[null]
SNMP_TRAP Input=[NAD=10.23.193.63] Output=[Ignore v2c trap. Bad security name in trap] Details=[null]
SNMP_TRAP Input=[NAD=10.23.193.63] Output=[Ignore v2c trap. Bad security name in trap] Details=[null]
AGENTLESS_ENFORCEMENT RequestId=O00000001-01-5e5e36e8 Input=[MAC = f42e7fc9234e Nad IP=10.23.193.63 Nad Port=3/22]
Output=[null] Details=[OnConnect enforcement not enabled for the switch 10.23.193.63: 10.23.193.63]
SNMP_TRAP RequestId=trap-5 Input=[NAD=10.23.193.63. Trap received at: Tue Mar 03 16:22:19 IST 2020. Trap type=LINK_UP
NAD=10.23.193.63 ifIndex=128] Output=[null] Details=[Read MACs: [f4-2e-7f-c9-23-4e] ]
HTTP RequestId=profiler-post-00000001-01-5e5e33c7 Input=[Name=profiler-post
URL=http://localhost:6180/async_netd/deviceprofiler/endpoints Headers: {}
Body=[{"mac":"f42e7fc9234e"},{"mac":"9cdc71ffcec0"},{"mac":"b88303325345"},{"mac":"941882c83b02"},{"mac":"9020c2c2c101"
},{"mac":"3821c72ea6fb"},{"mac":"b8830332537e"},{"mac":"3821c72e2611"},{"mac":"08f1ea5e0401"},{"mac":"b8830336d000"},{"
mac":"f42e7fc930ee"}]] Output=[null] Details=[SUCCESS.]
11
Network Service [SNMP]
Adding NAD
in SNMP Trap
Configuration Received
>> Devices
DBCN trigger
SNMP Yes CPPM node Yes Read CPPM SNMP Read Mac Table,
Start Read same as SNMP Target/Force read CDP/LLDP info on
Enabled? NAD? target table enabled? specific port
No No
Read ARP
After delay Delay for No Selected in
device poll Devices?
interval. Yes
Read ARP from NAD
with cdp/lldp and also
from the neighbors upto
the depth configured
Netscan does
Post the fingerprint to SSH/WMI/NMAP on the
Device Profiler discovered devices and
collects the respective
fingerprints 12
Network Scan:
Apart from ARP Read, we are going to see how Device scan work.
We have 2 ways to implement this
A: Network Scan,
B: Subnet Scan.
Network Scan:
Device Discovery through Network Scan is a two-step process that identifies and profiles network access
devices (switches and routers) and the endpoints connected to them.
SNMP to read information from the Bridge, ARP, LLDP and CDP MIBs on a network access seed device
(switch or router). This information is used to discover neighbouring network access devices. This process
is repeated for each neighbouring device until the scan depth limit is reached.
It will fetch IP to MAC mapping information from the ARP tables of the network access devices to generate
a scan of each of the connected endpoints. This scan looks for specific open ports and then use SNMP,
SSH and WMI to profile the endpoint.
13
Network Scan
14
Network Logs:
Initialized network scan config table
Network discovery request received from Zone master -
{"seedDevices":["10.23.193.150"],"configId":"5","scanDepth":2,"scanRunId":"discovery-5-
1583500500002","probeArp":true}
New NAD discovered with ip 10.23.193.150
Network scan started for 1 seed devices: [10.23.193.150]
com.avenda.tips.snmpserver.snmptasks.ReadNadInfoTask - Updated NAD info added for
IP=10.23.193.150
Finished processing nadClient with ip 10.23.193.150
NAD with ip 10.23.193.150 already discovered as NAD 10.23.193.150
SNMP task started for entries: 2
15
Continued..
New NAD discovered with ip 10.23.193.65
New NAD discovered with ip 10.23.193.84
New NAD discovered with ip 10.23.193.61
New NAD discovered with ip 10.23.193.121
New NAD discovered with ip 10.23.193.132
New NAD discovered with ip 10.23.193.64
New NAD discovered with ip 10.23.193.63
New NAD discovered with ip 10.23.193.2
Total number of discovered Nads: 9
- Finished processing the auto discover.
Total number of discovered Nads: 13
- Total endpoints found: 41
16
Subnet Scan
Instead of probing network access devices to discover connected endpoints, subnet scans probe all addresses in
the selected subnets. When an endpoint is detected.
Note: Port logic remains the same as we saw in Network Scan.
We use NMAP to discover the devices and whether they have SNMP port 161 open, we then fingerprint these
devices to gather additional data. The devices are probed based upon SNMP/SSH/NMAP credentials configured
in Administration>>External Accounts
17
Subnet Scan workflow
19
Continued..
DEBUG 10.23.194.76:22: Command output -
"show version\r\n\n\r\n================================================\r\nPolicy Manager
software version : 6.6.10.106403\r\nPolicy Manager model number : CP-VA-
500\r\n================================================\r\n\r\n\n[
20
Profiler Conflict
Post to Profiler Is there a IP Get the new
Received IP Get the old
Master address change IP address to
with fingerprints fingerprint details Yes
in the entry? be updated
No Yes No
Create Synthetic No Get the old finger print No Are both fingerprint No
Yes Enable Profile
MAC starting with and new fingerprint, are classifying the device
conflict
“xa” they same? as same?
Yes
No Evaluate the Compare the reliability and
Is there a rule defined fingerprint with Device score of both fingerprint
for the fingerprint? Fingerprint details on and choose the best out of
CPPM More reliable them
Yes Update DB [tips & tipsLogDb] with
Less reliable profiled information, along with new
Update endpoint Custom Rule Ignore the less IP and profile conflict if any.
with Device overrides the system reliable fingerprint
fingerprint info defined fingerprint
Is there Session for
new profile
that mac addr? yes Any CoA profile Yes
information is updated Initiate
[Checks in applicable post
CoA
redis/battery] profiling?
No No
21
DEBUG Profile update mac:f42e7fc9234e ip:10.23.20.174 hostname:None fp:{u'host': {u'user_agent': u'Mozilla/5.0
(Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116
Safari/537.36'}}
DEBUG Endpoint: {mac: f42e7fc9234e, ip: 10.23.198.36, static_ip:False, hostname: , mac_vendor: Aruba, a
Hewlett Packard Enterprise Company, device: <Access Points, Aruba, Aruba IAP>, other: <None, None, None>,
conflict:False, fp: {"dhcp": {"option55": ["1,3,4,6,12,15,28,42,43,60,66,67,148"], "option60":
["ArubaInstantAP"], "options": ["53,61,60,50,54,55"]}, "host": {"mac_vendor": ["Aruba, a Hewlett Packard
Enterprise Company"]}}, added_at: 2020-02-24 18:37:02.270858+05:30, updated_at: 2020-02-24
18:37:02.270858+05:30} loaded from tipslogdb
DEBUG Endpoint: {mac: f42e7fc9234e, ip: 10.23.198.36, static_ip:False, hostname: , mac_vendor: Aruba, a
Hewlett Packard Enterprise Company, device: <Access Points, Aruba, Aruba IAP>, other: <None, None, None>,
conflict:False, fp: {"dhcp": {"option55": ["1,3,4,6,12,15,28,42,43,60,66,67,148"], "option60":
["ArubaInstantAP"], "options": ["53,61,60,50,54,55"]}, "host": {"mac_vendor": ["Aruba, a Hewlett Packard
Enterprise Company"]}}, added_at: 2020-02-24 18:37:02.270858+05:30, updated_at: 2020-02-24
18:37:02.270858+05:30} loaded from tipsdb
DEBUG IP change for mac:f42e7fc9234e old: 10.23.198.36, new: 10.23.20.174
DEBUG Match ep:f42e7fc9234e field:<dhcp:option60 rel:99 score:96> key:[u'ArubaInstantAP'] dev:Aruba IAP
DEBUG Match ep:f42e7fc9234e field:<host:user_agent rel:10 score:99> key:Mozilla/5.0 (Macintosh; Intel Mac OS X
10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36 dev:Mac OS X
DEBUG Best match ep:f42e7fc9234e field:<dhcp:option60 rel:99 score:96> device:<Access Points, Aruba, Aruba
IAP> other:<Computer, Apple Mac, Mac OS X>
DEBUG Endpoint: f42e7fc9234e profiled to <Access Points, Aruba, Aruba IAP>
INFO Conflict on mac:f42e7fc9234e device:<Access Points, Aruba, Aruba IAP> other:<Computer, Apple Mac, Mac OS
X>
22
Clearpass profiling Technote
https://www.hpe.com/psnow/doc/a00100323en_us
23
Thank you