1 Apache + mod_ssl Créez un serveur Web « sécurisé » Arnaud Abdoul Aziz AMELINA AFNOG 2015.

Slides:



Advertisements
Présentations similaires
Faculté des sciences et techniques de Configuration d’APACHE
Advertisements

Tutoriel - Les Ressources du BCH
Active Directory Windows 2003 Server
ACTIVE DIRECTORY. Qu'est-ce un service d'annuaire ?: Un service d'annuaire peut être comparé à un agenda téléphonique, celui- ci contient au départ des.
Installer un serveur FTP
GESTION D’IMPRISSION SOUS WINDOWS & LINUX
HINARI Ce qu’il faut faire / Ce qu’il faut éviter
Serveurs web pour JSP et Servlets
Le répertoire de base sous W200X serveur. Il peut être intéressant de fournir pour chaque utilisateur, un répertoire par défaut dans lequel les commandes.
Module 6 : Gestion et analyse du système DNS
APACHE HTTP SERVER Formation TRANSFER ALGER Mai 2002.
Plan de formation Chapitre 1 : Présentation de SAP
Configuration de Windows Server 2008 Active Directory
La configuration Apache 2.2 Lhébergement virtuel.
Sécurité Informatique
La sauvegarde des fichiers Dominique Dupont Suzanne Isacchi Maurice Chapelle Georges Planté-Longchamp.
Active Directory Windows 2003 Server
Service Commun Informatique
SSL (Secure Sockets Layer) (couche de sockets sécurisée)
SECURITE DU SYSTEME D’INFORMATION (SSI)
26 juin 2009LEFEVRE Christophe1 Module raw et connexions distantes.
Module 1 : Préparation de l'administration d'un serveur
Le langage ASP Les variables d'environnement HTTP avec Request.
1 Sécurité Informatique : Proxy Présenter par : Mounir GRARI.
Administration de SharePoint
par Bernard Maudhuit Anne-Marie Droit
Module : Technologies des serveurs réseaux : Webmin
Le protocole FTP.
WINDOWS Les Versions Serveurs
Module 8 : Maintenance des logiciels à l'aide des services SUS
Module 3 : Création d'un domaine Windows 2000
Vue d'ensemble Configuration d'adresses IP
Module : Technologies des serveurs réseaux : FTP Dynamic Host Configuration Protocol Présenter par : Mounir GRARI.
Active Directory Windows 2003 Server
Pourquoi est-il nécessaire d'installer de nouveaux logiciels sur votre ordinateur ? J'exclus de cette présentation l'installation de nouveaux matériels.
0 Objectifs de la session n°1  Revenir sur toutes les bases théoriques nécessaires pour devenir un développeur Web,  Découvrir l’ensemble des langages.
Plan Définitions et exemples Composants de cluster
1 F o r m a t i o n A R S FTP anonyme, Archie 2 F o r m a t i o n A R S FTP ANONYMOUS m Premier service d'accès à des documents publics. m Repose très.
Utilisation avancée de linux Réseau Démarrage et arrêt.
Installation et Configuration Internet Information Server (IIS 6)
S'initier au HTML et aux feuilles de style CSS Cours 5.
Yonel GRUSSON.
FTP : File Transfer Protocol (protocole de transfert de fichier ) est un protocole de communication destiné à l'échange informatique de fichiers sur.
Le protocole DHCP.
Module 3 : Création d'un domaine Windows 2000
AFPA CRETEIL 14-1 Windows NT Environnement des utilisateurs Chapitre 14.
PHP 6° PARTIE : LES SESSIONS 1.Introduction 2.Identificateur de session 3.Variables de session 4.Client / Serveur 5.Principe 6.Ouverture de session 7.Enregistrement.
S'initier au HTML et aux feuilles de style CSS Cours 5.
Configuration d'un serveur DNS
En route vers le déploiement . . .
Centralisation des sites web d’ELTA & Mise en place d’un serveur NAS
JeanDo Lénard – Fondamentaux de l'Internet – Hetic –30 Janvier 2007 page 1 Fondamentaux de l'Internet (FDI) JeanDo Lénard
1 Windows 2003 Server Stratégie des comptes. 2 Windows 2003 Server Il faut tenir compte de ces 3 paramètres.
Architecture Client/Serveur
Apache serveur web.
Proxy filtrant pour GSB
Module 2 : Planification de l'installation de SQL Server
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
AFNOG POP3 et IMAP avec Dovecot
22/01/08 v Outils d'administration à distance des serveurs Linux. version du 22/01/08.
Sécurité des Web Services
Cryptographie – Les couches réseau Apache - TLS/SSL
Julien Lamure - Réunion des CI du 15/11/2006 Quelques utilitaires de création de comptes pour Windows 2003 server - GUNT - Gestion - PowerAD - Magret -
Bloc 1 - UE 5 - Technologies de l’information et de la communication TIC Bachelier en immobilier T. SOUMAGNE.
Chapitre8 Configuration de l'adressage TCP/IP et de la résolution de noms Module S41.
Installation du PGI – CEGID
Retour d'expérience de l'utilisation du cloud comme infrastructure de service Guillaume PHILIPPON.
FACTORY systemes Module 2 Section 1 Page 2-3 Installation d’Industrial SQL FORMATION InSQL 7.0.
WordPress et Etherpad avec BlueMix et Docker. But: réussir à faire fonctionner ces deux services très connus et utilisés dans bluemix, en se servant de.
Transcription de la présentation:

