Aller au contenu principal

47. List and Identify SELinux File and Process Contexts


개요

SELinux는 파일과 프로세스에 보안 컨텍스트를 통해 세밀한 접근 제어를 적용하여 Linux 보안을 강화합니다. 전통적인 파일 권한이 기본적인 제한을 제공하는 반면, "SELinux는 고도로 세밀한 접근 제어를 가능하게 하는 고급 보안 컨텍스트를 도입하여 이 격차를 해소합니다."

SELinux 보안 컨텍스트 구성요소

일반적인 SELinux 컨텍스트 레이블에는 4가지 요소가 포함됩니다:

  1. SELinux 사용자 (예: unconfined_u)
  2. 역할(Role) (예: object_r)
  3. 타입(Type) (예: user_home_t)
  4. 레벨(Level) (예: s0)

예시: unconfined_u:object_r:user_home_t:s0

의사결정 프로세스

SELinux는 순차적 검증을 통해 접근을 강제합니다:

  • 사용자 매핑 – Linux 로그인 이름과 다를 수 있는 SELinux 사용자 할당 확인
  • 역할 검증 – 사용자가 특정 역할을 맡을 수 있는지 확인
  • 타입 기반 접근 제어 – 할당된 타입을 기반으로 가장 세밀한 보안 제한 적용
  • 보안 레벨 – 등급 기반 조직을 위한 다중 레벨 보안 지원

SELinux 컨텍스트 확인

파일 컨텍스트: ls -lZ로 표준 권한과 함께 보안 레이블 표시

ls -lZ /usr/sbin/sshd

프로세스 컨텍스트: ps axZ로 프로세스 보안 컨텍스트 확인

ps axZ | grep sshd

사용자 컨텍스트: id -Z로 현재 SELinux 사용자, 역할, 타입 확인

id -Z

강제 상태 확인

getenforce로 SELinux 운영 모드 확인:

getenforce
모드설명
Enforcing미승인 작업을 적극적으로 차단
Permissive차단 없이 위반 사항을 로깅
DisabledSELinux 비활성화