logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
doc:reseau:apache2:tp01 [23/09/2014 14:47]
Hypathie [Sécuriser son site web]
doc:reseau:apache2:tp01 [23/09/2014 15:00]
Hypathie [Sécuriser son site web]
Ligne 330: Ligne 330:
 ====Sécuriser Apache2 ==== ====Sécuriser Apache2 ====
 Ce n'est là qu'un minimum et non une sécurisation optimale. Ce n'est là qu'un minimum et non une sécurisation optimale.
-FIXME+
 ====Diffuser le minimum d'​information sur apache ==== ====Diffuser le minimum d'​information sur apache ====
   * Éditer le fichier /​etc/​apache2/​conf.d/​security.   * Éditer le fichier /​etc/​apache2/​conf.d/​security.
Ligne 454: Ligne 454:
 -> le mot de passe est chiffré. -> le mot de passe est chiffré.
  
-  ​On peut aussi créer un groupe par exemple aussi dans le même dossier /​usr/​local/​apache/​passwd/​+<note tip> 
 +**Pour supprimer un utilisateur :** 
 + 
 +<code root>​htpasswd -D /​usr/​local/​apache/​passwd/​passwords utilisateur</​code>​ 
 +</​note>​ 
 + 
 +  * Pour créer un groupe par exemple aussi dans le même dossier /​usr/​local/​apache/​passwd/​
 Par exemple du nom de "​groups"​ : Par exemple du nom de "​groups"​ :
 <code root>vim groups</​code>​ <code root>vim groups</​code>​
Ligne 585: Ligne 591:
  
 ====Vérifier l'​appartenance et les droits des fichiers utilisés par "​apache"​==== ====Vérifier l'​appartenance et les droits des fichiers utilisés par "​apache"​====
 +FIXME
  
 ===Modifier le groupe de /var/www === ===Modifier le groupe de /var/www ===
