Re: mais ou est passee la place manquante ?

2019-08-07 Par sujet Pascal Hambourg

Le 07/08/2019 à 00:17, hamster a écrit :

Pascal Hambourg a écrit :

Le 06/08/2019 à 12:48, hamster a écrit :


if [[ "$(grep "/home" /etc/mtab | cut -d" " -f3)" = "ext?" ]]


Cette expression n'est pas assez sélective. Elle prend en compte
n'importe quel montage contenant "/home" dans le point de montage
(/home/data) ou le périphérique (/dev/vg/home).


Très juste. Je pense que rajouter des espaces résout le problème :
if [[ "$(grep " /home " /etc/mtab | cut -d" " -f3)" = "ext?" ]]


C'est mieux, et probablement suffisant. Pour provoquer un faux positif 
il faudrait un chemin contenant des espaces, ce qui n'est pas courant.




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

2019-08-07 Par sujet Eric Degenetais
D'autres utilisateurs que www-data peuvent appartenir au groupe www-data.
Il est possible que das ce cas l'outil trouve que c'est trop large parce
que seul l'utilisateur www-data, sans exception, devrait pouvoir lire (il
est le seul utilisateur censé créer et utiliser ces fichiers) .
=> 0700

Cordialement
__
Éric Dégenètais
Henix

http://www.henix.com
http://www.squashtest.org



Le mer. 7 août 2019 à 17:29, G2PC  a écrit :

>
> Mais, en attendant, sur le système debian, les droits sont de 1777 sur
> les dossiers tmp /tmp et /var/tmp
>
> À noter, le 1 de départ, le sticky bit, qui veut dire que tout le monde peut 
> créer un fichier
> mais que le fichier créé ne peut ensuite être modifié que par son proprio 
> (`man chmod` pour le
> détail).
>
>
> Dès lors, pourquoi le dossier /upload_tmp_dir pour php ne serait t'il
> pas lui aussi en 1777 ?
>
> Tout le monde doit pouvoir écrire dans /tmp, c'est l'OS qui te met à dispo un 
> endroit où tu
> peux écrire, mais pour php y'a aucune raison que qqun d'autre que php puisse 
> lire / écrire dans
> un dossier qui lui est réservé.
>
> En général on met ce dossier en 700 ou 750, en mettant en proprio le user qui 
> fait tourner php
> (ça dépend de ton installation de php).
>
>
> Je vois, merci pour tes explications, ça semble logique.
> Donc, dans mon cas, c'est www-data qui fait tourner PHP, avec Apache.
>
> Dès lors, je crée mon dossier dans /var/www/dossier_pour_tmp_php
> chown www-data:www-data -R /var/www/dossier_pour_tmp_php/
>
> chmod 750 -R /var/www/dossier_pour_tmp_php
>
> ( Ou éventuellement 1750 ? )
>
> ça semble être acceptable comme conf ? Mais, alors, qu'en est t'il si
> Joomla me crie une erreur rendant la page inaccessible ?
> Je vais sur mon domaine, le site Joomla ne charge plus et affiche Error
> Par contre, d'autres contenu sont accessibles ( domaine.ext/phpsecinfo/ )
>
> Idem si je le met en 755.
> Le site ne fonctionne que si je met les droits en 777
>
> Après test, je me rend compte que je me trompe ! Le dossier temporaire
> était donné à root:root
>
> Maintenant, il est bien donné à www-data:www-data en 750 et le site Joomla
> est accessible !
>
>
> Par contre, depuis phpsecinfo j'ai toujours le message en orange, qui
> considère les conditions comme non réalisées :
> Notice
> 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/dossier_pour_tmp_php (0750)
> Recommended Value: A non-world readable/writable directory
>
>
> Pour ça, si vous utilisez PHP et que vous pensez que votre configuration
> est fonctionnelle, merci de tester ce script, il suffit de le télécharger
> https://github.com/ZerooCool/phpsecinfo/tree/phpsecinfo-zeroocool-v0.2.1
>
> Le test est effectué ligne 71 :
>
> https://github.com/ZerooCool/phpsecinfo/blob/phpsecinfo-zeroocool-v0.2.1/20070406-phpsecinfo-v0.2.1/PhpSecInfo/Test/Core/upload_tmp_dir.php
>
> Merci de vos avis.
>


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

