2009-11-28 5 views
1

J'ai défini le fichier settings.py de django sur chmod 600 pour empêcher les personnes criminelles d'espionner mes informations de connexion à la base de données, mais à l'importation python compile ce fichier et écrit settings.pyc en mode 644. Itn doesn Ne prenez pas beaucoup de temps pour que les méchants obtiennent les informations dont ils ont besoin à partir de cette version compilée. Je crains que les entrées de mon blog soient en grave danger. Au-delà de l'os.chmod, quelles sont les techniques utilisées pour garder votre python compilé sécurisé sur le disque?python et la sécurisation des fichiers pyc sur le disque

+4

qui sont « les méchants » qui ont accès à votre serveur? S'il vous plaît fournir des noms. Comment ont-ils passé la sécurité de l'OS pour lire ces répertoires en premier lieu? Qui leur a accordé l'accès? S'il vous plaît fournir des noms. –

+1

umask (et +1 à S.Lott) – KevinDTimm

+0

Les permissions de tuile * sont * la sécurité du système d'exploitation, et elles le dépassent car elles sont incorrectement configurées. Je considérerais ceci comme un bogue: les fichiers pyc devraient, si possible, avoir les mêmes permissions que le fichier source auquel ils correspondent. Il est cependant assez facile de corriger à l'extérieur. Plutôt que de changer le umask (qui peut être fragile, par exemple si vous importez des modules à partir de tests unitaires, ou lors du débogage), je changerais les permissions sur le répertoire contenant les fichiers. –

Répondre

6

Vous pouvez définir umask directement en python. L'interprète utilise umask pour créer les fichiers pyc:

import os 
os.umask(077) # Only keep rights for owner 
import test 

Veuillez vérifier l'test.pyc créé:

$> ls -l test.py* 
-rw-r--r-- 1 shad users 0 2009-11-29 00:15 test.py 
-rw------- 1 shad users 94 2009-11-29 00:15 test.pyc 
+0

doux. Je ne le savais pas. Exactement ce que je cherchais – mtvee

1

Pour ajouter un peu au commentaire de S.Lott: La partie code de votre blog doit être stockée dans un emplacement où elle peut être exécutée (par exemple via une requête web), mais pas directement. Tout serveur Web raisonnable fournissant un support CGI permettra de le configurer.

+0

ouais, c'est plus de ppl avec l'accès shell à la machine pouvant jeter un oeil aux fichiers pyc s'ils le choisissent. J'aurais probablement pu mieux formuler la question. Merci! – mtvee

+0

@mtvee: Qui sont ces mystérieux "ppl avec accès shell"? Veuillez définir "ppl". S'il vous plaît fournir une liste de noms. C'est tellement difficile de parler de sécurité quand c'est juste de la main au hasard. Quel accès avez-vous besoin de contrôler? Veuillez fournir une liste à vos administrateurs système. –

+3

Je ne sais pas exactement qui ils sont, c'est la chose folle, mais je sais qu'ils sont là, reniflant, regardant mes crontabs et passant au crible les fichiers journaux. parfois, tard dans la nuit, quand je fais un rapide 'ps ax | grep python' j'en vois un, mais un flash, et quand je regarde à nouveau ils sont partis. ils sont probablement dans vos systèmes aussi. vigilance mon ami, vigilance et chmod 600. – mtvee

Questions connexes