114
L Stefenel ©2009 1 NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSL PPP et HDLC - Luiz Angelo STEFFENEL - Protocoles Avancés Master 1 MI

NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 1

NATServeur MailServeur Apache et serveurs virtuelsSSH/SSLPPP et HDLC

- Luiz Angelo STEFFENEL -

●Protocoles AvancésMaster 1 MI

Page 2: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 2

Organisation du Cours

NAT

Serveur Mail

Confguration d'un serveur Apache

Serveurs Virtuels

SSL/TLS

PPP et HDLC

Page 3: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 3

Réseaux Privés

Le RFC 1918 a défni des Réseaux IP PrivésAdresses non connectés à l'Internet

Les adresses IP dans un réseau privé peuvent être attribués de manière arbitraire

Aucun enregistrement est nécessaireLa pénurie d'adresses IP valides a rendu les réseaus privés très populaires dans le domaine des sous-réseaux « endpoint »

Généralement les adresses correspondent aux sous-réseaux expérimentaux suivants (adresses non routés) :

10.0.0.0 – 10.255.255.255172.16.0.0 – 172.31.255.255192.168.0.0 – 192.168.255.255

Page 4: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 4

Adresses Privées

H1

R1

H2

10.0.1.3

10.0.1.1

10.0.1.2

H3

R2

H4

10.0.1.310.0.1.2

Private network 1

Internet

H5

10.0.1.1Private network 1

213.168.112.3

128.195.4.119 128.143.71.21

Page 5: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 5

Network Address Translation (NAT)

Le NAT est un service ofert par les routeurs afn de traduire les adresses (et aussi les numéros de ports) des datagrames IP qui entrent/quittent un réseau privé

Établi initialement dans le RFC 1631

Le NAT ofre la possibilité aux hôtes dans un réseau privé de communiquer avec des hôtes sur l'Internet

H1

private address: 10.0.1.2public address: 128.143.71.21

H5

Privatenetwork

Internet

Source = 10.0.1.2Destination = 213.168.112.3

Source = 128.143.71.21Destination = 213.168.112.3

public address: 213.168.112.3NATdevice

Source = 213.168.112.3Destination = 128.143.71.21

Source = 213.168.112.3Destination = 10.0.1.2

PrivateAddress

PublicAddress

10.0.1.2 128.143.71.21

Page 6: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 6

Scénario 1 – Nombre limité d'adresses valides

Scénario : Le réseau d'une entreprise a un grand nombre de machines mais seule une petite quantité d'adresses IP publiques

Solution NAT :Le réseau interne (intranet) est confguré avec des adresses privés

Le routeur NAT, placé à la frontière entre le réseau privé et le réseau public, contrôle une liste d'adresses IP publiques

Lorsqu'une machine du réseau interne envoie un datagramme, le dispositif NAT choisi une adresses IP publique (de sa liste) et attache cette adresse (bind) à l'adresse privée de la machine

Page 7: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 7

H1

private address: 10.0.1.2public address:

H5

Privatenetwork

Internet

Source = 10.0.1.2Destination = 213.168.112.3

Source = 128.143.71.21Destination = 213.168.112.3

public address: 213.168.112.3NATdevice

PrivateAddress

PublicAddress

10.0.1.2

Pool of addresses: 128.143.71.0-128.143.71.30

Scénario 1 – Nombre limité d'adresses valides

Page 8: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 8

Scénario : L'entreprise dispose d'un sous-réseau CIDR fourni par un FAI. Si l'entreprise décide de changer de FAI, elle est obligée rendre le sous-réseau et à changer les adresses IP des machines Solution NAT :

Attribuer des adresses privées aux machines de l'entrepriseLe dispositif NAT fait de la traduction statique pour lier chaque adresse privée à une adresse publiqueLa migration de FAI requiert seulement la mise à jour du dispositif NAT. La transition est transparente pour les hôtes du réseau interne

Remarque :La diférence avec le scénario précédent est que la traduction est statique

Scénario 2 – Migration de FAI

Page 9: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 9

H1

private address: 10.0.1.2public address: 128.143.71.21

128.195.4.120

Source = 10.0.1.2Destination = 213.168.112.3

NATdevice

PrivateAddress

PublicAddress

10.0.1.2128.143.71.21128.195.4.120

128.143.71.21

128.195.4.120

Source = 128.143.71.21Destination = 213.168.112.3

Source = 128.195.4.120Destination = 213.168.112.3

ISP 2allocates address block

128.195.4.0/24 to privatenetwork:

Privatenetwork

ISP 1allocates address block

128.143.71.0/24 to privatenetwork:

Scénario 2 – Migration de FAI

Page 10: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 10

IP masquerading

L'IP masquerading est aussi connu sous d'autres noms Network address and port translation (NAPT)

Port address translation (PAT)

Scénario : L'entreprise (utilisateur) dispose d'une seule adresse IP publique pour répondre à plusieurs machines dans le réseau interne

Solution NAT :Attribuer des adresses privées à chaque machine du réseau local

Le dispositif NAT modife les numéros de port du trafc sortant

Page 11: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 11

IP masquerading

H1

private address: 10.0.1.2

Private network

Source = 10.0.1.2Source port = 2001

Source = 128.143.71.21Source port = 2100

NATdevice

PrivateAddress

PublicAddress

10.0.1.2/2001 128.143.71.21/2100

10.0.1.3/3020 128.143.71.21/4444

H2

private address: 10.0.1.3

Source = 10.0.1.3Source port = 3020

Internet

Source = 128.143.71.21Destination = 4444

128.143.71.21

Page 12: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 12

Équilibrage de Charge entre les Serveurs

