grsec chroot 내에서 Java를 실행할 수 없습니다.

grsec chroot 내에서 Java를 실행할 수 없습니다.

Java는 공통 chroot 내에서 잘 실행됩니다.

그러나 grsec 강화 chroot에서는 VM을 빌드할 메모리가 충분하지 않다고 불평합니다.

그것을 실행하는 방법에 대한 아이디어가 있으면 정말 강화된 chroot가 필요하기 때문입니다.

감사해요.

답변1

일반적으로 Java는 grsec과 잘 작동합니다.

그러나 grsec에는 Java에 좋지 않은 문제를 해결하는 옵션이 있습니다.

커널에서 해당 옵션을 활성화한 것 같습니다.

다음에서 확인하세요.

[*] Grsecurity 
  Customize Configuration  --->
    PaX  --->
      Miscellaneous hardening features  ---> 
        [ ] Sanitize all freed memory

옵션이 비활성화되어 있는지 확인하고 Sanitize all freed memory커널을 다시 컴파일하고(IMO에서는 sysctl을 통해 관리할 수 없음) 다시 시도하십시오.

답변2

자세한 내용(오류 메시지의 정확한 텍스트, 사용 중인 JVM 등)을 제공해야 합니다.

32비트 Gentoo Hardened(grsec도 있지만 chroot는 없음)에서 java를 실행하는 데 비슷한 문제가 있었습니다.https://bugs.gentoo.org/show_bug.cgi?id=344135

"서버" 대신 "클라이언트"를 사용하도록 jvm.cfg를 변경하여 이 문제를 해결해 볼 수 있습니다. 예를 들면 다음과 같습니다.

[jvm.cfg.patch]
--client IF_SERVER_CLASS -server
--server KNOWN
+-client KNOWN

또한 -client 및/또는 -Xmx256m 옵션을 사용하여 Java를 실행할 수도 있습니다.

관련 정보