Support et annonces PhpMyNewsLetter.
Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour,
Je me lance car je n'ai rien trouvé de spécifique sur le forum. Il y a déjà des fichiers index.php dans les répertoires (sauf js) qui redirige vers la racine du domaine pour décourager les curieux. Je pose les questions suivantes :
Jusqu'où peut-on limiter les droits des répertoires et des fichiers sans bloquer le fonctionnement?
Une protection de config.php par .htaccess est-elle superflue? Doit-on limiter les droits à 400 quitte à modifier si on modifie la configuration?
Voilà j'espère ne pas être hors sujet ou paraitre stupide
Hébergement : OVH mutualisé
OS : windows 7 + wampserveur 3.03
PHP 7 et MySQL 5.6
Windows 1, 2, 3 ,95, 98, XP, Vista, seven, 10, Gem, Geoworks, Prologue, LSE
Hors ligne
Excellente question !
Bonjour Archeo
Tout d'abord préciser que je viens de compléter les index.php manquants dans les répertoires.
La version est mise à jour des fichiers index.php manquants :
https://www.phpmynewsletter.com/forum/t … age-1.html en faisant référence à ce post.
J'ai le choix de 2 réponses :
- La mauvaise réponse : je ne fais qu'écrire PhpMyNewsLetter, chaque admin administre son serveur et doit connaître les règles de base
- Une meilleure réponse :
Oui, on peut protéger davantage !
(Dans l'ordre de ce à quoi je pense, désolé si j'en oublie !)
- Rajouter les index.php qui sont les premières pages appelées dans un répertoire quand il y a référence à un chemin et non une page dans un répertoire. Ce que je suis en train de faire, et dont évolution à suivre.
- Dans la configuration apache (je suis sous NGinX, donc à vous de vérifier en fonction de apache 1.3, 2.2 ou 2.4 ou autre...), supprimer la possibilité de parcourir un répertoire avec :
Options -Indexes
Dans les répertoires :
upload/ css/ images/ logs/
vous pouvez aussi interdire l'exécution de php en posant un .htaccess dans chacun de ces répertoires avec :
<Files *.php>
deny from all
</Files>
Evidemment ajuster les paramètres si vous avez des fichiers php3, php5, inc, etc...
- Passer en https (Let's Encrypt est juste extraordinaire ! J'adore ce projet, et en plus ça permet http/2. Ce portail estd'ailleurs dynamiser par NGinX, Let's Encrypt et profite du full http/2)
- Sécuriser un peu php via le php.ini :
; Ne pas affaicher les erreurs sur écran
display_errors = off
; Autoriser l'écriture des erreurs en log
log_errors = on
; Ne pas afficher la version de php dans les headers : X-Powered-By header:
expose_php = off
; profitez en pour cacher le script qui envoie les mails :
mail.add_x_header = Off
; et logger les mails envoyés par php_mail (si vous l'utilisez) :
mail.log = /var/log/phpmail.log
- concernant config.php, il faut savoir que c'est un fichier qui peut être réécrit par PhpMyNewsLetter, il faudrait idéalement laisser les droits en écriture !
Dans l'odre c'est owner/group/other donc laisser un 600 si on n'a pas encore stabilisé la config, ou effectivmeent 400 si on a validé la config.
A noter : il y a aussi le fichier de config des mails en bounce, config_bounce.php, donc la commande :
chmod 600 config*.php
- et enfin pour protéger ce fichier config, une directive rapide trouvée sur stackoverflow :
### https://stackoverflow.com/a/22049769
# password protect single file
<IfModule mod_auth.c>
<Files "protected.html">
AuthName "Username and password required"
AuthUserFile /home/path/.htpasswd
Require valid-user
AuthType Basic
</Files>
</IfModule>
(remplacer proetcted.html par config.php et adapter les chemin de .htpasswd).
Sinon, il reste beaucoup de choses à faire pour protéger un serveur, mais je crois qu'il y a des forums spécialisés pour ça. Nous sommes restés ici dans le cadre de PhpMyNewsLetter.
Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide
Hors ligne
Je préfère votre deuxième bonne réponse merci pour tous ces détails
interdire l’accès à config.php depuis le.htaccess à la racine de l'hébergement (monrep est le répertoire d'installation de phpmynewsletter)
<Files monrep/include/config.php>
order allow,deny
deny from all
</Files>
Il faut y aller mollo avec les droits des fichiers et dossiers. Je suis habitué à CMSmadeSimple qui s’accommode de droits très restreints (respectivement 444 et 555). En appliquant ça à phpmynewsletter j'ai tout planté .
Protéger l’accès au répertoire monrep par un mot de passe car sinon on tombe directement sur l'administration de phpmynewsletter. Personnellement j'aurais préféré accéder à l'administration par un sous-répertoire admin que l'on puisse renommer à sa guise en indiquant le nouveau nom dans config.php.
Hébergement : OVH mutualisé
OS : windows 7 + wampserveur 3.03
PHP 7 et MySQL 5.6
Windows 1, 2, 3 ,95, 98, XP, Vista, seven, 10, Gem, Geoworks, Prologue, LSE
Hors ligne
Attention à ne pas tout bloquer non plus !
Les images ajoutées aux newsletter, sauf si elles sont en lien depuis l'extérieur pourraient ne pas être accessibles.
Je ne comprends pas le droit en 5... Bizarre comme droit... Le moteur php lit les fichiers php, les mouline, et restitue une page web par exemple. Il n'est pas exécuté directement comme un shell.
Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide
Hors ligne
Un 554 sur un répertoire provoque :
Forbidden
You don't have permission to access /monrep/login.php on this server.
Server unable to read htaccess file, denying access to be safe
Pour moi les droits sont un mystère qui demeure impénétrable!
Pour ne pas tomber sur le loggin il y a une solution toute bête : renommer loggin.php quand on ne se sert pas de phpmynewsletter
Dernière modification par archeo (02-03-2018 16:07:01)
Hébergement : OVH mutualisé
OS : windows 7 + wampserveur 3.03
PHP 7 et MySQL 5.6
Windows 1, 2, 3 ,95, 98, XP, Vista, seven, 10, Gem, Geoworks, Prologue, LSE
Hors ligne
Pourquoi pas !
En tout état de cause, peut être penser à une évolution...
Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide
Hors ligne
Pages :: 1