2019-08-07 Par sujet G2PC

>> Mais, en attendant, sur le système debian, les droits sont de 1777 sur
>> les dossiers tmp /tmp et /var/tmp
> À noter, le 1 de départ, le sticky bit, qui veut dire que tout le monde peut 
> créer un fichier
> mais que le fichier créé ne peut ensuite être modifié que par son proprio 
> (`man chmod` pour le
> détail).
>
>> Dès lors, pourquoi le dossier /upload_tmp_dir pour php ne serait t'il
>> pas lui aussi en 1777 ?
> Tout le monde doit pouvoir écrire dans /tmp, c'est l'OS qui te met à dispo un 
> endroit où tu
> peux écrire, mais pour php y'a aucune raison que qqun d'autre que php puisse 
> lire / écrire dans
> un dossier qui lui est réservé.
>
> En général on met ce dossier en 700 ou 750, en mettant en proprio le user qui 
> fait tourner php
> (ça dépend de ton installation de php).


Je vois, merci pour tes explications, ça semble logique.
Donc, dans mon cas, c'est www-data qui fait tourner PHP, avec Apache.

Dès lors, je crée mon dossier dans /var/www/dossier_pour_tmp_php
chown www-data:www-data -R /var/www/dossier_pour_tmp_php/

chmod 750 -R /var/www/dossier_pour_tmp_php

( Ou éventuellement 1750 ? )

ça semble être acceptable comme conf ? Mais, alors, qu'en est t'il si
Joomla me crie une erreur rendant la page inaccessible ?
Je vais sur mon domaine, le site Joomla ne charge plus et affiche Error
Par contre, d'autres contenu sont accessibles ( domaine.ext/phpsecinfo/ )

Idem si je le met en 755.
Le site ne fonctionne que si je met les droits en 777

Après test, je me rend compte que je me trompe ! Le dossier temporaire
était donné à root:root

Maintenant, il est bien donné à www-data:www-data en 750 et le site
Joomla est accessible !


Par contre, depuis phpsecinfo j'ai toujours le message en orange, qui
considère les conditions comme non réalisées :

Notice
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/dossier_pour_tmp_php (0750)
Recommended Value:  A non-world readable/writable directory


Pour ça, si vous utilisez PHP et que vous pensez que votre configuration
est fonctionnelle, merci de tester ce script, il suffit de le télécharger
https://github.com/ZerooCool/phpsecinfo/tree/phpsecinfo-zeroocool-v0.2.1

Le test est effectué ligne 71 :
https://github.com/ZerooCool/phpsecinfo/blob/phpsecinfo-zeroocool-v0.2.1/20070406-phpsecinfo-v0.2.1/PhpSecInfo/Test/Core/upload_tmp_dir.php

Merci de vos avis.



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

2019-08-07 Par sujet Daniel Caillibaud
Le 07/08/19 à 13:38, G2PC  a écrit :
> Mais, en attendant, sur le système debian, les droits sont de 1777 sur
> les dossiers tmp /tmp et /var/tmp

À noter, le 1 de départ, le sticky bit, qui veut dire que tout le monde peut 
créer un fichier
mais que le fichier créé ne peut ensuite être modifié que par son proprio (`man 
chmod` pour le
détail).

> Dès lors, pourquoi le dossier /upload_tmp_dir pour php ne serait t'il
> pas lui aussi en 1777 ?

Tout le monde doit pouvoir écrire dans /tmp, c'est l'OS qui te met à dispo un 
endroit où tu
peux écrire, mais pour php y'a aucune raison que qqun d'autre que php puisse 
lire / écrire dans
un dossier qui lui est réservé.

En général on met ce dossier en 700 ou 750, en mettant en proprio le user qui 
fait tourner php
(ça dépend de ton installation de php).

-- 
Daniel

Un homme qui a réussi est un homme qui gagne plus d’argent 
que sa femme n’en dépense. Et une femme qui a réussi est 
une femme qui a trouvé un tel homme.
Lana Turner



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

