6.4. MLS에 사용자 활성화 설정
SELinux 정책을 MLS로 전환한 후에는 제한된 SELinux 사용자에게 매핑하여 사용자에게 보안 표시 수준을 할당해야 합니다. 기본적으로 지정된 보안 명확한 사용자가 있습니다.
- 민감도가 높은 객체를 읽을 수 없습니다.
- 다른 민감도 수준에서 오브젝트에 쓸 수 없습니다.
사전 요구 사항
-
SELinux 정책은
mls
로 설정됩니다. -
SELinux 모드는
enforcing
으로 설정됩니다. -
policycoreutils-python-utils
패키지가 설치되어 있습니다. SELinux 제한 사용자에게 할당된 사용자:
-
user_u
에 할당된 권한이 없는 사용자의 경우 다음 절차의example_user 입니다. -
권한이 있는 사용자의 경우
staff_u
(다음 절차의담당자 )에 할당되었습니다.
-
MLS 정책이 활성 상태일 때 사용자가 생성되었는지 확인합니다. 다른 SELinux 정책에서 생성된 사용자는 MLS에서 사용할 수 없습니다.
절차
선택 사항: SELinux 정책에 오류를 추가하지 않으려면 허용되는 SELinux 모드로 전환
하여
문제를 쉽게 해결할 수 있습니다.# setenforce 0
허용 모드에서 SELinux는 활성 정책을 적용하지 않지만 문제 해결 및 디버깅에 사용할 수 있는 AVC(Access Vector Cache) 메시지만 기록합니다.
staff_u
SELinux 사용자에 대한 범위를 정의합니다. 예를 들어 이 명령은 s1에서s
이 기본 수준인15까지의 경우 s
1s1
범위를 설정합니다.# semanage user -m -L s1 -r s1-s15 staff_u
사용자 홈 디렉토리에 대한 SELinux 파일 컨텍스트 구성 항목을 생성합니다.
# genhomedircon
파일 보안 컨텍스트를 기본값으로 복원합니다.
# restorecon -R -F -v /home/ Relabeled /home/staff from staff_u:object_r:user_home_dir_t:s0 to staff_u:object_r:user_home_dir_t:s1 Relabeled /home/staff/.bash_logout from staff_u:object_r:user_home_t:s0 to staff_u:object_r:user_home_t:s1 Relabeled /home/staff/.bash_profile from staff_u:object_r:user_home_t:s0 to staff_u:object_r:user_home_t:s1 Relabeled /home/staff/.bashrc from staff_u:object_r:user_home_t:s0 to staff_u:object_r:user_home_t:s1
사용자에게 수준 지정:
# semanage login -m -r s1 example_user
여기서
s1
은 사용자에게 할당된 수준입니다.사용자의 홈 디렉터리의 레이블을 사용자 레벨로 다시 지정합니다.
# chcon -R -l s1 /home/example_user
선택 사항: 이전에
허용 SELinux 모드로
전환하고 모든 항목이 예상대로 작동하는지 확인한 후강제 SELinux 모드로
다시 전환합니다.# setenforce 1
검증
사용자가 올바른 SELinux 사용자에게 매핑되고 올바른 수준이 할당되었는지 확인합니다.
# semanage login -l Login Name SELinux User MLS/MCS Range Service __default__ user_u s0-s0 * example_user user_u s1 * …
- MLS 내에서 사용자로 로그인합니다.
사용자의 보안 수준이 올바르게 작동하는지 확인합니다.
주의구성이 잘못되어 사용자가 실제로 권한 없이 파일에 액세스할 수 있는 경우 중요한 정보를 확인하는 데 사용하는 파일에 중요한 정보가 포함되어서는 안 됩니다.
- 사용자가 더 높은 수준의 민감도를 가진 파일을 읽을 수 없는지 확인합니다.
- 사용자가 동일한 민감도로 파일에 쓸 수 있는지 확인합니다.
- 사용자가 더 낮은 수준의 민감도를 사용하여 파일을 읽을 수 있는지 확인합니다.