====== Permission apache ===== --- //[[f.raynaud@arles-linux.org|François Raynaud]] 2020/06/08 15:52// Nous allons activer les fichiers .htaccess dans /var/www/html ou accéde apache (www-data) afin de : - protéger les accès aux répertoires - faire (éventuellement un filtrage IP) pour l'accès au serveur web Ensuite nous allons mettre en place le HTTPS pour protéger les connexions (mot de passe et IP de connexion) ==== activer htaccess sur var/www==== //"certaines distributions, dont Debian, et par conséquent Raspbian, ont choisi de désactiver par défaut le support des .htaccess dans les options d’Apache, et ce dans l’optique d’optimiser la vitesse du système".// [[https://raspberry-pi.fr/activer-fichiers-htaccess-raspbian/|source raspberry]] Changer la directive AllowOverride None en AllowOverride All dans le fichier apache.conf nano /etc/apache2/apache2.conf Options Indexes FollowSymLinks AllowOverride All Require all granted Redémarrez apache. service apache2 restart ==== Protection de lecture des dossiers de l'application==== Les répertoires de l'application openassociation sont protégés par : * un fichier .htaccess qui empêche toute connexion (Deny from All) * un fichier index.php qui renvoie sur l'application Le dossier var est créé par l'application. Il faut : - Mettre le .htacces dans le répertoire var qui ne doit pas être accessible - Mettre le fichier index.php dans le répertoire var pour renvoyer sur l'application ====Déplacer le filestorage==== [[https://openmairie.readthedocs.io/projects/omframework/fr/4.9/reference/filestorage.html|source openMairie filestorage]] Il est conseiller de déplacer le filestorage pour faciliter la maintenance Pour le déplacer, il faut paramétrer : - dyn/database.inc.php - dyn/filestorage.inc.php (éventuellement créer le fichier) paramétrer dyn/database.inc.php null, // Paramétrage pour le serveur de mail "filestorage-default", // Paramétrage pour le stockage des fichiers "extras" => 'association', paramétrer ou créer dyn/filestorage.inc.php //(exemple mettre les fichiers dans /var/www/html/files)// "filesystem", // l'attribut storage est obligatoire "path" => "../../files/openassociation", // le repertoire de stockage "temporary" => array( "storage" => "filesystem", // l'attribut storage est obligatoire "path" => "../tmp/", // le repertoire de stockage ), ); ?> ====Protection du filestorage==== ===Mode rewrite=== [[https://www.drupal.org/forum/support/post-installation/2013-12-08/installer-et-activer-le-module-mod_rewrite-sur-apache-et|Activer le module rewrite d'apache]] et redémarrer : //(si le module est actif, le lien symbolique rewrite.load dans etc/apache2/mods_enabled)// a2enmod rewrite service apache2 restart ===Paramétrage du fichier .htaccess dans files=== [[https://httpd.apache.org/docs/2.2/fr/mod/mod_rewrite.html|mode rewrite]] Le contenu renvoie l'accès par url vers le programme intermediaire.php #Options +FollowSymLinks RewriteEngine On RewriteBase / RewriteRule "(.*)" "intermediaire.php" ===Programmation d'intermediaire.php=== [[https://openclassrooms.com/forum/sujet/dossier-et-securite-36054|source]] à la racine /var/www/html mettre le fichier intermediaire.php ==== Le filtrage IP ==== {{ :reseau_raspberry.png?600|}} Nous allons autoriser que certaines adresses IP Ici celles du réseau local (commençant par 192.168) [[https://www.it-connect.fr/htaccess-restriction-des-adresses-ip/|Htaccess – Restriction des adresses IP]] Dans le fichier .htaccess de l'endroit ou on veut restreindre l'accès, par exemple dans le répertoire openassociation_2.0.1 : Deny from all Allow from 192.168 La restriction se fait sur l'adresse du client. Que l on se connecte en interne avec l'adresse externe du serveur ou son adresse interne (192.168.x.x), cela ne change rien. En externe, l'adresse interne n'est pas adressable. ==== le https ====