네트워크 보안에서 AAA란 무엇인가?
보안 분야에서 AAA는 인증(Authentication), 권한 부여(Authorization), 계정 관리(Accounting)를 의미하는 약어입니다. AAA 프레임워크를 활용하면 컴퓨터 자원에 대한 접근 규정을 강제하고, 자원 사용 내역을 감사(audit)하며, 접근을 통제할 수 있습니다. 즉, '누가', '무엇을 할 수 있는지', '무엇을 했는지'를 체계적으로 관리하는 네트워크 보안의 근간이라고 할 수 있습니다.
AAA의 세 가지 구성 요소
1. 인증(Authentication)
인증은 AAA 보안 프로세스의 첫 번째 단계로, 네트워크나 애플리케이션이 특정 사용자가 실제로 본인이 맞는지 확인하는 과정입니다. 사용자가 접근을 요청하면 AAA 서버는 입력된 자격 증명(사용자 이름과 비밀번호)을 데이터베이스에 저장된 정보와 비교하여 신원을 검증합니다. 자격 증명이 일치하면 해당 사용자에게 네트워크 접근이 허용됩니다.
2. 권한 부여(Authorization)
권한 부여는 인증이 성공적으로 완료된 이후 수행되는 단계입니다. 인증된 사용자가 어떤 명령을 실행할 수 있고, 어떤 서비스나 영역에 접근할 수 있는지를 결정합니다. 예를 들어 동일하게 로그인에 성공한 사용자라도 일반 사용자와 관리자에게 허용되는 작업 범위는 다르게 설정됩니다.
3. 계정 관리(Accounting)
계정 관리는 사용자가 네트워크에서 수행한 활동을 기록하고 추적하는 기능입니다. 접속 시간, 사용한 자원, 실행한 명령 등을 로그로 남겨 감사 및 과금, 보안 분석에 활용할 수 있습니다.
AAA 프로토콜: RADIUS와 Diameter
AAA 기능을 구현하기 위해 여러 프로토콜이 개발되었습니다. 대표적인 것이 RADIUS(Remote Authentication Dial-In User Service)로, 현재 네트워크 접속 서버(NAS)와 AAA 서버 간의 표준 인터페이스 역할을 하고 있습니다. RADIUS는 IETF 표준으로, UDP/IP 기반으로 동작하며 비밀번호만 암호화한다는 특징이 있습니다.
RADIUS의 후속 격인 Diameter 프로토콜도 개발되었으며, 시스코(Cisco)는 게이트웨이 서버, 라우터 등 네트워크 장비가 네트워크 자원에 접근할 수 있도록 지원하는 전용 프로토콜을 제공합니다. 참고로 시스코의 독점 프로토콜인 TACACS+는 TCP/IP를 사용하며 전송되는 모든 데이터를 암호화한다는 점에서 RADIUS와 차별화됩니다.
시스코(Cisco) 장비에서의 AAA 설정
Cisco IOS 장비는 전통적으로 라인 패스워드(line password)로 인증하고, 레벨 15 enable 패스워드로 권한을 부여하는 방식을 사용해 왔습니다. 그러나 AAA를 적용하면 더욱 세분화된(granular) 접근 제어와 감사 기능을 구성할 수 있습니다.
CCNA 관점에서 보면, AAA는 어떤 관리자가 어떤 장비에 접근할 수 있는지(인증), 해당 장비에서 무엇을 할 수 있는지(권한 부여), 로그인 상태에서 무엇을 했는지(계정 관리)를 제어하는 방법입니다.
AAA 설정 절차
시스코 라우터나 스위치에서 AAA를 구성하는 일반적인 절차는 다음과 같습니다.
1. 글로벌 설정 모드(global configuration mode)에서 aaa new-model 명령어를 입력하여 AAA를 활성화합니다.
2. TACACS+ 서버 등 AAA 서버를 생성하고 설정합니다.
3. 인증(authentication) 및 권한 부여(authorization)에 사용할 메서드 리스트(method list)를 정의합니다.
4. 콘솔(console), VTY 등 해당 인터페이스에 AAA 인증이 적용되도록 지정합니다.
5. AAA 인증 서비스를 제공하는 Secure ACS 서버의 IP 주소와 암호화에 사용될 공유 키(shared key)를 설정합니다.
방화벽과 AAA 서버의 역할
방화벽이나 라우터 환경에서는 AAA 인증을 통해 사용자를 검증할 하나 이상의 인증 방식을 정의합니다. 인증이 성공하면 AAA의 권한 부여 기능이 해당 사용자가 특정 작업을 수행하거나 서비스에 접근할 수 있는지를 제한합니다.
일반적으로 전용 AAA 서버가 인증, 권한 부여, 계정 관리 세 가지 서비스를 모두 제공하며, RADIUS가 네트워크 접속 서버와 AAA 서버 사이의 연결 인터페이스로 널리 사용됩니다.
참고: 회계 분야의 AAA
흥미롭게도 AAA는 회계 분야에서는 American Accounting Association(미국회계학회)을 의미하기도 합니다. 문맥에 따라 같은 약어가 전혀 다른 의미로 사용될 수 있으므로 주의가 필요합니다.