Security Practice Archive

보안 점검과 설정을
기록합니다.

시스템, 클라우드 등 다양한 환경에서 확인한 점검 기준과 설정 과정, 검증 결과를 정리합니다.

categories 글 모아보기
Browse topics

주제별로 빠르게 이동

카테고리를 선택해 관련 글을 모아볼 수 있습니다.

약 1분

[인프라진단] #CA-02 사용자 정책 관리

반응형

1. 항목 설명

클라우드 사용자와 그룹에 업무 목적에 맞는 역할과 권한이 할당되어 있는지 점검하는 항목입니다.

판단 기준은 사용자·그룹의 목적에 맞게 역할과 권한이 할당된 경우 양호, 목적에 맞지 않게 역할과 권한이 할당된 경우 취약입니다.

2026 가이드 근거

출처: 과학기술정보통신부·한국인터넷진흥원, 「2026 주요정보통신기반시설 기술적 취약점 분석·평가 방법 상세가이드」, CA-02, p.855.
본 게시글은 위 가이드의 판단 기준을 참고하여 작성했으며, 진단 결과와 증적은 개인 실습 환경에서 직접 수집했습니다.

2. 점검 목적

계정별 권한을 점검하여 과도한 권한으로 인한 무단 접근, 데이터 유출, 내부자 위협과 권한 오남용을 예방하는 것이 목적입니다.

3. 실습 환경

  • 클라우드: 개인 AWS Free plan 실습 계정
  • 작업 도구: AWS Management Console, AWS CloudShell, AWS CLI
  • 실습 사용자: ca-lab-20260611-user
  • 실습 그룹: ca-lab-20260611-group
  • 취약 정책: AWS 관리형 ReadOnlyAccess
  • 조치 정책: 실습 목적에 필요한 IAM 조회 권한만 가진 인라인 정책
  • 과금 리소스 및 액세스 키: 생성하지 않음

실습·비용·안전 고지

본 항목은 N/A 처리하지 않고 개인 실습 계정에서 실제 설정을 변경하여 진단했습니다. 과금 가능 리소스와 운영 환경은 사용하지 않았으며, 판정은 개인 실습 환경에 한정됩니다. 세부 원칙은 본 시리즈의 「AWS 실습 환경 구축 프롤로그」에 정리한 비용·안전 기준을 따릅니다.

4. 취약 상태 구성

자체 계정 상태만 확인하면 되는 실습 사용자에게 계정 전반의 다수 서비스를 조회할 수 있는 AWS 관리형 ReadOnlyAccess를 그룹을 통해 부여하여 목적 대비 과도한 권한을 재현합니다.

구성 방법

aws iam create-group --group-name ca-lab-20260611-group

aws iam attach-group-policy \
  --group-name ca-lab-20260611-group \
  --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess

aws iam add-user-to-group \
  --group-name ca-lab-20260611-group \
  --user-name ca-lab-20260611-user

상태 확인:

aws iam list-groups-for-user \
  --user-name ca-lab-20260611-user \
  --output json

aws iam list-attached-group-policies \
  --group-name ca-lab-20260611-group \
  --output json

단순 IAM 자체 상태 확인 목적의 사용자에게 계정 전반 조회 정책인 ReadOnlyAccess가 할당되어 있으면 본 실습의 판단 기준에서 취약 상태입니다.

5. 최초진단 결과

  • 최초진단 판정: 취약
  • 판정 조건: 사용자 목적보다 넓은 ReadOnlyAccess가 그룹을 통해 할당된 경우
  • 확인 명령: aws iam list-groups-for-user, aws iam list-attached-group-policies
  • 실제 최초진단 증적: ca_initial_diagnosis.txt 기반 수집 완료

6. 조치 방법

광범위한 관리형 정책을 제거하고 실습 목적에 필요한 IAM 사용자·MFA·암호 정책 조회 작업만 허용하는 최소 권한 인라인 정책으로 대체합니다.

aws iam detach-group-policy \
  --group-name ca-lab-20260611-group \
  --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess

aws iam put-group-policy \
  --group-name ca-lab-20260611-group \
  --policy-name ca-lab-20260611-least-privilege \
  --policy-document file:///tmp/ca-lab-group-least-privilege.json

확인 명령:

aws iam list-attached-group-policies \
  --group-name ca-lab-20260611-group \
  --output json

aws iam get-group-policy \
  --group-name ca-lab-20260611-group \
  --policy-name ca-lab-20260611-least-privilege \
  --output json

클라우드 콘솔 경로: IAM → 사용자 그룹 → ca-lab-20260611-group → 권한

현재 상태 재확인(2026-08-25): 광범위한 ReadOnlyAccess는 제거되어 있고 목적별 최소 권한 인라인 정책만 남아 있습니다. AWS CloudShell에서 읽기 전용으로 재확인했습니다.

7. 이행진단 결과

  • 이행진단 판정: 양호
  • 판정 조건: 광범위한 관리형 정책이 제거되고 목적에 맞는 최소 권한 정책만 할당된 경우
  • 실제 이행진단 증적: ca_after_diagnosis.txt 기반 수집 완료

8. 실무 주의사항

정책을 축소하면 배포, 모니터링, 백업, 장애 대응 작업이 실패할 수 있습니다. 권한 제거 전 실제 호출 이력과 운영 절차를 확인하고 단계적으로 적용해야 합니다.

컨설턴트 조언

  • 담당자 인터뷰에서 사용자·그룹별 직무, 수행 작업, 관리 권한 필요 사유와 승인자를 확인합니다.
  • 사용자·그룹 정책 목록, 직접 연결 정책, 인라인 정책, 권한 경계, 조직 SCP와 최근 API 사용 이력을 증적으로 확보합니다.
  • 관리 권한과 일반 사용자 권한은 분리하고 1인 1계정 원칙을 적용합니다.
  • 즉시 권한 축소가 어려우면 기간 제한, 승인 기반 역할 전환, MFA, 접근 로그 검토를 보완 통제로 적용합니다.
  • ReadOnlyAccess도 민감한 메타데이터를 광범위하게 열람할 수 있으므로 무조건 안전한 정책으로 간주하지 않습니다.

9. 마무리

클라우드 권한은 기능 수행에 필요한 최소 범위로 제한하고 주기적으로 재검토해야 합니다. 사용자 목적과 실제 권한의 차이를 확인하는 것이 CA-02 진단의 핵심입니다.

반응형