Question d'origine
Si le projet sur lequel je travaille est mort paranoïaque à propos de l'upload de fichiers.
Dans le champ d'application de cette question, je n'utilise pas ce terme en ce qui concerne les charges utiles; je parle de la confidentialité.
Les programmes peuvent toujours planter et laisser les fichiers temporaires de flâner autour du système de fichiers. C'est normal. Le légèrement la confidentialité de paranoïa peut écrire un cronjob qui frappe le dossier de fichiers temporaires toutes les quelques minutes et supprime rien de plus que quelques secondes avant que la tâche cron appel (pas tout, tout simplement parce que sinon, il pourrait attraper un fichier en cours d'upload).
...malheureusement, nous profitons de cette parano un peu plus loin:
Idéalement, on aimerait ne jamais voir les fichiers temporaires de téléchargement de fichiers n'importe où, mais dans les processus liés à la RAM.
Est-il un moyen d'enseigner PHP pour rechercher fichier temporaire sous forme de gouttes dans la mémoire plutôt que dans le système de fichiers? Nous utilisons PHP-FPM en CGI et Apache en tant que notre serveur, dans le cas qui rend tout plus facile. (Remarque aussi: 'Filesystem' est le mot clé ici, plutôt que de "disque", car il y a bien sûr des moyens de cartographier le système de fichiers RAM, mais cela ne résout pas le problème de l'accessibilité et automatique de post-crash-nettoyage de problème).
Sinon, est-il possible que ces fichiers temporaires peuvent être chiffrés immédiatement lorsqu'elles sont écrites sur le disque, de sorte qu'ils ne sont jamais tenues dans le système de fichiers sans chiffrement?
Thread de présentation
Je ne peux malheureusement seulement accepter une réponse mais à tous ceux qui lisent ceci, tout le fil est extrêmement précieux et contient le collectif idées de beaucoup de gens. En fonction de ce que vous espérez atteindre, l'on a accepté la réponse peut ne pas être intéressant pour vous. Si vous êtes venu ici par le biais d'un moteur de recherche, veuillez prendre un moment pour lire le thread entier.
Voici une compilation de usecases que je les vois pour la référence rapide:
Re: PHP les fichiers temporaires
La RAM au lieu de disque (par exemple, en raison de I/O préoccupations) → RAMdisk/comparables (plasmid87, Joe Hopfgartner)
Immédiate (par système de fichiers de l'utilisateur) chiffrement → encFS (ADW) (+ une chasse aux sorcières comme par Sander Marechal)
Sécuriser les autorisations de fichier → restrictive natif de Linux autorisations (éventuellement par vhost) (Gilles) ou SELinux (voir les différents commentaires)
-
Processus mémoire associée, au lieu de système de fichiers (donc un processus de collision supprime les fichiers) (à l'origine prévu par la question)
ne laissez pas le fichier de la portée de données PHP directement → reverse-proxy (Cal)
désactiver PHP écrit pour le système de fichiers → voir le bogue de PHP lien dans cette réponse (Stephan B) ou utiliser PHP en mode CGI (Phil Lello)
écrire des fichiers →
/dev/null
système de fichiers (Phil Lello) (ceci est utile si vous avez accès aux données sous forme d'un flux de plus , mais impossible de désactiver le fichier d'écriture de fonctionnalités qui s'exécutent en parallèle; que PHP permet c'est pas clair)
Re: vos fichiers, post-télécharger
- le stockage dans la base de données au lieu de disque → cryptage de fichiers dans une base de données HowTo (Tour)