Académique Documents
Professionnel Documents
Culture Documents
Guillaume Urvoy-Keller
urvoy@unice.fr
De multiples dimensions
Source :
Un exemple : le réseau Unice
➢
Surveillance par MRTG
➢
Visualisation Dynamique
➢
Résultat qualitatif public
➢
Résultat de surveillance réservé au CRI
http://nephi.unice.fr/Router/
3
Plan de cours
➢
Admin Réseau, admin système
➢
Debugging réseau
➢
Ping, traceroute
➢
Aller plus loin : smokeping
➢
Debugging système
➢
Syslog, swatch
➢
SNMP
➢
Les bases
➢
Ex d'outils : Observium et Shinken
➢
Gestion de configuration
➢
Puppet, Ansible
Debugging Réseau
5
Ping
➢
Envoie réception de paquet ICMP
➢
Internet Control Message Protocol
➢
Code : echo request et echo reply
➢
Mesure du temps d'aller-retour (RTT)
6
Ping
➢
Example :
7
Traceroute
➢
Envoie ICMP,UDP ou TCP avec un TTL croissant et reçoit
des routeurs des paquets ICMP code 11 (TTL expired)
➢
Bonne pratique :
➢
Les ISPs doivent configurer leurs routeurs pour répondre à
traceroute (i.e., répondre en ICMP)
➢
MAIS, les ISPs veulent prévenir des attaques
➢
Limitation du débit de réponse, type x paquets par secondes
➢
Une '*' si pas de réponse du routeur
➢
Q : comment choisir le time-out ?
➢
Indice: quel est le temps maximum d'aller-retour entre 2 machines sur8
Internet ?
Traceroute
➢
Traceroute sous debian (linux)
➢
Envoie en burst (ici 16 paquets en 55 ms)
9
Traceroute depuis un ISP vers www.unice.fr
➢
En ICMP
10
Traceroute depuis un ISP vers www.unice.fr
➢
En ICMP, 1 paquet à la fois
➢
Routeurs 1 à 5 répondent : limitation de débit
➢
Routeurs 15 et 16 : muets !
11
Traceroute depuis un ISP vers www.unice.fr
➢
En TCP
➢
Routeur 9 filtre TCP
12
Aller plus loin
➢
Ping et traceroute sont 2 outils de mesure actifs : envoie
explicite des données
➢
Ping permet de tester une machine/routeur jusqu'à la
couhe IP
➢
Traceroute permet de découvrir un chemin
➢
Aller plus loin : smokeping
➢
Ping généralisé (à tous les niveaux protocolaires)
➢
Représentation graphique avec MRTG
➢
Base de données RRD (Round Robin Database)
13
Smokeping
➢
Idée de base :
➢
Ping niveau ICMP (classique)
➢
« Ping » niveau HTTP → un curl sur une page
➢
« Ping » niveau SSL → openssl sur un serveur
➢
« Ping » d'un serveur DNS → requête DNS
➢
Niveau application : LDAP, NFS
➢
Ces données sont stockées dans une base de données
RRD :
➢
base de données optimisée pour les séries temporelles
➢
Occupe une taille fixe sur le disque. Les données plus 14
anciennes sont stockées avec une granularité moins fine
Les figures - MRTG
15
Smokeping
➢
« Smoke » car plusieurs « ping » à chaque fois et le
nuage présentent la médiane, le max, le min, la moyenne
16
Debugging Système
17
18
19
20
21
Envoie d'alerte avec swatch
22
SNMP
23
Plan
➢
Qu'est-ce que la supervision de réseau?
➢
Le modèle Internet - SNMP
➢
Structure of Management Information: SMI
➢
Management Information Base: MIB
➢
Le protocole de transport SNMP
➢
La sécurité
➢
La couche présentation ASN.1
24
Le modèle SNMP
Définitions:
➢
Entités :
➢
Manager
➢
Agents
➢
MIB : les données
25
v
27
SNMP : 4 parties clefs
➢
Management information base (MIB):
➢
Information distribuée stockée sur les équipements gérés
➢
Structure of Management Information (SMI):
➢
Langage de définition des objets de la MIB
➢
Le protocole SNMP
➢
communication gestionnaire ↔ objets gérés
➢
Sécurité
➢
Communautés en SNMPv1 et v2, les vues
➢
Ajout principal de SNMPv3
28
Remarque : SNMP est le nom du protocole pour le transfert de données et le nom
global de la solution de gestion de réseau
SMI: langage de définition des données
Objectif: syntaxe, sémantique non Types de base
ambigüe des données
➢
Types de base: INTEGER
➢
Voir colonne droite
Integer32
Unsigned32
➢
OBJECT-TYPE
OCTET STRING
➢
Type de données, statut,
OBJECT IDENTIFIED
sémantique
Ipaddress/NetworkAddress
➢
MODULE-IDENTITY
Counter32 (ne peut que monter)
➢
Groupement d'objets en relation Counter64
entre eux (par ex. liés à un
Gauge32 (monte/descend)
appareil ou un protocole) dans un
module de la MIB
Time Ticks (10ème de seconde)
Opaque
SEQUENCE OF 29
SEQUENCE
SNMP MIB
Module MIB spécifié via SMI
MODULE-IDENTITY
(100 MIBs standardisées, plus encore spécifiques aux
fournisseurs de matériels/logiciels)
MODULE
OBJECT TYPE:
OBJECT TYPE:
OBJECT TYPE:
ipMIB MODULE-IDENTITY
ipInDelivers OBJECT TYPE LAST-UPDATED “941101000Z”
SYNTAX Counter32 ORGANZATION “IETF SNPv2
MAX-ACCESS read-only Working Group”
CONTACT-INFO
STATUS current
“ Keith McCloghrie
DESCRIPTION ……”
“The total number of input DESCRIPTION
datagrams successfully “The MIB module for managing IP
delivered to IP user- and ICMP implementations, but
protocols (including ICMP)” excluding their management of
::= { ip 9} IP routes.”
REVISION “019331000Z”
………
::= {mib-2 48}
31
Exemple de MIB : le module UDP
Object ID Name Type Comments
1.3.6.1.2.1.7.1 UDPInDatagrams Counter32 total # datagrams delivered
at this node
1.3.6.1.2.1.7.2 UDPNoPorts Counter32 # underliverable datagrams
no app at portl
1.3.6.1.2.1.7.3 UDInErrors Counter32 # undeliverable datagrams
all other reasons
1.3.6.1.2.1.7.4 UDPOutDatagrams Counter32 # datagrams sent
1.3.6.1.2.1.7.5 udpTable SEQUENCE one entry for each port
32
Nommage SNMP
1.3.6.1.2.1.7.1
ISO udpInDatagrams
ISO-ident. Org. UDP
US DoD MIB2
Internet management 33
Arbre OSI (SMIv2)
Dod (6)
Internet (1)
Répertoire (1) Admin.(2) Expérimental (3) Privé (4) Sécurité (5) Snmpv2(6)
Mib-2 (1)
IP
IP==1.3.6.1.2.1.4
1.3.6.1.2.1.4
http://www.alvestrand.no/objectid/ 34
http://wwwsnmp.cs.utwente.nl/ietf/mibs/
Les MIBs d'un agent
➢
Tout équipement doit implanter la MIB-2, i.e. gérer les
objets de cette MIB (RFC 1213) :
➢
Statistiques sur les interfaces (vitesse, MTU, octets
envoyés/reçus, etc.)
➢
Informations sur le système : localisation, contact
➢
En plus de la MIB-2, un agent implantera :
➢
Des MIBs standardisées supplémentaires
➢
Ex : BGP version 4 MIB (RFC 1657), RADIUS Authentication Server
MIB (RFC 2619)
➢
Des MIBS propriétaires
35
Les MIBs propriétaires
➢
Dans l'arbre général, un sous arbre est dédié aux
entreprises iso.org.dod.internet.private.entreprises
(1.3.6.1.4.1)
➢
Dans ce sous arbre, les entreprises ont chacune un
numéro (demandé à l'IANA – Internet Assigned Numbers
Authority)
➢
Ex : CISCO a le numéro 9
➢
iso.org.dod.internet.private.entreprises.cisco →
1.3.6.1.4.1.9
36
Savoir lire une MIB
Ex : objet interface MIB 2
Une liste
= une
structure
, mais pas
un objet.
Une colonne
...
38
Savoir lire une MIB
Ex : objet interface MIB 2
➢
IfTable : table dont les colonnes sont définies par IfEntry
➢
Attention aux majuscules/minuscules
➢
IFTable non accessible!!! et obligatoire (mandatory en anglais)
➢
IfEntry : définit une liste d'objets en colonne
➢
ifEntry : définit les lignes effectives d'ifTable
➢ non accessible
➢ On accède à une ligne par un index : ifIndex
39
En pratique – ifTable avec un agent dans un PC
Windows et manager en Mac OSx
40
Le protocole SNMP
Deux façons de transférer l'information et les commandes
Manager Manager
requête
Msg trap
réponse
43
Communications Agent/Manager
➢
Ports UDPs 161 et 162 utilisés
44
Contrôle d’accès SNMP
➢
Communauté SNMP (v1 et v2c)
➢
Sert de mot de passe, mais en clair sur le réseau (!)
➢
Est associée à des droits : read-only, read-write
➢
Chaque communauté snmp peut limiter les accès à des objets →
notion de vues
➢
Valeurs par défaut communément utilisées
➢
public : read-only
➢
private : read-write
➢
Il existe un « authentication trap » pour savoir si quelqu'un a essayé
de se connecter avec un mauvais mot de passe
➢
SNMPv3 existe mais peu utilisé Requetes
➢
En v2, comme le mot de passe est en clair, on va en plus indiqué à 45
l'agent l'adresse IP du manager
La pratique
➢
Pour une variable scalaire simple, on fait un get en
ajoutant à la fin .0
➢
Get next pour obtenir élément suivant :
➢
Commande snmpwalk (du package Net-SNMP) sous
machines unix pour parcourir un sous arbre
➢
Ex : voir ex précédent sur table ifTable
46
La pratique
➢
Obtenir la description d'un objet : snmptranslate
➢
IR : permet de ne pas donner le chemin absolu
➢
Td : détails
47
Les Traps
➢
Envoyés par l'agent
➢
Sans accusé de réception
➢
Trois types :
➢
Traps génériques
➢
48
Les Traps
➢
Trap propriétaires
➢
Inclus dans la MIB propriétaire
➢
Ex : pour CISCO
iso.org.dod.internet.private.enterprises.cisco.specific-trap-
number
➢ Trap de MIB non propriétaires
➢
Ex : MIB RDBMS (bases de données relationnelles) RFC 1697
49
Les Traps
➢
Trap lié à une variable :
50
Les Traps
➢
Recevoir les traps avec net-snmp
51
Configuration d'un agent
➢
Important de configurer
➢
SysLocation
➢
SysContact
➢
SysName
➢
Communautés Read-write et Read-only
➢
Et limiter les adresses IP desquelles on (le manager) peut se
connecter
➢
Destination trap
➢
Adresse IP du manager
52
Managers SNMP évolués
Observium
53
54
55
56
57
Exemple sur site demo.observium.org
58
Onglet ports
59
Exemple avec un Mac
60
Automatisation des tâches systèmes
Puppet
Puppet
➢
On résume :
➢
Facter assemble des infos localement (type de système, etc)
dont se sert puppet pour savoir quelle recette appliquée
➢
Les types s'organisent en classes avec des notions
d'héritage
➢
Les nœuds correspondent à des
clients sur lesquels on applique des
classes
Puppet
➢
Après, ça se complique, les classes sont organisées en
templates (plus génériques)
➢
Puis on a la notion de module qui groupe toute la logique
et les fichiers pour une application
➢
Dans la pratique, on part de module déjà existant et on
adapte à ses besoins
Puppet
➢
Alternatives à puppet
➢
Il en existe plusieurs
➢
Chef
➢
Ansible (semble beaucoup plus simple)
M3105 – Supervision de réseaux
Service DNS
Guillaume Urvoy-Keller
urvoy@unice.fr
DNS: Domain Name System
➢ Base de données distribuée implantée par une hiérarchie de serveurs
de noms
➢
Traduction nom adresse IP
➢
www.truc.com 121.7.106.32
➢
Alias de machines
➢
Noms canoniques, alias
➢
Ex: une entreprise achète un gros serveur qu’elle
nomme grosserveur.entreprise.com
➢
Grosserveur.entreprise.com est le nom canonique
➢
Ce serveur est le serveur de mail de l’entreprise alias
mail.entreprise.com pour grosserveur.entreprise.com
➢
Ce serveur est le serveur web aussi alias www.entreprise.com
pour grosserveur.entreprise.com
3
Services DNS
➢
Alias des serveurs de mail
➢
Vous utilisez copain@truc.com quand vous écrivez un mail
➢
Truc.com est un nom de domaine
➢
Le DNS permet de trouvez le serveur de mail pour un domaine
➢
Par exemple truc.com aura pour serveur de mail mail.truc.com
➢
On résoud ensuite l’adresse IP de mail.truc.com
4
Services DNS
➢
Distribution de charge
➢
Ex: serveurs Web repliqués : ensemble d’adresse IP
correspondant à un même nom canonique
➢
www.google.com correspond en fait à plusieurs serveurs
physiques, donc plusieurs adresses IP
5
Services DNS
➢
Distribution de charges (suite)
➢
Si vous faites plusieurs requêtes à la suite sur google.com, l’ordre des
adresses change permet de répartir la charge car votre client prend
la première adresse
6
Base de données hiérarchique,
distribuée
Serveur DNS racine (root)
7
3+1 classes de serveurs DNS
➢ Serveurs Racines: 13 dans le monde
➢ Le saint des saints!
➢ « Root servers » en anglais
➢ Serveurs de domaine de premier niveau
➢ « TLD (top level domain) servers » en anglais
➢ Serveurs ayant autorité sur un domaine
➢ « Authorized servers » en anglais
➢ Serveur local
➢ Géré par l’entité qui vous fournit l’accès Internet
➢ Adresse serveur local fournit à la configuration de la machine
➢ Ne font pas stricto sensu partie de la hiérarchie mais servent
de point d’entrée pour les clients DNS des machines
➢ Mais souvent, serveur local est un serveur ayant autorité 8
DNS: Les serveurs DNS racines
➢
Contactés par les serveurs DNS locaux lorsqu’ils ne savent pas traduire un
nom
➢
Serveur DNS racine:
➢
Le serveur racine connait la traduction ou connait un serveur ayant
autorité!
a Verisign, Dulles, VA
c Cogent, Herndon, VA (also LA)
d U Maryland College Park, MD k RIPE London (also 16 other locations)
g US DoD Vienna, VA
h ARL Aberdeen, MD i Autonomica, Stockholm (plus 28
j Verisign, ( 21 locations)
other locations)
e NASA Mt View, CA m WIDE Tokyo (also Seoul,
f Internet Software C. Palo Alto, CA Paris, SF)
(and 36 other locations)
13 serveurs racines
dans le monde
b USC-ISI Marina del Rey, CA
l ICANN Los Angeles, CA
9
TLD and Authoritative Servers
➢
Top-level domain (TLD) servers:
➢
responsables de com, org, net, edu, int, etc, et de toutes les
extensions de nom de pays
➢
Ex:
➢
l’entreprise Network Solutions maintient des serveurs pour le TLD com
➢
Educause pour le TLD edu
➢
Authoritative DNS servers:
➢
Serveurs DNS d’organisations qui fournissent la traduction
nom/adresse IP pour les serveurs de ces organisations (ex:
Web, mail).
➢
Les serveurs sont opérés par l’organisation elle-même ou un
fournisseur de service (entreprise privée)
10
Exemple de résolution
de nom
root DNS server
➢
La machine cis.poly.edu
veut l’adresse IP de
gaia.cs.umass.edu 2
3
TLD DNS server
4
Requête itérative 5
Le serveur contacté
répond avec un serveur local DNS server
dns.poly.edu
plus bas dans la
hiérarchie (“plus près”) à 7 6
1 8
contacter
Cela veut dire qu’il fournit
authoritative DNS server
l’adresse IP du serveur à dns.cs.umass.edu
contacter et pas le nom Machine initiant
de ce serveur la requête DNS
cis.poly.edu 11
gaia.cs.umass.edu
Exemple de résolution
de nom root DNS server
Requête récursive : 2 3
On demande au serveur
7 6
suivant de chercher lui-
même TLD DNS server
Ce faisant, on augmente
sa charge de travail! local DNS server
En général, la requête est dns.poly.edu 5 4
itérative
1 8
Sauf entre la
machine qui initie et
son serveur local authoritative DNS server
dns.cs.umass.edu
(voir transparent
Machine initiant
précédent) la requête DNS
cis.poly.edu
gaia.cs.umass.edu
12
DNS: mise en cache des réponses
➢
A chaque fois qu’un serveur apprend une traduction, il la
stocke
➢
On dit qu’il la cache
➢
Les entrées cachées ont une période d’expiration
après cette période, le serveur les détruit
➢
Les serveurs de noms locaux cachent les adresses
IP des serveurs TLD
➢
Ainsi, les serveurs root sont moins souvent visités
13
Enregistrements DNS
➢
DNS: base de données distribuée
➢
Base de données : collection de données ayant une
structure similaire
➢
Par exemple : (nom, numéro de téléphone)
➢
Ces données sont appelées enregistrements (records en
anglais)
➢
Pour le cas du DNS, on parle de “resource record” ou RR
➢
Distribuée : les RR sont distribués sur un ensemble de
machines physiques (les serveurs DNS)
14
Enregistrements DNS
RR format: (nom, valeur, type, ttl)
Type=A Type=CNAME
nom =alias
nom = machine
valeur = nom canonique (réel)
valeur = addresse IP
www.lemonde.fr est réellement
➢
Etape 1: fait enregistrer le nom networkuptopia.com auprès d’une
entité accréditée appelée DNS registrar (e.g., Network Solutions)
➢
NetworkUtopia doit fournie les noms et les adresses IP de serveurs de
nom (un primaire, un secondaire) ayant autorité pour son domaine
➢
registrar introduit les RRs correspondant dans le serveur TLD com :
➢
Etape 2: insertion par Network Utopia d’un RR de Type A pour
www.networkuptopia.com et de Type MX pour networkutopia.com
dnas SON serveur ayant autorité
16
Mise en œuvre DNS
➢ Côté client
➢ Le « resolver » (résolveur)
➢ Son seul rôle est d'interroger le serveur DNS local
➢ Coté serveur
➢ démon « named » de la suite logicielle bind (la plus
populaire – plus de 60% des serveurs)
➢ Fichier contenant la base de données pour la ou les
zones sur lesquels le serveur a autorité
17
Zones
➢ La racine est notée avec un ''.''
➢ Important, comme le ''/'' dans un chemin de fichier!!
18
Zones vs domaines
➢ Le domaine est une partie de l'arbre global
➢ La zone est ce dont un serveur est responsable
➢ Ex : le serveur en charge de la zone ca connait
les @ IP des serveurs qui gèrent les zones :
➢ ab.ca
➢ on.ca
➢ qc.ca
19
Zones et zones inverses
➢ Un être humain préfère voir des noms que des
adresses IP → on maintient une zone dite
inverse
➢ Cette zone est attachée à la hiérarchie DNS
➢ La zone inverse est hiérarchique, comme la
zone directe → on doit inverser l'ordre des
octets des adresses
20
Fichiers de zone
➢ On y trouve :
➢ Les enregistrements SOA (Start of Authority)
➢ movie.edu : nom du domaine
➢ IN : Internet (valeur par défaut)
➢ Terminator.movie.edu : nom du serveur
➢ al.robocop.movie.edu → al@robocop.movie.edu :
personne à contacter
➢ Autre infos → pour le serveur esclave
21
Fichiers de zone
➢ TTL : valeur globale que les clients DNS
devront utiliser pour tous les résultats obtenus
depuis le serveur
➢ NS record:
➢ Serveur ayant autorité
➢ Celui du SOA puis au moins un autre...
22
Fichiers de zone
➢ Adresses IP et Alias
23
Fichiers de zone
➢ Serveurs de mail
➢ Enregistrements MX
➢ On peut en spécifier plusieurs et mettre des
priorités
24
Fichiers de zone inverse
25
Zone inverse
26
Fichier de config global
➢ Indique pour quelles
zones le serveur est
primaire (ou
secondaire)
27
Serveur esclave
28
Serveur secondaire
➢ Numéro de série donné par primaire pour le
fichier de base
➢ Paramètre : quand le téléchargement se fait
dans le primaire
29
Les autres fichiers d'un serveur
➢ Connaissance des @ IP des serveurs root
(db.root)
➢ Fichiers pour loopback (db.127)
➢ etc.
30
Configuration client linux
➢ Fichier /etc/resolv.conf
➢ Mis à jour par DHCP ou manuellement
➢ Domaine → domaine par défaut ajouté si nom n'est
pas complet, ex : ftp kheops et non ftp
kheops.unice.fr
➢ Nameserver : si plusieurs, essaie dans l'ordre avec
des timeouts
31
Et pour finir... (côté serveur)
➢ Notion de forwarder : si vous voulez que les
requêtes allant vers l'extérieur passe par un
serveur spécifique
➢ Distribution de charge
➢ Fait automatiquement si plusieurs champs avec
même nom et IP différentes
32
Et pour finir … (côté client)
➢ Que se passe-t-il si un client reçoit plusieurs
serveurs ayant autorité?
➢ Il les interrogent les uns après les autres
➢ Un par requête client
➢ Il choisit celui avec le temps d'aller-retour le plus
petit
➢ Le plus proche
33
M3105 – Supervision de réseau
LDAP
Guillaume Urvoy-Keller
urvoy@unice.fr
Sources document
➢ Cours Pierre Mathieu TRC9
➢ Tutoriel LDAP L. Mirtain 1999
➢ UNIX AND LINUX SYSTEM ADMINISTRATION
HANDBOOK – Nemeth et al. Prentice Hall
2011
2
Introduction
➢ Entreprises ont besoin de distribuer des
données :
➢ Email
➢ Téléphone
➢ Comptes informatique
➢ Solution incontournable : LDAP – Lightweigth
Directory Access Protocol
➢ Standardisé par IETF
➢ Dans le monde Windows, Active Directory, pour
gérer les machines et les comptes basé sur 3
LDAP
Exemple d'annuaire
➢ Le DNS
➢ Correspondance nom/domaine distribuée
➢ LDAP pour maintenir des informations sur les
utilisateurs dans une entreprise
➢ Souvent pour permettre le login
➢ Permet aussi aux clients mail de compléter les
noms
➢ → LDAP fait pour interfacer avec pleins d'applications
4
LDAP – Applications clientes
5
Exemple d'informations stockées
➢ Un exemple typique d'une entrée dans
/etc/passwd exprimée sous forme LDAP
➢ (Version simplifiée)
6
Exemple d'informations stockées
➢ Dans l'exemple précédent :
➢ Les données sont entrées sous un format qu'on
appelle LDIF
➢ Les données sont stockées dans la base LDAP
sous une forme différente
➢ Mais la possibilités de convertir dans les deux sens
Base de données ←→ LDIF est une des clefs du
succès de LDAP
7
Exemple d'informations stockées
➢ Les entrées LDAP sont organisées de manière
hiérarchique avec un identifiant unique par
entrée appelé dn
9
Historique
10
LDAP
LDAP définit :
➢ le protocole -- comment accéder à l’information contenue dans l’annuaire,
➢ un modèle d’information -- le type d’information contenu dans l’annuaire,
➢ un modèle de nommage -- comment l’information est organisée et
référencée,
➢ un modèle fonctionnel -- comment on accède à l’information,
➢ un modèle de sécurité -- comment données et accès sont protégés,
➢ un modèle de duplication -- comment la base est répartie entre serveurs,
➢ LDIF -- un format d’échange de données.
➢ → back-up notamment
11
LDAP – le protocole
12
LDAP – le protocole
13
LDAP – le protocole
14
LDAP – le modèle d'information
Définit le type de données pouvant être stockées dans
l’annuaire.
➢ L’entrée (Entry) = élement de base de l’annuaire = les
informations sur un objet de l’annuaire.
➢ Ces informations sont représentées sous la forme
d’attributs décrivant les caractéristiques de l’objet.
➢ Les objets et les attributs appartiennent à des classes
d'objets/attributs normalisées.
➢ Le schéma de l’annuaire définit la liste des classes
d’objets qu’il connaît.
15
Les attributs
16
Les classes d'objets
17
Les classes d'objets
➢ Une entrée va héritée d'une ou de plusieurs
classes
➢ A la mode des langages objets.
18
Les classes d'objets
19
Les classes d'objets
20
Attention!!!
➢ Vous ne modifiez pas les objets et les attributs
➢ Il y en suffisamment de normalisés pour répondre à
vos besoins
21
Organisation des données dans la
base
22
Organisation des données dans la
base
23
Comment nommer une entrée
24
Choix du suffixe de la base
25
26
La base LDAP peut-être distribuée
27
Le modèle fonctionnel = comment
interroger la base
28
Interrogation LDAP
29
Exemple
On cherche tout ce
qui a un cn commençant
par ned
30
Exemple
31
Accès au serveur et aux données
32
Authentification
33
Le contrôle d'accès
34
Le contrôle d'accès
35
Le chiffrement
➢ LDAPs ou LDAP avec TLS
➢ LDAPs → SSL sur port dédié
➢ LDAP avec TLS
➢ SSL mais sur le même port
➢ On démarre SSL à la volée si le client le demande
36
37
Slapd : LDAP daemon
38
39
40
41
PAM: Pluggable Authentication
Module
➢ Spécifique à Unix
➢ De nombreuses commandes (ex: passwd) ou
démons ont besoin d'authentifier l'utilisateur
➢ Au « bon vieux temps »
➢ Lecture du fichier /etc/passwd
➢ Problème : changement de format de ce fichier ou
utilisation de NIS (base de données centralisée des
mots de passe) demande de ré-écrire et recompiler
tous ces programmes/démon
42
PAM
➢ Idée derrière PAM : une librairie dynamique
pour les commandes/démons et un fichier de
config par commande/démon.
➢ Délégation de l'authentification
44
PAM : fichier de config
➢ Stockés dans le repertoire /etc/pam.d.
➢ Un fichier contient 3 parties en général : passwd, auth,
session, account
➢ Chaque partie contient des lignes du type
auth sufficient pamrootok.so
➢ En fin de ligne, on trouve un module PAM qui va
retourner : succès ou erreur
➢ Le « control-flag » qui vaut sufficient,
required,requisite, optional, etc
➢ A chaque invocation, retour d'une seule valeur :
succès ou erreur 45
➢
46
Architecture PAM : les modules
48
PAM : les règles
➢ Règles :
➢ si un sufficient → Succès global
➢ Si aucun sufficient, tous les required doivent réussir
➢ Requisite : si on échoue → échec global
➢ A retenir :
➢ PAM peut utiliser ldap ou kerberos pour
l'authentification
➢ Modules pam.ldap ou pam.krb
49
PAM : exemple
➢ Partie Auth ci-dessous
➢ Si utilisateur root → c'est bon
➢ Timestamp → si authentification gardée en cache,
alors c'est bon aussi
➢ Sinon, doit remplir les conditions de system-auth
50
Nsswitch
➢ Name Service Switch
➢ Wikipedia : autorise le remplacement des
traditionnels fichiers Unix de configuration (par
exemple /etc/passwd, /etc/group, /etc/hosts) par
une ou plusieurs bases de données
centralisées (ldap, etc)
51
M3105 : Gestion des logs avec ELK
Guillaume Urvoy-Keller
grok
Un exemple de plugin de filtre : grok. Permet ici de découper une
chaine de caractères en champs qui pourront être indexés par
Elasticsearch
écrit en Java
Basé sur le moteur d’indexation Apache Lucène
On peut ajouter un schéma (similaire à un schéma de base de
données)
Peut fonctionner en cluster pour le passage à l’échelle
On peut décider quelles données on garde dans elasticsearch et
sur lesquelles on crée des index de recherche
Garder en mémoire : la création d’un index accélère la recherche
mais occupe de l’espace mémoire