SELinux & AppArmor (DAC, MAC) 개념

정하나둘·2022년 11월 22일
1

DAC와 MAC 비교

보안모델

- DAC (임의접근제어, Discretionary Access Control)

: 소유자가 본인 스스로 사용자 또는 그룹이 자원에 접근하는 것을 조절한다 (소유자 자유재량)
: 주체(소유자)가 객체(파일)을 제어
: 계정과 소유권에만 기반

- MAC (강제접근제어, Mandatory Access Control)

: 정의된 정책을 활용해 사용자와 프로세스의 행동을 제어한다.
: 파일의 유형, 사용자의 역할, 프로그램의 기능과 신뢰도, 데이터의 민감성(데이터의 민감정도)과 무결성(데이터의 정확성, 일관성, 유효성이 유지되는 것)을 고려한다.

------------------------------------------------------------------------------

DAC의 경우에는 파일과 프로세스에 소유자가 있다.

사용자 또는 그룹이 파일을 소유하도록 할 수 있으며 누구든지 소유자가 될 수 있다. 사용자는 소유한 파일의 권한을 변경할 수 있습니다.

루트 사용자는 DAC 시스템으로 전체 액세스 제어 권한을 갖는다. 루트 액세스 권한이 있는 경우, 다른 모든 사용자의 파일에 액세스하거나 시스템에서 원하는 작업을 모두 수행할 수 있다.

그러나 SELinux와 같은 MAC 시스템에서는 액세스 관련 관리 정책이 설정되어 있다. 홈 디렉터리의 DAC 설정이 변경되더라도 다른 사용자나 프로세스가 디렉터리에 액세스하지 못하도록 하는 SELinux 정책을 통해 시스템을 안전하게 보호할 수 있다.

SELinux 정책을 사용하여 사용자를 특정할 수 있을 뿐만 아니라 수많은 프로세스를 처리할 수 있다. SELinux로 변경을 수행하여 사용자, 파일, 디렉토리 등 액세스를 제한할 수 있다.

SELinux

- security-Enhanced Linux의 줄임

- 레드햇 계열 (ex. CentOS)

- MAC 적용 (전통적인 Linux는 DAC가 기본)

- 시스템 전체에 보안 설정 (AppArmor 와의 가장 큰 차이라고 생각함)

AppArmor

- Application Armor의 줄임

- 데비안 계열 (Debian, Ubuntu)

- MAC 적용

- 개별 응용프로그램을 보호하는 일에 집중, 응용프로그램 단위의 보안 모델 구현 (SELinux와 가장 큰 차이라고 생각함)

profile
내가 다시 보려고 만드는 42서울 본과정 블로그

0개의 댓글