Scénario : Un service (serveur web, par exemple) doit être réparti entre plusieurs serveurs afn d'équilibrer la charge, mais l'adresse d'accès est unique (une seule IP)

Solution NAT :Attribuer une adresse privée à chaque serveurLe dispositif NAT agit comme un proxy pour les requêtes issues du réseau publiqueLe dispositif NAT choisi un serveur de destination diférent à chaque nouvelle connexion entrante

ex.: alternance de façon « round robin »

Page 13: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 13

Private network

Source = 213.168.12.3Destination = 128.143.71.21

NATdevice

PrivateAddress

PublicAddress

10.0.1.2 128.143.71.21

Inside network

10.0.1.4 128.143.71.21

Internet128.143.71.21

S1

S2

S3

10.0.1.4

10.0.1.3

10.0.1.2

Source= 128.195.4.120

Destination = 10.0.1.2

PublicAddress

128.195.4.120

Outside network

213.168.12.3

Source = 128.195.4.120Destination = 128.143.71.21

Source= 128.195.4.120

Destination= 10.0.1.4

Équilibrage de Charge entre les Serveurs

Page 14: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 14

Ce qu'il faut faire attention

PerformanceLa modifcation de l'entête IP (traduction de l'adresse) oblige le dispositif NAT à recalculer le checksum de l'entête IPLa modifcation de l'entête TCP.UDP (traduction du numéro de port) oblige le dispositif NAT à recalculer le checksum de l'entête TCP/UDP

FragmentationIl faut faire attention à ce qu'un datagramme fragmenté avant l'arrivé au dispositif NAT soit entièrement redirectionné à la même adresse IP / port

Connectivité bout-à-boutLe NAT empêche la connectivité end-to-end sur Internet

Une machine sur Internet ne peut pas initier une communication avec une machine dans le réseau privé

Le problème est encore plus grave si les deux machines appartiennent à des réseaux privés

Page 15: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 15

Adresse IP transporté par les applicationsCertaines applications et protocoles applicatifs transportent les adresses IP directement avec les données

Ces applications difcilement arrivent à communiquer à travers la frontière publique/privée

Quelques dispositifs NAT regardent les données de certains protocoles bien connus à la recherche d'adresses IP

Si le dispositif trouve des adresses « cible », il les traduit selon le

tableau de traduction d'adresses

Ce qu'il faut faire attention

Page 16: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 16

Exemple : NAT et FTP

H1 H2

public address:128.143.72.21

FTP client FTP server

PORT 128.143.72.21/1027

200 PORT command successful

public address:128.195.4.120

RETR myfile

150 Opening data connection

establish data connection

Opération normale du protocole FTP

Page 17: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 17

Exemple : NAT et FTP

Dispositif NAT adapté au protocole FTP Actif (très rare)

H1

Private network

NATdevice

H2

private address: 10.0.1.3public address: 128.143.72.21

Internet

FTP client FTP server

PORT 10.0.1.3/1027 PORT 128.143.72.21/1027

200 PORT command successful200 PORT command successful

RETR myfile

establish data connection

RETR myfile

150 Opening data connection150 Opening data connection

establish data connection

Page 18: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 18

Exemple : NAT et FTP

FTP en mode passif avec NAT

H1

Private network

NATdevice

H2

private address: 10.0.1.3public address: 128.143.72.21

Internet

FTP client FTP server

PASV PASV

Entering Passive Mode128.195.4.120/10001

Entering Passive Mode128.195.4.120/10001

public address:128.195.4.120

Establish data connection Establish data connection

Page 19: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 19

Confguration de NAT sous Linux

Linux utilise le système Netflter/iptables pour rajouter des règles de fltrage aux datagrammes IP

Incomingdatagram

filterINPUT

Destinationis local?

filterFORWARD

natOUTPUT

To application From application

Outgoingdatagram

natPOSTROUTING

(SNAT)

No

Yes filterOUTPUT

natPREROUTING

(DNAT)

Page 20: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 20

Confgurer NAT avec iptables

Premier exemple (traduction 1<->1) :iptables –t nat –A POSTROUTING –s 10.0.1.2 –j SNAT --to-source 128.143.71.21 Liste d'adresses IP :iptables –t nat –A POSTROUTING –s 10.0.1.0/24 –j SNAT --to-source 128.128.71.0–128.143.71.30Migration de FAI: iptables –t nat –R POSTROUTING –s 10.0.1.0/24 –j SNAT --to-source 128.195.4.0–128.195.4.254IP masquerading : iptables –t nat –A POSTROUTING –s 10.0.1.0/24 –o eth1 –j MASQUERADE Équilibrage de charge :iptables -t nat -A PREROUTING -i eth1 -j DNAT --to-destination 10.0.1.2-10.0.1.4

Page 21: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 21

Organisation du Cours

NAT

Serveur Mail

Confguration d'un serveur Apache

Serveurs Virtuels

SSL/TLS

PPP et HDLC

Page 22: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 22

Pourquoi gérer son propre serveur de courriers ?

Plus de transit par le fournisseur d’accès pour la messagerie en interne

Choix de l’interconnexion des sites distants

Sécurité des données

Pas de limite de quotas

Filtrage sur mesure des courriers

INCONVENIENTS :Demande un niveau de compétences élevéUne responsabilité accrue vis-à-vis des utilisateurs, mais aussi de la communauté Internet

Page 23: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 23

Les fonctionnalités requises

Echange de Mails dans l’entreprise et vers l’extérieur

Consultation accessible par WebMail

Protection contre les virus

Filtrage des courriers non sollicités

Page 24: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 24

Les besoins

De préférence une IP Fixe

Une connexion Internet Haut-Débit

Un nom de domaine associé à votre IP

Le protocole SMTP

Les protocoles POP et IMAP

