permissions sur fichiers

Bonjour,

lors de l’install de dolibarr je met les droits sur tous les fichiers et répertoires à 777 pour ne pas avoir d’erreurs lors de l’utilisation.
Mais je pense que ce n’est peut-etre pas la meilleure solution.
Si jamais vous avez des infos à ce sujet (quels droits utiliser dans quel rep ?) ça serait cool.

désolé de mon ignorance…
Merci d’avance

encore bravo pour tout.

cedric

le répertoire documents et ses sous répertoires doivent avoir les autorisations d’écriture pour l’utilisateur apache. exemple sur debian :

chown -R www-data:www-data documents/
chmod -R 644 documents/

le répertoire /htdocs/install tu peux au lieu de l’effacer faire :

chmod 400 install/

en ce qui concerne le reste : les fichiers peuvent etre en 644 et les repertoires en 755

pardon, javais oublié :

merci
cedric
:happy:

Je note ça dans un coin. Ca évite de laisser trainer des repertoires/fichiers en 777 nimporte où :happy:

Bonjour,

Comment éviter qu’à l’adresse http://127.0.0.1/dolibarr/, les
fichiers et dossiers soient directement visibles dans le
navigateur.

Ou suis je le seul à avoir le problème ?

Les permissions sur mon système sont celles
données dans le mail de Regis (sous ubuntu 8.10).

Cordialement,

Quoique, en faisant, en root, dans le répertoire dolibarr:

touch index.htm;chmod a-r index.htm

Ca le fait.

Mais est-ce une bonne méthode, ou un hack moche ?

Si c’est une bonne méthode, doit-on la conseiller par défaut ?

Qu’en pensez-vous ?

Oui ca marche, mais il te faudrait mettre un index.html dans tous les répertoires qui n’en contiennent pas.

Le mieux est de se servir de l’option -Indexes dans la config d’Apache (ou du virtualhost
correspondant).

        <Directory /var/www/>
                Options -Indexes
        </Directory>

Je viens de tester en ajoutant un fichier .htaccess dans le repertoire documents avec comme contenu ceci :

Options -Indexes

Effectivement ça permet de cacher l’arborescence, mais cela n’empeche pas la récuperation des données, je viens de tester avec un aspirateur de site, j’ai eu la total :blush: (avec fichier log en prime time)

J’ai ajouté un fichier robots.txt à la racine du serveur web avec comme contenu ceci :

pour tous les robots

User-agent: *

Pour le robot vscooter (Photo Finder de Alta-Vista)

User-Agent: vscooter « TelePort Pro »

Pour le robot Google Advense

User-agent: Mediapartners-Google*

Disallow: /cgi-bin/
Disallow: /bolibarr/

ce fichier empeche les moteurs de recherche de fouiller votre repertoire :blink:

Le top serait d’avoir dans le fichier .htaccess ceci :

<Files « * »>
Order Deny,Allow
Deny from all
</Files>

et modifier dolibarr pour que lorsque l’on récupere un fichier dans documents cela se fasse via un programme php avec session actif (si besoin j’ai une procédure pour ça, rester à l’implémenter dans dolibarr)

à suivre…

Voici pour information comment mon installation est configurée.
Il est possible qu’il y ait des erreurs grossières (je suis un amateur).
Donc les critiques sont bienvenues.

Dolibarr 2.5.0 stable
sur Ubuntu 8.10, installation LAMP +- l’installation par défaut de ubuntu,
sur un vieux PC qui tourne 24h/24.
Ce PC est chez moi, derrière un routeur qui forwarde le port 80 sur ce vieux PC.
J’y accède depuis mon bureau, en ville.

Mon but est de tester dolibarr pour voir si cet excellent
logiciel peut aider à éviter les ruptures de stock de réactifs
dans notre laboratoire hospitalier.
La gestion des stocks est extrèmement pénible ici à cause de très
importants délais de livraison (nous sommes à Saint Pierre et
Miquelon).

La configuration Apache:
Voici le début du fichier /etc/apache2/sites-available/default:


VirtualHost *:80>
ServerAdmin webmaster@localhost

    DocumentRoot /var/www/dolibarr/htdocs/
    <Directory /\>
            Options FollowSymLinks
            AllowOverride None
    </Directory\>
    <Directory /var/www/dolibarr/htdocs/\>
            Options -Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order deny,allow
            deny from all
            allow from 192.168.0.0/24
            allow from 198.165.88.0/24 198.165.89.0/24 198.165.90.0/24  198.165.91.0/24  198.165.92.0/24  198.165.93.0/24  198.165.94.0/24  198.165.95.0/24 
    </Directory\>

