2014-08-29 1 views
2

프로젝트의 일부가 참가자가 간단하고 기본적인 Java 코드를 업로드 할 수 있도록 허용해야합니다. 코드를 실행하고 결과를 반환합니다. 나는 웹 사용자 계정의 권한을 제한하고 스레드를 사용하여 시간 초과를 제어하고 보안 관리자를 사용하여 위임 된 프로그램을 샌드위치 화함으로써 보안 위험을 줄입니다.기본 Java 보안 관리자를 사용하지 않아야하는 이유

예기치 않은 위험을 초래할 수있는 요청에 대해 잘 모르기 때문에 기본 정책을 사용하기로 결정했습니다. 그러나 대부분의 사람들은 사용자 정의 정책 사용에 대해 이야기하고 있습니다.

많은 검색을했지만 여전히 기본 보안 관리자를 사용해서는 안되는 것에 대해 이야기하는 웹 사이트/문헌/자습서를 찾지 못했습니다. 기본 정책에 존재하는 동안 사용자 정의 정책을 사용하여 피할 수있는 버그가 있습니까?

사람들이 사용자 지정 정책을 사용하는 경향이 있으므로 기본 정책이 너무 엄격하거나 쓸모 없기 때문입니다.

나는 java.security를 ​​읽었지만, 여전히 이것을 확실히하고 싶다.

+0

죄송합니다. 이해가 가지 않습니다. 샌드 박스를 복제해야한다는 의미입니까? – user3794582

+0

즉, "[Java 응용 프로그램의 악성 코드에 대한 샌드 박스] (https://stackoverflow.com/questions/502218/sandbox-against-malicious-code-in-a-java)라는 질문을 살펴보아야 함을 의미합니다. -application) "라고 말합니다. 왜냐하면 여러분이 묻는 질문과 실제로 유사하기 때문에 답변이 도움이 될 수 있습니다. –

+1

감사합니다. 링크를 읽었으며 매우 유용합니다. 실제로이 링크의 대답을 기반으로 시스템을 구축했습니다. 하지만 여전히 기본 정책 대신 사용자 지정 정책을 사용해야하는 이유는 여전히 알 수 없습니다. (내 질문에 바보 같다는 건 알지만 이유가 필요하다.) – user3794582

답변

1

"적절한 기본값"이 아닌 최소 권한이 승인되어야합니다.

이것은 프로젝트의 세부 사항에 달려 있습니다. 이러한 세부 정보는 고객 코드에 부여한 사용 권한을 정의합니다. list of possible permissions은 거대하며, 무엇을하고 있는지 아는 것이 더 단단하게 조정할 수 있습니다. 최소한 기본 정책 파일을 살펴보고 추가로 비활성화 할 수 있다고 생각해야합니다.

+0

것이다. 따라서 기본 정책은 "적절한 기본값"권한을 제공한다. 일부 사용 권한을 중지하려면 사용자 지정 권한이 필요합니다. 맞아? – user3794582

관련 문제