Red Hat Training

A Red Hat training course is available for RHEL 8

8.6. SELinux

8.6.1. SELinux 패키지가 Python 3으로 마이그레이션

  • policycoreutils-pythonpolicycoreutils-python-utilspython3-policycoreutils 패키지로 교체되었습니다.
  • 이제 libselinux-python 패키지의 기능은 python3-libselinux 패키지에서 제공합니다.
  • setools-libs 패키지의 기능은 이제 python3-setools 패키지에서 제공합니다.
  • libsemanage-python 패키지의 기능은 이제 python3-libsemanage 패키지에서 제공합니다.

8.6.2. SELinux 하위 패키지의 변경 사항

  • libselinux-static,libsemanage-static,libsepol-static, setools-libs-tcl 이 제거되었습니다.
  • RHEL 8.0 및 8.1에서는 setools-guisetools-console-analyses 를 사용할 수 없습니다. RHEL 8.2는 이러한 하위 패키지가 포함된 RHEL 8의 첫 번째 마이너 버전입니다.

8.6.3. SELinux 정책 변경

init_t 도메인 유형은 RHEL 8에서 더 이상 제한되지 않습니다. 이로 인해 다른 SELinux 레이블 접근 방식을 사용하는 타사 애플리케이션에 문제가 발생할 수 있습니다.

비표준 위치의 레이블 지정 문제를 해결하기 위해 이러한 위치에 대한 파일 컨텍스트 균형을 구성할 수 있습니다.

  1. /my/apps/ 디렉터리에 대한 파일 컨텍스트 균형을 구성합니다.

    # semanage fcontext -a -e / /my/apps
  2. SELinux 정책의 로컬 사용자 정의를 나열하여 파일 컨텍스트 균형을 확인합니다.

    # semanage fcontext -l -C
    
    SELinux Local fcontext Equivalence
    
    /my/apps = /
  3. /my/apps 의 컨텍스트를 기본값으로 복원하여 이제 /:의 컨텍스트와 동일합니다.

    # restorecon -Rv /my/apps
    restorecon reset /my/apps context unconfined_u:object_r:default_t:s0->unconfined_u:object_r:root_t:s0
    restorecon reset /my/apps/bin context unconfined_u:object_r:default_t:s0->unconfined_u:object_r:bin_t:s0
    restorecon reset /my/apps/bin/executable context unconfined_u:object_r:default_t:s0->unconfined_u:object_r:bin_t:s0

이 방법은 비표준 위치에 설치된 대부분의 파일과 디렉터리에 올바른 레이블을 할당하므로 일부 실행 파일에 의해 시작된 프로세스에 올바르게 레이블이 지정됩니다.

파일 컨텍스트 균형을 제거하려면 다음 명령을 사용합니다.

# semanage fcontext -d -e / /my/apps
  • 자세한 내용은 semanage-fcontext 매뉴얼 페이지를 참조하십시오.

8.6.4. SELinux 부울 변경

8.6.4.1. 새로운 SELinux 부울값

이번 SELinux 시스템 정책 업데이트로 다음과 같은 부울 값이 도입되었습니다.

  • colord_use_nfs
  • deny_bluetooth
  • httpd_use_opencryptoki
  • logrotate_use_fusefs
  • mysql_connect_http
  • pdns_can_network_connect_db
  • ssh_use_tcpd
  • sslh_can_bind_any_port
  • sslh_can_connect_any_port
  • tor_can_onion_services
  • unconfined_dyntrans_all
  • use_virtualbox
  • virt_sandbox_share_apache_content
  • virt_use_pcscd

8.6.4.2. SELinux 부울 제거

RHEL 8 SELinux 정책은 이전 릴리스에서 사용 가능한 다음과 같은 부울을 제공하지 않습니다.

  • container_can_connect_any
  • ganesha_use_fusefs

8.6.4.3. 기본값 변경

RHEL 8에서는 다음 SELinux 부울이 이전 릴리스와 다른 기본값으로 설정됩니다.

  • domain_can_mmap_files 는 기본적으로 꺼져 있습니다.
  • httpd_graceful_shutdown 은 기본적으로 꺼져 있습니다.
  • mozilla_plugin_can_network_connect 는 기본적으로 설정되어 있습니다.
  • named_write_master_zones 가 기본적으로 설정되어 있습니다.

또한 안티바이러스_use_jit 및 ssh_ chroot_rw_homedirs 부울에 대한 설명이 변경되었습니다.

의미를 포함한 부울 목록을 가져오고 해당 항목이 활성화되어 있는지 확인하려면 selinux-policy-devel 패키지를 설치하고 다음을 사용합니다.

# semanage boolean -l

8.6.5. SELinux 포트 유형 변경

RHEL 8 SELinux 정책은 다음과 같은 추가 포트 유형을 제공합니다.

  • appswitch_emp_port_t
  • babel_port_t
  • bfd_control_port_t
  • conntrackd_port_t
  • firepower_port_t
  • nmea_port_t
  • nsca_port_t
  • openqa_port_t
  • openqa_websockets_port_t
  • priority_e_com_port_t
  • qpasa_agent_port_t
  • rkt_port_t
  • smntubootstrap_port_t
  • statsd_port_t
  • versa_tek_port_t

또한 dns_port_tephemeral_port_t 포트 유형의 정의가 변경되었으며 gluster_port_t 포트 유형이 제거되었습니다.

8.6.6. sesearch 사용의 변경 사항

  • sesearch 명령은 더 이상 -C 옵션을 사용하지 않으며 조건부 표현식을 포함해야 합니다.
  • -T,--type 옵션이 다음과 같이 변경되었습니다.

    • - t ,--type_trans - type_transition 규칙을 찾습니다.
    • --type_member - type_member 규칙을 찾습니다.
    • --type_change - type_change 규칙을 찾습니다.