Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| fr:apache [2025/02/09 17:14] – [Module header] zatalyz | fr:apache [2025/06/26 20:41] (Version actuelle) – [Faire des pages d'erreurs personnalisées] zatalyz | ||
|---|---|---|---|
| Ligne 369: | Ligne 369: | ||
| # Faille spécifique IE8, on espère que plus personne ne l' | # Faille spécifique IE8, on espère que plus personne ne l' | ||
| Header set X-Download-Options noopen; | Header set X-Download-Options noopen; | ||
| - | # Interdire l' | + | # Interdire l' |
| Header set X-Permitted-Cross-Domain-Policies none | Header set X-Permitted-Cross-Domain-Policies none | ||
| + | # Protège la vie privée en évitant de transmettre trop d' | ||
| + | Header set Referrer-Policy " | ||
| # X-Clacks, ça sert à rien, c'est donc vital. | # X-Clacks, ça sert à rien, c'est donc vital. | ||
| header set X-Clacks-Overhead "GNU Terry Pratchett" | header set X-Clacks-Overhead "GNU Terry Pratchett" | ||
| Ligne 408: | Ligne 410: | ||
| add_header Content-Security-Policy " | add_header Content-Security-Policy " | ||
| - | Et voici une autre façon d' | + | Et voici une autre façon d' |
| < | < | ||
| Header set Content-Security-Policy " | Header set Content-Security-Policy " | ||
| - | # Tout provient du même domaine sauf mention contraire. | ||
| default-src ' | default-src ' | ||
| - | | + | script-src ' |
| - | # Permet les scripts inline et eval(), nécessaires pour certaines applications. | + | style-src ' |
| - | # script-src 'self' ' | + | |
| - | # Cette version est sécurisée mais... ben potentiellement certaines applis ne fonctionneront pas | + | |
| - | # Celles avec des potentielles failles :P | + | |
| - | script-src ' | + | |
| - | # L' | + | |
| - | | + | |
| - | # Pour faire marcher les sites mal branlés (style dans le html) | + | |
| - | #style-src 'self' ' | + | |
| - | # Sinon : | + | |
| - | style-src ' | + | |
| - | # Autorise les images venant du même domaine et de certaines sources externes via https. | + | |
| img-src ' | img-src ' | ||
| - | # Autorise les polices venant du même domaine. | ||
| font-src ' | font-src ' | ||
| - | # Permet les connexions vers des ressources externes suivantes | ||
| connect-src ' | connect-src ' | ||
| - | # Autorise l' | ||
| frame-src https:// | frame-src https:// | ||
| - | # Limite l' | ||
| object-src ' | object-src ' | ||
| - | # Interdit les soumissions de formulaire et le changement de base URL depuis un autre domaine. | ||
| base-uri ' | base-uri ' | ||
| form-action ' | form-action ' | ||
| - | # Empêche le site d' | ||
| frame-ancestors ' | frame-ancestors ' | ||
| " | " | ||
| </ | </ | ||
| + | Ces règles sont un compromis entre " | ||
| + | * '' | ||
| + | * Les scripts, au choix... | ||
| + | * '' | ||
| + | * '' | ||
| + | * L' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| ==== Activer la réécriture des URLs ==== | ==== Activer la réécriture des URLs ==== | ||
| Ligne 645: | Ligne 644: | ||
| On peut se faire un fichier de configuration appelant diverses modifs sur tous les sites, par exemple dans ''/ | On peut se faire un fichier de configuration appelant diverses modifs sur tous les sites, par exemple dans ''/ | ||
| - | Ensuite on peut l' | + | Ensuite on peut l' |
| + | sudo a2enconf bidouilles | ||
| + | sudo systemctl reload apache2 | ||
| + | Cela évite de réécrire les mêmes règles partout. | ||
| + | |||
| + | On peut aussi l' | ||
| Include / | Include / | ||
| + | Mais attention, suivant ce qu'on met dedans, cela peut mettre un peu de bazar (genre, la partie sur les logs plus bas, je ne sais pas trop comment les logs seront écrits avec l' | ||
| - | Cela évite de réécrire les mêmes règles partout. | ||
| ==== Virer le tracker de Facebook ==== | ==== Virer le tracker de Facebook ==== | ||
| Ligne 733: | Ligne 737: | ||
| Doc : https:// | Doc : https:// | ||
| + | |||
| + | === Partager les pages entre serveurs === | ||
| + | Là, je ne sais pas si c'est la bonne idée. Mais le plus efficace serait de monter le dossier des pages d' | ||
| + | |||
| + | Une autre solution est de faire un rsync, un truc Ansible... C'est sans doute aussi bien. | ||
| + | |||
| + | |||
| + | ==== Personnaliser les logs d' | ||
| + | |||
| + | Par défaut sur Debian (et sans doute d' | ||
| + | |||
| + | Cela peut se personnaliser au niveau du vhost en mettant par exemple ces deux lignes : | ||
| + | |||
| + | < | ||
| + | CustomLog ${APACHE_LOG_DIR}/ | ||
| + | |||
| + | En effet, un fichier de log par " | ||
| + | |||
| + | Finalement, tout laisser dans un seul fichier générique est aussi bien. On va donc laisser le fonctionnement par défaut. D' | ||
| + | |||
| + | === Un peu de théorie === | ||
| + | <WRAP center round todo 60%> | ||
| + | En cours de rédaction, mais je fais une pause. | ||
| + | </ | ||
| + | |||
| + | Avant tout : à quoi correspond les deux formats de fichiers ? | ||
| + | * error.log (lié à la directive [[https:// | ||
| + | * Si j'ai bien compris, ce qui s' | ||
| + | * access.log (lié à la directive [[https:// | ||
| + | * Ici on peut utiliser '' | ||
| + | |||
| + | Dans '' | ||
| + | < | ||
| + | LogFormat "%v:%p %h %l %u %t \" | ||
| + | LogFormat "%h %l %u %t \" | ||
| + | LogFormat "%h %l %u %t \" | ||
| + | LogFormat " | ||
| + | LogFormat " | ||
| + | </ | ||
| + | |||
| + | Le format est : | ||
| + | LogFormat " | ||
| + | |||
| + | Pour les arguments, ce n'est pas évident à déchiffrer ; la syntaxe détaillée est expliquée sur [[https:// | ||
| + | |||
| + | Ainsi par exemple, pour '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | La proposition pratique sera épurée par rapport à ce modèle. | ||
| + | === Et un exemple pratique === | ||
| + | Alors, on met quoi, dans nos logs ? | ||
| + | |||
| + | Oublions les logs déclarés dans les vhosts, on va faire ça de façon générale, dans notre '' | ||
| + | |||
| + | < | ||
| + | # Logs au format comme on veut | ||
| + | LogFormat "%h ☆ %v ☆ %t ☆ %>s ☆ %O ☆ \" | ||
| + | CustomLog ${APACHE_LOG_DIR}/ | ||
| + | </ | ||
| + | |||
| + | * l'ip en premier, c'est ainsi super facile d' | ||
| + | * ☆ pour séparer les arguments (ou tout autre caractère unicode). Aucun risque que ce soit utilisé dans les logs, sauf à la limite le Referer ou l' | ||
| + | * Je garde la requête en format long. Une alternative serait : | ||
| + | * '' | ||
| + | * Je garde l' | ||
| + | * Le Referer n'a pas forcément d' | ||
| + | |||
| + | Attention, ce format de log n'a rien de classique ; il ne sera pas facilement interprété par les logiciels à moins d' | ||
| ==== Could not reliably determine the server' | ==== Could not reliably determine the server' | ||
| À chaque modif du serveur, vous avez sans doute droit à ce message d' | À chaque modif du serveur, vous avez sans doute droit à ce message d' | ||





