EdgeRouter - RADIUS를 사용하여 로그인 인증하기

download at 2017-08-02T16:04:44Z origin

 Overview


이 문서는 RADIUS 로그인 인증방식을 사용하여 RADIUS 서버에 사용자 인증 요청을 전송하는 방법에 대하여 서술합니다.

book_25x25.png Notes & Requirements: EdgeOS 1.9.7 펌웨어를 갖는 모든 EdgeRouter 모델에서 동작합니다. 커맨드라인 인터페이스에 대한 지식과 기초 네트워킹의 지식이 요구됩니다. 관련문서 항목을 통하여 더 자세한 내용을 얻으십시오.

이 문서에서 사용한 장비: - EdgeRouter-X (ER-X)

  • 윈도우 2016 네트워크 정책 서버 (NPS)

Table of Contents


  1. 네트워크 다이어그램
  2. Steps - RADIUS 클라이언트
  3. Steps - RADIUS 서버
  4. Steps - 테스트 및 검증
  5. 관련 문서

네트워크 다이어그램


맨위로 가기

네트워크 토폴로지는 아래와 같습니다. 192.168.1.10 서버에서 사용한 RADIUS 용어는 'RADIUS Server' 와 EdgeRouter (ER)는 'RADIUS Client'로 명명합니다.

다음은 ER에서 사용한 인터페이스입니다:

  1. eth0 (WAN)
  2. eth1 (LAN) - 192.168.1.1/24

image1


Steps - RADIUS 클라이언트


맨위로 가기

기본 설정 위자드 를 통해서 EdgeRouter의 환경설정이 구성되었다고 가정합니다. 추가적으로 인터넷에 연결된 LAN 호스트에 마스커레이드 룰이 적용되었다고 가정합니다.

RADIUS와 관련된 UDP포트는:

  1. UDP 1812 (새 포트) / UDP 1645 (이전 포트) - RADIUS 인증
  2. UDP 1813 (새 포트) / UDP 1646 (이전 포트) - RADIUS 계정

warning_25x25.png

Warning

로그인 방법에 변경이력을 생성하면, 장비 바깥에서 접근을 차단하여야 합니다. SSH/HTTPS 세션이 존재한하다는 사실을 잊으면 안됩니다. 세션들에 대한 다른 관리 방법을 사용해야 할 수도 있습니다.

CLI_circle.png CLI STEPS: 커맨드라인 인터페이스에 접속합니다. GUI의 CLI 버튼을 클릭하거나 PuTTY와 같은 프로그램을 사용합니다.

  1. 환경설정 모드로 진입합니다.
configure
  1. 로컬 관리자를 생성하고, RADIUS 인증 방식을 사용하도록 합니다. (<password>를 본인의 비밀번호로 작성하십시오.)
set system login user user1 level admin
set system login user user1 authentication plaintext-password <password>
set system login user user2 level admin
set system login user user2 authentication plaintext-password <password>

info_i_25x25.png

Note

EdgeMAX 플랫폼은 현재 모든 원격지 RADIUS 사용자가 로컬 관리자로 장치에 존재해야합니다. ER의 local username 은 RADIUS 서버에 정의된 remote username 과 일치해야합니다. 비밀번호는 일치할 필요가 없습니다! 로컬 유저의 랜덤 패스워드를 사용하고 사용하지 않아도 됩니다. 이후에 RADIUS 서버에서 새로운 패스워드로 라우터에 접근이 가능합니다.

  1. (선택 사항) 새로운 로컬 관리자를 생성하여 폴백 인증 방법을 사용하고 기본 사용자를 삭제합니다. (<password>를 원하는 패스워드로 교체하세요.)
set system login user backupadmin level admin
set system login user backupadmin authentication plaintext-password <password>

새로운 관리자를 생성하고 난 이후에는 새로운 계정으로 로그인하고, 기존 계정을 삭제합니다:

delete system login user ubnt
  1. RADIUS 인증 서버의 위치와 환경 설정을 정의합니다. (<secret>을 비밀번호로 대체하세요.)
