noexec/nosuid 설치에서 특정 바이너리와 스크립트를 화이트리스트에 추가하시겠습니까?

noexec/nosuid 설치에서 특정 바이너리와 스크립트를 화이트리스트에 추가하시겠습니까?

질문과 같습니다. noexec가 설치된 FS에서 특정 실행 파일을 화이트리스트에 추가할 수 있습니까?

예를 들어 내 모습은 다음과 같습니다.

/dev/vg/lv on /tmp type ext4 (rw,noexec,nosuid)

답변1

아니요. 설치 옵션이 모든 것보다 우선합니다. 그것이 그들의 목적입니다. 해당 파일 시스템에서 직접 아무것도 실행되지 않도록 하는 것입니다.

이 문제를 해결하려면 noexec실행 프로그램을 호출하여 대부분의 프로그램을 간접적으로 실행할 수 있습니다.

  • 프로그램이 스크립트인 경우(다음으로 끝남)셰르본), 인터프리터를 호출하고 스크립트를 첫 번째 인수로 전달합니다.
  • 프로그램이 동적으로 링크된 실행 파일인 경우 동적 로더(예: /lib/ld-linux.so.2또는 /lib64/ld-linux-x86-64.so.2)를 호출하고 이진 파일을 첫 번째 인수로 전달합니다.

파일 시스템이 마운트된 경우 noexec다음 명령을 사용하여 모든 파일이 실행 가능한 디렉터리를 볼 수 있습니다.파일 시스템 바인딩. 그러나 Bindfs는 각 파일에 대한 권한 설정을 허용하지 않습니다.

물론 파일을 다른 곳에 복사하여 실행 가능하게 만들 수도 있습니다.

파일 시스템이 마운트된 경우 nosuid파일을 setuid로 만들 수 없습니다. 그러면 보안이 손상될 수 있습니다. setuid 파일을 생성하려면 소유 사용자 계정에 대한 액세스 권한이 필요합니다. 복사본과 setuid를 만들거나 nosuid옵션 없이 다시 설치하는 것이 유일한 해결책입니다.

관련 정보