2010-04-11 12 views
5

Come posso proteggere il mio server Web, se eseguo codice utenti personalizzato sul server. Se qualche utente può inviare la sua fonte Python sul mio server ed eseguirlo.Codice python più sicuro in esecuzione

Forse alcuni moduli o strumenti linux per chiudere qualsiasi attività di rete e hardware per questo script.

Grazie per l'aiuto!

risposta

0

In generale, pitone non è la scelta migliore lingua se si desidera consentire l'esecuzione di codice non attendibile. JVM e .NET hanno un supporto molto migliore per il sandboxing, quindi Jython e IronPython sarebbero scelte migliori.

+2

In realtà, l'approccio più sicuro sarebbe probabilmente l'uso di 'seccomp', che blocca le chiamate di sistema disponibili a' exit() ',' read() 'e' write() '(quest'ultimo a già aperto descrittori di file); questo consentirebbe l'esecuzione anche di blocchi arbitrari di binari nativi. Tuttavia, poichè Python necessita di più syscalls di quelle per funzionare, è incompatibile con seccomp. Mi fido di seccomp molto più di qualsiasi sandbox di livello linguistico o interprete, semplicemente perché è più semplice, meno flessibile e più restrittivo. –

+0

Forse con la modalità 2 seccomp python avrà la possibilità di eseguire in modalità protetta. –

Problemi correlati