Linux

[Linux] SELinux 및 SEPolicy 개념 정리

유큰 2024. 5. 23. 21:13

[Linux] SELinux 및 SEPolicy 개념 정리

SELinux 및 SEPolicy 개념 정리


🎯 SELinux란?

 

강제접근제어(MAC : Mandatory Access Control)과 같은 접근 제어 정책을 제공하는 리눅스 커널 보안 모듈

( → 설정한 정책에 따라 필요한 기능에 대해서만 사용권한을 부여)

 

☑️ SELinux의 설정 및 해제

Mode 설명
Enforce SELinux 정책을 적용한 상태
(정책을 위반한 동작은 차단된다)
Permissive 정책 위반 행위가 차단되지는 않지만 로그로 남겨진다.
(즉, SELinux 기능이 꺼져있지만 정책 관련 log는 남긴다.)
Disable SELinux 정책을 비활성화

 

☑️ 동작 원리

 

1. SEPolicy 적용 전 (기존)

SELinux란

   

 - 현재 사용자(ykhan)는 프로세스(test_application)를 실행할 수 있다.

 (why? 해당 프로세스의 소유권과 group은 system이지만 기타사용자(others)의 실행권한이 존재('x') )

 

2. SEPolicy 적용 후 (기존). 

 

SELinux 동작 방식
SELinux enforce 후

- SELinux enforce 할 경우, Linux Kernel에서 설정한 Policy Rule에 맞게 Selinux context(type)이 프로세스에  추가된다.

 

- 현재 프로세스1이 프로세스2를 실행하려고 할 때, SEPolicy Rules에 user_t 가 bin_t를 실행할 권한이 없으므로 실행할 수 없다.

 


다음 포스트에서는 SEPolicy 정책파일 설정 방법 및 SELinux audit 에러 해결 방법에 대해 알아보겠습니다 🥰

읽어주셔서 감사합니다.