Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.13.2. SELinux에서 MLS 활성화

참고
X Window 시스템을 실행 중인 시스템에서 MLS 정책을 사용하지 않는 것이 좋습니다.
다음 단계에 따라 시스템에서 SELinux MLS 정책을 활성화합니다.

절차 4.19. SELinux MLS 정책 활성화

  1. selinux-policy-✓s 패키지를 설치합니다.
    ~]# yum install selinux-policy-mls
  2. MLS 정책을 활성화하기 전에 파일 시스템의 각 파일의 레이블을 MLS 레이블로 다시 지정해야 합니다. 파일 시스템의 레이블을 다시 지정하면 제한된 도메인이 액세스가 거부될 수 있으므로 시스템이 올바르게 부팅되지 않을 수 있습니다. 이 문제가 발생하지 않도록 하려면 /etc/selinux/config 파일에서 SELINUX=permissive 를 구성합니다. 또한 SELINUXTYPE=✓s 를 구성하여 MLS 정책을 활성화합니다. 구성 파일은 다음과 같아야 합니다.
    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    #       enforcing - SELinux security policy is enforced.
    #       permissive - SELinux prints warnings instead of enforcing.
    #       disabled - No SELinux policy is loaded.
    SELINUX=permissive
    # SELINUXTYPE= can take one of these two values:
    #       targeted - Targeted processes are protected,
    #       mls - Multi Level Security protection.
    SELINUXTYPE=mls
    
  3. SELinux가 허용 모드에서 실행 중인지 확인합니다.
    ~]# setenforce 0
    ~]$ getenforce
    Permissive
    
  4. fixfiles 스크립트를 사용하여 다음 재부팅 시 파일의 레이블이 다시 지정되도록 -F 옵션이 포함된 /.autorelabel 파일을 만듭니다.
    ~]# fixfiles -F onboot
  5. 시스템을 재부팅합니다. 다음 부팅 중에 모든 파일 시스템은 MLS 정책에 따라 레이블이 다시 지정됩니다. 레이블 프로세스는 적절한 SELinux 컨텍스트를 사용하여 모든 파일의 레이블을 지정합니다.
    *** Warning -- SELinux mls policy relabel is required.
    *** Relabeling could take a very long time, depending on file
    *** system size and speed of hard drives.
    ***********
    
    하단 행의 각 * (별표) 문자는 레이블이 지정된 1000개 파일을 나타냅니다. 위의 예에서 11개의 * 문자는 레이블이 지정된 11000개 파일을 나타냅니다. 모든 파일에 레이블을 지정하는 데 걸리는 시간은 시스템의 파일 수와 하드 디스크 드라이브의 속도에 따라 달라집니다. 최신 시스템에서 이 프로세스는 10분도 걸리지 않습니다. 레이블 지정 프로세스가 완료되면 시스템이 자동으로 재부팅됩니다.
  6. 허용 모드에서는 SELinux 정책이 적용되지 않지만 강제 모드에서 실행 중인 경우 거부된 작업에 여전히 기록됩니다. 강제 모드로 변경하기 전에 root로 다음 명령을 입력하여 마지막 부팅 중에 SELinux가 작업을 거부하지 않았는지 확인합니다. 마지막 부팅 중에 SELinux에서 작업을 거부하지 않은 경우 이 명령은 출력을 반환하지 않습니다. 부팅 중 SELinux가 액세스를 거부한 경우 문제 해결 정보는 11장. 문제 해결 을 참조하십시오.
    ~]# grep "SELinux is preventing" /var/log/messages
  7. /var/log/messages 파일에 거부 메시지가 없거나 기존의 모든 거부를 해결한 경우 /etc/selinux/config 파일에서 SELINUX=enforcing을 구성합니다.
    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    #       enforcing - SELinux security policy is enforced.
    #       permissive - SELinux prints warnings instead of enforcing.
    #       disabled - No SELinux policy is loaded.
    SELINUX=enforcing
    # SELINUXTYPE= can take one of these two values:
    #       targeted - Targeted processes are protected,
    #       mls - Multi Level Security protection.
    SELINUXTYPE=mls
    
  8. 시스템을 재부팅하고 SELinux가 강제 모드에서 실행 중인지 확인합니다.
    ~]$ getenforce
    Enforcing
    
    MLS 정책이 활성화되어 있습니다.
    ~]# sestatus |grep mls
    Policy from config file:        mls