이 문서는 무선 클라이언트를 제공하고 로컬 RADIUS 서버 역할을 하는 IOS® 기반 액세스 포인트에서 LEAP(Lightweight Extensible Authentication Protocol) 인증을 위한 샘플 컨피그레이션을 제공합니다.이는 12.2(11)JA 이상을 실행하는 IOS 액세스 포인트에 적용됩니다.
이 구성을 시도하기 전에 다음 요구 사항을 충족해야 합니다.
IOS GUI 또는 CLI에 익숙함
LEAP 인증 이면의 개념에 대해 숙지
이 문서의 정보는 이러한 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
Cisco Aironet 1240AG Series Access Point
Cisco IOS Software 릴리스 12.3(8)JA2
Aironet Desktop Utility 3.6.0.122을 실행하는 Cisco Aironet 802.11 a/b/g/Wireless Adapter
네트워크에서 하나의 VLAN만 가정
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참고하십시오.
일반적으로 외부 RADIUS 서버는 사용자를 인증하는 데 사용됩니다.경우에 따라 이는 실행 가능한 솔루션이 아닙니다.이러한 경우 액세스 포인트를 RADIUS 서버 역할을 하도록 만들 수 있습니다.여기서 사용자는 액세스 포인트에 구성된 로컬 데이터베이스에 대해 인증됩니다.이를 로컬 RADIUS 서버 기능이라고 합니다.네트워크의 다른 액세스 포인트에서 액세스 포인트의 로컬 RADIUS 서버 기능을 사용하도록 설정할 수도 있습니다.자세한 내용은 로컬 인증자를 사용하도록 다른 액세스 포인트 구성을 참조하십시오.
컨피그레이션에서는 액세스 포인트에서 LEAP 및 로컬 RADIUS 서버 기능을 구성하는 방법에 대해 설명합니다.로컬 RADIUS 서버 기능은 Cisco IOS Software 릴리스 12.2(11)JA에서 도입되었습니다.외부 RADIUS 서버로 LEAP를 구성하는 방법에 대한 배경 정보는 RADIUS 서버와의 LEAP 인증을 참조하십시오.
대부분의 비밀번호 기반 인증 알고리즘과 마찬가지로 Cisco LEAP는 사전 공격에 취약합니다.이는 Cisco LEAP의 새로운 공격이나 새로운 취약성이 아닙니다.강력한 비밀번호 및 빈번한 새 비밀번호를 포함하는 사전 공격을 완화하기 위해 강력한 비밀번호 정책을 생성해야 합니다.사전 공격에 대한 자세한 내용과 예방 방법은 Cisco LEAP에 대한 사전 공격을 참조하십시오.
이 문서에서는 CLI와 GUI 모두에 대해 이 컨피그레이션을 가정합니다.
액세스 포인트의 IP 주소는 10.77.244.194입니다.
사용된 SSID는 cisco이며, VLAN 1에 매핑됩니다.
사용자 이름은 user1 및 user2로, Testuser 그룹에 매핑됩니다.
액세스 포인트 |
---|
ap#show running-config Building configuration... . . . aaa new-model !--- This command reinitializes the authentication, !--- authorization and accounting functions. ! ! aaa group server radius rad_eap server 10.77.244.194 auth-port 1812 acct-port 1813 !--- A server group for RADIUS is created called "rad_eap" !--- that uses the server at 10.77.244.194 on ports 1812 and 1813. . . . aaa authentication login eap_methods group rad_eap !--- Authentication [user validation] is to be done for !--- users in a group called "eap_methods" who use server group "rad_eap". . . . ! bridge irb ! interface Dot11Radio0 no ip address no ip route-cache ! encryption vlan 1 key 1 size 128bit 12345678901234567890123456 transmit-key !This step is optional----!--- This value seeds the initial key for use with !--- broadcast [255.255.255.255] traffic. If more than one VLAN is !--- used, then keys must be set for each VLAN. encryption vlan 1 mode wep mandatory !--- This defines the policy for the use of Wired Equivalent Privacy (WEP). !--- If more than one VLAN is used, !--- the policy must be set to mandatory for each VLAN. broadcast-key vlan 1 change 300 !--- You can also enable Broadcast Key Rotation for each vlan and Specify the time after which Brodacst key is changed. If it is disabled Broadcast Key is still used but not changed. ssid cisco vlan 1 !--- Create a SSID Assign a vlan to this SSID authentication open eap eap_methods authentication network-eap eap_methods !--- Expect that users who attach to SSID "cisco" !--- request authentication with the type 128 Open EAP and Network EAP authentication !--- bit set in the headers of those requests, and group those users into !--- a group called "eap_methods." ! speed basic-1.0 basic-2.0 basic-5.5 basic-11.0 rts threshold 2312 channel 2437 station-role root bridge-group 1 bridge-group 1 subscriber-loop-control bridge-group 1 block-unknown-source no bridge-group 1 source-learning no bridge-group 1 unicast-flooding bridge-group 1 spanning-disabled . . . interface FastEthernet0 no ip address no ip route-cache duplex auto speed auto bridge-group 1 no bridge-group 1 source-learning bridge-group 1 spanning-disabled ! interface BVI1 ip address 10.77.244.194 255.255.255.0 !--- The address of this unit. no ip route-cache ! ip default-gateway 10.77.244.194 ip http server ip http help-path http://www.cisco.com/warp/public/779/smbiz/prodconfig/help/eag/ivory/1100 ip radius source-interface BVI1 snmp-server community cable RO snmp-server enable traps tty radius-server local !--- Engages the Local RADIUS Server feature. nas 10.77.244.194 key shared_secret !--- Identifies itself as a RADIUS server, reiterates !--- "localness" and defines the key between the server (itself) and the access point. ! group testuser !--- Groups are optional. ! user user1 nthash password1 group testuser !--- Individual user user user2 nthash password2 group testuser !--- Individual user !--- These individual users comprise the Local Database ! radius-server host 10.77.244.194 auth-port 1812 acct-port 1813 key shared_secret !--- Defines where the RADIUS server is and the key between !--- the access point (itself) and the server. radius-server retransmit 3 radius-server attribute 32 include-in-access-req format %h radius-server authorization permit missing Service-Type radius-server vsa send accounting bridge 1 route ip ! ! line con 0 line vty 5 15 ! end |
GUI를 사용하여 로컬 RADIUS 서버 기능을 구성하려면 다음 단계를 완료합니다.
왼쪽의 메뉴에서 보안 메뉴 아래의 서버 관리자 탭을 선택합니다.
서버를 구성하고 이 예에서 10.77.244.194인 이 액세스 포인트의 IP 주소를 언급합니다.
로컬 RADIUS 서버가 수신 대기하는 포트 번호 1812 및 1813을 언급합니다.
그림과 같이 로컬 RADIUS 서버에 사용할 공유 암호를 지정합니다.
왼쪽의 메뉴에서 보안 메뉴 아래의 암호화 관리자 탭을 클릭합니다.
적용할 VLAN을 지정합니다.
WEP 암호화를 사용하도록 지정합니다.
해당 사용이 필수임을 지정합니다.
26자리 16진수 문자로 WEP 키를 초기화합니다.이 키는 브로드캐스트 및 멀티캐스트 패킷을 암호화하는 데 사용됩니다.이 단계는 선택 사항입니다.
키 크기를 128비트로 설정합니다.40비트를 선택할 수도 있습니다.이 경우 이전 단계의 WEP 키 크기는 10자리 16진수 문자여야 합니다.이 단계는 선택 사항입니다.
브로드캐스트 키 순환을 활성화하고 브로드캐스트 키가 변경된 시간을 지정할 수도 있습니다.비활성화된 경우 브로드캐스트 키는 계속 사용되지만 변경되지 않습니다.이 단계는 선택 사항입니다.
참고: 이러한 단계는 LEAP 인증을 사용하는 모든 VLAN에 대해 반복됩니다
Apply를 클릭합니다.
보안 메뉴의 SSID 관리자 탭에서 다음 작업을 수행합니다.
참고: 나중에 기본 컨피그레이션이 올바르게 작동하는지 확인한 후 추가 기능과 키 관리를 추가할 수 있습니다.
새 SSID를 정의하고 VLAN과 연결합니다.이 예에서는 SSID가 VLAN 1과 연결됩니다.
Open Authentication(EAP 사용)을 확인합니다.
네트워크 EAP(추가 없음)를 확인합니다.
Server Priorities(서버 우선순위) > EAP Authentication Servers(EAP 인증 서버)에서 Customize(사용자 지정)를 선택합니다.우선 순위 1에 대해 이 액세스 포인트의 IP 주소를 선택합니다.
Apply를 클릭합니다.
Security(보안)의 General Set-UP(일반 설정) 탭에서 Local RADIUS Server(로컬 RADIUS 서버)를 클릭합니다.
Local Radius Server Authentication Settings(로컬 Radius 서버 인증 설정)에서 LEAP를 선택하여 LEAP 인증 요청이 수락되었는지 확인합니다.
RADIUS 서버의 IP 주소 및 공유 암호를 정의합니다.로컬 RADIUS 서버의 경우 이 AP(10.77.244.194)의 IP 주소입니다.
Apply를 클릭합니다.
General Setup(일반 설정) 탭 아래의 Local RADIUS Server(로컬 RADIUS 서버)에서 아래로 스크롤하여 사용자 이름과 비밀번호를 사용하여 개별 사용자를 정의합니다.선택적으로, 사용자는 다음 단계에서 정의된 그룹에 연결할 수 있습니다.이렇게 하면 특정 사용자만 SSID에 로그인해야 합니다.
참고: 로컬 RADIUS 데이터베이스는 이러한 개별 사용자 이름과 비밀번호로 구성됩니다.
동일한 페이지에서 아래로 스크롤하여 General Set-Up 하위 탭 아래의 Local RADIUS Server에서 User Groups로 다시 스크롤합니다.사용자 그룹을 정의하고 이를 VLAN 또는 SSID에 연결합니다.
참고: 그룹은 선택 사항입니다.그룹 특성은 Active Directory에 전달되지 않으며 로컬에만 관련됩니다.나중에 기본 컨피그레이션이 올바르게 작동하는지 확인한 후 그룹을 추가할 수 있습니다.
이 섹션을 사용하여 컨피그레이션이 제대로 작동하는지 확인합니다.
show radius local-server statistics—이 명령은 로컬 인증자가 수집한 통계를 표시합니다.
Successes : 27 Unknown usernames : 0 Client blocks : 0 Invalid passwords : 0 Unknown NAS : 0 Invalid packet from NAS: 0 NAS : 10.77.244.194 Successes : 27 Unknown usernames : 0 Client blocks : 0 Invalid passwords : 0 Corrupted packet : 0 Unknown RADIUS message : 0 No username attribute : 0 Missing auth attribute : 0 Shared key mismatch : 0 Invalid state attribute: 0 Unknown EAP message : 0 Unknown EAP auth type : 0 Auto provision success : 0 Auto provision failure : 0 PAC refresh : 0 Invalid PAC received : 0 Username Successes Failures Blocks user1 27 0 0
show radius server-group all—이 명령은 액세스 포인트에서 구성된 모든 RADIUS 서버 그룹 목록을 표시합니다.
이 섹션에서는 이 컨피그레이션과 관련된 문제 해결 정보를 제공합니다.
성공적인 인증을 방지하는 RF 문제의 가능성을 제거하려면 SSID의 방법을 Open으로 설정하여 일시적으로 인증을 비활성화합니다.
GUI에서 - SSID Manager 페이지에서 Network-EAP(네트워크-EAP)를 선택 취소하고 Open(열기)을 선택합니다.
명령줄에서 — authentication open 및 no authentication network-eap_methods 명령을 사용합니다.
클라이언트가 성공적으로 연결되면 RF는 연결 문제에 기여하지 않습니다.
모든 공유 암호 암호가 동기화되었는지 확인합니다.radius-server host x.x.x.x auth-port x acct-port x key <shared_secret> 및 nas x.x.x.x key <shared_secret>는 동일한 공유 암호 암호를 포함해야 합니다.
사용자 그룹에 대한 사용자 그룹 및 컨피그레이션을 제거합니다.액세스 포인트에 의해 정의된 사용자 그룹과 도메인의 사용자 그룹 간에 충돌이 발생할 수 있습니다.
참고: debug 명령을 사용하기 전에 디버그 명령에 대한 중요 정보를 참조하십시오.
debug dot11 aaa authenticator all - 이 디버그는 클라이언트가 연결되고 인증자(액세스 포인트)의 관점에서 802.1x 또는 EAP 프로세스를 통해 인증하면서 클라이언트가 통과하는 다양한 협상을 표시합니다. 이 디버그는 Cisco IOS Software 릴리스 12.2(15)JA에서 도입되었습니다.이 명령은 해당 및 이후 릴리스에서 debug dot11 aaa dot1x를 모두 비활성화합니다.
*Mar 1 00:26:03.097: dot11_auth_add_client_entry: Create new client 0040.96af.3e93 for application 0x1 *Mar 1 00:26:03.097: dot11_auth_initialize_client: 0040.96af.3e93 is added to the client list for application 0x1 ----------------------------------------------- Lines Omitted for simplicity ------------------ *Mar 1 00:26:03.098: dot11_auth_dot1x_start: in the dot11_auth_dot1x_start *Mar 1 00:26:03.132: dot11_auth_dot1x_run_rfsm: Executing Action(CLIENT_WAIT,EAP_START) for 0040.96af.3e93 *Mar 1 00:26:03.132: dot11_auth_dot1x_send_id_req_to_client: Sending identity request to 0040.96af.3e93(client) *Mar 1 00:26:03.133: *Mar 1 00:26:03.099: dot11_auth_dot1x_send_id_req_to_client: Client 0040.96af.3e93 timer started for 30 seconds *Mar 1 00:26:03.132: dot11_auth_parse_client_pak: Received EAPOL packet from 0040.96af.3e93 ------------------------------------------------ Lines Omitted----------------------------------- *Mar 1 00:26:03.138: EAP code: 0x2 id: 0x1 length: 0x000A type: 0x1 01805BF0: 0100000A 0201000A 01757365 7231 .........user1(User Name of the client) *Mar1 00:26:03.146: dot11_auth_dot1x_run_rfsm: Executing Action(CLIENT_WAIT,CLIENT_REPLY) for 0040.96af.3e93 *Mar1 00:26:03.147: dot11_auth_dot1x_send_response_to_server: Sending client 0040.96af.3e93 data to server *Mar1 00:26:03.147: dot11_auth_dot1x_send_response_to_server: Started timer server_timeout 60 seconds ------------------------------------------------- Lines Omitted------------------------------------ *Mar1 00:26:03.150: dot11_auth_dot1x_parse_aaa_resp: Received server response:GET_CHALLENGE_RESPONSE *Mar1 00:26:03.150: dot11_auth_dot1x_parse_aaa_resp: found session timeout 10 sec *Mar 1 00:26:03.150: dot11_auth_dot1x_run_rfsm: Executing Action(SERVER_WAIT,SERVER_REPLY) for 0040.96af.3e93 *Mar 1 00:26:03.150: dot11_auth_dot1x_send_response_to_client: Forwarding server message to client 0040.96af.3e93 ---------------------------------------------- Lines Omitted--------------------------------------- *Mar 1 00:26:03.151: dot11_auth_send_msg: Sending EAPOL to requestor *Mar 1 00:26:03.151: dot11_auth_dot1x_send_response_to_client: Started timer client_timeout 10 seconds *Mar 1 00:26:03.166: dot11_auth_parse_client_pak: Received EAPOL packet(User Credentials) from 0040.96af.3e93 *Mar 1 00:26:03.166: EAP code: 0x2 id: 0x11 length: 0x0025 type: 0x11 01805F90: 01000025 02110025...%...%01805FA0: 11010018 7B75E719 C5F3575E EFF64B27 ....{ug.EsW^ovK' Executing Action(CLIENT_WAIT,CLIENT_REPLY) for 0040.96af.3e93 *Mar 1 00:26:03.186: dot11_auth_dot1x_send_response_to_server: Sending client 0040.96af.3e93 data (User Credentials) to server *Mar 1 00:26:03.186: dot11_auth_dot1x_send_response_to_server: Started timer server_timeout 60 seconds ---------------------------------------------- Lines Omitted---------------------------------------- *Mar 1 00:26:03.196: dot11_auth_dot1x_parse_aaa_resp: Received server response: PASS *Mar 1 00:26:03.197: dot11_auth_dot1x_run_rfsm: Executing Action(SERVER_WAIT,SERVER_PASS) for 0040.96af.3e93 *Mar 1 00:26:03.197: dot11_auth_dot1x_send_response_to_client: Forwarding server message(Pass Message) to client ------------------------------------------------ Lines Omitted------------------------------------- *Mar 1 00:26:03.198: dot11_auth_send_msg: Sending EAPOL to requestor *Mar 1 00:26:03.199: dot11_auth_dot1x_send_response_to_client: Started timer client_timeout 30 second *Mar 1 00:26:03.199: dot11_auth_send_msg: client authenticated 0040.96af.3e93, node_type 64 for application 0x1 *Mar 1 00:26:03.199: dot11_auth_delete_client_entry: 0040.96af.3e93 is deleted for application 0x1 *Mar 1 00:26:03.200: %DOT11-6-ASSOC: Interface Dot11Radio0, Station Station Name 0040.96af.3e93 Associated KEY_MGMT[NONE]
debug radius authentication—이 디버그는 서버와 클라이언트 간의 RADIUS 협상을 표시하며, 이 경우 둘 다 액세스 포인트입니다.
debug radius local-server client—이 디버그는 RADIUS 서버의 관점에서 클라이언트의 인증을 표시합니다.
*Mar 1 00:30:00.742: RADIUS(0000001A): Send Access-Request(Client's User Name) to 10.77.244.194:1812(Local Radius Server) id 1645/65, len 128 *Mar 1 00:30:00.742: RADIUS: User-Name [1] 7 "user1" *Mar 1 00:30:00.742: RADIUS: Called-Station-Id [30] 16 "0019.a956.55c0" *Mar 1 00:30:00.743: RADIUS: Calling-Station-Id [31] 16 "0040.96af.3e93" (Client) *Mar 1 00:30:00.743: RADIUS: Service-Type [6] 6 Login [1] *Mar 1 00:30:00.743: RADIUS: Message-Authenticato[80] *Mar 1 00:30:00.743: RADIUS: 23 2E F4 42 A4 A3 72 4B 28 44 6E 7A 58 CA 8F 7B [#.?B??rK(DnzX??{] *Mar 1 00:30:00.743: RADIUS: EAP-Message [79] 12 *Mar 1 00:30:00.743: RADIUS: 02 02 00 0A 01 75 73 65 72 31 [?????user1] *Mar 1 00:30:00.744: RADIUS: NAS-Port-Type [61] 6 802.11 wireless -------------------------------- Lines Omitted For Simplicity--------------------- *Mar 1 00:30:00.744: RADIUS: NAS-IP-Address [4] 6 10.77.244.194(Access Point IP) *Mar 1 00:30:00.744: RADIUS: Nas-Identifier [32] 4 "ap" ---------------------------------- Lines Omitted--------------------------------- *Mar 1 00:30:00.745: RADIUS: Received from id 1645/65 10.77.244.194:1812, Access-Challenge, len 117 *Mar 1 00:30:00.746: RADIUS: 75 73 65 72 31 [user1] *Mar 1 00:30:00.746: RADIUS: Session-Timeout [27] 6 10 *Mar 1 00:30:00.747: RADIUS: State [24] 50 *Mar 1 00:30:00.747: RADIUS: BF 2A A0 7C 82 65 76 AA 00 00 00 00 00 00 00 00 [?*?|?ev?????????] --------------------------------------- Lines Omitted for simplicity ------------- *Mar 1 00:30:00.756: RADIUS/ENCODE(0000001A):Orig. component type = DOT11 *Mar 1 00:30:00.756: RADIUS: AAA Unsupported Attr: ssid [264] 5 *Mar 1 00:30:00.756: RADIUS: 63 69 73 [cis] *Mar 1 00:30:00.756: RADIUS: AAA Unsupported Attr: interface [157] 3 *Mar 1 00:30:00.756: RADIUS: 32 [2] *Mar 1 00:30:00.757: RADIUS(0000001A): Config NAS IP: 10.77.244.194 *Mar 1 00:30:00.757: RADIUS/ENCODE(0000001A): acct_session_id: 26 *Mar 1 00:30:00.757: RADIUS(0000001A): Config NAS IP: 10.77.244.194 *Mar 1 00:30:00.779: RADIUS(0000001A): Send Access-Request to 10.77.244.194:1812 id 1645/67, len 189 *Mar 1 00:30:00.779: RADIUS: authenticator B0 15 3C C1 BC F6 31 85 - 66 5D 41 F9 2E B4 48 7F *Mar 1 00:30:00.779: RADIUS: User-Name [1] 7 "user1" *Mar 1 00:30:00.780: RADIUS: Framed-MTU [12] 6 1400 *Mar 1 00:30:00.780: RADIUS: Called-Station-Id [30] 16"0019.a956.55c0" *Mar 1 00:30:00.780: RADIUS: Calling-Station-Id [31] 16"0040.96af.3e93" *Mar 1 00:30:00.758: RADIUS: 92 D4 24 49 04 C2 D2 0A C3 CE E9 00 6B F1 B2 AF [??$I????????k???] *Mar 1 00:30:00.759: RADIUS: EAP-Message [79] 39 *Mar 1 00:30:00.759: RADIUS: 02 17 00 25 11 01 00 18 05 98 8B BE 09 E9 45 E2 [??????????????E?] *Mar 1 00:30:00.759: RADIUS: 73 5D 33 1D F0 2F DB 09 50 AF 38 9F F9 3B BD D4 [s]3??/??P?8??;??] *Mar 1 00:30:00.759: RADIUS: 75 73 65 72 31 [user1] ---------------------------------------- Lines Omitted--------------------------- *Mar 1 00:30:00.781: RADIUS: State [24] 50 RADIUS: NAS-IP-Address [4] 6 10.77.244.194 *Mar 1 00:30:00.783: RADIUS: Nas-Identifier [32] 4 "ap" *Mar 1 00:30:00.822: RADIUS: Received from id 1645/67 10.77.244.194:1812, Access-Accept, len 214 *Mar 1 00:30:00.822: RADIUS: authenticator 10 0C B6 EE 7A 96 3A 46 - 36 49 FC D3 7A F4 42 2A --------------------------------------- Lines Omitted---------------------------- *Mar 1 00:30:00.823: RADIUS: 75 73 65 72 31 [user1] *Mar 1 00:30:00.823: RADIUS: Vendor, Cisco [26] 59 *Mar 1 00:30:00.823: RADIUS: Cisco AVpair [1] 53 "leap:session-key=?+*ve=];q,oi[d6|-z." *Mar 1 00:30:00.823: RADIUS: User-Name [1] 28 "user1 *Mar 1 00:30:00.824: RADIUS: Message-Authenticato[80] 18 *Mar 1 00:30:00.824: RADIUS: 06 2D BA 93 10 C0 91 F8 B4 B8 A4 00 82 0E 11 36 [?-?????????????6] *Mar 1 00:30:00.826: RADIUS/DECODE: EAP-Message fragments, 37, total 37 bytes *Mar 1 00:30:00.826: found leap session key *Mar 1 00:30:00.830: %DOT11-6-ASSOC: Interface Dot11Radio0, Station Station Name Associated KEY_MGMT[NONE]
debug radius local-server packets—이 디버그는 RADIUS 서버의 관점에서 수행한 모든 프로세스를 표시합니다.