« Installation de configuration du serveur web Apache 2.4 sous Debian Bullseye » : différence entre les versions

De Linux Server Wiki
Aller à la navigation Aller à la recherche
Ligne 31 : Ligne 31 :


* <code>/etc/apache2/apache2.conf</code>
* <code>/etc/apache2/apache2.conf</code>
Le fichier de configuration par défaut de apache. Il défini quelques variables dont vous ne devriez, dans la majorité des cas, pas avoir à vous soucier. Plus important, c'est grâce a lui que les autres fichiers de configuration sont chargés.
Le fichier de configuration par défaut de apache. Il défini quelques variables dont vous ne devriez, dans la majorité des cas, pas avoir à vous soucier. Plus important, c'est grâce a lui que les autres fichiers de configuration sont chargés.<br>
A noter cependant, ce fichier défini par défaut la variable <code>AllowOverride None</code> pour la totalité de votre arborescence linux, et interdit l'accès à toute votre arborescence à l'exception de <code>/usr/share</code>
A noter cependant, ce fichier défini par défaut la variable <code>AllowOverride None</code> pour la totalité de votre arborescence linux, et interdit l'accès à toute votre arborescence à l'exception de <code>/usr/share</code><br>
Evitez de faire des modifications dans ce fichier, nous le feront plus loin dans les fichiers de configuration indépendants.
Evitez de faire des modifications dans ce fichier, nous le feront plus loin dans les fichiers de configuration indépendants.



Version du 23 décembre 2015 à 15:07

Installation

aptitude install apache2

Considérations de sécurité

  • Même si les directives sont lues dans l'ordre dans lequel vous les inscrivez, certaines restent appliqués "avant" les autres : <Directory> avant htaccess avant <file> et en dernier <Location>
  • De manière globale, préférez la directive <Directory> a <Location> quand vous sécurisez des chemins du système de fichier de votre machine
  • La configuration de apache sous debian est modulaire, pensez cependant à lire l'ensemble de cette configuration, vous pourriez y trouver des surprises (y compris /etc/apache2/apache2.conf !). N'oubliez pas non l'ordre de lecture qui peut changer la manière dont les règles s'appliquant : /etc/apache2/apache2.conf, puis conf-enabled/*.conf, puis sites-enabled/*.conf
  • Faites attention aux directives Include fournies par certains paquets. Lisez toujours tout fichier que vous incluez a la configuration de apache ou d'une vhost !
  • De même, faites attentions a certains paquets qui ont tendance à ajouter par défaut un fichier de configuration et a l'activer dans conf-enabled/
  • Par défaut, debian autorise l'accès à /usr/share. Il peut être bon de désactiver globalement ce comportement en créant un fichier de configuration dans conf-enabled, quitte a réactiver l'accès au cas par cas.

Exemple d'erreur a ne pas faire

DocumentRoot /srv/http/
<Directory /srv/http/>
    require all granted
</Directory>
<Directory /srv/http/admin>
    require all denied
</Directory>
<Location />
  require all granted
</Location>

Ici, on autorise l'accès a /srv/http/, puis on interdit l'accès a /srv/http/admin, puis on réautorise l'accès a l'ensemble de l'arborescence avec la dernière directive Location. Résultat : votre interface d'admin est accessible de l'extérieur.

Configuration par défaut de apache

  • /etc/apache2/apache2.conf

Le fichier de configuration par défaut de apache. Il défini quelques variables dont vous ne devriez, dans la majorité des cas, pas avoir à vous soucier. Plus important, c'est grâce a lui que les autres fichiers de configuration sont chargés.
A noter cependant, ce fichier défini par défaut la variable AllowOverride None pour la totalité de votre arborescence linux, et interdit l'accès à toute votre arborescence à l'exception de /usr/share
Evitez de faire des modifications dans ce fichier, nous le feront plus loin dans les fichiers de configuration indépendants.

la gestion des virtualhosts

name-based

Ip-based

conf-available/security.core.conf