2019-08-07 Par sujet G2PC


Le 07/08/2019 à 13:13, Daniel Caillibaud a écrit :
> Le 07/08/19 à 12:49, G2PC  a écrit :
 Avant toute chose, j'aimerais réellement trouver de l'information sur ce
 qu'est, officiellement, un dossier dit " A non-world readable/writable
 directory ".  
 C'est un dossier dans lequel tout le monde ne peut pas lire/écrire, donc 
 un chmod xx1 max.

 drwxrwx--x
  ^^^ le proprio peut lire / écrire / entrer
 ^^^ le groupe peut lire / écrire / entrer
^^^ les autres ne peuvent pas lire / écrire, seulement entrer  
>> - Donc tu dois faire un chmod 700 ou 750 ou ce que tu veux mais avec du xxy 
>> ou y vaut 0 ou 1
>> Daniel Caillibaud 
>>
>> - Essaie `chmod 407` sur le répertoire temporaire.
> Et pour trancher => `man chmod`
>
>
> Un 407 ne devrait pas marcher puisque le proprio ne pourrait plus entrer dans 
> le dossier
> mais que n'importe qui pourrait entrer, lire et écrire… 
>
> Et ça parait curieux de refuser tous les droits au groupe et de les
> accepter pour tout le monde, mais on peut faire ça pour justement donner 
> "tous les droits sauf
> pour un groupe".
>
> Je pense que jm pensais au masque, le complémentaire, un masque de 407 
> donnerait un chmod 370,
> qui est curieux (moins de droits pour le proprio que le groupe) mais serait 
> d'équerre avec la
> demande initiale de ne pas avoir de "world writable".
>
>> Une chose est sur c'est que si les droits du /tmp_upload
>> pour les " autres " n'est pas égal à 7, Joomla me hurle dessus avec un
>> message d'erreur. Je ne peux dès lors plus naviguer sur le CMS Joomla.
> Donc Joomla n'est pas compatible avec des réglages de sécurité minimaux, mais 
> ça c'est pas une
> nouvelle :-D (ça me surprend quand même, mais on en voit de belles tous les 
> jours)
>
> Car ce 7 signifie justement rwx pour "other", donc tout le monde peut 
> lire/écrire/entrer

Mais, en attendant, sur le système debian, les droits sont de 1777 sur
les dossiers tmp /tmp et /var/tmp
Dès lors, pourquoi le dossier /upload_tmp_dir pour php ne serait t'il
pas lui aussi en 1777 ?



Re: lenteur maladive

2019-08-07 Par sujet Daniel Caillibaud
Le 05/08/19 à 19:59, hamster  a écrit :
> De temps en temps, le processeur se bloque a 800 MHz, c'est dans ces
> moments la qu'il est particulièrement lent. Pourtant toutes les
> températures sont en dessous de 60 °C.

Alors tu as peut-être qqchose qui fait passer ton processeur en mode économe en 
énergie,
regarde dans les réglages d'énergie.

Ou alors c'est un réglage bios ou OS qui le fait passer dans ce mode quand la 
batterie est
faible…

-- 
Daniel

L'homme est imparfait, mais ce n'est pas étonnant si l'on songe à 
l'époque où il fut créé.
Alphonse Allais



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

2019-08-07 Par sujet Daniel Caillibaud
Le 07/08/19 à 12:49, G2PC  a écrit :
> >> Avant toute chose, j'aimerais réellement trouver de l'information sur ce
> >> qu'est, officiellement, un dossier dit " A non-world readable/writable
> >> directory ".  
> 
> >> C'est un dossier dans lequel tout le monde ne peut pas lire/écrire, donc 
> >> un chmod xx1 max.
> >>
> >> drwxrwx--x
> >>  ^^^ le proprio peut lire / écrire / entrer
> >> ^^^ le groupe peut lire / écrire / entrer
> >>^^^ les autres ne peuvent pas lire / écrire, seulement entrer  
> 
> - Donc tu dois faire un chmod 700 ou 750 ou ce que tu veux mais avec du xxy 
> ou y vaut 0 ou 1
> Daniel Caillibaud 
> 
> - Essaie `chmod 407` sur le répertoire temporaire.
> jm
> 
> Bon, au final, vous vous contredisez, et, ça me rassure un peu, 

