6장. Multi-Level Security (MLS) 사용
Multi-Level Security (MLS) 정책은 원래 미국 방어 커뮤니티에서 설계 한 것처럼 명확한 수준을 사용합니다. MLS는 미군과 같이 엄격하게 제어되는 환경에서 정보 관리를 기반으로 매우 좁은 보안 요구 사항을 충족합니다.
MLS를 사용하는 것은 복잡하고 일반적인 사용 사례 시나리오에 잘 매핑되지 않습니다.
6.1. Multi-Level Security (MLS) 링크 복사링크가 클립보드에 복사되었습니다!
Multi-Level Security (MLS) 기술은 정보 보안 수준을 사용하여 계층 분류의 데이터를 분류합니다. 예를 들면 다음과 같습니다.
- [lowest] 분류되지 않음
- [low] 기밀
- [high] 시크릿
- [가장 높은] 최고 시크릿
기본적으로 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
를 가진 사용자는 다음과 같습니다.
-
민감도 수준
s
0,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:user_r:user_t:s1
다음과 같습니다.
user_u
- SELinux 사용자입니다.
user_r
- SELinux 역할입니다.
user_t
- SELinux 유형입니다.
s1
- MLS 민감도 수준의 범위입니다.
시스템은 항상 MLS 액세스 규칙과 기존 파일 액세스 권한을 결합합니다. 예를 들어 보안 수준이 "Secret"인 사용자가 Discretionary Access Control(DAC)을 사용하여 다른 사용자가 파일에 대한 액세스를 차단하는 경우 "Top Secret" 사용자도 해당 파일에 액세스할 수 없습니다. 보안 수준이 높은 경우 사용자가 전체 파일 시스템을 검색하도록 자동으로 허용하지 않습니다.
최상위 수준의 명확한 사용자는 다중 수준 시스템에 대한 관리 권한을 자동으로 취득하지 않습니다. 시스템에 대한 모든 중요한 정보에 액세스할 수 있지만 이는 관리 권한이 있는 것과 다릅니다.
또한 관리자 권한은 중요한 정보에 대한 액세스 권한을 제공하지 않습니다. 예를 들어, 누군가가 root
로 로그인한 경우에도 최상위 비밀 정보를 읽을 수 없습니다.
범주를 사용하여 MLS 시스템 내에서 액세스를 추가로 조정할 수 있습니다. MCCS(Multi-Category Security)를 사용하면 프로젝트 또는 부서와 같은 카테고리를 정의할 수 있으며 사용자는 할당된 카테고리의 파일에만 액세스할 수 있습니다. 자세한 내용은 데이터 기밀성을 위해 MCS(Multi-Category Security) 사용을 참조하십시오.