2 votes

Donner des permissions à l'utilisateur apache

J'ai développé une application web qui permet aux utilisateurs de télécharger des images et de les transformer pour ensuite les télécharger à nouveau transformées. J'ai évidemment dû donner à apache des permissions d'utilisateur sur le répertoire où les utilisateurs peuvent télécharger :

$ chown root:www-data uploadFolder
$ chmod 1775 uploadFolder

Ceci donne au groupe apache toutes les permissions, sauf celle de supprimer.

L'application crée un répertoire pour chaque session utilisateur à l'intérieur du répertoire uploadFolder avec 0700 et enregistre les images de l'utilisateur à l'intérieur.

El uploadFolder se trouve dans le répertoire de l'application.

Lorsque l'image est téléchargée, elle est servie directement (comme un lien) au client.

Un travail crontab exécute un script toutes les 20 minutes, qui vérifie quelles sessions sont actives et supprime tous les fichiers et dossiers à l'intérieur. uploadFolder qui ne correspond à aucune session active.

Il fonctionne bien depuis deux mois, mais je ne suis pas sûr que cela puisse être dangereux pour mon application, ma base de données ou d'autres sites dans le même VPS.

Quelqu'un connaît-il le risque d'être permissif dans cette situation ?

Existe-t-il une alternative pour l'éviter ?

Voici la configuration de mon site apache :

<VirtualHost *:80>
ServerName www.itransformer.es
ServerAlias itransformer.es *.itransformer.es
DocumentRoot /siteFolder
<Directory /var/www/itransformer-2.0/web>
   AllowOverride all
   Options -Indexes
</Directory>
</VirtualHost>

Ajout de cet extrait de code à la configuration du site Apache : (cela devrait éviter de lire .htaccess fichiers)

<Directory /uploadFolder>
   AllowOverride none
   Options -Indexes
</Directory>

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X