네트워크 보안에서 자주 언급되는 약어 AAA는 Authentication(인증), Authorization(인가), Accounting(계정 관리)의 머리글자를 딴 것으로, 흔히 '트리플 A(Triple A)'라고도 불립니다. AAA 시스템은 컴퓨터 자원에 대한 접근 정책을 강제하고, 자원의 사용 내역을 감사하며, 접근 권한을 통제할 수 있도록 지원하는 IP 기반 보안 프레임워크입니다. 이 글에서는 AAA의 개념과 구성 요소, 그리고 이를 구현하는 RADIUS·TACACS+ 프로토콜까지 체계적으로 정리해 드립니다.
AAA의 세 가지 핵심 구성 요소
1. 인증(Authentication)
인증은 AAA 보안 프로세스의 첫 번째 단계입니다. 네트워크나 애플리케이션이 특정 사용자가 실제로 신뢰할 수 있는 사용자인지 확인하는 절차를 말합니다. 자원에 접근하려면 사용자마다 고유한 식별 정보가 필요하며, 일반적으로 유효한 사용자 이름(username)과 비밀번호(password)를 제시해야 합니다.
2. 인가(Authorization)
인증이 성공적으로 완료되면, 인가 단계에서 해당 사용자에게 허용되는 작업이나 서비스의 범위를 제한합니다. 즉, 사용자가 로그인한 후 어떤 명령을 실행할 수 있고 어떤 영역에 접근할 수 있는지를 결정하는 것입니다.
3. 계정 관리(Accounting)
계정 관리는 사용자의 접속 시간, 사용한 자원, 수행한 작업 등을 기록하고 추적하는 기능입니다. 네트워크 접속뿐 아니라 세션, 명령 실행 등 다양한 활동에 적용할 수 있으며, 이를 통해 사용량을 측정하고 필요시 과금 정보를 제공하거나 감사 자료로 활용할 수 있습니다.
라우터와 방화벽에서의 AAA 설정
라우터나 액세스 서버의 접근 제어를 설정할 때는 AAA 네트워크 보안 서비스가 필수적입니다. 관리자는 AAA를 통해 하나 이상의 인증 방식을 정의할 수 있으며, 인증에 성공한 사용자에 대해서는 인가 기능으로 실행 가능한 명령이나 서비스를 세부적으로 제한할 수 있습니다.
AAA 서버의 역할
일반적으로 전용 AAA 서버가 인증, 인가, 계정 관리 서비스를 함께 제공합니다. 현재 RADIUS(Remote Authentication Dial-In User Service)가 네트워크 액세스 서버(NAS)와 AAA 서버 간의 표준 인터페이스 역할을 담당하고 있습니다.
AAA RADIUS란?
RADIUS는 원격 접속 사용자의 인증, 인가, 계정 관리(AAA) 요구 사항을 중앙에서 관리할 수 있게 해주는 네트워킹 프로토콜입니다. RADIUS는 AAA 전체 프로세스를 처리하기 위해 두 가지 유형의 패킷을 사용합니다. 인증과 인가를 담당하는 Access-Request 패킷과, 계정 관리를 담당하는 Accounting-Request 패킷이 그것입니다. RADIUS는 분산형 보안 시스템으로, 네트워크 및 네트워크 서비스에 대한 원격 접속을 비인가 사용자로부터 보호합니다.
CCNA 관점에서 본 AAA
CCNA 등 네트워크 자격증에서 AAA는 다음과 같이 정의됩니다. 어떤 관리자가 어떤 장비에 접근할 수 있는지(인증), 접속한 후 무엇을 할 수 있는지(인가), 로그인 상태에서 실제로 무엇을 했는지(계정 관리)를 통합적으로 제어하는 방법입니다.
Cisco IOS의 AAA 인증
Cisco IOS 장비는 전통적으로 라인 패스워드(line password)로 인증하고, 레벨 15 enable 패스워드로 권한을 부여하는 방식을 사용해 왔습니다. 하지만 AAA는 이보다 발전된 솔루션으로, 관리자가 IOS 장비에 세분화된(granular) 접근 제어와 감사(auditing) 기능을 설정할 수 있게 해줍니다.
AAA 인증과 인가의 차이점
AAA에서 인증과 인가는 완전히 다른 프로세스입니다. 인증은 사용자의 신원을 식별하고 검증하는 단계이며, 인가는 검증된 사용자에게 구체적인 작업 권한을 할당하는 단계입니다. 쉽게 말해 인증은 '누구인지 확인'하는 것이고, 인가는 '무엇을 허락할지 결정'하는 것입니다.
RADIUS의 주요 특징
RADIUS는 IETF(국제 인터넷 표준화 기구)가 개발한 개방형 표준 프로토콜로, UDP/IP 기반으로 동작하며 비밀번호만 암호화한다는 특징이 있습니다. 반면 Cisco의 독점 프로토콜인 TACACS+는 TCP/IP를 사용하며 전송하는 모든 데이터를 암호화합니다.
TACACS+와 RADIUS의 차이
두 프로토콜 모두 AAA를 구현하지만 용도와 특성이 다릅니다. RADIUS는 원격 컴퓨터의 인증 및 로깅에 적합한 반면, TACACS+는 스위치, 라우터 같은 네트워크 장비에 관리자가 접근하는 환경을 위해 설계되었습니다. 또한 TACACS+는 명령 단위의 인가(command authorization)에 대해 더 세밀한 제어를 제공하는 반면, RADIUS는 명령에 대한 외부 인가를 지원하지 않습니다. 보안 측면에서도 TACACS+는 모든 AAA 패킷을 암호화하지만 RADIUS는 비밀번호만 암호화하므로, TACACS+가 더 높은 보안성을 제공합니다.
정리
AAA는 네트워크 보안의 근간을 이루는 프레임워크로, 인증으로 신원을 확인하고, 인가로 권한을 통제하며, 계정 관리로 활동을 기록합니다. RADIUS와 TACACS+ 같은 프로토콜이 이를 실제로 구현하며, 운영 환경과 보안 요구 수준에 맞는 프로토콜을 선택하는 것이 안전한 네트워크 운영의 핵심입니다.