새로운 최상위 디렉토리가 생성되고 새 최상위 디렉토리에 대한 기본 레이블이 지정됩니다 default_t
.
ExecStart가 새로운 최상위 디렉터리( ) /ansible-managed/
에 생성된 프로그램 인 경우 SELinux는 서비스 시작을 거부합니다.
이 거부에는 목적이 있습니까?
sealert는 다음 태그 중 하나를 허용할 것을 권장합니다.
- 여자
- start_t
- etc_runtime_t
- 잠깐만요
- 초기화 상태_t
- ld_so_t
- library_t
- 소스 코드
- 시스템 제어
- 시스템 데이터베이스
- 텍스트 rel_shlib_t
- tmpfs_t
- usr_t
- var_run_t
/dev/shm
따라서 누군가가 ( ) 와 같이 사용자가 쓸 수 있는 위치에서 데몬을 실행하지 못하게 할 가능성을 배제할 수 있습니다 tmpfs_t
.
SELinux 정책: selinux-policy-targeted-3.13.1-225.18.fc25.noarch
답변1
SELinux 정책은 시스템에서 허용되는 정책을 정의하기 위해 존재합니다. 이 정책은 매우 허용적이지만 공통 태그를 사용하여 몇 가지 다른 파일을 생성할 때 일부 잠재적인 위협을 방지할 수 있습니다.
유일한 위협은 무언가를 실행하는 것이 아니라 /dev/shm
잠재적으로 사용자가 쓸 수 있는 디렉터리에서 무언가를 실행하는 것은 매우 위험할 수 있습니다(특히 데몬이 루트로 실행 중인 경우에는 그렇지 않습니까?).
일반적으로 Fedora의 모든 새로운 서비스/데몬에는 SELinux가 최소한 어느 정도 제어할 수 있도록 SELinux 정책이 필요합니다. 이것이 장기 서비스라면 이것을 추천하고 싶습니다.
임시 서비스여야 한다면 일반 bin_t
태그를 할당하기만 하면 됩니다. 또는 /opt/your-path/(s)bin/
디렉토리 트리에서 태그를 올바르게 가져오도록 바이너리를 설치하고 정책을 조정할 수도 있습니다.
답변2
따라서 누군가가 /dev/shm(tmpfs_t)과 같은 사용자 쓰기 가능 위치에서 데몬을 실행하는 것을 방지할 가능성을 배제할 수 있습니다.
잘못된.
/dev/shm/에는 태그가 지정되어 있지만 tmpfs_t
사용자가 파일을 생성하면 /dev/shm/
태그가 지정됩니다 user_tmp_t
.