Installation configuration et sécurisation d'un serveur web Apache 2.2 pour Windows

13
tallation configuration et sécurisation d'un serveur web Apache 2.2 pour Windows

Transcript of Installation configuration et sécurisation d'un serveur web Apache 2.2 pour Windows

Page 1: Installation configuration et sécurisation d'un serveur web Apache 2.2  pour Windows

Installation configuration et sécurisation d'un serveur web Apache 2.2

pour Windows

Page 2: Installation configuration et sécurisation d'un serveur web Apache 2.2  pour Windows

Abid SAMEH Base de données orienté objet

Installation du serveur Apache 2.2.11

Sélectionnez le type d'installation : typical.

À ce stade de l'installation, utilisez ces paramètres :1er champ : localdomain 2ème champ : localhost.localdomain 3ème champ : [email protected]

Page 3: Installation configuration et sécurisation d'un serveur web Apache 2.2  pour Windows

Installez le serveur en tant que Service. Indiquez le répertoire d'installation : c:\www\apache-2.2\

Page 4: Installation configuration et sécurisation d'un serveur web Apache 2.2  pour Windows

Configuration du serveur Apache 2.2.11

Éditez à l'aide du bloc-notes le fichier c:\www\apache-2.2\conf\httpd.conf. ServerAdmin

Cette directive indique l'adresse électronique de l'administrateur du serveur Web. Elle apparaîtra lors d'éventuelles erreurs. Vérifiez que cette ligne est bien présente : ServerAdmin [email protected]

ServerName

Cette directive permet de définir un nom pour votre serveur. Vérifiez qu'une de ces deux lignes est bien présente : ServerName localhost.localdomain ou ServerName localhost.localdomain:80. Si la ligne est commentée (un dièse # au début), décommentez la. Vous pourrez accéder à votre serveur en tapant dans votre navigateur Internet l'adresse http://127.0.0.1. Si vous éditez le fichier c:\windows\system32\drivers\etc\hosts et que vous ajoutez la ligne 127.0.0.1 localhost.localdomain, vous pourrez alors accéder au serveur en tapant dans le navigateur, l'adresse http://localhost.localdomain. Ainsi, vous pourrez ajouter des sous domaines et gérer des hôtes virtuels avec Apache.

DocumentRootCette directive spécifie le répertoire racine de votre site. Seules les pages présentes dans ce dossier seront interprétées par le serveur. Remplacez la ligne DocumentRoot "c:/www/apache-2.2/htdocs" par DocumentRoot "c:/www/monsite".

Page 5: Installation configuration et sécurisation d'un serveur web Apache 2.2  pour Windows

<Directory></Directory>

Entre ces balises, vous pouvez spécifier les restrictions d'accès des répertoires de votre site. Remplacez la ligne <Directory "c:/www/apache-2.2/htdocs"> par <Directory "c:/www/monsite">.Enregistrer puis quitter.

Vérification de la syntaxe du fichier httpd.confLe répertoire c:\www\monsite doit être créé avant de tester la syntaxe du fichier de configuration. Cliquez sur Démarrer/Programmes/Apache HTTP Server/Configure Apache Server/Test Configuration. Si vous n'obtenez pas de message d'erreur, tout est OK ! Sinon reprenez l'édition du fichier httpd.conf. Au pire, si vous ne savez plus où vous en êtes, dupliquez le fichier de sauvegarde c:\www\apache-2.2\conf\original\httpd.conf en c:\www\apache-2.2\conf\httpd.conf puis reprenez la section Configuration du serveur Apache 2.2.11.

Page 6: Installation configuration et sécurisation d'un serveur web Apache 2.2  pour Windows

Vous allez maintenant tester votre serveur. Créez une page nommée test.html dans le dossier c:\www\monsite et insérez y ces quelques lignes :

<html> <head> <title>ma première page html</title> </head> <body> <div style="text-align:center;font-size:24px;font-weight:bold;">Ca marche !!!</div> </body> </html>

Une fois installé, le serveur Apache démarre automatiquement. Si ce n'est pas le cas, vous pouvez le faire soit dans le menu Démarrer/Programmes/Apache HTTP Server/Control Apache Server/Start, soit directement dans la barre des tâches à l'aide de   , un simple clic sur cette icône affiche le menu de contrôle qui permet de démarrer, redémarrer ou arrêter le serveur Apache. S'il est déjà démarré, vous devrez le redémarrer pour que les changements soient pris en compte. Ensuite, lancez votre navigateur Mozilla, Internet Explorer, Opéra ou autre, et dans la barre d'adresse, tapez http://127.0.0.1/test.html. Vous devriez voir un gros "Ca marche !!!" au milieu de l'écran, ce qui signifie que votre serveur fonctionne. Si vous n'entrez pas l'adresse entièrement, vous risquez d'obtenir un message d'erreur. En effet il se peut que l'accès au contenu du répertoire soit interdit. Nous verrons plus tard comment corriger cela.

Test du serveur Apache 2.2.11

Page 7: Installation configuration et sécurisation d'un serveur web Apache 2.2  pour Windows

Protection d'un répertoire par .htaccess