Tant mieux, c'est une très bonne illustration de l'adage "ne JAMAIS lancer une 
commande lue qq
part sans comprendre ce que ça fait !"

Et pour trancher => `man chmod`


Un 407 ne devrait pas marcher puisque le proprio ne pourrait plus entrer dans 
le dossier
mais que n'importe qui pourrait entrer, lire et écrire… 

Et ça parait curieux de refuser tous les droits au groupe et de les
accepter pour tout le monde, mais on peut faire ça pour justement donner "tous 
les droits sauf
pour un groupe".

La règle est assez simple, pour un chmod xyz, x donne les droits du proprio, y 
ceux du groupe
et z ceux pour tous les autres. La combinaison de droits se fait en additionnant
4 : r / lecture (read)
2 : w / modification (write), pour un dossier ça veut dire pouvoir le 
renommer/supprimer ou
créer un fichier/dossier dedans
1 : x / exécution, pour un dossier ça signifie pouvoir entrer dedans

donc ici le 407 donne :
4 : r-- pour le proprio
0 : --- pour le groupe
7 : rwx pour tous les autres

Je pense que jm pensais au masque, le complémentaire, un masque de 407 
donnerait un chmod 370,
qui est curieux (moins de droits pour le proprio que le groupe) mais serait 
d'équerre avec la
demande initiale de ne pas avoir de "world writable".

> Une chose est sur c'est que si les droits du /tmp_upload
> pour les " autres " n'est pas égal à 7, Joomla me hurle dessus avec un
> message d'erreur. Je ne peux dès lors plus naviguer sur le CMS Joomla.

Donc Joomla n'est pas compatible avec des réglages de sécurité minimaux, mais 
ça c'est pas une
nouvelle :-D
(ça me surprend quand même, mais on en voit de belles tous les jours)

Car ce 7 signifie justement rwx pour "other", donc tout le monde peut 
lire/écrire/entrer

-- 
Daniel

Apprendre, pour Socrate, c'est se ressouvenir de ce qu'on a oublié.
Platon



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

2019-08-07 Par sujet G2PC


>> Avant toute chose, j'aimerais réellement trouver de l'information sur ce
>> qu'est, officiellement, un dossier dit " A non-world readable/writable
>> directory ".

>> C'est un dossier dans lequel tout le monde ne peut pas lire/écrire, donc un 
>> chmod xx1 max.
>>
>> drwxrwx--x
>>  ^^^ le proprio peut lire / écrire / entrer
>> ^^^ le groupe peut lire / écrire / entrer
>>^^^ les autres ne peuvent pas lire / écrire, seulement entrer

- Donc tu dois faire un chmod 700 ou 750 ou ce que tu veux mais avec du xxy ou 
y vaut 0 ou 1
Daniel Caillibaud 

- Essaie `chmod 407` sur le répertoire temporaire.
jm

Bon, au final, vous vous contredisez, et, ça me rassure un peu, ça ne
semble pas évident pour tout le monde. Un "A non-world readable/writable
directory " Une chose est sur c'est que si les droits du /tmp_upload
pour les " autres " n'est pas égal à 7, Joomla me hurle dessus avec un
message d'erreur. Je ne peux dès lors plus naviguer sur le CMS Joomla.
La proposition de faire un 407 pourrait être plus adapté, je n'ai pas
encore testé. Quoi qu'il en soit, j'invite les utilisateurs de PHP à
tester ce script :
https://github.com/ZerooCool/phpsecinfo/tree/phpsecinfo-zeroocool-v0.2.1
C'est la version de PhpSecInfo officielle, améliorée pour intégrer
phpinfo() et la fin de ligne Unix sur les fichiers. Un simple wget sur
votre serveur, pour observer ce qu'il vous dit sur les droits accordés à
ce dossier Upload_tmp. Voir si du coup, vous êtes au vert, ou non ? Le
premier qui passe au vert, sans message d'erreur, gagne une bière.