검색

4.3. 비표준 디렉터리에 대한 액세스를 관리하기 위한 올바른 SELinux 유형 찾기

download PDF

기본 SELinux 정책이 다루지 않는 access-control 규칙을 설정해야 하는 경우 사용 사례와 일치하는 부울을 검색하여 시작합니다. 적절한 부울을 찾을 수 없는 경우 일치하는 SELinux 유형을 사용하거나 로컬 정책 모듈을 생성할 수도 있습니다.

사전 요구 사항

  • selinux-policy-docsetools-console 패키지가 시스템에 설치되어 있습니다.

절차

  1. 모든 SELinux 관련 주제를 나열하고 결과를 구성하려는 구성 요소로 제한합니다. 예를 들면 다음과 같습니다.

    # man -k selinux | grep samba
    samba_net_selinux (8) - Security Enhanced Linux Policy for the samba_net processes
    samba_selinux (8)    - Security Enhanced Linux Policy for the smbd processes
    …

    시나리오에 해당하는 도움말 페이지에서 관련 SELinux 부울, 포트 유형 및 파일 유형을 찾습니다.

    selinux-policy-doc 패키지를 설치한 후에만 man -k selinux 또는 apropos selinux 명령을 사용할 수 있습니다.

  2. 선택 사항: semanage fcontext -l 명령을 사용하여 기본 위치에 프로세스의 기본 매핑을 표시할 수 있습니다. 예를 들면 다음과 같습니다.

    # semanage fcontext -l | grep samba
    …
    /var/cache/samba(/.*)?                             all files          system_u:object_r:samba_var_t:s0
    …
    /var/spool/samba(/.*)?                             all files          system_u:object_r:samba_spool_t:s0
    …
  3. sesearch 명령을 사용하여 기본 SELinux 정책에 규칙을 표시합니다. 해당 규칙을 나열하여 사용할 유형 및 부울을 찾을 수 있습니다. 예를 들면 다음과 같습니다.

    $ sesearch -A | grep samba | grep httpd
    …
    allow httpd_t cifs_t:dir { getattr open search }; [ use_samba_home_dirs && httpd_enable_homedirs ]:True
    …
  4. SELinux 부울은 구성 문제에 가장 간단한 솔루션일 수 있습니다. getsebool -a 명령을 사용하여 사용 가능한 부울 및 해당 값을 모두 표시할 수 있습니다. 예를 들면 다음과 같습니다.

    $ getsebool -a | grep homedirs
    git_cgi_enable_homedirs --> off
    git_system_enable_homedirs --> off
    httpd_enable_homedirs --> off
    mock_enable_homedirs --> off
    mpd_enable_homedirs --> off
    openvpn_enable_homedirs --> on
    ssh_chroot_rw_homedirs --> off
  5. 예를 들어 sesearch 명령을 사용하여 선택한 부울이 정확히 원하는 작업을 수행하는지 확인할 수 있습니다.

    $ sesearch -A | grep httpd_enable_homedirs
    …
    allow httpd_suexec_t autofs_t:dir { getattr open search }; [ use_nfs_home_dirs && httpd_enable_homedirs ]:True
    allow httpd_suexec_t autofs_t:dir { getattr open search }; [ use_samba_home_dirs && httpd_enable_homedirs ]:True
    …
  6. 부울이 시나리오와 일치하지 않는 경우 케이스에 맞는 SELinux 유형을 찾습니다. sesearch 를 사용하여 기본 정책에서 해당 규칙을 쿼리하여 파일의 유형을 찾을 수 있습니다. 예를 들면 다음과 같습니다.

    $ sesearch -A -s httpd_t -c file -p read
    …
    allow httpd_t httpd_t:file { append getattr ioctl lock open read write };
    allow httpd_t httpd_tmp_t:file { append create getattr ioctl link lock map open read rename setattr unlink write };
    …
  7. 이전 솔루션이 시나리오를 다루지 않는 경우 SELinux 정책에 사용자 지정 규칙을 추가할 수 있습니다. 자세한 내용은 로컬 SELinux 정책 모듈 생성 섹션을 참조하십시오.

추가 리소스

  • man -k selinux 명령에서 제공하는 SELinux 관련 도움말 페이지
  • sesearch(1), semanage-fcontext(8), semanage-boolean(8)getsebool(8) 도움말 페이지
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.