1.4. SELinux 아키텍처 및 패키지


SELinux는 Linux 커널에 빌드된 Linux Security Module(LSM)입니다. 커널의 SELinux 하위 시스템은 관리자가 제어하고 부팅 시 로드되는 보안 정책에 의해 구동됩니다. 시스템의 모든 보안 수준 액세스 작업은 SELinux에서 가로채고 로드된 보안 정책의 컨텍스트에서 검사합니다. 로드된 정책이 작업을 허용하는 경우 계속 실행됩니다. 그렇지 않으면 작업이 차단되고 프로세스에서 오류가 발생합니다.

액세스 허용 또는 허용하지 않는 등의 SELinux 결정은 캐시됩니다. 이 캐시는 AVC(Access Vector Cache)라고 합니다. 이러한 캐시된 결정을 사용하는 경우 SELinux 정책 규칙을 덜 점검해야 하므로 성능이 향상됩니다. DAC 규칙에서 먼저 액세스를 거부하는 경우 SELinux 정책 규칙에 영향을 미치지 않습니다. 원시 감사 메시지는 /var/log/audit/audit.log 에 기록되고 type=AVC 문자열로 시작됩니다.

RHEL 9에서 시스템 서비스는 systemd 데몬에서 제어합니다. systemd 는 모든 서비스를 시작하고 중지하며 사용자 및 프로세스는 systemctl 유틸리티를 사용하여 systemd 와 통신합니다. systemd 데몬은 SELinux 정책을 참조하고 호출 프로세스의 레이블과 호출자가 관리하려는 유닛 파일의 레이블을 확인한 다음 SELinux에 호출자가 액세스를 허용하는지 여부를 요청할 수 있습니다. 이 접근 방식은 중요한 시스템 기능에 대한 액세스 제어를 강화하며, 여기에는 시스템 서비스 시작 및 중지가 포함됩니다.

systemd 데몬은 SELinux Access Manager로도 작동합니다. systemctl 을 실행하는 프로세스 레이블 또는 D-Bus 메시지를 systemd 로 보낸 프로세스를 검색합니다. 그런 다음 데몬은 프로세스가 구성하려는 유닛 파일의 레이블을 조회합니다. 마지막으로 SELinux 정책에서 프로세스 레이블과 유닛 파일 레이블 간의 특정 액세스를 허용하는 경우 커널에서 정보를 검색할 수 있습니다. 즉, 특정 서비스에 대해 systemd 와 상호 작용해야 하는 손상된 애플리케이션을 이제 SELinux로 제한할 수 있습니다. 정책 작성자는 관리자가 제한하기 위해 이러한 세분화된 제어를 사용할 수도 있습니다.

프로세스가 D-Bus 메시지를 다른 프로세스로 보내고 SELinux 정책에서 두 프로세스의 D-Bus 통신을 허용하지 않는 경우 시스템은 USER_AVC 거부 메시지를 출력하고 D-Bus 통신 시간이 초과됩니다. 두 프로세스 간의 D-Bus 통신은 양방향으로 작동합니다.

중요

잘못된 SELinux 레이블 지정 및 후속 문제를 방지하려면 systemctl start 명령을 사용하여 서비스를 시작해야 합니다.

RHEL 9는 SELinux를 사용하기 위한 다음 패키지를 제공합니다.

  • 정책: selinux-policy-targeted,selinux-policy-mls
  • tools: policycoreutils,policycoreutils-gui,libselinux-utils,policycoreutils-python-utils,setools-console,checkpolicy
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.