패스잇
인프라 & 클라우드 · 심화

SELinux와 AppArmor 같은 강제적 접근 제어(MAC) 시스템이 기존 DAC(Discretionary Access Control) 방식과 어떻게 다르며, 실제 운영 환경에서 이들을 효과적으로 적용하고 관리하기 위한 전략과 트러블슈팅 기법에 대해 설명해주세요.

힌트 · MAC는 정책 기반으로 프로세스의 리소스 접근을 강제하며, DAC는 사용자/그룹 기반으로 접근 권한을 관리합니다. auditd 로그를 활용하고 `semanage`, `aa-status` 등의 도구로 정책을 관리합니다.

MACDACSELinuxAppArmor정책

모범답안

SELinux나 AppArmor 같은 MAC(Mandatory Access Control) 시스템은 기존 DAC(Discretionary Access Control) 방식과 접근 제어 방식에서 근본적인 차이가 있습니다. DAC는 사용자나 그룹에게 권한을 부여하여 접근을 제어하는 반면, MAC은 시스템 관리자가 정의한 정책에 따라 프로세스의 리소스 접근을 강제합니다. 즉, DAC는 사용자의 재량에 따라 권한이 변경될 수 있지만, MAC은 정책에 의해 엄격하게 통제됩니다.

실제 운영 환경에서 MAC을 효과적으로 적용하려면, 먼저 시스템의 역할과 필요한 보안 수준을 명확히 정의해야 합니다. 그 후, 각 역할에 맞는 정책을 설계하고 적용해야 합니다. 정책 관리는 semanage (SELinux)나 aa-status (AppArmor) 같은 도구를 사용하여 수행할 수 있습니다. 트러블슈팅 시에는 auditd 로그를 분석하여 접근 거부 상황을 파악하고, 정책을 수정하거나 예외 규칙을 추가하여 문제를 해결할 수 있습니다. 예를 들어, 특정 프로세스가 필요한 파일에 접근하지 못하는 경우, audit 로그를 확인하고 해당 프로세스에 필요한 권한을 부여하는 정책을 추가합니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 Linux 면접 질문

← Linux 면접 질문 전체 보기