Dans l'épisode précédent



Documents pareils
SERVEUR HTTP Administration d apache

L3 informatique TP n o 2 : Les applications réseau

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Serveurs de noms Protocoles HTTP et FTP

Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS

Hébergement de site web Damien Nouvel

Installation d un hébergement Web à domicile

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

L3 informatique Réseaux : Configuration d une interface réseau

Les serveurs WEBUne introduction

TP Service HTTP Serveur Apache Linux Debian

LAMP : une nouvelle infrastructure LAMP. Une architecture modulaire. Installation

BTS SIO SISR3 TP 1-I Le service Web [1] Le service Web [1]

Réseaux et protocoles Damien Nouvel

II/ Le modèle OSI II.1/ Présentation du modèle OSI(Open Systems Interconnection)

HTTP HTTP. IUT1 dpt SRC L Isle d Abeau Jean-françois Berdjugin. Introduction et architecture Messages Authentification Conclusion

Le serveur web Apache

Réseaux. 1 Généralités. E. Jeandel

WebSSO, synchronisation et contrôle des accès via LDAP

Serveur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents.

Cisco Certified Network Associate

Activité sur Meteor. Annexe 1 : notion de client-serveur et notion de base de données

Application Web et J2EE

Services Réseaux - Couche Application. TODARO Cédric

Les services usuels de l Internet

Intérêt du NAT (Network Address Translation) Administration Réseau Niveau routage. Exemple d Intranet. Principe NAT

Serveur Subversion Debian GNU/Linux

Programmation Internet Cours 4

1. La plate-forme LAMP

Réseaux Locaux. Objectif du module. Plan du Cours #3. Réseaux Informatiques. Acquérir un... Réseaux Informatiques. Savoir.

Protection des protocoles

Présentation du modèle OSI(Open Systems Interconnection)

Introduction. Adresses

Spécialiste Systèmes et Réseaux

Réaliser un inventaire Documentation utilisateur

Exemple : vous voulez tester votre site en local avant de l uploader via FTP chez votre hébergeur externe.

ClariLog - Asset View Suite

Internet. Web Sécurité Optimisation

Proxy et reverse proxy. Serveurs mandataires et relais inverses

Module 7 : Configuration du serveur WEB Apache

Faire fonctionner symfony sous wamp et windows avec des vhost. Installation de wamp

Préparation d un serveur Apache pour Zend Framework

INSTALLATION APACHE POUR WINDOWS (XP OU 2000)

Figure 1a. Réseau intranet avec pare feu et NAT.

Glossaire. ( themanualpage.org) soumises à la licence GNU FDL.

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

Fonctionnement et mise en place d un reverse proxy sécurisé avec Apache. Dimitri ségard 8 mai 2011

REPARTITION DE CHARGE LINUX

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

HTTP 1.1. HyperText Transfer Protocol TCP IP ...

CYBERGATE -TP-APACHE_2.DOC

Les formations. Administrateur Systèmes et Réseaux. ENI Ecole Informatique

Configurer le Serveur avec une adresse IP Statique (INTERFACE :FastEthernet) : et un masque

Découvrez notre solution Alternative Citrix / TSE

CS REMOTE CARE - WEBDAV

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

Tutoriel compte-rendu Mission 1

DHCP et NAT. Cyril Rabat Master 2 ASR - Info Architecture des réseaux d entreprise

Rappels réseaux TCP/IP

Introduction à HTTP. Chapitre HTTP 0.9

Chapitre : Les Protocoles

SERVEUR WEB LINUX LAMP. Raymond RAZAFIMAMONJY Administration LINUX / UNIX Chapitre 15

Mandataires, caches et filtres

Serveur Web Apache - SSL - PHP Debian GNU/Linux

L annuaire et le Service DNS

UE5A Administration Réseaux LP SIRI

ADF Reverse Proxy. Thierry DOSTES

SUJET DES FINALES NATIONALES Sujet jour 1 version 1

Présentation Internet

Internet Information Services (versions 7 et 7.5) Installation, configuration et maintenance du serveur Web de Microsoft

Chapitre 1 Windows Server

Formation owncloud Thierry DOSTES - Octobre

Hébergement de sites Web

Ubuntu Linux Création, configuration et gestion d'un réseau local d'entreprise (3ième édition)

