SELinux 정책 위반 진단 및 해결

Red Hat Enterprise LinuxBeginner
지금 연습하기

소개

시스템 관리자로서 여러분은 리눅스 시스템의 보안을 유지할 책임이 있습니다. 이 과정의 핵심 요소 중 하나는 보안 정책을 강제하는 필수 접근 제어 메커니즘인 SELinux(Security-Enhanced Linux) 를 관리하는 것입니다. 프로세스가 정책을 위반하는 작업을 시도하면 SELinux 는 해당 작업을 차단하고 AVC(Access Vector Cache) 거부 로그를 기록합니다. 이 챌린지에서는 RHCSA 시험에서 매우 중요한 기술인 표준 RHEL 도구를 사용하여 일반적인 SELinux 정책 위반을 진단하고 해결하는 방법을 실습합니다.

SELinux 정책 위반 진단 및 해결

시나리오

시스템의 웹 서버가 사용자의 홈 디렉터리 (예: ~/public_html) 에 있는 콘텐츠를 서비스하도록 설정되어 있습니다. 하지만 사용자들로부터 웹 페이지에 접속할 수 없으며 "Forbidden" 오류가 발생한다는 보고가 들어오고 있습니다. 여러분은 이것이 SELinux 관련 문제라고 의심하고 있습니다. 여러분의 임무는 SELinux 로그를 조사하여 정책 위반 사항을 식별하고, 웹 서버가 의도한 대로 작동할 수 있도록 올바른 수정 조치를 적용하는 것입니다.

과제

  • 시스템의 감사 로그를 조사하여 최근의 SELinux AVC 거부 기록을 찾습니다.
  • 거부 메시지를 분석하여 어떤 작업이 차단되었는지, 어떤 SELinux 불리언 (boolean) 값을 통해 문제를 해결할 수 있는지 파악합니다.
  • 웹 서버가 사용자 홈 디렉터리에 접근할 수 있도록 적절한 SELinux 불리언 값을 수정합니다.
  • 시스템을 재부팅한 후에도 정책 변경 사항이 유지되도록 설정합니다.

요구 사항

  • 모든 명령은 labex 사용자로 실행해야 합니다. 관리자 권한이 필요한 경우 sudo를 사용하세요.
  • 수정해야 할 SELinux 불리언 값은 httpd_enable_homedirs입니다.
  • 변경 사항은 영구적으로 적용되어야 합니다.

힌트

  • 감사 로그를 쿼리하려면 ausearch 명령을 사용하세요. -m avc 옵션은 AVC 메시지만 필터링합니다.
  • ausearch 출력 결과를 주의 깊게 살펴보세요. 종종 setroubleshoot이 제공하는 거부 해결 방법 제안이 포함되어 있습니다.
  • SELinux 불리언 값을 변경하려면 setsebool 명령을 사용합니다. 변경 사항을 영구적으로 유지하려면 -P 플래그를 사용하세요.
  • getsebool 명령으로 불리언의 현재 값을 확인할 수 있습니다.

요약

이 챌린지에서는 일상적인 SELinux 정책 위반을 진단하고 해결하는 방법을 배웠습니다. ausearch를 사용하여 감사 로그에서 AVC 거부 기록을 조사하고, 출력 내용을 해석하여 근본 원인을 파악하며, setsebool -P를 사용하여 영구적인 정책 변경을 적용하는 실습을 진행했습니다. 이러한 워크플로우를 숙달하는 것은 RHEL 시스템 보안 관리에 필수적이며 RHCSA 시험에서 평가하는 기본 기술입니다.

✨ 솔루션 확인 및 연습