2010-04-11 30 views
5

¿Cómo puedo proteger mi servidor web, si ejecuto el código personalizado de los usuarios en el servidor? Si algún usuario puede enviar su fuente python en mi servidor y ejecutarlo.Código python más seguro ejecutando

Quizás algunos módulos o herramientas de Linux para cerrar cualquier red y actividad de hardware para este script.

¡Gracias a todos por su ayuda!

Respuesta

0

En general, pitón no es la mejor opción de idioma si desea permitir la ejecución de código no confiable. JVM y .NET tienen un soporte mucho mejor para sandboxing, por lo que Jython e IronPython serían mejores opciones.

+2

En realidad, el enfoque más seguro podría ser utilizar 'seccomp', que bloquea las llamadas al sistema disponibles para' exit() ',' read() 'y' write() '(este último para ya abierto descriptores de archivos); esto permitiría incluso ejecutar fragmentos arbitrarios de binarios nativos. Sin embargo, como Python necesita más syscalls que estos para operar, es incompatible con seccomp. Confío en seccomp mucho más que cualquier sandbox a nivel de lenguaje o de intérprete, simplemente porque es más simple, menos flexible y más restrictivo. –

+0

Tal vez con el modo 2, seccomp python tendrá la opción de ejecutar en modo seguro. –

Cuestiones relacionadas