1 Apache + mod_ssl Créez un serveur Web « sécurisé » Arnaud Abdoul Aziz AMELINA AFNOG 2015

2 Historique de cette présentation Création du support en septembre 2004 Présentation librement inspirée du support de cours AFNOG 2004 et en particulier du document « Apache + mod_ssl » de Patrick Okui plus la mise à jour de Arnaud A. A. AMELINA Site Web des ateliers AFNOG

3 Serveurs HTTP Un ordinateur sur lequel fonctionne un serveur HTTP est appelé serveur web. Indifféremment le terme « serveur web » peut désigner le serveur HTTP (le logiciel) lui-même Il est bon de savoir qu'il existe d’autres serveurs http que celui que nous utiliserons

4 Serveurs HTTP (2) Liste de quelques serveurs HTTP :  Apache Serveur HTTP de la Fondation Apache Software  Internet Information Services (IIS) de Microsoft  Oracle Java System Web de Oracle (anciennement appartenant à Sun Microsystem)  Zeus Web Server de Zeus Technology  Lighthttpd de Jean Kneschke ;  Nginx d'Igor Sysoev ;  Cherokee de Alvaro Lopez Ortega  … Outil choisi : APACHE dans sa version 2

5 Apache & mod_ssl Apache est un serveur HTTP –libre, populaire et très apprécié mod_ssl –module permettant d’utiliser SSL dans Apache Ce module est inclus dans Apache 2 –et notre cours utilisera Apache 2 sur Ubuntu !

6 Comparaison des Serveurs HTTP sur le marché

7

8 Installation d' Apache (1) Le faire sois même – –permet d’être à niveau des versions –Mais pas conseillé sur les serveurs en production pour cause de mise à jour automatique non prise en charge. Les systèmes d’exploitation –disponible prêt à l’emploi avec presque tous les systèmes –pas forcément dans les versions les plus récentes –il y a des avis de sécurité de temps en temps…

9 Installation d' Apache (2) OpenSSL doit être installé au préalable ! Pour le faire sois-même à partir des sources tar zxvf apache2*tar.gz cd apache*./configure –enable-mods-shared=’ssl all’ make && make install Il ne reste plus qu’à configurer…

10 Installer Apache (3) A partir du dépôt ou des portages des distribution Unix ou GNU/Linux Pour le faire à partir du Dépôt d'Ubuntu ~$ sudo apt-get update ~$ sudo apt-get upgrade ou ~$ sudo aptitude update ~$ sudo aptitude safe-upgrade ~$ sudo apt-get install apache2 Ou ~$ sudo aptitude install apache2

11 Installer Apache (4) Fichier et commande de démarrage –/etc/init.d/apache (ou similaire) – ~$ sudo /etc/init.d/apache2 [start|restart|stop|reload|force- reload|status] ou – ~$ sudo service apache2 [start|restart|stop|reload|force- reload|status] Programme apachectl –avec SSL : apachectl startssl (au-lieu de start) Clé & certificat X.509 –si vous utilisez les SSL il faut avoir ces données avant le démarrage d’Apache

12 Sites Web « virtuels » Mots anglais : « virtual hosting » –utiliser une instance d’Apache pour héberger plusieurs sites Web –voire plusieurs centaines ou milliers de sites Deux modes avec Apache –par IP : une adresse IP (ou un numéro de port) par site –par nom : plusieurs sites se partagent la même IP

13 Sites virtuels par nom Très économique, à préférer –quelques très très anciens clients Web pourraient ne pas s’en sortir : tant pis pour eux –facile à configurer et fiable –une IP, port 80 peut héberger des centaines ou milliers de sites Web –chaque site est séparé des autres Ne convient pas aux Web sécurisés (HTTPS)

14 Sites virtuels par IP Nécessite beaucoup de ressources –un couple IP:port par site Indispensable pour les Web SSL –parce que l’échange des certificats se fait dès le début de la connexion SSL (avec le HTTP) –le certificat est lié au nom du serveur, Apache ne peut donc pas par avance savoir quel certificat utiliser

15 Si une seule IP est disponible… Utiliser des numéros de ports séparés –port 80 : tous les serveurs standard –port 443 : le « privilégié » en https –port 8443 : un autre site https –… Risque pour l’accès aux sites –hélas de nombreuses politiques de sécurité d’entreprises interdisent l’accès aux sites Web ailleurs que sur les numéros de ports standard (80 et 443)

16 DNS & Sites Web En plus de la configuration Apache il faut un enregistrement DNS adéquat pour renvoyer le trafic Proposition –utiliser pour chaque site un enregistrement de type A ( IN A ) plutôt qu’un CNAME –utiliser l’IP du serveur –il n’y a pas de numéro de port : c’est dans l’URL que cela se trouve

