무제한 애플리케이션에 fcontext 추가

무제한 애플리케이션에 fcontext 추가

이것은 사상 가장 무서운 운명의 반전처럼 느껴집니다. 사용자가 나에게 tomEE( apache-tomee-jaxrs-1.7.4)를 설정하라고 요청했습니다. 이것은 RHEL6 시스템에 있습니다.

나는 Apache 웹사이트에 제공된 tarball에서 그것을 설치했고 작동시켰습니다 selinux... 그리고 그것이 소스에서 왔기 때문에... 기본 컨텍스트가 적용되지 않았다는 것을 깨달았습니다.

이전에는 이 작업을 수행할 필요가 없었습니다. 일반적으로 안전한 상태에서 작업을 수행하기 위해 selinux와 싸울 것입니다. 이제는 이미 작업 중인 작업을 제한된 공간에 강제로 적용해야 합니다. 어디에서 해야할지 잘 모르겠습니다. 시작.

그래서 내 질문은...현재 기본 무제한 환경에만 설정된 것에 대해 제한된 공간을 구축하려면 어떻게 시작합니까?

답변1

사용자 정의 SELinux 정책 모듈을 작성해 본 경험이 없다면 policygentool최소한의 모듈을 구축하는 것부터 시작할 수 있습니다. 이 모듈에는 기본 파일 형식, 태그 지정 규칙 및 제한된 도메인으로의 전환이 포함되어 있습니다.

  1. 기본 모듈 생성policygentool <name> <executable>

    중요한 파일은 유형 강제( .te) 파일과 파일 컨텍스트( .fc) 파일입니다. 정책 규칙은 유형 적용 파일에 있고 레이블 규칙은 파일 컨텍스트 파일에 있습니다. 추가 태그 규칙이 필요한 경우 파일 컨텍스트 파일에서 정의하십시오.

  2. 제공된 makefile을 사용하여 selinux-devel( 또는 유사한) 전략 모듈을 컴파일합니다. /usr/share/selinux/devel/Makefile그런 다음 모듈을 설치하는 데 사용합니다 semodule.

    나머지 전략은 를 사용하여 생성할 수 있습니다 audit2allow. 애플리케이션을 실행하기 전에 semanage permissive도메인을 허용 모드로 설정하여 AVC 거부 메시지가 생성될 때 정상적인 작동을 허용할 수 있습니다.

  3. 충분한 로그가 확보되면 audit2allow규칙이 생성되어 유형 적용 파일에 추가됩니다. 또한 버전 번호를 높이십시오. 그런 다음 새 모듈을 컴파일하고 설치합니다.

  4. AVC 거부 메시지가 더 이상 생성되지 않으면 도메인을 다시 시행 모드로 변경할 수 있습니다. 그렇지 않으면 3단계부터 반복하세요.

관련 정보