TP HTTP. Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A

Mac OS X Server Administration des technologies Web. Pour la version 10.3 ou ultérieure

Administration Linux - Apache

18 TCP Les protocoles de domaines d applications

Apache 2.4 Installation et configuration

Différentes installations sur un serveur Windows 2000 ou 2003.

(structure des entêtes)

Annexe C Corrections des QCM

Domain Name System. F. Nolot

L installation du module Webmail nécessite également quelques prérequis, à savoir :

Procédure d'installation

Tunnels et VPN. 22/01/2009 Formation Permanente Paris6 86

Réseaux. Moyens de sécurisation. Plan. Evolutions topologiques des réseaux locaux

Oléane VPN : Les nouvelles fonctions de gestion de réseaux. Orange Business Services

1 Introduction Propos du document Introduction De HTTP 1.0 à HTTP

Le réseau Internet.

Sécurisation du réseau

BTS SIO Dossier BTS. PURCHLA Romain

2011 Hakim Benameurlaine 1

Les serveurs. UE 103b. Guillaume Burel.

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Culture informatique. Cours n 9 : Les réseaux informatiques (suite)

Standard. Manuel d installation

Mr. B. Benaissa. Centre universitaire Nâama LOGO

Plan. Programmation Internet Cours 3. Organismes de standardisation

GENERALITES. COURS TCP/IP Niveau 1

Transcription:

Dans l'épisode précédent

2 Le réseau SERVEURS POSTE CLIENT POSTE CLIENT wifi SERVEURS POSTE CLIENT switch Borne Wifi SERVEURS routeur POSTE CLIENT? SERVEURS SERVEURS SERVEURS POSTE CLIENT SERVEURS

3 Les modèles en couches Modèle TCP/IP Modèle OSI Protocoles Applicatifs (Services) HTTP,FTP, DNS PROTOCOLES DE TRANSPORT (Routage et Adressage) IP Normes Matérielles Adresses MAC (Ethernet, Wifi, Adsl,..) Application Transport Internet Accès Réseau Application Présentation Session Transport Réseau Liaison Physique

4 Le Transport Comment associer une machine (identifiée par une adresse IP) et le protocole applicatif utilisé? Protocoles Applicatifs (Services) HTTP,FTP, DNS PROTOCOLES DE TRANSPORT (Routage et Adressage) IP Normes Matérielles Adresses MAC (Ethernet, Wifi, Adsl,..) C'est un des rôles des protocoles de TRANSPORT : UDP : Mode non connecté TCP : Mode Connecté On identifie chaque applicatif grâce à des n de ports. HTTP:80 FTP:21 SMTP:25 DNS:53.

UTILISATION DES PORTS CLIENT 172.16.2.2 SERVEUR 172.16.100.1 CLIENT 172.16.3.2 CLIENT 172.16.4.2 SERVEUR 172.16.0.1 Chaque Session est identifiée par le couple (ou Socket) : Adresse IP-N de Port

Entête Ethernet Entête IP Entête transport Message Applicatif Entête transport TCP Quelques Applicatifs utilisant de préférence TCP : FTP - Port 21 - Transfert de Fichiers SSH - Port 22 - Terminal Distant Sécurisé TELNET - Port 23 - Terminal Distant Non Sécurisé SMTP - Port 25 - Envoi des Messages POP - Port 110 - Réception des Messages HTTP - Port 80 - Transport des pages HTML NNTP - Port 119 - Serveur de Temps IMAP - Port 143 - Réception des Messages LDAP - Port 389 - Service d annuaire Réseau HTTPS - Port 443 - HTTP Sécurisé (Chiffré) FTPS - Port 990 - FTP Sécurisé (Chiffré) MYSQL - Port 3306 - Moteur de Bases de Données RDP - Port 3389 - Bureau à Distance Windows VNC - Port 5900 - Serveur de Contrôle à distance

Configuration IP d'une machine : Adresse IP Masque de Sous-Réseaux Adresse(s) de passerelle(s) Adresse(s) de Serveur(s) DNS Nom et Domaine DNS de la machine

Adresse IPv4 - Exemple Adresse IPv4 : 172.16. 0. 1 Masque : 255.255.0. 0 Cette adresse désigne la machine 0.1 sur le réseau 172.16.0.0 Elle ne peut communiquer directement qu avec une machine dont l adresse commence par 172.16 et utilisant le même masque de sous-réseau.