Nous allons voir ensemble comment protéger un répertoire. D'abord, créons un répertoire à protéger c:\www\monsite\AccesProtege. Il pourra contenir toutes sortes d'informations à protéger, afin de voir s'il est efficace, mettez y des fichiers html, ou des images... Ensuite, il va falloir créer un répertoire servant à stocker les fichiers de mot de passe et de groupes d'utilisateurs. Ce répertoire doit lui même être protégé, il ne doit donc pas se situer dans un répertoire racine du site ou de ses enfants. Créons le dossier c:\www\apache-2.2\users. Création des utilisateurs et mots de passe avec la commande htpasswd. Maintenant, créons un utilisateur abid ayant abid pour mot de passe (crypté en MD5 par défaut) et le fichier de mots de passe (vous pouvez le nommer autrement). À la première insertion d'un utilisateur, il faut créer le fichier à l'aide du paramètre -c À la création des utilisateurs suivants sameh et yassine, il ne faut pas donner en argument le paramètre -c car le fichier est déjà existant. Vous pouvez voir la liste des paramètres possibles en tapant htpasswd /?.

Page 8: Installation configuration et sécurisation d'un serveur web Apache 2.2  pour Windows

C:\>htpasswd -c c:\www\apache-2.2\users\passwords abid Automatically using MD5 format. New password: **** Re-type new password: ****

Adding password for user sameh C:\>htpasswd c:\www\apache-2.2\users\passwords samehAutomatically using MD5 format. New password: **** Re-type new password: **** Adding password for user yassine C:\>htpasswd c:\www\apache-2.2\users\passwords yassine Automatically using MD5 format. New password: ***** Re-type new password: *****

Page 9: Installation configuration et sécurisation d'un serveur web Apache 2.2  pour Windows

Éditez c:\www\apache-2.2\conf\httpd.conf et ajoutez y cette directive :

<Directory "c:/www/monsite/AccesProtege"> AllowOverride AuthConfig Options Indexes </Directory>

La directive AllowOverride permet de dire au serveur quelles sont les options de configuration que vous pouvez spécifier dans le fichier .htaccess. Ici, on lui dit de ne s'occuper que des Authentifications par mot de passe et on permet l'affichage du contenu du dossier. Créons maintenant un fichier contenant les informations de groupes. Les groupes correspondent à un grade, un rang de personnes ayant les mêmes pouvoirs. Ici abid et sameh sont des administrateurs du site et yassine est un simple membre. Nous allons stocker ces informations de groupe dans le fichier groups dans c:\www\apache-2.2\users. Vous pouvez lui donner le nom que vous voulez. Voici son contenu :

admins: abid sameh membres: yassine

Page 10: Installation configuration et sécurisation d'un serveur web Apache 2.2  pour Windows

• Attention : ne mettez surtout pas d'espace entre le nom du groupe et les deux points (:) sinon cela ne marchera pas.

• Ensuite, plaçons nous dans le dossier c:\www\monsite\AccesProtege et créons le fichier .htaccess. Petite astuce : comme vous ne pouvez pas directement créer un fichier ayant un nom commençant par un point (.) nommez le comme vous voulez puis renommez le sous l'invite MS-DOS à l'aide de la commande ren AncienNom .htaccess vous devez bien entendu vous trouver dans le répertoire contenant ces fichiers. Ensuite éditez .htaccess et insérez y ces quelques lignes :

AuthType Basic AuthName "zone protégée" AuthUserFile c:/www/apache-2.2/users/passwords AuthGroupFile c:/www/apache-2.2/users/groups Require group admins

Page 11: Installation configuration et sécurisation d'un serveur web Apache 2.2  pour Windows

Quelques explications.AuthType détermine le type d'authentification. AuthName détermine le texte s'affichant sur la fenêtre d'authentification. AuthUserFile spécifie le chemin absolu (avec des slashs /) du fichier de mots de passe. AuthGroupFile spécifie le chemin absolu (avec des slashs /) du fichier de groupes. Cette ligne est inutile si vous n'indiquez pas de groupes après Require Require indique quels sont les utilisateurs autorisés à accéder au répertoire. Il peut être suivi de group, user ou valid-user (tout en minuscules). user indique le ou les utilisateurs autorisés (séparés par des espaces). group indique le ou les groupes autorisés aussi séparés d'espaces. valid-user indique que tout utilisateur présent dans le fichier de mots de passe est autorisé.

Page 12: Installation configuration et sécurisation d'un serveur web Apache 2.2  pour Windows

Maintenant, si vous tapez l'adresse http://127.0.0.1/AccesProtege une fenêtre d'identification doit apparaître vous laissant 3 essais pour vous identifier. Vous devez donc entrer un nom et mot de passe appartenant au groupe admins : abid ou sameh. Si les informations demandées ne sont pas valides, vous arriverez sur une page d'erreur.

Information : Par défaut, le fichier auquel se réfère le serveur Apache pour voir s'il y a des informations supplémentaires de configuration de répertoire se nomme .htaccess Vous pouvez changer ce nom grâce à la directive AccessFileName du fichier httpd.conf. Vous pouvez mettre plusieurs noms, ceux-ci ayant une priorité allant de gauche à droite comme avec DirectoryIndex. Comme sous les systèmes Unix, on met un point (.) en début du nom de fichier : sous ces systèmes, ces fichiers sont cachés. Apache ne les affichera pas même sous windows. Là n'est pas la seule utilisation du fichier .htaccess, vous pouvez aussi définir les pages d'erreurs propres à un répertoire, protéger un fichier par mot de passe, définir les pages d'index, les types Mime

Page 13: Installation configuration et sécurisation d'un serveur web Apache 2.2  pour Windows

MERCI POUR VOTRE ATTENTION