[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Comment faire - set upload_tmp_dir to a non-world-readable directory



>> upload_tmp_dir is disabled, or is set to a common world-writable
>> directory. This typically allows other users on this server to access
>> temporary copies of files uploaded via your PHP scripts. You should set
>> upload_tmp_dir to a non-world-readable directory
>> Current Value: /var/www/temporaire_php (0755)
>> Recommended Value: A non-world readable/writable directory
> Avec 755 il n'est pas non-world-readable, tu dois bien t'en douter.


Oui, mais, c'est pas si évident que ça, car, j'ai tenté aussi 1777, la
valeur que j'ai pu identifier sur les /tmp et /var/tmp par défaut.
Effectivement, je me suis fais cette réflexion que ça ne semblait dans
mon cas, pas un non-world readable.

>> J'ai testé différents CHMOD :
>> 0700 / 1700 / 0007 / 1007
> À 700, il devrait l'être. As tu eu des erreurs quelconques lorsque tu as
> passé ton répertoire en 700 ?

Pas d'erreur directement dans les logs, ni même de comportement étranges
à l'usage du site, mais, c'est depuis PhpSecInfo que le test ne passe
pas au vert.
PhpSecInfo n'est pas si récent.
J'ai découvert que c'était un projet PHP de l'Université de Purdue (
Connue pour un de ses universitaire notamment, Ian Murdock ) qui avait
été présenté à un consortium de sécurité, en 2007.

La version officielle n'est plus maintenue et le site également, depuis
2012.

On retrouve sur le site, la version de 2007.
Le deuxième développeur de cette version 2007, aura ouvert un dépôt
Github et poussé des correctifs jusqu'en 2009.
J'ai vu qu'en parallèle le projet de 2007 avait évolué vers une versions
alternative mise à jour jusqu'en 2015.
Un autre projet encore a utilisé la version de 2007 il me semble, pour
proposé une version alternative en 2018/2019 mais avec très peu de
correctifs.

J'ai déposé ses quatre versions sur le dépôt suivant.
https://github.com/ZerooCool/phpsecinfo

J'utilise actuellement la version de 2007, qui était à l'origine conçue
pour php4 / php5.

Il se peut parfaitement que ce soit ce programme PHP qui ne sache pas,
ne sache plus, ou, n'ai jamais su correctement identifier si oui ou non
le dossier est non-world readable.

Le problème, c'est que la définition n'est pas claire ! On ne sait
clairement pas ce qui est attendu !
Un 700 ? Un 1700 ? Ou, d'autres umask avec lesquels je ne serais pas
familiarisé ?

Il faudrait que je regarde les 3 projets 2009 / 2015 / 2019 pour voir si
le fichier de ce test, concernant le dossier upload_tmp_dir, a été mis à
jour.

N'hésitez pas à tester ce paquet, il ne nécessite aucune installation,
il s'uffit de télécharger l'archive sur le serveur.
C'est un équivalent à phpinfo() en très simpliste, qui se concentre sur
certaines valeurs propres à PHP.

Merci de vos avis complémentaires.


Reply to: