Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
tutoriel:securiser_apache2 [Le 03/04/2008, 21:47] ts-7389 |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>feisty serveur tutoriel brouillon}} | ||
- | ---- | ||
- | ====== Sécuriser un serveur Apache2 ====== | ||
- | |||
- | informations traduites de http://www.petefreitag.com/item/505.cfm | ||
- | |||
- | Cette page regroupe quelques manipulations qui vous permettront de sécuriser votre [[:lamp|serveur LAMP]]. | ||
- | |||
- | |||
- | |||
- | ===== Cacher la version d'Apache et autres informations sensibles ===== | ||
- | Par défaut, Apache affiche la version que vous utilisez, votre système d'exploitation, et d'autres informations. Une personne malveillante peut utiliser ces informations pour mieux cibler son attaque sur votre serveur, nous allons donc les cacher. | ||
- | |||
- | [[:tutoriel:comment_editer_un_fichier|Éditez le fichier]] **/etc/apache2/apache2.conf** | ||
- | |||
- | Recherchez la ligne contenant | ||
- | <file>ServerSignature</file> | ||
- | et mettez | ||
- | <file>ServerSignature Off</file> | ||
- | |||
- | Recherchez la ligne contenant | ||
- | <file>ServerTokens</file> | ||
- | et mettez | ||
- | <file>ServerTokens Prod</file> | ||
- | |||
- | |||
- | |||
- | ===== Restreindre l'accès aux seuls fichiers du répertoire web ===== | ||
- | On suppose que le répertoire /web est le répertoire où sont les fichiers de votre site web. (adaptez selon votre configuration) | ||
- | [[:tutoriel:comment_editer_un_fichier|Éditez le fichier]] **/etc/apache2/sites-available/default** et insérez-y | ||
- | <file><Directory /> | ||
- | Order Deny,Allow | ||
- | Deny from all | ||
- | Options None | ||
- | AllowOverride None | ||
- | </Directory> | ||
- | <Directory /web> | ||
- | Order Allow,Deny | ||
- | Allow from all | ||
- | </Directory></file> | ||
- | Étant donné que les directives **Options** et **AllowOverride** sont mises à **None**, vous devrez ensuite les spécifier, si besoin, pour chaque répertoire décrit dans ce fichier.\\ | ||
- | Dans le cas d'[[:tutoriel:virtualhosts_avec_apache2|hôtes virtuels]], procédez de la même manière qu'avec le répertoire ///web//. | ||
- | |||
- | ===== Empêcher le parcours d'un répertoire ===== | ||
- | Pour empêcher le parcours du répertoire ///web//, ajoutez l'option **-Indexes**: | ||
- | <file> | ||
- | <Directory /web> | ||
- | Order Allow,Deny | ||
- | Allow from all | ||
- | Options -Indexes | ||
- | </Directory></file> | ||
- | |||
- | ===== Désactiver les inclusions coté serveur ===== | ||
- | Toujours au même endroit, (dans un tag <Directory>) : | ||
- | <file>Options -Includes</file> | ||
- | |||
- | ===== Désactiver l'exécution de scripts CGI ===== | ||
- | Si vous n'utilisez pas de scripts CGI ajoutez cette option : | ||
- | <file>Options -ExecCGI</file> | ||
- | |||
- | ===== Empêcher Apache de suivre les liens symboliques ===== | ||
- | <file>Options -FollowSymLinks</file> | ||
- | |||
- | ===== Empêcher le téléchargement de fichiers .htaccess ===== | ||
- | <file> | ||
- | AccessFileName .httpdoverride | ||
- | <Files ~ "^\.ht"> | ||
- | Order allow,deny | ||
- | Deny from all | ||
- | Satisfy All | ||
- | </Files> | ||
- | </file> | ||
- | |||
- | ===== Filtrer les adresses IP ===== | ||
- | Vous pouvez choisir les adresses IP qui ont accès ou non à vos pages. | ||
- | |||
- | Par exemple : autoriser l'accès seulement depuis votre poste : | ||
- | <file> | ||
- | Order Deny,Allow | ||
- | Deny from all | ||
- | Allow from 127.0.0.1 | ||
- | </file> | ||
- | |||
- | ou encore sur votre réseau local : | ||
- | <file> | ||
- | Order Deny,Allow | ||
- | Deny from all | ||
- | Allow from 192.168.0.0/24 | ||
- | </file> | ||
- | |||
- | ou interdire une IP précise : | ||
- | <file> | ||
- | Order Allow,Deny | ||
- | Allow from all | ||
- | Deny from 192.168.0.5 | ||
- | </file> | ||
- | |||
- | etc... | ||
- | |||
- | Le principe est le suivant :\\ | ||
- | **Allow,Deny** Autorise tout le monde __sauf__ les IP décrites dans **Deny from**\\ | ||
- | **Deny,Allow** Rejette tout le monde __sauf__ les IP listés dans **Allow from** | ||
- | |||
- | ---- | ||
- | |||
- | //Contributeurs : [[utilisateurs:_Enchained]]// |