Un routeur/NAT si le serveur est sur une IP privée

Page 25: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 25

POSTFIX : le MTA

Le MTA est l’agent de transfert des courriers

POSTFIX est disponible : www.postfx.org

En tant que MTA, POSTFIX ne fournit aucune fonctionnalité de récupération des courriers par les utilisateurs, il ne fournit que le protocole SMTP

L'architecturePOSTFIX est composé de plusieurs processus (daemons)

Chacun de ces daemons à une fonction bien précise et distincte

Le daemon nommé master assure la gestion des diférents processus

Page 26: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 26

POSTFIX : Arrivée des Messages

Trois façons de recevoir les messages :

SMTP :

La manière la plus classique, les messages sont traités par le daemon SMTPD

QMQP :

Les messages proviennent d’un autre MTA QMAIL et sont pris en charge par le daemon QMQPD

SENDMAIL :

Les messages générés par des scripts ou émis par des applicatifs locaux transitent souvent par le MTA SENDMAIL, ceux-ci sont alors remis au daemon POSTDROP

Ce processus créé un fchier message dans le répertoire MAILDROP de la fle d’attente de POSTFIX. C’est le daemon PICKUP qui surveille les arrivées et remets les nouveaux messages au daemon CLEANUP

Page 27: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 27

POSTFIX : Le processus CLEANUP

Après avoir reçus les messages, les daemons SMTPD, QMQPD et PICKUP les transmettent au processus CLEANUP

CLEANUP efectue les tâches suivantes :

Application des règles de limitation de tailles des messages

Application des règles utilisateurs de fltrage de contenu

Réécriture éventuelle d’adresses d’expéditeur et/ou de destinataires à l’aide du daemon TRIVIAL-REWRITE

Ajout des en-têtes obligatoires manquantes

CLEANUP place ensuite les messages dans le processus responsable de la fle d’attente d’entrée QMGR

Page 28: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 28

POSTFIX : La livraison des messages

POSTFIX est doté de plusieurs agents de livraison de messages (MDA) :

Une partie cliente SMTP chargée de router les messages vers les autres serveurs via le protocole du même nom.

Un agent de livraison LOCAL qui livre les messages aux utilisateurs locaux du système.

Un agent VIRTUAL si le système héberge des boîtes aux lettres d’utilisateurs virtuels (Utilisateurs sans comptes Shell)

Les processus PIPE et SPAWN qui permettent de développer ses propres agents de livraison.

Page 29: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 29

POSTFIX : Installation

Comme tous les logiciels sous Linux, POSTFIX peut-être installé de diférents façons :

A partir des sources

A partir d’un paquetage propre à la distribution de Linux utiliséeapt-get install postfx (Debian / Ubuntu)

Page 30: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 30

POSTFIX : Confguration

Les fchiers de confguration sont au format texte et sont donc éditables facilement avec un simple éditeur.

Les principaux fchiers sont :

master.cf

main.cf

Ils se trouvent dans le dossier :

/etc/postfx

Après chaque modifcation de ces fchiers, la confguration de postfx doit être rechargée :

postfx reload

Page 31: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 31

POSTFIX : main.cf

les informations sur votre domaine :mydomain = a203.net

myhostname = debian-prof

myorigin = $mydomain ou $myhostname

mydestination = $mydomain, $myhostname, localhost.$mydomain

relayhost = [smtp.monfai.com]

mynetworks = 192.168.1.0/24, 172.16.0.0/16

Page 32: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 32

POSTFIX : Mailbox ou Maildir

Par défaut POSTFIX livre les messages locaux dans des fchiers au format Mailbox (mbox)

Ces fchiers portent le nom de l’utilisateur de destination et se situent dans le dossier :

/var/mail ou /var/spool/mail

Il existe UN seul fchier par boîtes aux lettres

Page 33: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 33

POSTFIX : Mailbox ou Maildir

Pour éviter les inconvénients des fchiers mbox, il existe un autre format de boîtes aux lettres : Maildir

Il utilise plusieurs répertoires et un fchier par message

La boîte d’arrivée des messages se situe généralement dans le répertoire personnel de chaque utilisateur.

Cette option est défnie dans le fchier main.cf :

Home_mailbox = Maildir/

La commande maildimake permet de créer les boîtes dans les répertoires utilisateurs

Page 34: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 34

Lire le courrier : POP et IMAP

POSTFIX ne fournissant que le protocole SMTP, il est nécessaire d’installer d’autres logiciels pour les utilisateurs puissent récupérer leurs messages :

courier-imap

courier-pop

ATTENTION, ces deux produits ne fonctionnent qu’avec des boîtes au format Maildir

Page 35: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 35

Lire le courrier : WEBMAIL

La solution Webmail présente plusieurs avantages, aussi bien du coté client que du coté administration

Une seule installation à réaliser : Celle de l’application WebMail sur le serveurLa possibilité de pouvoir interroger ses mails de n’importe quel endroit de la planète à partir d’un simple navigateur

Elle peut présenter aussi quelques inconvénients :Nécessite un espace disque plus important sur le serveur car les utilisateurs y laisseront la totalité de leurs messagesPas de possibilité de consulter ses messages si l’utilisateur n’est pas connecté au réseauLa gestion des pièces jointes de tailles importantes est parfois impossible

Page 36: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 36

Lire le courrier : Webmail

Exemples de serveur Webmail :SQUIRRELMAILHORDE

L’installation nécessite :Un Serveur Apache Php

Généralement les produits sont extensibles et de nombreux plug-ins sont fournisComme tout les applications WebMail, des connexions sécurisées SSL sont possibles

Page 37: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 37

Filtrage des messages : PROCMAIL

Procmail fournit des règles permettant d’appliquer des traitements particuliers à tous les messages arrivant sur le système. Il permet entre autres :

De rediriger les messages vers des listes de distribution

De rediriger les messages vers certaines boîtes aux lettres en fonction de critères défnis

De supprimer certains messages à l’arrivée

De mettre en place un service de répondeur automatique en cas d’absence prolongée

De passer le traitement du courrier à une autre application :

Antivirus (ClamAV, ...)

Antispams (Spamassassin, ...)

Page 38: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 38

Les sauvegardes

Aucun système n’est à l’abris d’une panne , une sauvegarde est indispensable. Vous devez sauvegarder :

Les données d’authentifcationLes fchiers de confguration du système de messagerieLes boîtes aux lettres des utilisateursLa fle d’attente des messagesLes fchiers de logLa liste des logiciels installés

Page 39: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 39

Sécurité du Système

Le relais de messagerie est aujourd’hui le point sensible du système

Exploitation de failles de sécurité (webmail Roundcube, ...)

Plusieurs solution existent permettant à chacun de pouvoir déposer des messages sur le serveur SMTP quelque soit l’endroit où il se trouve :

Les VPN – création de tunnels cryptés vers un réseau

L’authentifcation SMTP (SMTP-AUTH)Cette méthode nécessite l’installation d’un autre logiciel Cyrus-SASL. En efet, POSTFIX n’implémente pas cette fonction

Page 40: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 40

Organisation du Cours

NAT

Serveur Mail

Confguration d'un serveur Apache

Serveurs Virtuels

SSL/TLS

PPP et HDLC

Page 41: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 41

APACHE

Le serveur Apache 2 répond actuellement pour environ 50% des sites web existants (les valeurs varient selon les sources)

Serveur web de code source ouvert (open source)

opérations très optimisées

intégration facile de modules divers (php, ajax, tomcat)

sécurité : les failles sont corrigées très rapidement

Trois modes « multiprocessus »

prefork – non threadé

worker – threadé

répond à la charge en variant le nombre de processus

perchild – threadé

répond à la charge en variant le nombre de threads par processus

Page 42: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 42

APACHE – Installation sous Ubuntu

apt-get install apache2-mpm-worker

ou apt-get install apache2-mpm-prefork

ou apt-get install apache2-mpm-perchild

daemon : apache2

port 80 (http)

port 443 (https)

script de démarrage : apache2

/etc/init.d/apache2 start

Page 43: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 43

Confguration de Base

Lancer le serveur Apache

/etc/init.d/apache2 start

Vérifer que Apache tourne correctement

ps -aux | grep httpd (vérife si le serveur a été chargé)

naviguer sur http://localhost(afche une page si correct)

le répertoire par défaut des fchiers est /var/www/

Recharger les fchiers de confguration (après modifcation)

/etc/init.d/apache2 reload

Arrêter le serveur

/etc/init.d/apache2 stop

Page 44: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 44

Confguration

/etc/apache2/apache2.conf

Autres fchiers et répertoires utilisés (sous /etc/apache2)

httpd.conf

ports.conf

conf.d/

mods-available

mods-enabled/

sites-available/

sites-enabled/

proxy-conf

Page 45: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 45

Édition du fchier apache2.conf

À l'aide de votre éditeur préféré (vi, nano, etc.), ouvrir le fchier /etc/apache2/apache2.conf

On y trouve notamment :

utilisateur et groupe qui « tournent » le serveur apache

User www-data

Group www-data

les fchiers par défaut (chargés sans qu'on donne leurs noms)

DirectoryIndex index.html index.php index.xhtml

le répertoire par défaut des pages des utilisateurs (décommenter)

# UserDir public_html

Page 46: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 46

Édition du fchier apache2.conf

Le journal des erreurs

ErrorLog /var/log/apache2/error.log

Le fchier à afcher en cas d'erreur

ErrorDocument

Une sortie formatée des connections

CustomLog

Le fchier où sont défnies les portes d'écoute

# Include ports listing

Include /etc/apache2/ports.conf

Page 47: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 47

Serveurs Virtuels - Motivation

Il est courant d'héberger des dizaines de sites dans un seul serveur. Parfois, ces sites ont des adresses diférents (site-1.cpnv.com, mars.ouaga.fr, ...)

Lorsque les requêtes HTTP atteignent notre serveur http, celui-ci va regarder dans ses règles afn de trouver dans quel répertoire il doit se diriger. C'est là que la gestion des virtualhosts va intervenir

Également, la réponse doit inclure dans l'en-tête http l'adresse virtuelle initialement demandée

En conséquence, nous créerons une entrée pour chaque site hébergé sur notre serveur

Cette entrée contiendra le domaine prévu, et le répertoire de redirection

Page 48: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 48

Serveurs Virtuels - les diférents types

Les serveurs virtuels peuvent être crées selon diférentes approches :

Les Hôtes Virtuels basés sur l'adresse IPTrès utile lorsque le serveur a plusieurs cartes réseau

Hôtes Virtuels basés sur le numéro de portLe numéro de port donne accès à des services diférents

C'est le cas des serveurs HTTPS (qui écoutent sur le por 443)

Hôtes Virtuels basés sur le nomDiférents noms sont confgurés dans le DNS

Page 49: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 49

Confguration

Prenons par exemple deux sites,

www.test1.com - la page principale de l'entreprise

intranet.test1.com – la page interne

Nous alons créer un répertoire pour chaque site sous /var/www

/var/www/test1

/var/www/intranet

Pour chaque site nous allons créer un fchier de confguration sous le répertoire /etc/apache2/sites-available

Remarque : si un site par défault est déjà en activité, il doit être confguré pour répondre à toutes les requêtes sauf celles destinées aux serveurs virtuels

Page 50: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 50

Confguration de Base

Créer deux fchiers (un par virtual server) avec au moins ces informations

La balise <VirtualHost IP:PORT>

Indique quel est l'IP et port d'écoute (* ou *:80 généralement)

La balise ServerName NOM

Indique le nom du serveur virtuel (utilisé pour fltrer les requêtes)

La balise DocumentRoot CHEMIN

Indique le chemin des pages de ce serveur virtuel

<VirtualHost IP:PORT> ServerName NOM DocumentRoot CHEMIN

</VirtualHost>

Page 51: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 51

Fichier de confguration pour www.test1.com

<VirtualHost *> ServerAdmin [email protected] ServerName www.test1.com ServerAlias test1.com DocumentRoot /var/www/test1/ ErrorLog /var/www/test1/logs/error.log ErrorDocument 404 /var/www/test1/erreur.html LogLevel warn</VirtualHost>

Page 52: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 52

Fichier de confguration pour intranet.test1.com

<VirtualHost *> ServerAdmin [email protected] ServerName intranet.test1.com DocumentRoot /var/www/intranet/ ErrorLog /var/www/intranet/logs/error.log ErrorDocument 404 /var/www/intranet/erreur.html LogLevel warn</VirtualHost>

Page 53: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 53

L'heure de la vérité

On sauvegarde les fchiers

Pour activer le domaine nous faisons un lien symbolique dans le répertoire sites-enabled :

ln -s /etc/apache2/sites-available/test1.com/etc/apache2/sites-enabled/test1.com

On redémare apache2 :

/etc/init.d/apache2 restart

Et on peut accéder à notre répertoire :

http://www.test1.com/

Page 54: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 54

Protéger l'accès à une page web

Utilisation du contrôle htaccess

1 – modifer la confguration du serveur pour permettre le contrôle via htaccess

<VirtualHost *> ServerAdmin [email protected] ServerName intranet.test1.com DocumentRoot /var/www/intranet/ <directory /var/www/intranet/> AllowOverride AuthConfig Order deny,allow </directory>

ErrorLog /var/www/intranet/logs/error.log ErrorDocument 404 /var/www/intranet/erreur.html LogLevel warn</VirtualHost>

Page 55: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 55

Créer un fchier de mots de passe

Pour protéger un répertoire avec un mot de passe il faut :

Créer un fchier avec les mots de passe

htpasswd -c /chemin/passwd user (création du fchier)

htpasswd /chemin/passwd autreuser (rajouter un user)

Options : -m (MD5) ou -d (crypt) ou -p (plain text)

Rajouter les règles d'authentifcation dans le fchier .htaccess qui est dans le répertoire concerné

AuthType BasicAuthName "Restricted Files"# (Following line optional)AuthBasicProvider fileAuthUserFile /usr/local/apache/passwd/passwordsRequire user rbowen

Page 56: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 56

Groupe d'utilisateurs

Créer un fchier groupes avec le format

GroupName: rbowen dpitts sungo rsherseyCréer un fchier avec les mots de passe des utilisateurs

Rajouter les règles d'authentifcation dans le fchier .htaccess qui est dans le répertoire concerné

AuthType BasicAuthName "By Invitation Only"# Optional line:AuthBasicProvider fileAuthUserFile /usr/local/apache/passwd/passwordsAuthGroupFile /usr/local/apache/passwd/groupsRequire group GroupName

Autre option est de rajouter uniquement « Require valid-user »

accepte uniquement les users avec un mot de passe

Page 57: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 57

Questions de Sécurité

Mots de passe stockés en format texte

option : utilisation d'une base de données

AuthBasicProvider dbm

AuthDBMUserFile /www/passwords/passwd.dbm

Transmission du mot de passe en clair

mot de passe transmis à chaque lecture de page ou d'image d'un répertoire protégé

option : la méthode d'authentifcation AuthType Digest utilise la méthode d'hachage MD5

créer le fchier de mots de passe avec l'outil htdigest

méthode récente -> difcilement supporté par des navigateurs anciens (<2004)

Page 58: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 58

.htaccess avec la méthode Digest

Création du fchier de mots de passe

root# htdigest -c .passwd 'zone restricte' user

Puis modifcation de .htaccess

AuthType Digest

AuthName "zone restricte"

AuthDigestDomain /intranet/ http://intranet.teste1.com

AuthDigestProvider fle

AuthUserFile /var/www/intranet/.senhas

Require valid-user

Page 59: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 59

En cas de problèmes

Lisez les messages d'erreur

Cherchez dans /var/log/apache2/... la description des problèmes

Google ;)

http://doc.ubuntu-fr.org/apache2

http://doc.ubuntu-fr.org/tutoriel/virtualhosts_avec_apache2

Page 60: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 60

Organisation du Cours

NAT

Serveur Mail

Confguration d'un serveur Apache

Serveurs Virtuels

SSL/TLS

PPP et HDLC

Page 61: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 61

Défnition et historique

SSL : Secure Socket Layer est le standard dans les communications et les transactions sécurisées

Historique

1994 : Netscape développe le protocole SSL

SSL permet à un client d’authentifer le serveur

Seul le Netscape Navigator utilise ce protocole

1995 : SSL V3 permet au serveur d’authentifer le client.

2001 : IETF achète le brevet du SSL et le rebaptise TLS (Transport Layer Security)

Page 62: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 62

Pourquoi utiliser SSL

SSL est standardisé

