개요
RADIUS(Remote Authentication Dial-In User Service)는 1812와 1823포트에서 운영되는 네트워크 프로토콜이며 네트워크를 사용하려는 사용자를 위한 인증(Authentication), 허가(Authorization), 그리고 회계(Accounting) 기능을 수행합니다.[1][2]
RADIUS은 응용 프로그램 계층(application layer)에서 실행되는 clinet/server 기반 프로그램으로 Network Access Server(NAS)나 RADIUS 클라이언트와 직접 통신을 수행하며 802.1X[3] 인증을 위한 수단으로 이용됩니다.[2]
무선랜의 WPA-Enterprise(또는 WPA-802.1X) 환경에서는 네트워크 서비스를 사용하려는 사용자를 위해 RADIUS 인증 서버가 반드시 필요합니다. 본 시스템은 WPA, WPA2, 그리고 WPA2 Enterprise[4] 환경에서 운영될 수 있으며EAP-TTLS[5]와 EAP-PEAP[6]를 지원하며 EAP-TTLS가 기본으로 설정되어 있습니다.
이러한 RADIUS 인증은 supplicant(사용자 단말) - NAS(Network Access Server) - RADIUS 서버로 구성되며 RADIUS 클라이언트의 인증 요청을 NAS가 RADIUS를 통해 확인 후 그 결과를 사용자 단말에 전달합니다.
imRAD는 FreeRADIUS 3.x를 기반으로 재생성된 시스템입니다.
FreeRADIUS에대한 자세한 정보는 https://wiki.freeradius.org/Home 를 참고하시기 바랍니다.
imRAD에서 제공하는 RADIUS 서비스는 다음과 같은 기능을 제공합니다.
- 로컬 데이터베이스 사용자 인증
- 그룹 정책따른 Authorization
- 외부 데이터베이스 혹은 LDAP 실시간 연동을 통한 사용자 인증
- 연동 가능한 DBMS 또는 LDAP
- MariaDB
- MySql
- Oracle 11g ~ 19c
- Microsoft SQL Server 2014 ~ 2019
- Tibero 6
- PostgreSQL 12
- SYBASE
- OpenLDAP
- Microsoft Active Directory Domain service
- Microsoft Active Directory Lightweight directory service
- 연동 가능한 DBMS 또는 LDAP
- 외부 데이터베이스 인증 정보 캐시
- Proxy / Eduroam 또는 에듀롬 인증
- NAS-ID 기반 인증
- 동시 접속 제한(Accouting이 제공된는 환경에서만 가능)
- TLS 1.2 이상
- 이력
- Accounting
- 인증처리(Post-Authentication)
본 시스템은 외부 데이터베이스 연동 인증(Pass-Through Authentication)을 수행 할 수 있는데 고객사의 데이터베이스에 연결해 클라이언트의 username과 password를 직접 확인 후 네트워크 인증을 처리 할 수 있습니다. 이러한 구성을 사용할 경우 사용자 정보를 imRAD 시스템의 데이터베이스와 동기화할 필요는 없지만 고객사 데이터베이스에 다소 부하가 증가 될 수 있습니다.
따라서 이러한 문제점을 해결하고자 imRAD는 " 외부 데이터베이스 사용자 캐시" 기능을 이용해 고객사 데이터베이스를 통해 인증 된 사용자 정보(Username과 Password)를 imRAD 로컬 데이터베이스에 일정 기간 저장합니다. Password는 혹호와할 수 있는 형태로 안전하게 암호화되어 저장되므로 본 시스템에 저장된 Username의 원본 Pasword는 관리자가 확인 할 수 없습니다.
TLS(Transport Layer Security) 버전은 1.0에서 1.3까지 모두 지원합니다. 일부 운영체제에서는 여전히 1.0 버전을 사용합니다.
에듀롬(Eduroam[7])과 같은 로밍 서비스를 위해 Proxy 기능도 제공됩니다.
RADIUS 설정
시작하기
RADIUS를 통한 인증을 처리하기 위한 가장 기본적인 단계는 다음 2가지 과정과 같습니다.
- NAS 장비에 imRAD 장비 IP 주소와 Shared secret key를 등록합니다.
- imRAD에 NAS 장비의 IP 주소와 위와 동일한 Shared secret key를 입력합니다. 등록하는 방법은 NAS 등록을 참고하세요.
위 두가지 과정이 완료되면 RADIUS는 등록된 NAS에서 요청하는 ACCESS-REQUEST를 처리합니다.
실제 단말(스마트폰, 테블릿 또는 노트북 등)로부터 인증을 시험하려면 RADIUS 인증 시험 문서와 같이 진행 할 수 있습니다.
사용자
유무선랜 802.1x 사용자를 관리합니다.
Reject2ban Jail
악성 클라이언트의 무작위 요청으로부터 데이터베이스의 부하를 감소시키기 위한 기능입니다.
그룹 속성
그룹에 포함된 사용자를 그룹 인증 속성과 응답 속성을 적용할 수 있습니다.
속성(Attributes)
RADIUS에서 사용하는 속성들을 조회할 수 있습니다.
RADIUS 이력
- Accounting: 인증된 사용자의 Accounting 정보를 표시합니다.
- 인증처리: 인증 시도 후 Accept/Reject 로그를 표시합니다.
- Reject2ban: Reject2ban 이력을 표시합니다.
설정
RADIUS에 대한 모든 구성은 이 메뉴에서 구성할 수 있습니다. 새로운 값을 저장하면 관리자가 수동으로 radiusd 서비스를 재시작하지 않아도 radiusd 서비스는 변경된 구성을 몇 초 만에 자동으로 적용합니다.
만일 수동으로 값을 즉시 적용하려면 메뉴 하단의 "radius 서비스 재시작> 적용" 버튼을 클릭하세요.
일반
데이터 유지, 사용자 비밀번호 정책, 사용자 추가 인증, EAP, RADIUS 구성, 그리고 Reject2ban을 설정합니다.
NAS
Network Access Server를 관리하기 위한 기능으로 무선랜 컨트롤러 혹은 AP(Access Point)를 추가/삭제 할 수 있습니다.
Realm/Proxy
Proxy 인증을 위한 Proxy 서버 및 Realm을 관리합니다.
인증 데이터베이스
인증 데이터베이스는 로컬 데이터베이스와 외부 데이터베이스가 존재하며 데이터베이스 연결을 위한 속성을 관리합니다.
LDAP 인증
외부 LDAP 또는 AD 서버를 관리합니다.
NAS-ID
자동으로 수집된 NAS-ID(SSID)를 관리합니다.
RADIUS 인증 시험
운영체제별 인증 시험을 위한 EAP Method 입니다.
References
- ↑ 본 시스템의 한글 환경에서는 "회계" 대신 "Accounting" 용어를 그대로 사용합니다.
- ↑ 2.0 2.1 https://en.wikipedia.org/wiki/RADIUS
- ↑ https://en.wikipedia.org/wiki/IEEE_802.1X
- ↑ https://en.wikipedia.org/wiki/Wi-Fi_Protected_Access#WPA2
- ↑ https://en.wikipedia.org/wiki/Extensible_Authentication_Protocol#EAP_Tunneled_Transport_Layer_Security_(EAP-TTLS)
- ↑ https://en.wikipedia.org/wiki/Protected_Extensible_Authentication_Protocol
- ↑ https://ko.wikipedia.org/wiki/%EC%97%90%EB%93%80%EB%A1%AC