17 Configuration d’Apache (1) Sur Ubuntu le fichier de configuration est segmenté en plusieurs qui sont inclus au fichier /etc/apache2/apache2.conf –/etc/apache2/sites-[avalaible|enable]/nom_du_site.conf –/etc/apache2/mods-[avalaible|enable]/nom_du_module.conf –/etc/apache2/conf-[available|enable]/fichier_de_configuration.conf

18 Configuration d’Apache (2) Structure des fichiers de configuration d'Apache2 /etc/apache2/ |-- apache2.conf | `-- ports.conf |-- mods-enabled | |-- *.load | `-- *.conf |-- conf-enabled | `-- *.conf `-- sites-enabled `-- *.conf

19 Configuration d’Apache (3) Structure des fichiers de configuration d'Apache2 Une structure simple à comprendre avec des sections contenu de la section Un fichier additionnel qui peut être utile : mime.types

20 Configuration d’Apache (3) Nombre de serveurs à lancer (StartServers, MinSpareServers, …) –à adapter en fonction de l’activité du site –petit site : prendre des valeurs très basses (StartServers = 1 par exemple) Listen 80 –indique sur quelle(s) IP et numéros de ports Apache doit accepter les connexions –il faut indiquer toutes les combinaisons qui seront utilisées Listen 80 Listen 443

21 Configuration d’Apache (4) User / Group – ne pas oublier de « ne pas faire tourner Apache sous l’identité privilégiée » ! HostnameLookups Off – il est conseillé de conserver cette option : sinon délais supplémentaires liés au DNS significatifs – les logiciels de statistiques s’occuperont de cela plus tard

22 Configuration d’Apache (5) NameVirtualHost *:80 – permet de définir les adresses et numéro de ports utilisés pour de l’hébergement virtuel par nom – toutes les autres adresses sont par définition « virtuelles par adresse » – n’a pas de sens pour HTTPS (c’est à dire *:443 par exemple) Il faut ensuite définir les VirtualHost associés

23 QUESTIONS ?

24 Configuration VirtualHost (1) Serveur virtuel basé sur le nom ServerAdmin DocumentRoot /var/www/ ServerName ServerAlias web.mon-domaine.bf ErrorLog /var/www/ CustomLog /var/www/ common Autant d’entrée que de NameVirtualHost

25 Configuration VirtualHost (2) Choix du VirtualHost « nommé » – la liste est balayée séquentiellement – dès que le nom correspond (ServerName ou ServerAlias) on s’arrête – si le nom n’est pas trouvé, c’est la 1 ère entrée qui sera utilisée Attention au nombre de fichiers ouverts ! – 2 fichiers par site rien que pour les journaux

26 Configuration VirtualHost (3) Serveur virtuel basé sur l’adresse IP ServerAdmin DocumentRoot /var/www/ ServerName ServerAlias web.mon-domaine.bf ErrorLog /var/www/ CustomLog /var/www/ common Exactement une entrée par adresse IP/Port – ne pas oublier de mettre le « Listen » qui va bien

27 Configuration SSL Un VirtualHost par IP/Port ServerAdmin DocumentRoot /var/www/ ServerName ServerAlias web.mon-domaine.bf ErrorLog /var/www/ CustomLog /var/www/ common SSLEngine On SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+SSLv2:+EXP:+eNULL SSLCertificateFile /local/apache/ssl.crt/ SSLCertificateKeyFile /local/apache/ssl.key/ Cf. fichier ssl.conf d’Apache pour le reste des options & exercices

28 Création des fichiers et répertoires Les répertoires doivent exister – mkdir –p /var/www/ – mkdir /var/www/ Et avoir les bonnes permissions – www-data : utilisateur d'Apache – logs : root ? Ne pas oublier de faire « tourner » les fichiers journaux (logs)

29 Dernières vérifications apachectl configtest – permet de vérifier la bonne syntaxe du fichier de configuration apachectl graceful – recharge le fichier de configuration sans interrompre brutalement les connexions en cours apachectl restart – la même chose en plus violent apachectl start / startssl / stop – arrêt et redémarrage d’Apache Il est conseillé d'utiliser les scripts de démarrage et redémarrage fournis par le système d'exploitation pour une meilleur cohérence des processus d'Apache : ~$ sudo service apache2 start|restart|reload|stop|status

30 Créer son autorité de certification ? Possibilité 1 : non –les programmes classiques (par exemple Apache + mod_ssl) savent générer avec OpenSSL un certificat auto-signé –c’est facile mais pas homogène Possibilité 2 : oui –assure un minimum d’homogénéité dans votre entité –c’est rigolo et intéressant de manipuler et comprendre ces outils

31 Exercices avec Apache Nous prenons le scénario 2 –installer une autorité de certification locale –artisanale –générer son Root CA –générer ses certificats serveur Ne pas oublier de diffuser votre certificat racine