서버 접근 통제(Access Control) - DAC, MAC, RBAC

보안/신기술보안기능서버 접근 통제
읽는데 5분 소요
처음 쓰여진 날: 2025-10-09
마지막 수정일: 2025-10-09

요약

정처기 실기 단골 문제인 서버 접근 통제 개념을 문제와 함께 알아봅니다. 세 가지 주요 모델, 즉 임의적 접근 통제(DAC), 강제적 접근 통제(MAC), 역할 기반 접근 통제(RBAC)의 개념, 특징, 장단점을 심층적으로 비교 분석합니다.

서버 접근 통제 세 가지 모델 비교 요약

구분임의적 접근 통제 (DAC)강제적 접근 통제 (MAC)역할 기반 접근 통제 (RBAC)
통제 주체객체 소유자시스템 (관리자 정책)역할 (관리자 정책)
권한 설정소유자 임의로 설정보안 등급 및 규칙역할에 할당된 권한
유연성높음낮음중간
보안 수준낮음매우 높음높음
관리 복잡도낮음매우 높음중간
주요 사용처개인용 컴퓨터, 소규모 시스템군사, 정부, 높은 보안 요구 시스템대부분의 기업, 클라우드 환경

서버 접근 통제란 무엇일까요?

서버 접근 통제(Access Control)는 간단히 말해 '누가, 무엇을, 어떻게 할 수 있는가'를 정의하고 강제하는 보안의 가장 기본적인 원칙입니다. 허가된 사용자는 필요한 정보와 기능에 접근하게 하고, 비인가자는 접근을 막아 시스템의 기밀성, 무결성, 가용성을 보장하는 역할을 합니다.

이러한 접근 통제를 구현하는 방식에는 여러 가지 모델이 있으며, 그중 가장 대표적인 세 가지가 로 DAC, MAC, RBAC 입니다. 각 모델의 특징과 차이점을 알아보겠습니다.


임의적 접근 통제 (DAC, Discretionary Access Control)

임의적 접근 통제(DAC) 는 데이터나 객체(파일, 디렉토리 등)의 소유자가 자신의 판단에 따라 다른 사용자에게 접근 권한을 부여하거나 제한할 수 있는 방식입니다. 우리에게 가장 친숙한 모델이기도 합니다.

  • 핵심 특징: 객체 소유자가 접근 권한을 관리합니다.

  • 대표적인 예:

    • UNIX/Linux 파일 권한: chmod 명령어를 사용하여 파일 소유자가 다른 사용자(Owner, Group, Other)에게 읽기(r), 쓰기(w), 실행(x) 권한을 설정하는 것이 대표적인 DAC의 예입니다.
    • 윈도우 파일 공유: 폴더 속성에서 특정 사용자에게 공유 권한을 부여하는 것도 DAC에 해당합니다.
  • 장점:

    • 유연성: 사용자가 자율적으로 권한을 관리할 수 있어 편리하고 유연합니다.
    • 간편함: 중앙 관리자 없이도 권한 설정이 가능하여 소규모 시스템에 적합합니다.
  • 단점:

    • 보안 취약성: 악의적인 사용자가 권한을 획득하면 해당 권한을 다른 사용자에게 쉽게 넘겨줄 수 있습니다. (예: 트로이 목마 공격에 취약)
    • 중앙 관리의 어려움: 조직 전체의 보안 정책을 일관되게 적용하기 어렵습니다.

강제적 접근 통제 (MAC, Mandatory Access Control)

강제적 접근 통제(MAC) 는 DAC와 달리, 시스템 관리자가 사전에 정의한 엄격한 보안 정책(규칙)에 따라 모든 접근을 강제하는 방식입니다. 사용자의 의사와 상관없이 시스템이 접근을 통제합니다.

  • 핵심 특징: 시스템 전체에 적용되는 보안 정책과 보안 등급(Security Level)을 기반으로 접근을 통제합니다.

  • 대표적인 예:

    • SELinux(Security-Enhanced Linux): 리눅스 커널에 MAC을 구현한 보안 모듈로, 모든 프로세스와 파일에 보안 레이블을 붙여 접근을 통제합니다.
    • 군사 및 정부 시스템: '기밀', '대외비'와 같은 보안 등급을 사용자(보안 허가)와 정보(보안 등급)에 부여하여, 자신의 허가 수준보다 높은 등급의 정보에는 접근할 수 없도록 합니다.
  • 장점:

    • 강력한 보안: 중앙에서 통제되는 정책으로 인해 정보 유출을 효과적으로 방지할 수 있으며, 매우 높은 수준의 보안을 제공합니다.
    • 일관성: 조직 전체에 일관된 보안 정책을 강제할 수 있습니다.
  • 단점:

    • 복잡성 및 비유연성: 설정과 관리가 매우 복잡하고, 한번 정해진 정책을 변경하기 어렵습니다.
    • 관리 비용: 모든 객체와 주체에 보안 등급을 할당하고 관리해야 하므로 비용이 많이 듭니다.

역할 기반 접근 통제 (RBAC, Role-Based Access Control)

역할 기반 접근 통제(RBAC) 는 사용자가 아닌, 사용자가 속한 '역할(Role)'에 기반하여 접근 권한을 부여하는 방식입니다. 오늘날 대부분의 기업 환경에서 사용하는 표준적인 접근 통제 모델입니다.

  • 핵심 특징: '사용자 - 역할 - 권한'의 관계를 통해 접근을 제어합니다. (User → Role → Permission)

  • 대표적인 예:

    • AWS IAM(Identity and Access Management): 개발자, 관리자, 재무팀 등 역할(Role)을 만들고 각 역할에 필요한 권한(Policy)을 할당합니다. 사용자는 해당 역할을 부여받아 권한을 행사합니다.
    • 데이터베이스 관리 시스템: DBA, Developer, User와 같은 역할을 정의하고 각 역할이 테이블에 대해 수행할 수 있는 SELECT, INSERT, DELETE 등의 권한을 부여합니다.
  • 장점:

    • 관리 효율성: 사용자가 변경(입사, 퇴사, 부서 이동)될 때마다 권한을 재설정할 필요 없이 역할만 부여하거나 회수하면 되므로 관리가 매우 용이합니다. (관리 확장성)
    • 최소 권한 원칙 준수: 역할에 꼭 필요한 권한만 부여함으로써 '최소 권한 원칙(Principle of Least Privilege)'을 쉽게 구현할 수 있습니다.
    • 정책의 일관성: 역할 기반으로 권한이 관리되므로 조직의 정책을 일관되게 적용하기 좋습니다.
  • 단점:

    • 초기 설계의 복잡성: 조직의 직무와 책임을 분석하여 적절한 역할을 설계하는 데 시간과 노력이 필요합니다.
    • 역할 폭발(Role Explosion): 역할이 너무 세분화되거나 많아지면 오히려 관리가 복잡해질 수 있습니다.

정보처리기사 실기 대비 문제

문제를 불러오는 중...

문제를 불러오는 중...

문제를 불러오는 중...

문제를 불러오는 중...

문제를 불러오는 중...

문제를 불러오는 중...