Outils pour utilisateurs

Outils du site


securite_apache

Ceci est une ancienne révision du document !


Permission apache

Nous allons activer les fichiers .htaccess dans /var/www/html ou accéde apache (www-data) afin de :

  1. protéger les accès aux répertoires
  2. 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”.

source raspberry

Changer la directive AllowOverride None en AllowOverride All dans le fichier apache.conf

nano /etc/apache2/apache2.conf

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All 
        Require all granted
</Directory>

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
<?php
 header("Location: ../index.php");
 exit();) 
?>

Le dossier var est créé par l'application. Il faut :

  1. Mettre le .htacces dans le répertoire var qui ne doit pas être accessible
  2. Mettre le fichier index.php dans le répertoire var pour renvoyer sur l'application

déplacer le filestorage

source openMairie filestorage

Il est conseiller de déplacer le filestorage pour faciliter la maintenance

Pour le déplacer, il faut paramétrer :

  1. dyn/database.inc.php
  2. 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)

<?php   
$filestorage["filestorage-default"] = array (
    "storage" => "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

rewrite

Activer le module de rewrite d'apache et redémarrer :

a2enmod rewrite
service apache2 restart

mettre un fichier .htaccess dans files

Le contenu renvoie l'accès par url vers le programme intermediaire.php

#Options +FollowSymLinks
RewriteEngine On
RewriteBase /
 
RewriteRule "(.*)" "intermediaire.php"

intermediaire.php

à la racine /var/www/html mettre le fichier intermediaire.php

<?php
$requested = $_SERVER['DOCUMENT_ROOT'] . $_SERVER['REQUEST_URI'];
if (is_file($requested)) {
	header('Content-type: application/pdf');
	readfile($requested);
} else {
	echo "HTTP/1.0 403 Forbidden";
	exit;
}

Le filtrage IP

Nous allons autoriser que certaines adresses IP Ici celles du réseau local (commençant par 192.168)

Htaccess – Restriction des adresses IP

Dans le fichier .htaccess de l'endroit ou on veut restreindre l'accès :

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.
Si on met le fichier htaccess à la racine /var/www/html, personne en externe peut se connecter.

le https

securite_apache.1589108720.txt.gz · Dernière modification : 2020/05/10 11:05 de fraynaud