Classes d adresses IPv4 Les adresses IP sont rangées par Classe d adresses. La classe de l adresse permet de déterminer le masque par défaut. Class e Masque Premier Réseau Dernier Réseau Nb de Réseaux Nb de Postes par Réseau A 255.0.0.0 1.0.0.0 126.0.0.0 126 16 777 214 B 255.255.0.0 128.0.0.0 191.254.0.0 16383 65534 C 255.255.255. 0 192.0.0.0 223.254.254. 0 2 097151 254

Adresses Privées / Publiques Afin de différencier les réseaux privés du réseau Internet, on distingue deux catégories d adresses : Les adresses publiques (visibles sur Internet) Les adresses privées (non routées sur Internet) Préfixe Plage IP Nombre d'adresses 10.0.0.0/8 172.16.0.0/16 192.168.0.0/24 10.0.0.0 10.255.255.255 172.16.0.0 172.31.255.255 192.168.0.0 192.168.255.255 16 777 216 1 048 576 65 536

Impossible d afficher l image. DNS : Domain Name System Racine Domaines Premier Niveau arpa fr edu org com zw Domaines Second Niveau novell univ-reims linux Domaines Troisième Niveau support iut-troyes Domaines quatrième Niveau ftp src www Nom de domaine pleinement qualifié src.iut-troyes.univ-reims.f r.

Le protocole http Mise en Œuvre du Serveur Web Apache

HTTP : Historique Inventé par Tim Berners-Lee Première Version publique en 1990 : http/0.9 Premier Navigateur Web MOSAIC en 1993 sous X-Windows 1994 : Netscape Navigator 1995 : Internet Explorer Première Version standardisée par l'ietf en 1996 : http/1.0 (RFC 1945) Version actuelle finalisée en 1999 : http/1.1 (RFC 1068, RFC 2616) 2004 : Mozilla Firefox 2008 : Google Chrome

HTTP: Communication Client/Serveur Le client et le serveur communique sur le port TCP 80 Envoi des en-têtes http Localisation du fichier Requête http Client Envoi des en-têtes http de réponse Réponse http Serveur Web Stockage des fichiers Création des en-têtes Formatqge des données

HTTP : requêtes / réponses L URL saisie dans la barre d adresse du navigateur : http://www.dom99.net/demo.html Par défaut HTTP utilise le port TCP 80 Exemple de requête émise par le client (le navigateur, ici IE8 sous Windows Seven) : GET /demo.html HTTP/1.0 Host: www.dom99.net Referer: http://www.dom99.net User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1) Exemple de réponse émise par le serveur (ici Apache ) HTTP/1.0 200 OK Date: Fri, 31 Jan 2014 08:30:00 GMT Server: Apache/2.2.3(Debian) Content-Type: text/html Content_Lenght: 59 Expires: Sat, 31 Jan 2014 08:30:00 GMT Last-Modified: Fri, 09 Aug 2013 14:25:21 GMT

HTTP : Méthodes Les plus utilisées dans la pratique : GET : récupération du contenu du document (passage d'arguments dans l'url) POST : envoi de données au serveur (données traitées coté serveur) HEAD : récupération des entêtes de la réponse uniquement Il en existe d'autres : PUT, DELETE, CONNECT

HTTP: En-têtes coté client (requête) Extrait de la RFC 2616 Host : Nom de l hôte virtuel interrogé Referer : Site de provenance de la requête (provenance des visiteurs) User-Agent : Navigateur qui effectue la requête Accept : Types de fichiers acceptés en réponse Accept-Language : Langue souhaitée en réponse Authorization : Informations d authentification Connection : Gestion des connexions persistantes en http/1.1

HTTP: En-têtes coté serveur (réponse) Extrait de la RFC 2616 Date : Date de génération de la réponse Server : Nom et Version du logiciel serveur qui a répondu Content-Type : Format de la donnée retournée (text/html) Content-Length : Taille totale des données retournées Expires : Date d expiration du fichier Last-Modified : Date de dernière modification du fichier