set system login radius-server 192.168.1.10 port 1812 (default)
set system login radius-server 192.168.1.10 secret <secret>
set system login radius-server 192.168.1.10 timeout 5 (default)

Steps - RADIUS 서버


맨위로 가기

아래의 섹션은 (간단하게) 윈도우 2016 서버에서 네트워크 정책과 접근 서비스 (NPS)의 환경설정에 대하여 서술합니다. 온라인에서 많은 가이드가 존재하니 해당 가이드에서 더 자세한 내용을 확인하십시오.

  1. NPS 역할을 추가합니다.

Server Manager > Add Roles and Features > Network Policy and Access Services

  1. EdgeRouter에 RADIUS 클라이언트를 추가합니다. (<secret> 을 원하는 패스워드로 교체합니다)

Network Policy Server Console (NPS) > Radius Clients and Servers > Radius Clients > New

Friendly Name: ER-X (does not have to match device hostname)
Address (IP or DNS): 192.168.1.1 (the source address of the router)
Shared Secrets Template: None
Shared Secret: Manual
Shared Secret / Confirm: <secret>

info_i_25x25.png

Note

'RADIUS Shared Secret Template'을 생성해서 모든 RADIUS 클라이언트가 같은 패스워드를 갖도록 할 수 있습니다.

  1. RADIUS 클라이언트를 위한 새로운 네트워크 정책을 생성합니다.

NPS > Policies > Network Policy > New

Policy Name: ER Radius Clients
Type of Network Access Server: Unspecified

Specify Conditions > Add

Client Friendly Name: ER-?
User Groups: UBNT\Network Engineers

info_i_25x25.png

Note

활성 디렉토리 (AD)나 로컬 사용자 인증을 사용할수도 있습니다. 이 예제에서는 사용자가 ER에 인증하기 위해서 UBNT 도메인에 '네트워크 엔지니어'로 인증을 수행합니다. 사용자에게 익숙한 이름을 매칭 표현식으로 정의할 수 있습니다. 'ER-?'은 'ER-'로 시작하는 문자열에 대하여 검사를 수행합니다.

Next > Specify Access Permission

Access Granted

Next > Configure Authentication Methods

모든 method를 해제하고 ‘Unencrypted Authentication (PAP, SPAP)’를 선택합니다.

Next > Configure Constraints > Next > Configure Settings > Radius Attributes: Standard

Select Framed-Protocol > Remove
Select Service-Type > Edit > Others > Login

Steps - 테스트 및 검증


맨위로 가기

환경설정이 완료되면, RADIUS가 동작하는지를 RADIUS 서버에 다음 명령어를 수행하고 결과 값을 통해 확인할 수 있습니다:

  1. 기본 UDP 포트(1812)로 수신, 발신하는 요청:
sudo tcpdump -i eth1 -n udp port 1812
IP 192.168.1.1.1391 > 192.168.1.10.1812: RADIUS, Access-Request (1), id: 0x17 length: 76
IP 192.168.1.10.1812 > 192.168.1.1.1391: RADIUS, Access-Accept (2), id: 0x17 length: 72

IP 192.168.1.1.2996 > 192.168.1.10.1812: RADIUS, Access-Request (1), id: 0x0f length: 90
IP 192.168.1.10.1812 > 192.168.1.1.2996: RADIUS, Access-Reject (3), id: 0x0f length: 20
  1. RADIUS 서버의 이벤트 로그:

Event Viewer > Custom Views > ServerRoles > Network Policy and Access Services

image5

info_i_25x25.png

Note

위의 2개의 예제에서는 user1의 요청은 ER의 로컬에서 진행하였습니다. ER의 사용자 계정을 삭제하고 난 이후에는 NPS 서버는 'NULL SID'로 채워진 보안 ID를 발급 받고, 인증 실패를 결과로 출력합니다.


관련 문서


맨위로 가기

EdgeSwitch - 라우팅 모드 활성화하기

EdgeRouter - HTTPS/SSH 관리 접근을 EdgeSwitch에서 활성화하는 방법