Red Hat Training

A Red Hat training course is available for RHEL 8

6장. 다단계 보안(MLS) 사용

MLS(Multi-Level Security) 정책은 미국 국방 커뮤니티에서 원래 설계된 레벨의 수준을 사용합니다. MLS는 군사와 같이 철저하게 제어되는 환경에서 정보 관리를 기반으로 매우 한정된 보안 요구 사항을 충족합니다.

MLS 사용은 복잡하며 일반적인 사용 사례 시나리오에 매핑되지 않습니다.

6.1. 다단계 보안(MLS)

MLS(Multi-Level Security) 기술은 정보 보안 수준을 사용하여 계층적 분류로 데이터를 분류합니다. 예를 들면 다음과 같습니다.

  • [최저] 분류되지 않음
  • [낮음] 기밀
  • [높음] 시크릿
  • [최고] top secret

기본적으로 MLS SELinux 정책은 16개의 민감도 수준을 사용합니다.

  • s0 이 가장 민감합니다.
  • s15 가 가장 민감합니다.

MLS는 민감도 수준을 해결하기 위해 특정 용어를 사용합니다.

  • 사용자 및 프로세스를 제목이라고 하며, 민감도 수준을 적용한다고 합니다.
  • 시스템의 파일, 장치 및 기타 패시브 구성 요소를 개체 라고 하며 민감도 수준을 분류 라고 합니다.

SELinux는 MLS를 구현하기 위해 BLP(La Padula Model ) 모델을 사용합니다. 이 모델은 각 주체 및 개체에 연결된 레이블을 기반으로 시스템 내에서 정보가 이동하는 방식을 지정합니다.

BLP의 기본 원칙은 "읽기 없음, 쓰기 없음"입니다."즉, 사용자는 자신의 민감도 레벨에서 낮은 수준의 파일을 읽을 수 있고 데이터는 하위 수준에서 높은 수준으로만 이동할 수 있으며 그 반대는 절대 없습니다.

RHEL에서 MLS를 구현하는 MLS SELinux 정책은 쓰기 같음을 사용하여 Bell-La Padula 라는 수정된 원칙을 적용합니다. 즉, 사용자가 고유 민감도 수준에서 파일을 읽을 수 있지만 정확하게 고유 수준에서만 쓸 수 있습니다. 따라서, 예를 들어 소문자를 가진 사용자가 상위 비밀 파일에 콘텐츠를 쓰는 것을 방지할 수 있습니다.

예를 들어 기본적으로 명확한 수준 s2 를 가진 사용자:

  • 민감도 수준 s0,s1, s2 로 파일을 읽을 수 있습니다.
  • 민감도 수준 s3 이상이 있는 파일을 읽을 수 없습니다.
  • 정확히 s2 의 민감도 수준으로 파일을 수정할 수 있습니다.
  • s2 이외의 민감도 수준으로 파일을 수정할 수 없습니다.
참고

보안 관리자는 시스템의 SELinux 정책을 수정하여 이 동작을 조정할 수 있습니다. 예를 들어 사용자가 더 낮은 수준에서 파일을 수정할 수 있도록 허용하여 파일의 민감도 수준을 사용자의 명확한 수준으로 높일 수 있습니다.

실제로 사용자는 일반적으로 광범위한 명확한 레벨(예: s1-s2 )에 할당됩니다. 사용자는 사용자의 최대 수준보다 민감도 수준이 낮은 파일을 읽고 해당 범위 내의 모든 파일에 쓸 수 있습니다.

예를 들어 기본적으로 범위가 s1-s2 인 사용자는 다음을 수행합니다.

  • 민감도 수준 s0s1 을 사용하여 파일을 읽을 수 있습니다.
  • 민감도 수준 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"의 보안 수준이 있는 사용자가 DAC(Despretionary Access Control)를 사용하여 다른 사용자의 파일에 대한 액세스를 차단하는 경우 "Top Secret" 사용자도 해당 파일에 액세스할 수 없습니다. 높은 보안으로 인해 사용자가 전체 파일 시스템을 자동으로 검색할 수 없습니다.

최상위 레벨의 사용자는 다단계 시스템에 대한 관리 권한을 자동으로 획득하지 못합니다. 시스템에 대한 모든 중요한 정보에 액세스할 수 있지만 이는 관리 권한이 있는 것과 다릅니다.

또한 관리 권한은 중요한 정보에 대한 액세스 권한을 제공하지 않습니다. 예를 들어 root 로 로그인하는 경우에도 top-secret 정보를 읽을 수 없습니다.

카테고리를 사용하여 MLS 시스템 내에서 액세스를 추가로 조정할 수 있습니다. MCS(Multi-Category Security)를 사용하면 프로젝트 또는 부서와 같은 범주를 정의할 수 있으며 사용자는 할당된 카테고리의 파일에만 액세스할 수 있습니다. 자세한 내용은 데이터 기밀성에 대한 MCCS(Multi-Category Security) 사용을 참조하십시오.