HTTP : Les codes réponses Les plus courants : 200 : OK 301 : Document déplacé de manière permanente 307 : Déplacement temporaire 401 : Unauthorized (Forbidden) Ressource protégée 404 : Not Found Document non trouvé 405 : Méthode (GET,POST ou HEAD) incorrecte 500 : Internal Server Error Le serveur rencontre un problème interne 503 : Service Unavailable Le server est temporairement indisponible

La fondation Apache Apache Software Foundation : www.apache.org Organisation à but non lucratif Fondée en 1999 (le serveur HTTP a été créé en 1995) Supporte aujourd hui plus de 100 projets dont : Apache HTTP Server Apache Directory (annuaire LDAP) OpenOffice.org (depuis 2011) SpamAssassin Subversion (Logiciel de gestion de versions) Tomcat (Serveur Web écrit en Java) Tous les développeurs et administrateurs sont bénévoles. Les logiciels sont protégés par le licence Apache compatible GNU GPL v3.

Le projet Apache HTTP Server Créé en 1995 pour améliorer le serveur HTTP du NCSA (Mosaïc) 8 développeurs forment : The Apache Group En 1999, la fondation Apache est formée pour mieux gérer le projet. Depuis 1996, Apache HTTP Server est le serveur web le plus populaire. En 2012, il dessert plus de 60% des sites webs. Ses principaux concurrents : Microsoft IIS (15%), Nginx (16%) Evolution des Versions : 1995 : Version 1.0 1999 : Version 1.3 2002 : Version 2.0 2005 : Version 2.2 2012 : Version 2.4

Apache HTTP Server Structure modulaire Toutes les fonctionnalités de base ou complémentaires sont développées sous forme de modules. Quelques exemples : Les hôtes virtuels (module core). Un seul serveur Apache peut desservir de nombreux sites différents. Chiffrement (module mod_ssl). Support du protocole sécurisé HTTPS (port 443) Authentification. De nombreux modules proposent des fonctionnalités en termes d authentification des utilisateurs. Alias et Redirection De nombreuses approches permettent de choisir les pages à afficher en fonction de leurs emplacements (mod_alias) ou en fonction de l URL (mod_rewrite) Apache peut être utilisé comme Proxy (mod_proxy) ou Reverse Proxy. Il permet aussi de faire de la répartition de charges. WedDAV (mod_dav). Le protocole WebDAV permet d implémenter des méthodes http supplémentaires. Journalisation. Apache peut enregistrer des journaux (logs) afin de tracer d éventuels problèmes mais aussi les requêtes faites par les clients. Sécurité. Il est possible de mettre en œuvre des processus de filtrage de requêtes afin d empêcher certains types d attaques comme le Cross-Site Scripting ou les injections SQL.

Apache HTTP Server Installation Apache est fourni sous forme de paquets dans la majorité des distributions. Par exemple sous Debian, l installation de base se limite à un simple : apt-get install apache2 Un choix peut tout de même être fait lors de l installation, celui du MPM (Multi-Processing Modules) gérant la manière dont les connexions au serveur sont gérées. Par défaut le MPM Worker est installé, mais d autres choix sont proposés : mpm-prefork mpm-event mpm-itk

Apache HTTP Server mpm-worker Module installé par défaut avec Apache2. Il utilise les «threads» qui partagent tous le même espace mémoire. La configuration de base : StartServers : Nombre de processus à lancer au démarrage (défaut : 3) ServerLimit : Nombre de processus maximum pouvant être lancés. ThreadsPerChild: Nombre de threads créés au sein de chaque processus. ThreadsLimit: Nombre de threads maximum par processus. MaxClients: Nombre total de requêtes traitées simultanément. MaxRequestsPerChild: Nombre de requêtes traitées par un processus.

Apache HTTP Server mpm-prefork Mode de fonctionnement d Apache 1.3 Les connexions sont traitées par des «forks». Les processus et leurs espaces mémoires sont complétement isolés les uns des autres. La configuration de base : StartServers : Nombre de processus à lancer au démarrage (défaut : 5) MaxClients: Nombre total de requêtes traitées simultanément. ServerLimit : Nombre de processus maximum pouvant être lancés. MinSpareServers: Nombre minimum de processus en attente de requêtes. MaxSpareServes: Nombre maximum de processus en attente de requêtes. MaxRequestsPerChild: Nombre maximal de requêtes traitées par processus.

