简介
本文档介绍基于数据报传输层安全协议(DTLS)的RADIUS的配置与故障排除。DTLS为通过安全隧道传输的RADIUS提供加密服务。
先决条件
要求
Cisco 建议您了解以下主题:
- 思科身份服务引擎(ISE)
- RADIUS协议
- Cisco IOS
使用的组件
本文档中的信息基于以下软件和硬件版本:
- 思科身份服务引擎2.2
- 带有IOS 16.6.1的Catalyst 3650
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
配置
配置
1. 在ISE上添加网络设备并启用DTLS协议。
导航到管理>网络资源>网络设备。单击Add并提供至少必需字段:
- 名称- 添加设备的友好名称。
- IP地址- 身份验证器用于联系ISE的IP地址。可以配置一系列设备。为此,请指定正确的掩码(小于32)。
- 设备配置文件 -设备的常规设置。它允许指定处理的协议、详细的授权更改(CoA)设置和Radius属性配置。有关详细信息,请导航到管理>网络资源>网络设备配置文件。
- 网络设备组 -设置设备类型、IPSec功能和设备位置。此设置不是必需的。如果不选择自定义值,则采用默认设置。
选中RADIUS Authentication Settings复选框,然后在RADIUS DTLS Settings 下选中DTLS Required复选框。这允许仅通过DTLS安全隧道与身份验证器进行RADIUS通信。请注意,Shared Secret文本框将灰显。如果RADIUS DTLS是固定的,则此值会在身份验证器端配置相同的字符串。
2. 配置DTLS端口和空闲超时。
可以在Administration > System > Settings > Protocols > RADIUS > RADIUS DTLS上配置用于DTLS通信和空闲超时的端口。
请注意,DTLS端口与RADIUS端口不同。默认情况下,RADIUS使用1645、1646和1812、1813对。默认情况下,身份验证、授权、记帐和CoA的DTLS使用端口2083。Idle Timeout指定ISE和身份验证器在不通过隧道进行任何实际通信的情况下维护隧道的时长。此超时以秒为单位计算,范围为60至600秒。
3. 从ISE信任库导出DTLS RADIUS证书的颁发者。
要在ISE和身份验证器之间建立隧道,两个实体都需要交换和验证证书。身份验证器必须信任ISE RADIUS DTLS证书,这意味着其颁发者必须存在于身份验证器的信任库中。要导出ISE证书的签名者,请导航到管理>系统>证书,如图所示:
找到分配了RADIUS DTLS角色的证书,并检查此证书的Issued By字段。这是必须从ISE信任库导出的证书的公用名。为此,请导航到管理>系统>证书受信任证书。选择相应证书旁边的复选框并点击导出。
4. 配置信任点并将证书导入到身份验证器。
要配置信任点,请登录交换机并执行命令:
configure terminal
crypto pki trustpoint isetp
enrollment terminal
revocation-check none
exit
使用命令crypto pki authenticate isetp导入证书。当提示接受证书时,键入yes。
Switch3650(config)#crypto pki authenticate isetp
Enter the base 64 encoded CA certificate.
End with a blank line or the word "quit" on a line by itself
-----BEGIN CERTIFICATE-----
MIIDWTCCAkGgAwIBAgIQL9s4RrhtWLpJjBYB5v0dtTANBgkqhkiG9w0BAQUFADA/
MRMwEQYKCZImiZPyLGQBGRYDY29tMRcwFQYKCZImiZPyLGQBGRYHZXhhbXBsZTEP
MA0GA1UEAxMGTEFCIENBMB4XDTE1MDIxMjA3MzgxM1oXDTI1MDIxMjA3NDgxMlow
PzETMBEGCgmSJomT8ixkARkWA2NvbTEXMBUGCgmSJomT8ixkARkWB2V4YW1wbGUx
DzANBgNVBAMTBkxBQiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
AMDSfJwvbJLHHJf4vDTalGjKrDI73c/y269IMZV48xpCruNhglcU8CW/T9Ysj6xk
Oogtx2vpG4XJt7KebDZ/ac1Ymjg7sPBPcnyDZCd2a1b39XakD2puE8lVi4RVkjBH
pss2fTWeuor9dzgb/kWb0YqIsgw1sRKQ2Veh1IXmuhX+wDqELHPIzgXn/DOBF0qN
vWlevrAlmBTxC04t1aPwyRk6b6ptjMeaIv2nqy8tOrldMVYKsPDj8aOrFEQ2d/wg
HDvd6C6LKRBpmAvtrqyDtinEl/CRaEFH7dZpvUSJBNuh7st3JIG8gVFstweoMmTE
zxUONQw8QrZmXDGTKgqvisECAwEAAaNRME8wCwYDVR0PBAQDAgGGMA8GA1UdEwEB
/wQFMAMBAf8wHQYDVR0OBBYEFO0TzYQ4kQ3fN6x6JzCit3/l0qoHMBAGCSsGAQQB
gjcVAQQDAgEAMA0GCSqGSIb3DQEBBQUAA4IBAQAWbWGBeqE2u6IGdKEPhv+t/rVi
xhn7KrEyWxLkWaLsbU2ixsfTeJDCM8pxQItsj6B0Ey6A05c3YNcvW1iNpupGgc7v
9lMt4/TB6aRLVLijBPB9/p2/3SJadCe/YBaOn/vpmfBPPhxUQVPiBM9fy/Al+zsh
t66bcO3WcD8ZaKaER0oT8Pt/4GHZA0Unx+UxpcNuRRz4COArINXE0ULRfBxpIkkF
pWNjH0rlV55edOga0/r60Cg1/J9VAHh3qK2/3zXJE53N+A0h9whpG4LYgIFLB9ep
ZDim7KGsf+P3zk7SsKioGB4kqidHnm34XjlkWFnrCMQH4HC1oEymakV3Kq24
-----END CERTIFICATE-----
Certificate has the following attributes:
Fingerprint MD5: B33EAD49 87F18924 590616B9 C8880D9D
Fingerprint SHA1: FD729A3B B533726F F8450358 A2F7EB27 EC8A1178
% Do you accept this certificate? [yes/no]: yes
Trustpoint CA certificate accepted.
% Certificate successfully imported
5. 导出交换机证书。
在交换机上选择要用于DTLS的信任点和证书并导出它:
Switch3650(config)#crypto pki export TP-self-signed-721943660 pem terminal
% Self-signed CA certificate:
-----BEGIN CERTIFICATE-----
MIICKTCCAZKgAwIBAgIBATANBgkqhkiG9w0BAQUFADAwMS4wLAYDVQQDEyVJT1Mt
U2VsZi1TaWduZWQtQ2VydGlmaWNhdGUtNzIxOTQzNjYwMB4XDTE2MDQyNzExNDYw
NloXDTIwMDEwMTAwMDAwMFowMDEuMCwGA1UEAxMlSU9TLVNlbGYtU2lnbmVkLUNl
cnRpZmljYXRlLTcyMTk0MzY2MDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
xRybTGD526rPYuD2puMJu8ANcDqQnwunIERgvIWoLwBovuAu7WcRmzw1IDTDryOH
PXt1n5GcQSAOgn+9QdvKl1Z43ZkRWK5E7EGmjM/aL1287mg4/NlrWr4KMSwDQBJI
noJ52CABXUoApuiiJ8Ya4gOYeP0TmsZtxP1N+s+wqjMCAwEAAaNTMFEwDwYDVR0T
AQH/BAUwAwEB/zAfBgNVHSMEGDAWgBSEOKlAPAHBPedwichXL+qUM+1riTAdBgNV
HQ4EFgQUhDipQDwBwT3ncInIVy/qlDPta4kwDQYJKoZIhvcNAQEFBQADgYEAlBNN
wKSS8yBuOH0/jUV7sy3Y9/oV7Z9bW8WFV9QiTQ1lZelvWMTbewozwX2LJvxobGcj
Pi+n99RIH8dBhWwoYl9GTN2LVI22GIPX12jNLqps+Mq/u2qxVm0964Sajs5OlKjQ
69XFfCVot1NA6z2eEP/69oL9x0uaJDZa+6ileh0=
-----END CERTIFICATE-----
要列出所有已配置的信任点,请执行命令show crypto pki trustpoints。将证书打印到控制台后,将其复制到文件并保存到PC上。
6. 将交换机证书导入到ISE信任库。
在ISE上,导航到管理>证书>受信任证书,然后单击导入。
现在单击Browse并选择交换机的证书。提供(可选)Friendly Name,并选中Trust for authentication within ISE 和Trust for client authentication and Syslog复选框。然后单击Submit,如图所示:
7. 在交换机上配置RADIUS。
在交换机上添加RADIUS配置。要将交换机配置为通过DTLS与ISE通信,请使用以下命令:
radius server ISE22
address ipv4 10.48.23.86
key radius/dtls
dtls port 2083
dtls trustpoint client TP-self-signed-721943660
dtls trustpoint server isetp
其余的AAA特定配置取决于您的要求和设计。请将此配置视为示例:
aaa group server radius ISE
server name ISE22
radius-server attribute 6 on-for-login-auth
radius-server attribute 8 include-in-access-req
radius-server attribute 25 access-request include
aaa authentication dot1x default group ISE
aaa authorization network default group ISE
8. 在ISE上配置策略。
在ISE上配置身份验证和授权策略。此步骤也取决于您的设计和要求。
验证
要验证用户是否能够进行身份验证,请在交换机上使用test aaa命令:
Switch3650#test aaa group ISE alice Krakow123 new-code
User successfully authenticated
USER ATTRIBUTES
username 0 "alice"
Switch3650#
您应该看到消息“User successfully authenticated”。导航到ISE操作> RADIUS > LiveLog,然后选择相应日志的详细信息(单击放大镜):
在报告右侧,有一个步骤列表。检查列表中的第一步是否为RADIUS packet is encrypted。
此外,您可以开始在ISE上捕获数据包,然后再次执行test aaa命令。要开始捕获,请导航到操作>故障排除>诊断工具>General Tools> TCP转储。选择用于身份验证的策略服务节点,然后单击Start:
当身份验证完成后,请单击Stop和Download。打开数据包捕获时,您应该能够看到使用DTLS加密的流量:
Packets #813 - #822是DTLS握手的一部分。成功协商握手后,将传输应用数据。请注意,数据包数量可能有所不同,具体取决于使用的身份验证方法(PAP、EAP-PEAP、EAP-TLS等)。每个数据包的内容都经过加密:
传输所有数据时,不会立即关闭隧道。 ISE上配置的IdleTimeout确定在不通过隧道进行通信的情况下可以建立多长时间。如果计时器到期,且必须将新的访问请求发送到ISE,则会执行DTLS握手,并重建隧道。
故障排除
1. ISE未收到任何请求。
请注意,默认DTLS端口为2083。默认RADIUS端口为1645、1646和1812、1813。确保防火墙不会阻止UDP/2083流量。
2. DTLS握手失败。
在ISE的详细报告中,您可能会看到DTLS握手失败:
可能的原因是,交换机或ISE不信任在握手期间发送的证书。验证证书配置。验证是否已向ISE上的RADIUS DTLS角色和交换机上的信任点分配正确的证书。