첫번째, 나는 데비안과 로키의 역사에 대해 알고 싶지 않다.
그들이 어떻게 이 운영체재를 만들게 되었고, 어떤 커뮤니티가 어떤 형식으로 작동이 되는지
내가 굳이 지금 이 내용을 정리할 필요가 없다고 생각했다.
그렇다고 공부하지 말라는 것인가? 아니다.
알면 좋지만 내가 그들의 역사를 안다고 해서 데비안과 로키의 차이를 명확하게 알수 있는가?
사실 난 아니라고 본다. 애초에 둘의 차이는 역사를 통해서 알 수 있는 것이 아닌
그들이 나뉘어진 후 집중했던 기능에 차이가 있다고 보기 때문이다.
나는 크게 세가지로 구분했다.
Security Framework
Debian : apparmor 사용
Rocky : SELinux 사용
Based on
Debian : 데비안 프로젝트라는 커뮤니티 개발
Rocky : 레드햇RHEL(red hat enterprise linux) 기반
Package Manger
Debian : apt
Rocky : DNF
⇒ 강제적 접근통제(MAC)를 제공함으로써 전통적인 유니스 임의적 접근 통제 모델(DAC)을 지원
객체(파일, 디렉토리 프로세스 등)의 보안 레이블을 사용하여 보안을 구현함
규칙기반 시스템과 같이 사용
레이블은 시스템 관리자가 정의하며 일반 사용자는 변경불가
다양한 보안 정책 구현 가능
객체에 대한 액세스 권한을 정확하게 제어
MAC는 SElinux와 AppArmor와 같은 보안 모듈에서 사용 → 객체에 대한 보안 강화, 보안 위협으로 시스템 보호
DAC (Discretionary Access Control)
사용자 또는 프로세스가 자원(파일,디렉토리, 소캣 등)에 대한 접근 권한을 설정 / 관리하는 방식
DAC에서는 파일이나 디렉토리 등의 자원에 대한 접근 권한을 (자원을 소유한) 사용자가 임의로 지정 후 변경 가능.
유연성이 높아 다양한 사용자 그룹을 관리할 수 있음.
관리 부담이 높고 권한을 오용할 가능성 있음 보안 위협에 취약함
→ 그래서 MAC 방식이 등장
레이블(Lable)
→ 각각의 주체(Subject)와 객체(Object)에 부여된 보안 태그를 나타낸다. (보안 컨텍스트)
→ MAC를 구현하는데에 레이블을 사용한다.
→ SElinux는 레이블로 엑세스를 제한한다.
프로필(Profile)
→ 특정 애플리케이션의 동작을 정의하는 정책(Policy file)집합
→ 구현 방법의 차이가 있다.
→ RedHat 계열에서 선호, 같은 계열 CentOS와 같은 운영체제에서 사용
SElinux는 시스템 전체에서 사용되는 보안 모듈 → 일반적으로 규칙 기반 시스템으로 구현
AppArmor는 프로세스별로 보안 프로파일을 생성 → 각 애플리케이션의 엑세스 제한 → 프로필 기반 시스템으로 구현
이렇게도 설명한다더라 "SElinux는 policy file과 right file system을 통해 작동하는 반면, apparmor는 policy file을 통해 작동한다. 그러므로 SElinux가 좀 더 복잡하고 안정적인 규칙 기반 시스템을 운영 중이다."
보안 모듈에서 사용되는 파일로, 액세스 제어 및 보안 정책을 정의에 사용
일반적으로 텍스트 파일로 작성, 보안 정책을 포함하는 규칙을 담음
정책은 객체(파일, 디렉토리,포트 등)에 대한 엑세스 권한을 정의, 시스템 보안 전체에 대한 보안 규칙을 정의하는데 사용
시스템 관리자가 작성 혹은 보안 모듈에서 제공하는 기본 정책을 수정하여 사용
⇒ 보안 정책을 변경하는 것은 보안 모듈을 통해 시스템에 대한 액세스 보호, 보안 위협으로부터 시스템 보호 - 보안 위협으로부터 스세템을 보호하는데 중요함
Right File
파일 시스템에 대한 보안 컨텍스트 정보를 포함
파일과 디렉토리에 대한 액세스 권한을 정의
⇒ 애플리케이션에 대한 보안을 강화
SElinux는
→ 규칙기반과 프로필 기반?
프로필 기반 시스템은 각 애플리케이션에 대한 보안 정책을 개별적으로 설정
규칙 기반 시스템은 시스템 전반에 걸쳐 일관된 보안 정책을 적용.
⇒ AppArmor가 SElinux보다 상대적으로 간단하고 사용하기 쉽다. 따라서 SElinux는 기업급 환경에서 높은 보안을 충족, AppArmor는 일반적으로 개인용 시스템이나 작은 규모로 사용.
AppArmor 설정
프로필은 Complain mode 와 Enforce mode로 실행 가능
Complain mode
Enforce mode
응용프로그램이 제한된 동작을 수행하지 못하게 함
aa-enabled
: 활성화 여부 확인