저는 사용자가 서버에서 컴파일되고 실행되는 코드를 제출할 수 있는 서비스를 실행하고 있습니다.
현재 내가 사용하고 있는귀여운C 및 C++ 코드에서는 잘 작동하지만 64비트의 Perl 및 PHP와 같은 다른 언어에서는 몇 가지 이상한 문제에 직면했습니다.
잠재적으로 안전하지 않은 코드를 실행하지만 64비트에서는 제대로 작동하는 안전한 방법이 있습니까?
과거에는 Moe와 자체 ptrace 기반 샌드박스를 사용하여 32비트 시스템에서 Perl, Lua, PHP와 같은 다양한 언어를 성공적으로 실행했지만 64비트에서는 둘 다 완벽하게 실행되지 않았습니다.
답변1
적절한 보안 하위 시스템(예: SELinux)을 사용하면 디스크, 네트워크 및 UI 기능을 포함하여 기능이 제한되거나 전혀 없는 실행 파일을 실행할 수 있습니다. ulimit가 나머지를 처리할 것입니다.
답변2
답변3
위에서 언급한 것처럼 SELinux, Tomoyo 또는 AppArmour가 있습니다. MAC(필수 접근 제어)를 검색하세요.