본문
Radius란?
1. RADIUS (Remote Authentication Dial In User Service)
통상적으로 ISP에서 사용하는 전화 등에 의한 원격 접속에 대한 인증용 서버를 지칭
* ISP (Internet Service Provider; 인터넷서비스업체)
- 국제회선과 자체 인터넷 접속 노드를 통해 개인가입자들과 기업들을 인터넷에 연결시켜 주는 인터넷 서비스 제공 업체
P.S. FreeRADIUS-Technical-Guide
2. RADIUS 시스템 구성 요소
1) 실제 사용자
2) Radius 클라이언트 (인증 에이전트)
- 원격접속 터미널 서버, NAS, 802.1x, 브리지 또는 AP 등..
* 에이전트 (Agent)
- 일반적으로, 외부의 도움이 없이도 그 자신의 제어하에 독자적으로 충분히 동작할 수 있는 자치성을 가진 프로그램/장치 등을 말함
- 어떤 임무가 주어졌을 때 임무를 수행하고 완료되었을 때, 그 수행결과를 원래 요구하던 곳에 되돌려 줌
ex) HTTP 요청을 만들어주는 클라이언트 프로그램(웹브라우저)
* 터미널
- 디스플레이 및 입력 등의 기능을 갖는 단말장치를 일컫는 매우 일반적인 용어
* NAS (Network-attached storage; 네트워크 결합 스토리지)
- LAN으로 연결하는 외장 하드디스크. 반대 개념은 컴퓨터에 직접 연결해서 쓰는 DAS(Direct Attached Storage).
컴퓨터에 직접 연결하지 않고 네트워크를 통해 데이터를 주고 받는 저장장치이다. 현대의 클라우드 스토리지와 비슷한 부분이 많다. 구조적으로는 스토리지 서버를 단순화, 소형화한 것이다.
-. 상세정보: https://namu.wiki/w/NAS(%EC%A0%80%EC%9E%A5%EC%9E%A5%EC%B9%98)
* 802.1x: Port Based Network Access Control (2001년6월 표준 인증)`]
- '포트 기반(port-based)의 접근제어'를 가능하게 하는 인증 구조
* 브리지 (Bridge, Bridging)
- OSI 7 Layer에서 데이타링크 계층(2 layer)에서 동작
- 프레임을 다른 망에 복제시키는 역할을 하는 장비
-. 상세정보: http://www.ktword.co.kr/abbr_view.php?nav=2&m_temp1=297&id=447
* AP (Access Point)
- 무선 LAN에서 기지국 역할을 하는 소출력 무선기기
-. AP는 유선과 무선을 잇는 브리지 역할을 함
-. 상세정보: http://www.ktword.co.kr/abbr_view.php?nav=2&m_temp1=2237&id=374
3) Radius 서버 (인증 서버) - 인증 전용의 서버
- 인증을 위한 주요 자격정보가 저장되고 관리됨
- 자격정보 : 사용자 식별명, 비밀번호, 디지털 인증서, 단말 MAC 주소 등
※ 구성
실제 사용자 ↔ 터미널 서버 (Radius 클라이언트) ↔ 인증전용서버 (Radius 서버)
3. RADIUS 특징
1) 분산형 클라이언트/서버 기반의 동작
- 사용자 관리는 중앙집중식으로 수행
2) 인증방법
- PAP, CHAP 등 다양한 방법을 지원
* PAP (Password Authentication Protocol)
PPP 등에서 사용하는 인증용 프로토콜 중의 하나
- 원격지 시스템에 원격 로그인하는 절차와 유사하게,
- 제한된 네트워크에 원격 로그인할 수 있도록,
- 평문 ID,암호로써 인증하는 매우 단순한 프로토콜
* CHAP (Challenge Handshake Authentication Protocol)
PPP 등에서 사용하는 인증용 프로토콜 중의 하나
- 기존 PAP 방식의 보안상 취약점(평문으로 사용자명,암호를 그대로 전송)을 개선
- CHAP은 쌍방이 이미 알고있는 암호를 절대로 링크를 통해 그대로 전송 안함
- 링크 개설은 클라이언트가 하더라도, 인증 과정은 서버쪽에서 주관 함
* PPP (Point-to-Point Protocol)
점대점 데이터링크를 통해 3계층 프로토콜들을 캡슐화 전송하는 관련 프로토콜들의 모음
- 주로 IP 전송 위주이나, 그외에 여러 3계층 프로토콜의 복합 전송도 가능
3) RADIUS 메세지
- 속성/값 쌍(Attribute/Value Pair)라 불리는, Type - Length - Value 형태로 인코딩되어 전달됨
4) 수송용 프로토콜
- 통상 UDP에 의해 전달됨
- (인증,인가 : 포트번호 1812, 계정관리 : 포트번호 1813)
* UDP (User Datagram Protocol)
TCP/IP 프로토콜 군(群) 중 트랜스포트 계층의 통신 프로토콜의 하나 (TCP에 대비됨)
- 신뢰성이 낮은 프로토콜로써 완전성을 보증하지 않으나,
- 가상회선을 굳이 확립할 필요가 없고 유연하며 효율적 응용의 데이타 전송에 사용
5) RADIUS 서버는 다른 RADIUS 서버에 대해 Proxy 클라이언트로 쓰여질 수 있음
* Proxy:
다른 사람을 대신하여 무엇인가를 하는 것 (중개자)
- 프록시 위치 : 클라이언트와 서버 사이에 위치
- 중개자(연결자)로써의 '프록시', '게이트웨이' 비교
- 프록시: 동일 프로토콜로 연결
- 게이트웨이: 서로다른 프로토콜 간을 변환해주며 연결
※ 프록시 주요 역할 및 기능 (http://www.ktword.co.kr/abbr_view.php?nav=2&m_temp1=1829&id=902)
1. 대신하는 기능
주로 사용자를 대신하여 서버에 접근 함
2. 캐시 기능
자주 요구된 정보에 대한 일시적 저장, 빠른 응답, 병목 트래픽 및 대역폭 감소
3. 보안 기능
네트워크 외부에서는 실제 사용자의 위치를 감추는 등의 효과를 볼 수 있음
4. IP 주소 절약
통상 프록시 서버는 외부 네트워크에 접속된는 유일한 장비이므로, 이 서버에서만 유일한 IP 주소가 필요
5. 방화벽 응용
잘 설정된 Proxy는 효율을 향상시키는 것과 동시에 좋은 Firewall 이 될 수 있음
6. 부적절한 사이트에의 접근 방지 등
6) 표준: 인증관련 RFC 2138, 과금관련 RFC 2139
- 1996년 IETF의 RADIUS Working Group에서 최초 표준화하여 RFC 2138로 문서화함
4. 일반적인 동작설명
1) 사용자는 RADIUS 클라이언트를 지원하는 서버에 접속 시도
2) 서버는 PPP 프레임 등을 사용하여 ID 및 암호를 받음
3) UDP/IP 를 통해 ID 및 암호를 RADIUS 서버로 암호화된 Access-Request로써 전달
4) RADIUS 서버는 받아들인 User-Name Attribute(속성)과 자신이 저장하고 있는 DB 내용과 일치하는지 확인함
- 다르면, 실패 이유를 Access-Reject 메세지를 해당 서버에 알려줌
- 맞으면, Access-Accept 메세지를 해당 서버에 알려줌
5. 원격 접근시 제공되는 2가지 보안 모드
- Packet Mode : 흘러다니는 패킷에 대한 보안
- Character Mode : 관리자가 원격관리를 위한 터미널 접속시 보안 ex) Telnet 등
6. 패킷 구조
- 코드 (8 바이트) : RADIUS 패킷의 종류
1 : Access Request, 2 : Access Reply(Accept), 3 : Access Reject,
4 : Accounting Request, 5 : Accounting Response, 11 : Access Challenge,
12 : Status Server, 13 : Status Client, 255 : (Reserved)
- 식별자 (8 바이트)
요청과 회신 패킷을 일치시키는데 사용되는 메세지 일련번호
- 패킷의 길이 (16 바이트)
패킷 최소 길이는 20 바이트
- 인증자,Authenticator (16 바이트)
. RADIUS 서버로부터의 요청 패킷은 임의로 생성됨
. RADIUS 서버로의 회신 패킷은 요청 패킷을 사용한 MD5 해쉬 값
- 속성, Attributes (가변)
. 사용자 이름,패스워드 등 인증 관련 속성들
. 표현 형식 : TLV (Type - Length - Value)
.. 1 : User Name
.. 79 : EAP Message
.. 80 : EAP Message Authenticator
P.S. AAA
1. AAA : 인증(Authentication), 권한부여(Authorization), 계정관리(Accounting)
- 인증: 망,시스템 접근을 허용하기 전에 사용자의 신원을 검증
- 권한부여: 검증된 사용자에게 어떤 수준의 권한과 서비스를 허용
- 계정관리: 사용자의 자원에 대한 사용 정보를 모아서 과금,감사,용량증설,리포팅 등
※ 분산 보안을 위해 필요한 핵심 특성/기능/서비스들을 열거한 포괄적인 용어 임
- 특정 시스템,프로토콜 만을 지칭하는 용어가 아님
2. AAA 기능구현을 위한 인증 프로토콜
1) RADIUS
http://www.ktword.co.kr/abbr_view.php?nav=2&m_temp1=1709&id=533
2) DIAMETER Protocol
http://www.ktword.co.kr/abbr_view.php?nav=2&m_temp1=1034&id=533
3) TACACS+ (Terminal Access Controller Access Control System+)
http://www.ktword.co.kr/abbr_view.php?nav=2&m_temp1=3009&id=533
4) Kerberos
http://www.ktword.co.kr/abbr_view.php?nav=2&m_temp1=1795&id=529
3. AAA 특징
1) 분산된 클라이언트/서버 구조
- AAA 서버: 분산된 정보를 중앙에서 저장, 관리, 허용 여부 통지 등 ex) 인증 서버
- AAA 클라이언트: 원격 사용자의 인증용 정보를 중앙의 서버에게 전달 ex) NAS (Network Access Server)
- 원격 사용자 ex) 원격 다이얼업 클라이언트 등
2) 텔넷이나 콘솔 접근을 가급적 제한
3) 주로 다이얼업 클라이언트, VPN 클라이언트와 같은 원격 사용자에게 시스템 또는 네트워크로의 접근을 관리
댓글