Il existe une version libre de SSL : OpenSSL (http://www.openssl.org) que vous pouvez utiliser dans vos programmes sans payer de royalties

OpenSSL est opensource: tout le monde peut contrôler et vérifer le code source (Le secret réside dans les clés de chifrement, pas dans l'algorithme lui-même)

SSL a été cryptanalysé : ce système a été plus analysé que tout ses concurrents. SSL a été passé en revue par de nombreux spécialistes en cryptographique

Il est répandu : on peut facilement créer des programmes qui dialogueront avec d'autres programmes utilisant SSL

Page 63: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 63

Fonctionnalités

Authentifcation

Authentifcation du serveur par le client

Authentifcation mutuelle

Confdentialité

Intégrité

Non répudiation

Page 64: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 64

Authentifcation du serveur

Le client a besoin de s’assurer de l’identité du serveur avant l’envoi des informations sensibles

Utilisé dans le domaine du commerce électronique (B2C)

Basé sur les certifcats électroniques :

Le serveur envoie son certifcat au client.

Le client s’assure de la validité du certifcat et de la signature de ce dernier par une autorité de certifcation de confance.

Si le certifcat est valide le client peut entamer une communication sécurisée avec le serveur (session).

Page 65: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 65

Authentifcation mutuelle

Le serveur aussi a besoin de s’assurer de l’identité du client

Utilisé dans le domaine du commerce électronique (B2B) et dans le cas où une partie du SI est disponible sur le web pour des utilisateurs autorisés seulement

À son tour, le client doit envoyer son certifcat au serveur

Ce certifcat est accepté s’il est valide et signé par une autorité de certifcation de confance

Page 66: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 66

Confdentialité

Une fois la session établie, les deux entités peuvent échanger leurs informations en toute sécurité

Utilisation de la cryprographie

SSL utilise le cryptage asymetrique (RSA, Dife-Hellmann) pour ouvrir une session

Défnition d'une clé maître

SSL utilise le cryptage symétrique (DES, 3DES, IDEA, RC4) pour chifrer la transmission des données

Clé de dession

Aprés l'établissement des clés, toute autre personne qui intercepte les informations échangées est incapable de les déchifrer puisque elle ne connaît pas la clé de session

Pendant une certaine durée de temps

Page 67: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 67

Intégrité

Une tierce personne peut toujours changer les informations sans avoir besoin de les déchifrer

Certains types d'attaque man in the middle

SSL protège les informations échangés contre ces modifcations. Ceci garantie la véracité des informations reçues (N° de la carte de crédit)

SSL envoie avec les messages une empreinte numérique issue d’une fonction de hachage

Probabilité très réduite de collision

Page 68: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 68

Non répudiation

SSL est utilisé dans des domaines très sensibles tel que le commerce électronique

Lorsqu’ une transaction est faite SSL peut empêcher le fait qu’une personne nie avoir efectué cette transaction

Mécanisme de la signature électronique :

l’émetteur signe ces messages par sa clé privée (stockée seulement chez lui)

le récepteur vérife cette signature avec la clé publique qui se trouve dans le certifcat de l’émetteur

Page 69: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 69

Fonctionnement

Client ServeurCommencer la session

Certificat serveur

Clé maîtresse cryptée

Session établie Demande de certificat

Certificat client

Échange de données cryptées par clé de session

Page 70: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 70

Composantes

SSL se compose de deux parties :

SSL Record Protocol :

assure la confdentialité et l’intégrité des données échangées

SSL Handshake Protocol, SSL ChangeCipherSpec et SSL Alert

assurent l’authentifcation et l’établissement de la session

Handshake ChangeCipherSpec Alert

IP

TCP

SSL Record Protocol

Protocole applicatif

Page 71: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 71

Les utilisations de SSL

SSL peut être utilisé pour sécuriser pratiquement n'importe quel protocole utilisant TCP/IP

Certains protocoles ont été spécialement modifés pour SSL :

HTTPS : HTTP+SSL

FTPS est une extension de FTP (File Transfer Protocol) utilisant SSL

SSH (Secure Shell) : telnet (ou rlogin) sécurisé

Il est possible de sécuriser des protocoles en créant des tunnels SSL.

Une fois le tunnel créé, vous pouvez faire passer n'importe quel protocole dedans (SMTP, POP3, HTTP, NNTP...)

Page 72: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 72

Qui vérife un Certifcat ?

Ce sont les PKI (Public Key Infrastructure), des sociétés externes (auxquelles vous faites implicitement confance), qui vont vérifer l'authenticité du certifcat

(La liste de ces PKI est incluse dans votre navigateur

VeriSign,

Thawte (crée par Mark Shuttleworth, fondateur d'Ubuntu),

etc.

Ces PKI signent cryptographiquement les certifcats des entreprises

Normalement, c'est un service payant

Page 73: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 73

Créer un certifcat

Un certifcat contient des informations concernant l'identité de son détenteur (la personne qui publie les données)

Ce certifcat s'accompagne d'une clé publique qui est indispensable pour que la communication entre les machines soit chifrée

Ain de garantir l'authenticité du certifcat, ce dernier est signé numériquement par le biais d'une clé privée provenant soit d'un organisme ofciel (Société spécialisée dans la certifcation) soit par le détenteur du Certifcat lui même

Dans ce dernier cas, on parlera de certifcat auto-signé

Un certifcat auto-signé ne sera pas reconnu par les navigateurs internet comme étant certifé

CA Cert (http://www.cacert.org/) permet d'obtenir des certifcats gratuits

Il faut néanmoins installer le certifcat racine dans votre navigateur

Page 74: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 74

Activer SSL sur Apache 2

Activation du module SSL

Pour que le protocole SSL puisse fonctionner avec le Serveur HTTP Apache2, il faut activer le module ssl avec la commande

sudo a2enmod ssl

puis recharger la confguration d'Apache2

sudo /etc/init.d/apache2 force-reload

Créer un certifcat auto-signé sous Ubuntu 8.10

sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/ssl/private/localhost.pem

Autant le certifcat que la clé sont stockés dans ce fchier

Apache recommande de séparer en deux fchiers

Page 75: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 75

-----BEGIN RSA PRIVATE KEY-----MIICXQIBAAKBgQClTwogRlfcRlwPE9vIASym5WToIaZke21OO8c82lCjXN8htRRApDgCOMGYbxDp7oR22TkSX00vw7zLrHyWBB6UbzFdFw5+2sMITxV3E21moyiWRnFwXJUdfCc0RhSAQt7meeDcRxWYls86pPTPUi9LbMInAOkDvRnZ9gxHtqG5/QIDAQABAoGAOgCAqhBkdZqOZI/wNr4Kv8iPXk+oRWt1T9TztGtZjehhNj+GCqRULpthei3GPn59JgJT3xlnSNIiJUixMiXh4FzAogpRq9ZtEcNGmkplHtzFgiTWTDAlOLtKvikcAY7VkmLwADEBVdsCP0iGgpBx+TKR7obydman1A2GfCLWB0ECQQDQAjfb4xI5YbPfDjLmCpgtf1oN7JZquJ9r3vWIVv6rKHhXm6tQBIle62C4ltIvzxzsiGHxiF1DgyNqC6u4QohtAkEAy3LNVnh5G/cQi62m01a/Kg3BNcOj7zIsGQnZ/ZAkvxOy5VX6af8R/5xlK58JU2aRWy//4FXeVFZCUnA02ZNh2GrDmWqj2w8jc+I3O7uOMm6Sv/kCQQCt+qK2S5f3kX77Kg5GnmnkNOlEoTiTFmBn/cW62lBLatSi0/1zParIJbt99P4z3a4Ye0QTptV4eGrvLHRzZvBAkBHbHe62a50Qntyo0qQ49r0+r2c39t9Z6wtjcSM/ZgQs+EtSN9MIfGPBE7Cj0s4GB6suDSQtP2lUJwM/PK2aidU-----END RSA PRIVATE KEY----------BEGIN CERTIFICATE-----MIIBnzCCAQgCCQD+4SZlq8LOrDANBgkqhkiG9w0BAQUFADAUMRIwEAYDVQQDEwlsb2NhbGhvc3QwHhcNMDkwMjEwMTc0MTEwWhcNMTkwMjA4MTc0MTEwWjAUMRIwEAYDV9xGXA8T28gBLKblZOghpmR7bU47xzzaUKNc3yG1FECkOAI4wZhvEOnuhHbZORJfTS/DvMusfJYEHpRvMV0XDn7awwhPFXcTbWajKJZGcXBclR18JzRGFIBC3uZ54NxHFZiWzzqk9M9SL0tswicA6QO9Gdn2DEe2obn9AgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAUnaHTMSnwugohqQUrbCSpgnoAOUAmdYEUJWFHIGoQ5gxYNX/9ec/OoFtUzXhcftBBefvZjXCjgf7pu9zlGPFRW1wXXgwx/3lsD+qAFZhmInp1cQg3rW/Jf+BTXZKHM+DRuw+xBavX6pTU0A7cD3NdSb+bZLPNsAUTOzxJ4yp0QE=-----END CERTIFICATE-----

Page 76: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 76

Modifer notre virtual server pour utiliser SSL

<VirtualHost *:443>

ServerName intranet.teste1.com

DocumentRoot /var/www/intranet

SSLEngine on

SSLCertifcateFile /etc/ssl/private/localhost.pem

SSLCertifcateKeyFile /etc/ssl/private/localhost.pem

</VirtualHost>

Page 77: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 77

Une pause avant d'attaquer PPP et HDLC

Page 78: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 78

Organisation du Cours

NAT

Serveur Mail

Confguration d'un serveur Apache

Serveurs Virtuels

SSL/TLS

PPP et HDLC

Page 79: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 79

Les connexions séries Point à Point

Introduction

Page 80: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 80

Les connexions séries

Les connexions WAN sont basés sur les transmissions via des connexions séries

Le système de transmission encode les informations en signal électrique suivant des méthodes de codage comme

NRZ-L – Nonreturn to Zero Level

AMI – Alternative Mark Inversion

HDB3 – High Density Binary 3

Le plus connu de codage est le codage de Manchester sur Ethernet (qui n'est pas fait pour le WAN ! )

Existence de diférents standard de communication série

RS-232

V.35

High Speed Serial Interface (HSSI)

Page 81: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 81

Time Division Multiplexing

Le Time Division Multiplexing permet de transmettre les informations de plusieurs sources sur le même canal de communication

Les informations de chaque source sont décomposées en « morceaux »

Chaque morceau de chacune des sources sont placées dans des « time slots »

Similitude avec des voitures sur une route

Chaque voiture peut embarquer un certain nombre de personnes

La taille de chaque « morceau » est fxé suivant le TDM utilisé

Page 82: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 82

Time Division Multiplexing Example

Page 83: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 83

Demarcation Point

Demarcation Point : point de connexion qui délimite les responsabilités de l'utilisateur et de l'opérateur

Page 84: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 84

DCE/DTE

Une connexion série est délimitée par

un DTE d'un coté : Data Terminal Equipment

un DCE de l'autre : Data Communication Equipment

Page 85: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 85

Exemple de DTE et DCE

Généralement, une routeur est vu comme un DTEMais également un ordinateur, une imprimante, un terminal, ...

Un DCE, également appelé un CSU/DSU est un équipement qui convertit les données provenant d'un DTE en information compatible avec le lien de communication du service provider

Généralement, les DCE sont des modems

Quand 2 ordinateurs ou 2 routeurs sont relié entre euxIl faut utiliser un câble null-modem (équivalent du câble croisé) pour éliminé l'usage d'un DCEPour des connexions synchrones, il faut également assurer une synchronisation d'horloge qui peut être faite

soit par un équipement externesoit par l'un des routeurs ou ordinateurs qui fait ofce de DCE

Câble DCE : connecteur femelle

Câble DTE : connecteur mâle

Page 86: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 86

Les connexions séries Point à Point

HDLC

Page 87: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 87

Le protocole HDLC

HDLC Normalisé en 1979 par l'ISO

Protocole fonctionnant sur connexion synchrone

En 1981, ITU-I a développé une suite de protocoles « dérivés » de HDLC

Link Access Procedure, Balanced (LAPB) pour X.25

Link Access Procedure on the D channel (LAPD) pour ISDN

Link Access Procedure for Modems (LAPM) and PPP pour les modems

Link Access Procedure for Frame Relay (LAPF) pour Frame Relay

HDLC est un protocole de la couche 2 synchrone assurant

contrôle de fux

Détection d'erreur grâce à des acknowlegments et un système de fenêtre

Page 88: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 88

Le protocole HDLC de Cisco

Le protocole HDLC normalisé ne permet pas de supporter

Plusieurs protocoles de couche 3

Absence d'un champ « type » pour indiquer le protocole encapsulé

Cisco a développé une version de HDLC avec une champ « type »

Cette version est le protocole par défaut de tout routeur Cisco pour les communications sur liaisons séries

Page 89: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 89

La confguration de HDLC en IOS

Page 90: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 90

Le débuggage

Page 91: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 91

Les erreurs possibles

Serial x is down, line protocol is down

Le cable est défectueux ou le Carrier Detect n'est pas détecté

Serial x is up, line protocol is down

Par de détection d'horlogeLa ligne est de mauvaise qualité ou aucun message de type keepalive n'est transmis

Serial x is up, line protocol is up (looped)

Une boucle est détectée. Utilisation de nombres aléatoires dans les messages keepalives et retour de ce même nombre sur une interface

Serial x is up, line protocol is down (disabled)

Trop d'erreurs sont détectées

Serial x is administratively down, line protocol is down

L'interface n'est pas activée

Page 92: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 92

Les connexions séries Point à Point

Le protocole PPP

Page 93: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 93

L'architecture de PPP

PPP : protocole de couche 2

Supporte plusieurs protocoles de couches 3

IP, IPX, ...

Fonctionne à la fois sur des interfaces

Synchrone

Asynchrone

High-Speed Serial Interface (HSSI)

Integrated Services Digital Network (ISDN)

Page 94: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 94

L'architecture de PPP

Page 95: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 95

PPP et la couche 2

Il se décompose en 2 sous-protocoles

Link Control Protocol (LCP)

Etablir, confgurer et tester la connexion

Network Control Protocol (NCP)

Peut gérer plusieurs protocoles de couche 3

Page 96: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 96

Le sous-protocole LCP

Page 97: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 97

Le sous-protocole LCP : ses options

Page 98: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 98

Le sous-protocole LCP

Permet d'avoir des options supplémentaires

Authentication

PAP (Password Authentication Protocol) :

authentifcation en clair

CHAP (Challenge Handshake Authentication Protocol) :

authentifcation par challenge

Compression

Décompression de la trame PPP à la destination

2 types de compression sont disponibles sur routeur Cisco : Stacker et Predictor

Détection d'erreur : les options Quality et Magic Number aident pour la fabilité de la connexion et la détection de boucle

Multilink : une alternative pour faire de l'équilibrage de charge sur les interfaces du routeurs utilisant PPP

PPP Callback

Page 99: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 99

Le sous-protocole LCP

Page 100: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 100

PAP

Page 101: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 101

CHAP

Page 102: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 102

Les phases de l'authentifcation

Page 103: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 103

Le sous-protocole NCP

PPP permet d'encapsuler de multiples protocoles de couche 3 sur le même lien de communication

Pour chaque protocole de couche 3, NCP est utilisé

IP utilise IP Control Protocol (IPCP)

Internetwork Packet Exchange (IPX) utilise Novell IPX Control Protocol (IPXCP)

NCP fourni des champs fonctionnels pour indiquer quel protocole de couche supérieure est encapsulée

Page 104: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 104

Le sous-protocole NCP

Page 105: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 105

Etablissement d'une session PPP

Page 106: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 106

Etablissement d'une connexion PPP

LCP est utilisé pour établir la connexion

3 catégories de trames LCP existent

Link-establishment frames -> établir et confgurer la connexion

Link-termination frames pour terminer la connexion

Link-maintenance frames pour gérer et débugger la connexion

La connexion se fait suivant les phases suivantes :

Link-establishment phase : envoie par chaque device PPP des trames LCP pour confgurer et tester le lien de communication.

Possibilité de négocier la MTU, la compression et l'authentifcation

Phase d'authentifcation (optionel)

Network layer protocol phase : utilisation du sous-protocole NCP pour choisir et confgurer les protocoles de la couche supérieur

La commande show interfaces permet d'obtenir l'état de LCP et NCP

Page 107: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 107

Les connexions séries Point à Point

La confguration

Page 108: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 108

Les commandes

Page 109: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 109

Les options de LCP

Page 110: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 110

Confguration de PAP

Page 111: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 111

Confguration de CHAP

Page 112: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 112

Vérifer PPP

Page 113: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 113

Les messages de debug

Page 114: NAT Serveur Mail Serveur Apache et serveurs virtuels SSH/SSLlsteffenel/cours/Master1/RCRSF/2008/RC… · Protocoles Avancés Master 1 MI. L Stefenel ©2009 2 Organisation du Cours

L Stefenel ©2009 114

La checklist