L’accès n’est autorisé que pour une plage d’adresse qui
correspond à Saint-Pierre et Miquelon.

Il n’y a aucun fichier .htaccess, nulle part.

Je n’ai pas testé d’aspirateurs de site, mais ils ne devraient
pas fonctionner à cause du -Indexes dans la config générale.

Dans le cadre d’un intranet, pourquoi pas, c’est une solution. Cela limite l’accès aux fichiers, mais je pense que ça ne regle pas l’accès direct, un utilisateur de ton reseau (non connecté à Dolibarr) pourra accèder aux fichiers en indiquant le chemin dans l’URL. Ca limite mais ce n’est pas du 100% sécure :blush:

si je puis me permettre la limitations des plages d’ip au sein d’apache sur internet c’est pas la panacée.
2 raisons principales :
c’est un check sur une couche applicative facilement contournable.
tu dois reload ton apache pour chaque changement d’ou un impact de production à chaque modification.

la solution : utilise le firewall netfilter/iptable pour faire ta restriction sur la plage d’adresse IP:

si tu ne connais pas trop iptables cf :

http://www.google.fr/search?q=how+to+netfilter+ubuntu

ca ne regle pas l’access direct et sans liaison applicative il n’y a pas de moyen de limiter les acces aux fichiers.
Pour un tres petit nombres gerer les .htaccess c’est fesable mais tres lourd
SAchant que en plus mettre une authentification sans couche ssl c’est un peu useless.

Je vais essayer de trouver le temps d’ecrire un mémo la dessus cette semaine et de le post dans le coin.

A+

> pourra accèder aux fichiers en indiquant le chemin dans l’URL.

Avec la configuration que j’ai décrite, je n’arrive pas à reproduire l’accès direct aux fichiers.

ludovic wrote:

J’ai essayé de m’inspirer aussi du tutoriel « sécuriser apache2 »:
http://doc.ubuntu-fr.org/tutoriel/securiser_apache2

Ca m’embêterai que mes commandes fournisseurs se retrouvent indexées par Google, mais je n’ai pas besoin quand même d’une sécurité militaire.

Ceci ne sera jamais trop embêtant pour mon utilisation.

Merci pour l’input.

regis écrit:

Bonjour,

J’ai suivi cette procédure car mes pdf étaient accessible en public.

Avec un nom:groupe propre à ma distrib (CentOS).

Mais lorsque je veux générer un pdf, j’ai le message suivant :

(j’ai rajouter les XX pour plus de discrétion sur l’url).

Dolibarr n’a donc apparemment plus les droits pour écrire dans documents/

Avez vous une idée pour résoudre mon problème?

Merci

drefann écrit:

[size=4]C’est surtout apache qui n’a pas les droits, apparemment…

Que nous donnent précisément ces commandes shell (en remplaçant XX par ce qui va bien, évidemment) ?

ls -al /var/www/html/XX/documents/ ps aux | grep apacheMerci.[/size]

Merci pour ta réponse, le résultat des commandes :

ls -al total 160 drwxr-xr-x 10 1003 513 4096 jui 29 2009 . drwxr-xr-x 8 root root 4096 aoû 7 19:53 .. -rw-r--r-- 1 1003 513 14522 jui 29 2009 ChangeLog -rw-r--r-- 1 1003 513 17992 jui 29 2009 COPYING -rw-r--r-- 1 1003 513 3855 jui 29 2009 COPYRIGHT drwxr-xr-x 6 1003 513 4096 jui 29 2009 dev drwxr-xr-x 6 1003 513 4096 jui 29 2009 doc drw-r--r-- 14 apache apache 4096 jun 25 2009 documents drwxr-xr-x 4 1003 513 4096 avr 27 2008 external-libs drwxr-xr-x 46 1003 513 4096 jui 29 2009 htdocs -rw-r--r-- 1 1003 513 85 jui 29 2009 INSTALL -rw-r--r-- 1 root root 0 jun 25 2009 install.lock drwxr-xr-x 6 1003 513 4096 avr 27 2008 mysql drwxr-xr-x 3 1003 513 4096 avr 27 2008 pgsql -rw-r--r-- 1 1003 513 4048 jui 29 2009 README -rw-r--r-- 1 1003 513 3563 jui 29 2009 README-FR drwxr-xr-x 14 1003 513 4096 jui 29 2009 scripts

 ps aux | grep apache
