Indurimento di sicurezza in Python

3

Sto lavorando per una grande organizzazione che utilizza alcuni prodotti Windows che richiedono il funzionamento di python.

Python viene utilizzato per eseguire script di utilità incorporati e l'utente non riconosce mai che Python è coinvolto, Dal momento che i requisiti di sicurezza del sistema sono piuttosto rigidi, stiamo cercando di bloccare python il più possibile. Normalmente non consentono agli utenti normali di utilizzare compilatori o interpreti poiché non è consentito aggiungere applicazioni o funzionalità al sistema. Quindi stiamo cercando suggerimenti su come limitare python in modo che solo alcuni script possano essere eseguiti mentre il prompt / interprete interattivo non è disponibile.

È anche possibile?

Il nostro primo approccio era quello di restringere Python con i criteri di gruppo, ma ciò non è facile dato che Python non è "GPO aware". L'uso di politiche di restrizione del software è fondamentalmente un blocco Python per tutti o consente a Python per tutti.

Poiché gli script Python vengono eseguiti tramite l'interprete (python.exe), le impostazioni di restrizione del software GPO per le posizioni eseguibili controllano solo python.exe e non la posizione dello script stesso (il sistema GPO vede solo lo script python come argomento generico all'eseguibile python.exe).

Quindi la mia domanda è: se qualcuno ha esperienza nel rafforzare la sicurezza riguardo a python? Ancora una volta, il nostro obiettivo è che solo alcuni script possono essere eseguiti mentre il prompt / interprete interattivo non è disponibile, è anche possibile?

    
posta andpou 08.01.2015 - 10:17
fonte

2 risposte

2

Potresti trasformare i tuoi script python in eseguibili di windows usando py2exe . In questo modo verrebbe trattato nello stesso modo in cui si limita l'altro binario di sistema. Tieni presente che è possibile eseguire il reverse-engineering eseguendo una "spunta", visualizzando le funzioni dello script e tutto. Ma poiché la tua domanda riguarda solo l'applicazione dell'autorizzazione all'esecuzione, penso che soddisferà le tue necessità.

    
risposta data 08.01.2015 - 15:49
fonte
1

Che ne pensi dell'uso di PyPy con la sua modalità sandboxing?

Temo di non essere così familiare, quindi sono incerto che sarebbe completamente sicuro, ma sicuramente vale la pena dare un'occhiata.

Per quanto posso vedere, le tue uniche opzioni sono:

  • sandboxing PyPy
  • Un compilatore da Python a eseguibile
  • Fornire agli utenti una macchina virtuale che consente Python
  • Utilizzo di una soluzione di sandboxing per PC per isolare Python e il file system.
risposta data 13.01.2015 - 14:45
fonte

Leggi altre domande sui tag