Apache HTTP Server Configuration Dossier /etc/apache2 Fichier de configuration principal: apache2,conf (Il appelle les autres fichiers de configuration avec l instruction : Include) Les autres fichiers sont répartis dans différents sous-dossiers : httpd.conf : compatibilité vers apache 1.3 ports.conf : ports TCP en écoute (80 pour http, 443 pour https) conf.d: Eléments de configuration complémentaires (alias par exemple) mods-enabled : Modules activés (liens symboliques vers mods-availables) sites-enabled: Liens vers les fichiers de configuration des sites actifs

Apache HTTP Server Les modules Les modules disponibles et installés sont dans /etc/apache2/mods-available. Chaque module est composé de deux fichiers :.load qui regroupent les directives de chargement du module.conf qui contient la configuration du module Lorsqu un module est activé, des liens symboliques vers les deux fichiers sont créés dans le dossier /etc/apache2/mods-enabled Pour activer un module : a2enmod NomDuModule Pour désactiver un module : a2dismod NomDuModule

Apache HTTP Server Les sites La configuration de chacun des sites gérés sur le serveur est stockée dans : /etc/apache2/sites-available. Lorsqu un site est actif, un lien symbolique vers son fichier de configuration est créé dans /etc/apache2/sites-enabled Pour activer un site : a2ensite NomDuSite Pour désactiver un site : a2dissite NomDuSite Lors de l installation le site default est créé. Il indique notamment que les pages web de ce site doivent être enregistrées dans le dossier /var/www La page index.html de ce site affiche simplement : it works!!!

Apache HTTP Server Résumé de l'arborescence apache.conf httpd.conf ports.conf conf.d phpmyadmin.conf sites-available default /etc/apache2 sites-enabled Lien vers default mods-available mod_php5 mods-enabled Liens vers mod_php5 /var/www Index.html.

Les hôtes virtuels Permettent de gérer plusieurs sites web avec des noms de domaines différents sur un seul serveur Apache (avec une ou plusieurs IP) Les noms de domaine doivent au préalable avoir été correctement déclarés sur les serveurs DNS. La valeur de host placée dans l'en-tête de la requête http permet à Apache de déterminer les fichiers à utiliser pour la réponse. Chaque hôte virtuel doit être décrit dans un fichier de configuration séparé. Ce fichier doit être dans /etc/apache2/sites-available Les sites sont ensuite activés avec la commande a2ensite

Les hôtes virtuels Configuration Exemple de fichier de configuration : <VirtualHost *:80> ServerName www.dom99.net ServerAlias dom99.net DocumentRoot /var/www/dom99 DirectoryIndex index.php [ ] </virtualhost> nom attendu dans l'url alias du nom (CNAME) Emplacement des pages web Page web par défaut du site Remarque : pour les hôtes virtuels soit pris en compte la Directive NameVirtualHost doit être définie dans le fichier ports.conf

Configuration d'un site Contextes Chaque paramètre (ou Directive) peut être défini dans un ou plusieurs contextes: Le contexte global (tout le serveur). Exemple : NameVirtualHost dans le fichier ports.conf Le contexte de l'hôte virtuel. Exemple : DocumentRoot entre les balises <VirtualHost> </VirtualHost> Le contexte d'un répertoire. Il suffit de placer les Directives entre des balises <Directory> Les fichiers.htaccess permettent aussi de définir des contextes. Les Directives de ces fichiers ne sont actifs que dans les dossiers (et sous-dossiers) où ils sont placés.

Configuration d'un site Directives DocumentRoot : Le répertoire de stockage des pages DirectoryIndex : La page par défaut du site Options : None : aucune options d'activées dans le contexte All : toutes les options sauf MultiViews FollowSymLinks : permet au serveur de suivre les liens symboliques Indexes : permet d'afficher le contenu d'un répertoire si aucune page index ne s'y trouve. Active le mécanisme de multivues (Négociation http 1.1) ExecCGI autoris l'exécution de scripts CGI Order, Allow, Deny : Autorisations d'accès Exemple : Order allow, deny Allow from 192.168.99.3 Deny from all Alias : Permet de faire pointer une adresse Web vers un autre dossier Exemple : Alias /phpmyadmin /usr/share/phpmyadmin

Références Les guides de Linux magazine H.S n 66 APACHE Le site www.apache.org