6장. Multi-Level Security (MLS) 사용
다단계 보안 (MLS) 정책은 원래 미국 방위에 의해 설계 된 것처럼 명확한 수준을 사용합니다. MLS는 정부 기관과 같이 엄격하게 통제되는 환경에서 정보 관리에 따라 매우 좁은 보안 요구 사항을 충족합니다.
MLS 사용은 복잡하고 일반적인 사용 사례 시나리오에 잘 매핑되지 않습니다.
6.1. 다단계 보안 (MLS)
Multi-Level Security (MLS) 기술은 정보 보안 수준을 사용하여 계층 분류의 데이터를 분류합니다. 예를 들면 다음과 같습니다.
- [lowest] Unclassified
- [low] 신뢰할 수 있습니다.
- [high] 보안
- [highest] Top secret
기본적으로 MLS SELinux 정책은 16개의 민감도 수준을 사용합니다.
-
s0
은 최소 민감합니다. -
S
15
가 가장 민감합니다.
MLS는 민감도 수준을 해결하기 위해 특정 용어를 사용합니다.
- 사용자 및 프로세스는 중요도 수준을 명확한이라고 하는 주제 라고 합니다.
- 시스템의 파일, 장치 및 기타 수동 구성 요소는 분류 라고 하는 개체 라고 합니다.
MLS를 구현하기 위해 SELinux는 BLP(P hat-La Padula Model ) 모델을 사용합니다. 이 모델은 각 주체 및 개체에 연결된 라벨에 따라 시스템 내에서 정보가 이동하는 방법을 지정합니다.
BLP의 기본 원칙이 "미읽기 없음, 쓰기없음." 즉, 사용자가 자신의 민감도 수준에서만 파일을 읽을 수 있으며 데이터는 하위 수준에서 더 높은 수준으로만 이동할 수 있으며 그 반대의 경우도 없습니다.
RHEL에서 MLS를 구현하는 MLS SELinux 정책은 쓰기 같음을 사용하여 Bell-La Padula 라는 수정된 원칙을 적용합니다. 즉, 사용자는 자신의 민감도 수준에서 파일을 읽을 수 있지만 정확히 자신의 수준에서만 쓸 수 있습니다. 이렇게 하면, 예를 들어 저해 사용자가 콘텐츠를 top-secret 파일에 쓰지 못하게 합니다.
예를 들어 기본적으로 명확한 수준 s2
를 가진 사용자:
-
민감도 수준
s0
,s1
,s2
로 파일을 읽을 수 있습니다. -
민감도 수준
s3
이상이 있는 파일을 읽을 수 없습니다. -
정확히
s2
의 민감도 수준으로 파일을 수정할 수 있습니다. -
s2
이외의 민감도 수준으로 파일을 수정할 수 없습니다.
보안 관리자는 시스템의 SELinux 정책을 수정하여 이 동작을 조정할 수 있습니다. 예를 들어 사용자가 더 낮은 수준에서 파일을 수정할 수 있도록 허용하여 파일의 민감도 수준을 사용자의 명확한 수준으로 높일 수 있습니다.
실제로 사용자는 일반적으로 광범위한 명확한 레벨(예: s1-s2
)에 할당됩니다. 사용자는 사용자의 최대 수준보다 민감도 수준이 낮은 파일을 읽고 해당 범위 내의 모든 파일에 쓸 수 있습니다.
예를 들어 기본적으로 범위가 s1-s2
인 사용자는 다음을 수행합니다.
-
민감도 수준
s0
및s1
을 사용하여 파일을 읽을 수 있습니다. -
민감도 수준
s2
이상의 파일을 읽을 수 없습니다. -
민감도 수준
s1
로 파일을 수정할 수 있습니다. -
s1
이외의 민감도 수준으로 파일을 수정할 수 없습니다. -
자신의 명료 수준을
s2
로 변경할 수 있습니다.
MLS 환경에서 권한이 없는 사용자의 보안 컨텍스트는 다음과 같습니다.
user_u:user_r:user_t:s1
다음과 같습니다.
user_u
- SELinux 사용자입니다.
user_r
- SELinux 역할입니다.
user_t
- SELinux 유형입니다.
s1
- MLS 민감도 수준의 범위입니다.
시스템은 항상 MLS 액세스 규칙과 기존 파일 액세스 권한을 결합합니다. 예를 들어, "Secret"의 보안 수준을 가진 사용자가 DC(Discretionary Access Control)를 사용하여 다른 사용자의 파일에 대한 액세스를 차단하면, "Top Secret" 사용자도 해당 파일에 액세스할 수 없습니다. 보안 수준이 높은 경우 사용자가 전체 파일 시스템을 검색하도록 자동으로 허용하지 않습니다.
최상위 수준의 명확한 권한을 가진 사용자는 다단계 시스템에 대한 관리 권한을 자동으로 취득하지 않습니다. 시스템에 대한 모든 중요한 정보에 액세스할 수 있지만 이는 관리 권한이 있는 것과 다릅니다.
또한 관리자 권한은 중요한 정보에 대한 액세스 권한을 제공하지 않습니다. 예를 들어, 사용자가 root
로 로그인한 경우에도 top-secret 정보를 읽을 수 없습니다.
범주를 사용하여 MLS 시스템 내에서 액세스를 추가로 조정할 수 있습니다. MCCS(Multi-Category Security)를 사용하면 프로젝트 또는 부서와 같은 카테고리를 정의할 수 있으며 사용자는 할당된 카테고리의 파일에만 액세스할 수 있습니다. 자세한 내용은 데이터 기밀성을 위해 MCS(Multi-Category Security) 사용을 참조하십시오.