apache    6269  0.0  1.1  26132 12088 ?        S    12:48   0:02 /usr/sbin/httpd
apache    6270  0.0  1.5  29860 16084 ?        S    12:48   0:03 /usr/sbin/httpd
apache    6271  0.0  1.5  29284 15568 ?        S    12:48   0:05 /usr/sbin/httpd
apache    6272  0.0  1.5  29656 15808 ?        S    12:48   0:03 /usr/sbin/httpd
apache    6273  0.0  1.4  29388 15480 ?        S    12:48   0:04 /usr/sbin/httpd
apache    6274  0.0  1.5  29576 15716 ?        S    12:48   0:02 /usr/sbin/httpd
apache    6275  0.0  1.5  29864 15948 ?        S    12:48   0:04 /usr/sbin/httpd
apache    6276  0.0  1.0  24884 10892 ?        S    12:48   0:01 /usr/sbin/httpd
apache    6404  0.0  1.4  29104 15200 ?        S    12:53   0:02 /usr/sbin/httpd
root      8794  0.0  0.0   4024   740 pts/2    R+   14:35   0:00 grep apache

OK merci, on aurait du voir ce qu’il y a dans le répertoire « documents ».
Maintenant : [code]
ls -al /var/www/html/XX/documents/[/code

Répertoire courant « documents »

ls -al
total 112
drw-r--r-- 14 apache apache 4096 jun 25  2009 .
drwxr-xr-x 10   1003    513 4096 jui 29  2009 ..
drw-r--r--  2 apache apache 4096 jun 25  2009 banque
drw-r--r--  3 apache apache 4096 jun 25  2009 commande
drw-r--r--  5 apache apache 4096 jun 25  2009 compta
drw-r--r--  2 apache apache 4096 jun 25  2009 facture
drw-r--r--  2 apache apache 4096 jun 25  2009 ficheinter
drw-r--r--  2 apache apache 4096 jun 25  2009 logo
drw-r--r--  3 apache apache 4096 aoû 17  2009 produit
drw-r--r--  4 apache apache 4096 jan 15 12:24 propale
drw-r--r--  2 apache apache 4096 jun 25  2009 rapport
drw-r--r--  2 apache apache 4096 jun 25  2009 rss
drw-r--r--  3 apache apache 4096 jun 25  2009 societe
drw-r--r--  2 apache apache 4096 jun 25  2009 users

[size=4]OK, je récapitule.

Dolibarr t’annonce :

Le serveur web apache est exécuté par le user apache (cf. la commande ps).
Le répertoire documents/propale appartient au user apache (cf. la commande ls), et a pour permissions « rw », c’est à dire lecture et écriture, pour son propriétaire (apache).
Mais il n’a pas l’autorisation de parcourir le répertoire (déjà au niveau de « documents », comme tu l’as posté avant) : il n’a pas « x » (pour un répertoire c’est la faculté de le parcourir, pour un fichier de l’exécuter/lancer).

Tu peux essayer de passer ton répertoire documents et ses sous-répertoires en rwx : sudo chmod u=rwx -R documentset recommencer ton opération dans Dolibarr.

Autrement, tu dois avoir des log apache quelque part dans /var/log/apache2 (ou qqch de proche sur ton CentOS). Entre access.log et surtout error.log, essaie de voir s’il n’y a pas des informations complémentaires pour te mettre sur la voie, si rwx n’a pas résolu ton cas.[/size]

Merci,

Ok donc j’ai rajouté les droits en exécution sur documents/ et je peux à nouveau générer les propales, commandes etc.

Mais mon but était de restreindre l’accès au dossier documents/ pour qu’on ne puisse pas accéder à tous mes PDF directement avec le lien :

https://XX/XX/documents/propale/PR1101-0001/PR1101-0001.pdf

Et c’est pour cette raison que j’avais suivi les instructions préconisé par régis :
regis écrit:

Hors, avec les droits en exécutions sur documents/, les fichiers sont toujours librement accessibles hors Dolibarr.

Une idée pour restreindre cette accès?