이것은 사상 가장 무서운 운명의 반전처럼 느껴집니다. 사용자가 나에게 tomEE( apache-tomee-jaxrs-1.7.4
)를 설정하라고 요청했습니다. 이것은 RHEL6 시스템에 있습니다.
나는 Apache 웹사이트에 제공된 tarball에서 그것을 설치했고 작동시켰습니다 selinux
... 그리고 그것이 소스에서 왔기 때문에... 기본 컨텍스트가 적용되지 않았다는 것을 깨달았습니다.
이전에는 이 작업을 수행할 필요가 없었습니다. 일반적으로 안전한 상태에서 작업을 수행하기 위해 selinux와 싸울 것입니다. 이제는 이미 작업 중인 작업을 제한된 공간에 강제로 적용해야 합니다. 어디에서 해야할지 잘 모르겠습니다. 시작.
그래서 내 질문은...현재 기본 무제한 환경에만 설정된 것에 대해 제한된 공간을 구축하려면 어떻게 시작합니까?
답변1
사용자 정의 SELinux 정책 모듈을 작성해 본 경험이 없다면 policygentool
최소한의 모듈을 구축하는 것부터 시작할 수 있습니다. 이 모듈에는 기본 파일 형식, 태그 지정 규칙 및 제한된 도메인으로의 전환이 포함되어 있습니다.
기본 모듈 생성
policygentool <name> <executable>
중요한 파일은 유형 강제(
.te
) 파일과 파일 컨텍스트(.fc
) 파일입니다. 정책 규칙은 유형 적용 파일에 있고 레이블 규칙은 파일 컨텍스트 파일에 있습니다. 추가 태그 규칙이 필요한 경우 파일 컨텍스트 파일에서 정의하십시오.제공된 makefile을 사용하여
selinux-devel
( 또는 유사한) 전략 모듈을 컴파일합니다./usr/share/selinux/devel/Makefile
그런 다음 모듈을 설치하는 데 사용합니다semodule
.나머지 전략은 를 사용하여 생성할 수 있습니다
audit2allow
. 애플리케이션을 실행하기 전에semanage permissive
도메인을 허용 모드로 설정하여 AVC 거부 메시지가 생성될 때 정상적인 작동을 허용할 수 있습니다.충분한 로그가 확보되면
audit2allow
규칙이 생성되어 유형 적용 파일에 추가됩니다. 또한 버전 번호를 높이십시오. 그런 다음 새 모듈을 컴파일하고 설치합니다.AVC 거부 메시지가 더 이상 생성되지 않으면 도메인을 다시 시행 모드로 변경할 수 있습니다. 그렇지 않으면 3단계부터 반복하세요.