Ligne 641: Ligne 648:
 8-) **Le login du compte apache (nom de l'​utilisateur du système Linux) est demandé ainsi que son mot de passe et on peut accéder à ses pages d'​index !** 8-) **Le login du compte apache (nom de l'​utilisateur du système Linux) est demandé ainsi que son mot de passe et on peut accéder à ses pages d'​index !**
  
 +====La journalisation (Logging) ====
 +Il en faut consulter régulièrement au moins deux : Les logs d'​erreur et les logs d'​accès au serveur.
 +
 +===Paramétrer la journalisation ===
 +Le niveau de consignation souhaité dépend de la directive ''​LogLevel'',​ dans le fichier de configuration par défaut ''/​etc/​apache2/​apache2.conf''​ qui est réglé par défaut sur :
 +
 +  LogLevel warn
 +
 +**Ainsi paramétrer apache inscrit des logs d'​erreur.**
 +On peut mettre l'un des neuf niveau d'​alerte,​ pour être alerter de la moindre information jusqu'​au alerte grave :
 + ​-''​trace''​ : traçage des informations de différents niveaux (produit une grande quantité d'​informations);​\\ ​
 + - ''​debug''​ : informations de débogage qui peut être utile pour repérer où un problème ;\\ 
 + - ''​info'': ​ message d'​information qui pourrait être bon à savoir;​\\ ​
 + - ''​notice''​ : signal un événement normal, mais à noter;​\\ ​
 + - ''​warn''​ : signal un événement anormal, mais pas très préoccupant;​\\ ​
 + - ''​error''​ : signal que quelque chose a échoué;​\\ ​
 + - ''​crit''​ : problèmes importants qui doivent être pris en compte;​\\  ​
 + - ''​alert''​ : situation grave qui nécessite rapidement une action;​\\  ​
 + - ''​emerg''​ : urgence de la situation, le système est dans un état inutilisable.\\ ​
 +
 +-> Par défaut, on est informé à partir du niveau choisi jusqu'​au niveau le plus grave.\\ ​
 +
 +===Où Apache conserve-t-il ses journaux? ​ ===
 +
 +Dans le fichier général **/​etc/​apache2/​apache2.conf** une ligne indique le fichier où sont consigné les logs : 
 +
 +  ErrorLog ${APACHE_LOG_DIR}/​error.log
 +
 +> Cette directive nomme le fichier où Apache tiendra ses messages d'​erreur. Comme vous pouvez le voir, il utilise une variable d'​environnement appelée "​APACHE_LOG_DIR"​ pour obtenir le préfixe du chemin de répertoire.
 +> Pour savoir vers quel fichier renvoie cette variable d'​environnement il faut consulter le fichier **''/​etc/​apache2/​envvars''​**
 +
 +  export APACHE_LOG_DIR=/​var/​log/​apache2$SUFFIX
 +
 +>  Cela signifie que lorsqu'​il est combiné avec la directive (variable "​SUFFIX"​) dans le fichier "​apache2.conf",​ **Apache enregistre les logs d'​erreur dans un fichier appelé ''/​var/​log/​apache2/​error.log''​**.
 +
 +<code root>ls /​var/​log/​apache2</​code>​
 +<​code>​access.log ​ error.log ​ other_vhosts_access.log</​code>​
 +
 +===Les logs d'​accès au serveur ===
 +Très important pour la sécurisation du serveur. On peut savoir s'il y a eu des tentatives de piratage.\\ ​
 +
 +Ces logs sont consignés par défaut dans le fichier **''/​var/​log/​apache2/​access.log''​**.\\ ​
 +
 +Le paramétrage des logs d'​accès n'est pas dans le fichier de configuration générale /​etc/​apache2/​apache2.conf,​ mais dans le fichier de l'​hôte par défaut.\\ ​
 +
 +La déclaration du journal d'​accès se trouve donc dans : **''/​etc/​apache2/​sites-available/​default''​**.
 +
 +Nous pouvons y trouver trois valeurs distinctes concernant l'​exploitation des logs d'​accès.\\ ​
 +
 +<​code>​ErrorLog ${APACHE_LOG_DIR}/​error.log
 +
 +LogLevel warn
 +
 +CustomLog ${APACHE_LOG_DIR}/​access.log combined</​code>​
 +
 +La définition du journal des erreurs (ErrorLog et Loglevel) correspond à celle dans le fichier de configuration par général. Il n'est pas nécessaire d'​avoir cette ligne dans les deux fichiers, mais ce doublon permet à modifier ici l'​emplacement des logs pour celui qu'on souhaite. ​
 +
 +===Paramétrer la directive "​CustomLog"​ pour améliorer la sécurité ===
 +
 +  CustomLog ${APACHE_LOG_DIR}/​access.log combined
 +
 +Elle est constituée de deux partie :
 +  * ${APACHE_LOG_DIR}/​access.log : localisation des logs d'​accès
 +  * combined : le format des logs par défaut\\ il s'agit d'une étiquette qui renvoie à la directive ''​LogFormat''​ ( personnalisable) dans le fichier de configuration par général ''/​etc/​apache2/​apache2.conf''​ .
 +
 +===La directive "​LogFormat"​ /​etc/​apache2/​apache2.conf ===
 +Par défaut :
 +
 +  LogFormat "%h %l %u %t \"​%r\"​ %>s %O \"​{Referer}i\"​ \"​%{User-Agent}i\""​ combined
 +
 +Pour comprendre chacune de ces variables [[http://​httpd.apache.org/​docs/​2.2/​mod/​mod_log_config.html#​formats|voir la documentation d'​apache]].
 +
 +  * Voici par exemple ma configuration :
 +
 +<​code>​LogFormat "%h %l %u %t \"​%r\"​ %s %b" common</​code>​
 +> ''​%h''​ : sera remplacée par le nom de l'​hôte distant
 +> %l     : sera remplacée par logname a distance. Il faut que [[http://​httpd.apache.org/​docs/​2.2/​en/​mod/​mod_ident.html|le module "​mod_ident"​]] soit présent et que [[http://​httpd.apache.org/​docs/​2.2/​en/​mod/​mod_ident.html#​identitycheck|la directive "​IdentityCheck"​]] soit activé ("​On"​).
 +> u%     : sera remplacée par utilisateur distant.
 +> %t     : sera remplacée par moment où la demande a été reçue (format standard anglais)
 +> \"​%r\"​ : sera remplacée par la ligne de demande.
 +> %s     : sera remplacée par le statut de la demande.
 +> %b     : sera remplacée par la taille de la réponse en octets, à l'​exception des en-têtes HTTP. Dans le format CLF, I.S. un «-» plutôt que d'un 0 si aucune octets sont envoyés.
  
 +Pour aller plus loin, par exemple pour la rotation des journaux voir [[http://​httpd.apache.org/​docs/​trunk/​fr/​logs.html]]
doc/reseau/apache2/tp01.txt · Dernière modification: 01/11/2019 08:43 par smolski

Pied de page des forums

Propulsé par FluxBB