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 | ||
| apache:securisation [2011/08/27 02:10] – Anael MOBILIA | apache:securisation [2014/05/27 03:32] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | <style float-right> | + | <style float-right> |
| - | <style float-left> | + | <style float-left> |
| - | ====== | + | ====== |
| // | // | ||
| - | <note tip>Présentation rapide.</ | + | <note tip>Ensemble de configurations faciles qui permettent d' |
| < | < | ||
| - | * Aucun prérequis pour ce tutoriel. | + | * [[apache: |
| </ | </ | ||
| \\ | \\ | ||
| - | ===== grand1 | + | ===== Propriétaire des fichiers |
| - | lorem ipsum | + | ==== Création d'un utilisateur propriétaire du site ==== |
| + | Nous allons créer un nouvel utilisateur système qui sera le propriétaire des fichiers du site. | ||
| \\ | \\ | ||
| - | ===== Liens ===== | + | Cet utilisateur fera partie du groupe www-data // |
| - | * [[.:|Retour à la liste des tutoriels XXX]] | + | <code bash> |
| - | * [[:|Retour à la liste des tutoriels]] | + | |
| + | ==== Attribution des fichiers à l' | ||
| + | <code bash> | ||
| + | On définit comme propriétaire des fichiers des sites web l' | ||
| + | |||
| + | ==== Droits sur le contenu du site ===== | ||
| + | Le système de droits de linux peut s' | ||
| + | * les droits du propriétaire du fichier (moi) | ||
| + | * les droits | ||
| + | * et les droits | ||
| - | ++__But : [Sécurisation|tag: | ||
| - | %%%'' | ||
| - | %%% | ||
| - | !!!! I) Propriétaire des fichiers | ||
| - | !!! 1) Création d'un utilisateur propriétaire du site | ||
| - | Nous allons ajouter un utilisateur système qui sera le propriétaire des fichiers du site. | ||
| - | %%%Maj : Nous attribuons le groupe www-data à cet utilisateur (simplifiera la mise en ligne de nouveaux fichiers) | ||
| - | ///[bash] | ||
| - | adduser user-web --ingroup www-data | ||
| - | /// | ||
| - | !!! 2) Attribution des fichiers à l' | ||
| - | ///[bash] | ||
| - | chown -R user-web: | ||
| - | /// | ||
| - | !!! 3) Droits sur le contenu du site | ||
| - | En résumé, le système de droits de linux peut s' | ||
| - | %%% | ||
| Chacun de ces chiffres est compris entre 0 et 7, décomposable ainsi : | Chacun de ces chiffres est compris entre 0 et 7, décomposable ainsi : | ||
| - | * Droit de lecture sur le fichier : 4 points | + | |
| - | * Droit d' | + | * Droit d' |
| - | * Droits d' | + | * Droits d' |
| - | * Aucun droit : 0 point | + | * Aucun droit : 0 point |
| Le chiffre correspond à la somme des valeurs assignées aux droits. | Le chiffre correspond à la somme des valeurs assignées aux droits. | ||
| - | %%%[Doc. Ubuntu|http:// | + | \\ |
| - | %%% | + | [[http:// |
| - | %%% | + | |
| - | !! A) Dossiers | + | |
| + | === Dossiers | ||
| L' | L' | ||
| - | ///[bash] | + | < |
| - | find /var/www/ -type d -exec chmod 750 {} \; | + | //Je trouve tous les répertoires (directory) et leur applique un chmod de 750.// |
| - | /// | + | |
| - | Pour éditer les fichiers du site, il faudra donc se connecter avec cet utilisateur en sftp (ftp over ssh) -> sftp:// | + | < |
| - | !! B) Fichiers | + | |
| + | === Fichiers | ||
| L' | L' | ||
| - | ///[bash] | + | < |
| - | find /var/www/ -type f -exec chmod 640 {} \; | + | |
| - | /// | + | === Ecriture par le biais d'un script du site === |
| - | !! C) Ecriture par le biais d'un script du site | + | |
| Les configurations proposées ci dessus ont un avantage important : si un pirate réussi à prendre le contrôle de votre site par une quelconque faille, il sera bloqué dans ses écritures et / ou modifications de fichiers ! | Les configurations proposées ci dessus ont un avantage important : si un pirate réussi à prendre le contrôle de votre site par une quelconque faille, il sera bloqué dans ses écritures et / ou modifications de fichiers ! | ||
| - | %%% | + | |
| Toutefois, nous avons parfois besoin d' | Toutefois, nous avons parfois besoin d' | ||
| - | %%% | + | |
| - | Si vous devez écrire dans un dossier au travers du site, donnez un chmod 770 uniquement au __dossier__ | + | Si vous devez écrire dans un dossier au travers du site, donnez un chmod 770 uniquement au **dossier** |
| - | %%% | + | \\ |
| - | Si vous devez écrire dans un fichier au travers du site, donnez un chmod 660 uniquement au __fichier__ | + | Si vous devez écrire dans un fichier au travers du site, donnez un chmod 660 uniquement au **fichier** |
| - | %%%[Doc. chmod|http:// | + | \\ |
| - | %%% | + | [[http:// |
| - | %%% | + | ===== Configuration de la sécurité basique |
| - | !!!! IV) Configuration de la sécurité basique | + | |
| Actuellement notre serveur Apache envoi beaucoup trop d' | Actuellement notre serveur Apache envoi beaucoup trop d' | ||
| - | %%%Pour résoudre cela, éditons le fichier | + | \\ |
| - | !!! 1) Directory / | + | Pour résoudre cela, éditons le fichier |
| + | |||
| + | ==== Directory / ==== | ||
| L' | L' | ||
| - | %%%Cette option n'est pas encore | + | \\ |
| - | !!! 2) ServerTokens | + | Cette option n'est pas activée par défaut. Je l' |
| + | |||
| + | ==== ServerTokens | ||
| Configure les informations délivrées par Apache sur sa configuration au client. | Configure les informations délivrées par Apache sur sa configuration au client. | ||
| - | %%%Cette option est bien évidement | + | <note tip>Les différentes valeurs possibles sont : |
| - | %%%[Doc. Apache|http:// | + | * **Full** : Apache/ |
| - | !!! 3) ServerSignature | + | * **OS** : Apache/ |
| - | Configure l' | + | * **Minimal** : Apache/ |
| - | %%%Je trouve visuellement plus propre de ne pas afficher cette information, | + | * **Minor** : Apache/2.2 Server at anael.eu Port 80 |
| - | %%%Les informations délivrées sur Apache sont contrôlées par l' | + | * **Major** : Apache/2 Server at anael.eu Port 80 |
| - | %%% | + | * **Prod** : Apache Server at anael.eu Port 80 |
| - | %%%Ce qui donne : | + | </ |
| - | ///[apache] | + | Je définit la valeur |
| - | # commentaires.... | + | \\ |
| + | Ceci permet d'éviter les attaques ciblées qui sont effectuées lorsqu'un vulnérabilité est découverte sur une version | ||
| + | \\ | ||
| + | [[http:// | ||
| + | |||
| + | ==== ServerSignature | ||
| + | Affiche les informations configurée par ServerTokens | ||
| + | \\ | ||
| + | <note tip>Les différentes valeurs possibles sont : | ||
| + | * **Email** : Apache Server at anael.eu Port 80 //avec un lien vers admin@an*el.eu si l'on clique sur " | ||
| + | * **On** : Apache Server at anael.eu Port 80 | ||
| + | * **Off** : //rien n'est affiché// | ||
| + | </ | ||
| + | Je ne trouve | ||
| + | |||
| + | |||
| + | ===== Fichier | ||
| + | < | ||
| < | < | ||
| AllowOverride None | AllowOverride None | ||
| Ligne 95: | Ligne 110: | ||
| ServerTokens Prod | ServerTokens Prod | ||
| # commentaires.... | # commentaires.... | ||
| - | ServerSignature Off | + | ServerSignature Off</file> |
| - | /// | + | |
| - | %%% | + | |
| - | !!!! V) Relancer Apache | + | |
| - | Voila, notre serveur web est un minima adapté à nos besoins en performance & en sécurité. | + | |
| - | %%%Afin que notre nouvelle conf soit prise en considération, | + | |
| - | ///[bash] | + | |
| - | service apache2 reload | + | |
| - | /// | + | |
| - | Le reload permet de faire relire le fichier de configuration à Apache une fois que chaque process fils à finit son travail. | + | |
| - | %%%Le restart stoppe immédiatement le process fils pour relancer le serveur (interruption du service pour le client) | + | |
| - | !!!! V) Groupe par défaut de user-web | ||
| - | Un utilisateur user-web a été créé il y a quelques billets de cela pour gérer tous les sites web. | ||
| - | %%%Seulement par défaut son groupe primaire était user-web (user-web: | ||
| - | %%%Ce qui signifie que pour tout fichier qu'il crée, apache (www-data: | ||
| - | %%%J' | ||
| - | %%%Le plus simple à été de supprimer l' | ||
| - | ///[bash] | ||
| - | deluser user-web | ||
| - | adduser user-web --ingroup www-data | ||
| - | /// | ||
| - | Et pour bien faire, on redonne le répertoire / | ||
| - | ///[bash] | ||
| - | chown -R user-web: | ||
| - | /// | ||
| - | [Doc.|http:// | ||
| - | %%% | ||
| - | %%% | ||
| - | %%%Voila quelques modifications de faites qui me faciliteront la tâche pour la suite ! | ||
| + | ===== Relancer Apache ===== | ||
| + | La protection du serveur web a été renforcée. Afin que notre nouvelle conf soit prise en considération, | ||
| + | <code bash> | ||
| + | L' | ||
| + | \\ | ||
| + | L' | ||
| + | |||
| + | \\ | ||
| + | ===== Liens ===== | ||
| + | * [[.:|Retour à la liste des tutoriels Apache]] | ||
| + | * [[:|Retour à la liste des tutoriels]] | ||