21
Editions ENI LINUX Préparation à la certification LPIC-1 (examens LPI 101 et LPI 102) (5 e édition) dans la collection Certification Extrait

LINUX...Powerpath nommera les disques emcpowerx (emcpowera, emcpowerb, etc.) tandis que le système par défaut de Linux appelé multipath les nommera mpathx (mpath0, mpath1, etc.)

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: LINUX...Powerpath nommera les disques emcpowerx (emcpowera, emcpowerb, etc.) tandis que le système par défaut de Linux appelé multipath les nommera mpathx (mpath0, mpath1, etc.)

Editions ENI

LINUX Préparation à la certification LPIC-1

(examens LPI 101 et LPI 102) (5e édition)

dans la collection Certification

Extrait

Page 2: LINUX...Powerpath nommera les disques emcpowerx (emcpowera, emcpowerb, etc.) tandis que le système par défaut de Linux appelé multipath les nommera mpathx (mpath0, mpath1, etc.)

Page 305Les disques et le système de fichiersLes disques et le système de fichiers

Examens LPI 101 et LPI 102

© E

ditio

ns E

NI -

All

righ

ts r

eserv

ed

Les disques et le système de fichiersLinux - Préparat ion à la cer t i f icat io n L PIC-1Prérequis et objectifs

Prérequis

Savoir utiliser le shell et ses commandes.

Disposer d'un éditeur de texte.

Avoir le mot de passe root.

Disposer d'un support de stockage physique ou virtuel modifiable.

Connaître les bases du fonctionnement matériel d'un ordinateur.

Objectifs

À la fin de ce chapitre, vous serez en mesure :

De reconnaître les disques et les partitions.

De manipuler les paramètres des périphériques.

De choisir parmi différents systèmes de fichiers.

De créer des partitions.

De créer un système de fichiers.

De créer des points de montage et modifier fstab.

De contrôler, modifier et réparer un système de fichiers.

De créer des espaces de swap.

De mettre en place des quotas.

De gérer les permissions et les propriétaires des fichiers.

De connaître le principe des hard links.

Page 3: LINUX...Powerpath nommera les disques emcpowerx (emcpowera, emcpowerb, etc.) tandis que le système par défaut de Linux appelé multipath les nommera mpathx (mpath0, mpath1, etc.)

Page 306 Chapitre 4

Linux - Préparation à la certification LPIC-1

A. Représentation des disques

Note préalable : les unités de mesure de stockage utilisées dans ce chapitre et dans l’ensemble de celivre utilisent la représentation de l’usage traditionnel en kilo-octets, selon la règle 1 ko = 1024 octets(210), sauf indication contraire. Cette représentation se nomme théoriquement Kio (kibioctet).

1. Nomenclature

Ceci est un petit rappel des points déjà rencontrés dans le chapitre Présentation de Linux. Suivant letype de contrôleur et d'interface sur lesquels les disques sont connectés, Linux donne des noms diffé-rents aux fichiers spéciaux des périphériques disques.

Chaque disque est représenté par un fichier spécial de type bloc. Chaque partition aussi.

a. IDE

Les disques reliés à des contrôleurs IDE (appelés aussi PATA (Parallel ATA) ou ATAPI et en voie dedisparition) se nomment hdX :

- hda : IDE0, Master

- hdb : IDE0, Slave

- hdc : IDE1, Master

- hdd : IDE1, Slave

- etc.

Contrairement aux idées reçues, il n'y a pas de limites au nombre de contrôleurs IDE, sauf le nombrede ports d'extension de la machine (slots PCI). De nombreuses cartes additionnelles existent, denombreuses cartes mères proposent jusqu'à quatre, six, huit connecteurs. Dans ce cas, les fichiers senomment hde, hdf, hdg, etc.

Les lecteurs CD-Rom, DVD et graveurs de type IDE/ATAPI sont vus comme des disques IDE et res-pectent cette nomenclature.

Les derniers noyaux Linux utilisent par défaut une API appelée libata pour accéder à l'ensemble desdisques IDE, SCSI, USB, Firewire, etc. Si c'est votre cas (regardez les notes de version de la distribu-tion), la nomenclature reprend celle des disques SCSI, abordée au point suivant.

�Du fait de l’utilisation de libata, la représentation des disques en nomenclature hdx est devenue rare.Attention cependant si vous mettez à jour votre ancienne distribution qui conservait ce format. Lepassage à une nouvelle version plus récente va probablement les renommer en sdx, la nomenclatureSCSI. Du coup vous risquez d’avoir des soucis si vous oubliez de modifier le fichier /etc/fstab ou laconfiguration de grub.

Page 4: LINUX...Powerpath nommera les disques emcpowerx (emcpowera, emcpowerb, etc.) tandis que le système par défaut de Linux appelé multipath les nommera mpathx (mpath0, mpath1, etc.)

Page 307Les disques et le système de fichiersLes disques et le système de fichiers

Examens LPI 101 et LPI 102

© E

ditio

ns E

NI -

All

righ

ts r

eserv

ed

b. SCSI, SATA, USB, FIREWIRE, etc.

Les disques reliés à des contrôleurs SCSI, SCA, SAS, FibreChannel, USB, Firewire, thunderbolt (etprobablement d'autres interfaces exotiques comme les lecteurs ZIP sur port parallèle) se nomment sdX.L'énumération des disques reprend l'ordre de détection des cartes SCSI et des adaptateurs (hosts)associés, puis l'ajout et la suppression manuelle des autres via hotplug ou udev.

- sda : premier disque SCSI

- sdb : deuxième disque SCSI

- sdc : troisième disque SCSI

- etc.

La norme SCSI fait une différence entre les divers supports. Aussi les lecteurs CD-Rom, DVD, HD-DVD,Blu-ray et les graveurs associés n'ont pas le même nom. Les lecteurs et graveurs sont en srX (sr0, sr1,etc.). Vous pouvez aussi trouver scd0, scd1, etc. mais ce sont généralement des liens symboliques verssr0, sr1, etc.

La commande lsscsi permet d'énumérer les périphériques SCSI. Notez que les disques sont bien ensdX, tandis que le lecteur dvd est en srX.

$ lsscsi[4:0:0:0] disk ATA ST380011A 8.01 /dev/sda[5:0:0:0] cd/dvd LITE-ON COMBO SOHC-4836V S9C1 /dev/sr0[31:0:0:0] disk USB2.0 Mobile Disk 1.00 /dev/sdb

2. Cas spéciaux

a. Contrôleurs spécifiques

Certains contrôleurs ne suivent pas cette nomenclature. C'est par exemple le cas de certains contrô-leurs RAID matériels. C'est du cas par cas. Un contrôleur Smart Array sur un serveur HP, utilisant lepilote cciss, place ses fichiers de périphériques dans /dev/cciss sous les noms cXdYpZ, où X est le slot,Y le disque et Z la partition...

b. Virtualisation

La représentation des disques des systèmes invités (guests) virtualisés dépend du type de contrôleursimulé. La plupart sont de type IDE ou SCSI, et dans les deux cas bien souvent avec la libata ils sontvus comme du SCSI. Cependant certains systèmes comme KVM ou XEN proposant de la paravirtuali-sation offrent un contrôleur spécifique présentant les disques sous le nom vdx (virtual disk x), ou xvdx :

- vda : premier disque virtualisé, ou xvda,

- vdb : deuxième disque virtualisé, ou xvdb,

- etc.

Page 5: LINUX...Powerpath nommera les disques emcpowerx (emcpowera, emcpowerb, etc.) tandis que le système par défaut de Linux appelé multipath les nommera mpathx (mpath0, mpath1, etc.)

Page 308 Chapitre 4

Linux - Préparation à la certification LPIC-1

c. SAN, iSCSI, multipathing

Les disques raccordés via un SAN (Storage Area Network, généralement en fibre optique) ou par iSCSIsont vus comme des disques SCSI et conservent cette nomenclature. Cependant les systèmes de ges-tion des chemins multiples (multipathing) se plaçant par-dessus fournissent d’autres noms. Powerpathnommera les disques emcpowerx (emcpowera, emcpowerb, etc.) tandis que le système par défaut deLinux appelé multipath les nommera mpathx (mpath0, mpath1, etc.) ou tout autre nom choisi parl’administrateur.

B. Manipulations de bas niveau

1. Informations

La commande hdparm permet d'effectuer un grand nombre de manipulations directement sur les péri-phériques disques gérés par la bibliothèque libata, c'est-à-dire tous les disques SATA, ATA (IDE) etSAS. La commande sdparm peut faire à peu près la même chose pour les disques SCSI. Notez quebien que les noms de périphériques de la libata soient identiques à ceux du SCSI, il est fort probableque de nombreuses options de configuration de hdparm ne fonctionnent pas sur des disques SCSI, laréciproque étant vraie pour sdparm avec les disques SATA ou IDE. La suite se base sur hdparm.

Pour obtenir des informations complètes sur un disque, utilisez les paramètres -i ou -I. Le premierrécupère les informations depuis le noyau et obtenues au moment du boot, le second interroge direc-tement le disque. Préférez le -I qui donne des informations très détaillées.

# hdparm -I /dev/sda

/dev/sda:

ATA device, with non-removable media Model Number: VBOX HARDDISK Serial Number: VB91a2e953-933cdc65 Firmware Revision: 1.0Standards: Used: ATA/ATAPI-6 published, ANSI INCITS 361-2002 Supported: 6 5 4Configuration: Logical max current cylinders 16383 16383 heads 16 16 sectors/track 63 63 -- CHS current addressable sectors: 16514064 LBA user addressable sectors: 63152320 LBA48 user addressable sectors: 63152320 Logical/Physical Sector size: 512 bytes device size with M = 1024*1024: 30836 MBytes device size with M = 1000*1000: 32333 MBytes (32 GB) cache/buffer size = 256 KBytes (type=DualPortCache)

Page 6: LINUX...Powerpath nommera les disques emcpowerx (emcpowera, emcpowerb, etc.) tandis que le système par défaut de Linux appelé multipath les nommera mpathx (mpath0, mpath1, etc.)

Page 309Les disques et le système de fichiersLes disques et le système de fichiers

Examens LPI 101 et LPI 102

© E

ditio

ns E

NI -

All

righ

ts r

eserv

ed

Capabilities: LBA, IORDY(cannot be disabled) Queue depth: 32 Standby timer values: spec'd by Vendor, no device specific minimum R/W multiple sector transfer: Max = 128 Current = 128 DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6 Cycle time: min=120ns recommended=120ns PIO: pio0 pio1 pio2 pio3 pio4 Cycle time: no flow control=120ns IORDY flow control=120nsCommands/features: Enabled Supported: * Power Management feature set * Write cache * Look-ahead * 48-bit Address feature set * Mandatory FLUSH_CACHE * FLUSH_CACHE_EXT * Gen2 signaling speed (3.0Gb/s) * Native Command Queueing (NCQ)Checksum: correct

2. Modification des valeurs

Plusieurs paramètres des disques peuvent être modifiés. Attention cependant ! Certaines options dehdparm peuvent se révéler être dangereuses tant pour les données contenues sur le disque que pourle disque lui-même. La plupart des paramètres sont en lecture et écriture. Si aucune valeur n'estprécisée hdparm affiche l'état du disque (ou du bus) pour cette commande. Voici quelques exemplesd'options intéressantes.

- -c : largeur du bus de transfert EIDE sur 16 ou 32 bits. 0=16, 1=32, 3=32 compatible.

- -d : utilisation du DMA. 0=pas de DMA, 1=DMA activé.

- -X : modifie le mode DMA (mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5).Vous pouvez utiliser l'un des modes précédents ou des valeurs numériques : 32+n pour les modesmdma (n variant de 0 à 2) et 64+n pour les modes udma.

- -C : statut de l'économie d'énergie sur le disque (unknown, active/idle, standby, sleeping). L'état peutêtre modifié avec -S, -y, -Y et -Z.

- -g : affiche la géométrie du disque.

- -M : indique ou modifie l'état du Automatic Acoustic Management (AAM). 0=off, 128=quiet et254=fast. Tous les disques ne le supportent pas.

- -r : passe le disque en lecture seule.

- -T : bench de lecture du cache disque, idéal pour tester les performances de transfert entre Linux etle cache du disque. Il faut relancer la commande deux ou trois fois.

- -t : bench de lecture du disque, hors cache. Mêmes remarques que l'option précédente.

Page 7: LINUX...Powerpath nommera les disques emcpowerx (emcpowera, emcpowerb, etc.) tandis que le système par défaut de Linux appelé multipath les nommera mpathx (mpath0, mpath1, etc.)

Page 310 Chapitre 4

Linux - Préparation à la certification LPIC-1

Ainsi la commande suivante passe le bus de transfert en 32 bits, active le mode DMA en mode UltraDMA 5 pour le disque sda :

# hdparm -c1 -d3 -X udma5 /dev/sda

Voici quelques autres exemples :

# hdparm -c /dev/sda

/dev/sda: IO_support = 0 (default 16-bit)

# hdparm -C /dev/sda

/dev/sda: drive state is: active/idle

# hdparm -g /dev/sda /dev/sda: geometry = 3931/255/63, sectors = 63152320, start = 0 # hdparm -T /dev/sda /dev/sda: Timing cached reads: 23868 MB in 2.00 seconds = 11950.45 MB/sec # hdparm -t /dev/sda /dev/sda: Timing buffered disk reads: 308 MB in 3.02 seconds = 101.87 MB/sec

C. Choisir un système de fichiers

1. Principe

a. Définition

L'action de « formater » un disque, une clé ou tout support de données consiste uniquement à créer surun support de mémoire secondaire (volume de stockage) l'organisation logique permettant d'y placerdes données. Le mot « formatage » sous Linux est utilisé pour décrire la création d'un système defichiers. On parle donc de système de fichiers qui est à la fois l'organisation logique des supports auniveau le plus bas comme au niveau de l'utilisateur.

Les informations ne sont pas écrites n'importe comment sur les disques. Une organisation est néces-saire pour y placer tant les informations sur les fichiers qui y sont stockés que les données. Ce sont lesystème de fichiers et les pilotes associés qui définissent cette organisation. Si les principes de basesont souvent les mêmes entre les divers systèmes présents sous Linux, les implémentations et lesorganisations logiques des données sur le disque varient fortement. Aussi il n'existe pas un type desystème de fichiers, mais plusieurs, au choix de l'utilisateur ou de l’administrateur système.

Page 8: LINUX...Powerpath nommera les disques emcpowerx (emcpowera, emcpowerb, etc.) tandis que le système par défaut de Linux appelé multipath les nommera mpathx (mpath0, mpath1, etc.)

Editions ENI

LINUXPréparation à la certification LPIC-3

(examen LPI 300)(2e édition)

dans la collection Certification

Extrait

LINUXPréparation à la certification LPIC-2

(examens LPI 201 et LPI 202)(3e édition)

dans la collection Certification

Extrait

Page 9: LINUX...Powerpath nommera les disques emcpowerx (emcpowera, emcpowerb, etc.) tandis que le système par défaut de Linux appelé multipath les nommera mpathx (mpath0, mpath1, etc.)

Authentification des utilisateurs Page 195

Examens LPI 201 et LPI 202

© E

ditio

ns E

NI -

All

right

s re

serv

ed

Chapitre 5A. Évolution de l'authentification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

B. PAM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

C. LDAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204

D. Authentification par LDAP des systèmes Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

E. Validation des acquis : questions/réponses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

F. Travaux pratiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

Page 10: LINUX...Powerpath nommera les disques emcpowerx (emcpowera, emcpowerb, etc.) tandis que le système par défaut de Linux appelé multipath les nommera mpathx (mpath0, mpath1, etc.)

Page 196 Chapitre 5

LINUX - Préparation à la certification LPIC-2

Authentification des utilisateursLIN UX - P réparat ion à la cer ti f ica tion L PI C-2Pré-requis et objectifs

Pré-requisLes connaissances acquises lors de la certification LPI niveau 1, notamment :

Connaître la structure du fichier /etc/passwd.

Connaître l'existence et le principe du fichier hosts.

ObjectifsÀ la fin de ce chapitre, vous serez en mesure de :

Interpréter une configuration NSS.

Comprendre l'authentification modulaire PAM.

Connaître les principaux modules PAM.

Modifier la configuration PAM pour permettre un changement du mode d'authentification.

Connaître le format de fichier LDIF.

Interroger un annuaire LDAP.

Gérer les mots de passe dans un annuaire OpenLDAP.

Ajouter ou modifier des éléments d'un annuaire OpenLDAP.

Configurer l'authentification d'un système Linux sur un annuaire OpenLDAP.

Page 11: LINUX...Powerpath nommera les disques emcpowerx (emcpowera, emcpowerb, etc.) tandis que le système par défaut de Linux appelé multipath les nommera mpathx (mpath0, mpath1, etc.)

Page 197Authentification des utilisateursAuthentification des utilisateurs

Examens LPI 201 et LPI 202

© E

ditio

ns E

NI -

All

right

s re

serv

ed

A. Évolution de l'authentification

1. Les premiers systèmes Unix et le fichier passwd

a. Mots de passe dans le fichier /etc/passwd

Depuis le début de leur existence, les systèmes Unix utilisent le fichier /etc/passwd comme base decomptes des utilisateurs. Ce fichier est utilisé naturellement pour les ouvertures de session sur le sys-tème. Comme son nom l'indique encore, il contenait en plus des identifiants utilisateurs leurs mots depasse chiffrés. Si des éléments logiciels autres que l'ouverture de session ont besoin des informationsde compte (connexion ftp, ouverture de session distante, etc.), ils vont également consulter ce fichier.Dans cette situation originelle simple, on a affaire à une base de comptes unique et des applicationsmultiples qui exploitent cette base de comptes. Toutes les applications doivent reconnaître le format decette base d'information.

b. Mots de passe dans le fichier /etc/shadow

Avec l'évolution des techniques d'attaques des mots de passe, le besoin est venu de placer les motsde passe dans un fichier non accessible aux utilisateurs ordinaires. Ils sont alors stockés dans un fichier/etc/shadow fermé aux utilisateurs. Les paramètres d'authentification avec shadow sont gérés par unfichier /etc/login.defs. Les paramètres présents par défaut dans ce fichier sont en général satisfai-sants.

Gestion des erreurs d'authentification dans le fichier login.defs

Parmi les nombreux paramètres du fichier login.defs, ceux concernant le login sont les plus fréquem-ment modifiés.

toto@ubuntu:~$ grep LOGIN /etc/login.defsLOGIN_RETRIES 5LOGIN_TIMEOUT 60toto@ubuntu:~$

2. D'autres bases d'informations

Pour la consultation des éléments d'identification, la situation s'est compliquée quand il a fallu intégrerd'autres bases de comptes, différentes du fichier passwd et surtout plus complexes. Ces bases d'iden-tités sont souvent centralisées, comme c'est le cas pour NIS (Network Information Server) ou LDAP(Lightweight Directory Access Protocol). La première solution envisagée fut naturellement de réécrireles programmes qui exploitaient initialement le fichier /etc/passwd afin qu'ils soient capables de consul-ter les bases centralisées sur le réseau. Cette méthode manquait cruellement de souplesse, puisqu'elleobligeait à reprendre beaucoup de programmes en profondeur à chaque fois qu'une modification étaitapportée au mode de stockage des bases centralisées.

3. NSS

NSS (Name Service Switch) est une première réponse à la multiplicité des bases d'information localesou centralisées. NSS a pour objet de normaliser la résolution de noms au sein d'un système. NSSpermet de résoudre un nom en une autre information associée, comme par exemple un nom d'utilisa-teur et son uid, un nom de groupe et son gid, ou encore un nom d'hôte et son adresse IP.

Page 12: LINUX...Powerpath nommera les disques emcpowerx (emcpowera, emcpowerb, etc.) tandis que le système par défaut de Linux appelé multipath les nommera mpathx (mpath0, mpath1, etc.)

Page 198 Chapitre 5

LINUX - Préparation à la certification LPIC-2

Dans un fonctionnement NSS, un fichier /etc/nsswitch.conf détermine pour différents types de réso-lutions la source d'information à privilégier, et les applications ayant besoin de ces informations vontconsulter les sources dans l'ordre imposé par le fichier nsswitch.conf. La résolution s'appuie alors surdes bibliothèques NSS (libnss_X.so où X représente le service de résolution employé), et les applica-tions n'ont pas besoin de connaître directement la méthode de résolution employée.

Format du fichier nsswitch.conf

résolution: source_1 source_n

Exemple de fichier nsswitch.conf

On voit dans cet exemple que les résolutions de type passwd, group et shadow feront leur résolutiongrâce à la bibliothèque libnss_compat.so, alors que la résolution de noms d'hôtes se fera par les biblio-thèques libnss_files.so et libnss_dns.so. Ce qui veut dire que les éléments d'identification des utilisa-teurs seront trouvés dans les fichiers locaux de /etc, alors que la résolution de noms d'hôtes s'appuierad'abord sur le fichier local (/etc/hosts) avant de se reporter sur un service dns.

passwd: compat group: compat shadow: compat

hosts: files dnsnetworks: files

protocols: db files services: db files ethers: db files rpc: db files

netgroup: nis

Sur un système Linux moderne, NSS n'est plus utilisé que pour des opérations d'identification, c'est-à-dire trouver des informations sur une identité. Tout ce qui relève de l'authentification est dévolu àun mécanisme plus élaboré : PAM.

4. Modules d'authentification

Si NSS représente déjà un progrès par rapport aux fichiers statiques utilisés dans les premiers temps,la révolution viendra avec PAM (Pluggable Authentication Module). PAM est un mécanisme complé-mentaire de NSS qui assure une authentification sur mesure par l'exécution de modules au choix del'administrateur.

nsswitch.conf : format du fichier

résolution Le type de résolution à effectuer.

source_1 Obligatoire. La première source de résolution à employer.

source_n Facultatif. La ou les autres sources de résolution possibles à utiliser après la première.

Page 13: LINUX...Powerpath nommera les disques emcpowerx (emcpowera, emcpowerb, etc.) tandis que le système par défaut de Linux appelé multipath les nommera mpathx (mpath0, mpath1, etc.)

Page 199Authentification des utilisateursAuthentification des utilisateurs

Examens LPI 201 et LPI 202

© E

ditio

ns E

NI -

All

right

s re

serv

edLors d'une ouverture de session Linux, l'utilisateur va présenter un identifiant et un mot de passe. Grâceà la résolution NSS, on en déduira les identifiants uid/gid, ainsi que les autres paramètres nécessaires(date d'expiration, etc.). PAM de son côté va en fonction de sa configuration exécuter des modules pourassurer l'authentification mais aussi éventuellement pour effectuer certaines tâches liées à l'ouverturede session, comme la définition de variables par exemple.

B. PAM

1. Le principe

PAM se positionne en interface entre les applications et les méthodes d'authentification.

Le principal objectif de PAM est de proposer une couche d'abstraction entre les applications et lesméthodes d'authentification. Ainsi, une application qui se veut souple et évolutive quant aux méthodesd'authentification qu'elle emploie n'aura d'autre besoin que d'être compatible avec PAM. Cela signifiequ'elle devra être capable de s'adresser à la couche d'authentification PAM, et le reste ne la regardepas. En parallèle, les procédés d'authentification quels qu'ils soient, doivent être exploitables par la mé-canique PAM.

Une application demande à PAM si un utilisateur peut se connecter. PAM en fonction de sa configura-tion, appelle des modules fonctionnels qui vont exploiter une méthode d'authentification. Si le résultatest positif (l'utilisateur a fourni les bons éléments d'authentification), PAM renvoie l'autorisation deconnexion à l'application.

PAM a un autre avantage. Nous venons de voir que la demande d'authentification entraînait le charge-ment de modules. Il se trouve que le nombre de ces modules n'est pas limité et qu'ils peuvent êtrecumulés. Il est donc tout à fait possible de demander une double authentification selon deux méthodesdifférentes. De plus, on peut profiter de la séquence d'authentification sous PAM pour provoquer lechargement de bibliothèques sans rapport avec l'authentification. De nombreuses actions peuvent doncêtre gérées dès l'authentification réussie.

Page 14: LINUX...Powerpath nommera les disques emcpowerx (emcpowera, emcpowerb, etc.) tandis que le système par défaut de Linux appelé multipath les nommera mpathx (mpath0, mpath1, etc.)

Page 200 Chapitre 5

LINUX - Préparation à la certification LPIC-2

En résumé : lors de la demande d'authentification, des modules PAM sont chargés en fonction d'unfichier de configuration, et ces modules provoquent certaines actions, relevant de l'authentification pro-prement dite ou d'autres actions.

2. Les modules PAM

a. Les principaux modules PAM

Les modules PAM, appelés lors des opérations d'authentification sont nombreux et d'usages variés.Certains d'entre eux sont néanmoins rencontrés très fréquemment et leur existence est à connaître.D'autres sont plus ou moins fréquents selon les distributions, mais connaître leur fonctionnement etleurs objectifs permet de mieux comprendre la mécanique et la philosophie de PAM.

Ces modules sont dans des fichiers dont l'emplacement normalisé est /lib/security.

Principaux modules PAM

pam_securetty.so Interdit le login par le compte root excepté sur les terminaux listés dans /etc/securetty.

pam_nologin.so Si le fichier /etc/nologin existe, affiche son contenu à toute tentative d'ouverturede session et interdit le login à tout autre que root.

pam_env.so Déclare des variables d'environnement lues dans /etc/environnement ou dansle fichier donné en référence par le paramètre « envfile= ».

pam_unix.so Permet l'authentification par la méthode traditionnelle des fichiers /etc/passwdet /etc/shadow.

pam_deny.so Voie de garage. Est généralement exécuté si aucun autre module n'est exécutéavec succès.

pam_permit.so Renvoie un retour positif inconditionnellement.

pam_limits.so Affecte certaines limitations fonctionnelles à des utilisateurs ou des groupes enfonction des données du fichier /etc/security/limits.conf.

pam_cracklib.so S'assure que le mot de passe employé présente un niveau de sécurité suffisant.

pam_selinux.so Si selinux est activé sur le système, ce module va s'assurer que le shell serabien exécuté dans le contexte de sécurité adéquat.

pam_lastlog.so Affiche les informations sur la dernière ouverture de session réussie.

pam_mail.so Vérifie la présence de nouveaux mails pour un utilisateur (messagerie interne).

Page 15: LINUX...Powerpath nommera les disques emcpowerx (emcpowera, emcpowerb, etc.) tandis que le système par défaut de Linux appelé multipath les nommera mpathx (mpath0, mpath1, etc.)

Editions ENI

LINUXPréparation à la certification LPIC-3

(examen LPI 300)(2e édition)

dans la collection Certification

Extrait

Page 16: LINUX...Powerpath nommera les disques emcpowerx (emcpowera, emcpowerb, etc.) tandis que le système par défaut de Linux appelé multipath les nommera mpathx (mpath0, mpath1, etc.)

Sécuriser l'annuaire Page 159

Examen LPI 300

© E

ditio

ns E

NI -

All

righ

ts r

eserv

ed

Chapitre 5

A. Généralités sur la sécurité informatique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

B. Le chiffrement SSL/TLS - StartTLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

C. Sécurité SASL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

D. OpenLDAP et Kerberos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

E. Autres paramètres de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

F. Les listes de contrôle d'accès (ACL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

G. Validation des acquis : questions/réponses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

H. Travaux pratiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

Page 17: LINUX...Powerpath nommera les disques emcpowerx (emcpowera, emcpowerb, etc.) tandis que le système par défaut de Linux appelé multipath les nommera mpathx (mpath0, mpath1, etc.)

Page 160 Chapitre 5

LINUX - Préparation à la certification LPIC-3

Sécuriser l'annuaireLIN UX - Préparat ion à la cer t i f ica t ion L PI C-3Pré-requis et objectifs

Pré-requis

Connaissances de base sur la sécurité informatique.

Notions de base sur le chiffrement SSL.

Connaissances élémentaires sur le protocole Kerberos.

Objectifs

À la fin de ce chapitre, vous serez en mesure de :

Sécuriser l'accès à l'annuaire à l'aide des certificats électroniques.

Configurer l'authentification SASL.

Maîtriser l'authentification Kerberos.

Mettre en place des ACL avancées.

Restreindre l'accès aux mots de passe au sein de l'annuaire.

Implémenter une politique de sécurité pour les mots de passe des utilisateurs de l'annuaire LDAP.

A. Généralités sur la sécurité informatique

1. Objectifs de la sécurité

La sécurité des systèmes d'information est l'un des enjeux majeurs dans la vie de l'entreprise ainsi quedans sa résistance aux différents problèmes qu'elle peut rencontrer, tels que les attaques de l'extérieur,surtout lorsqu’une partie de son système d'information est relié à un réseau hostile comme Internet.

L'entreprise doit assurer aussi la confidentialité des informations et la documentation interne liée à sesemployés ou à ses transactions avec le monde extérieur.

Une entreprise qui offre des services à travers le réseau doit faire face à toute cause d'indisponibilitéde son système d'information.

Dans le contexte d'un service critique (serveur Web, serveur LDAP, mail, base de données), une panneoccasionnant un arrêt du service peut causer un tort considérable entraînant une perte de productivité,voire une perte de confiance du client.

Les solutions de sécurité qui seront mises en place doivent contribuer à satisfaire les critères suivants :

- La disponibilité.

- L'intégrité.

- La confidentialité.

Ce sont les critères DIC.

Un autre critère important doit aussi être pris en compte dans les communications entre un client et unserveur, l'authentification.

Page 18: LINUX...Powerpath nommera les disques emcpowerx (emcpowera, emcpowerb, etc.) tandis que le système par défaut de Linux appelé multipath les nommera mpathx (mpath0, mpath1, etc.)

Page 161Sécuriser l'annuaireSécuriser l'annuaire

Examen LPI 300

© E

ditio

ns E

NI -

All

righ

ts r

eserv

ed

2. La disponibilité

La disponibilité d'une ressource signifie que celle-ci doit être accessible à tout instant, et doit égalementêtre utilisable avec des temps de réponse acceptables.

La disponibilité des services système et données est réalisée en assurant un dimensionnement appro-prié et une certaine redondance et par une gestion opérationnelle efficace des infrastructures, res-sources et services.

Dans une entreprise, des solutions comme les tests de montée en charge sont généralement effectuéspour évaluer le comportement des systèmes sous certaines conditions extrêmes et contribuer ainsi àmieux définir leur dimensionnement.

Il faut néanmoins mettre en place une politique de sauvegarde permettant de restituer des données encas de défaillance matérielle ou logicielle.

Des solutions de haute disponibilité existent pour assurer la continuité de service. L’étude détaillée deces solutions dépasse les objectifs de cet ouvrage.

3. La confidentialité

La confidentialité est le maintien du secret des informations. La confidentialité peut être vue comme laprotection des données contre une divulgation non autorisée.

Deux opérations permettent d'assurer la confidentialité des données :

- Limiter leur accès par un mécanisme de contrôle d'accès (ACL).

- Transformer les données par des procédures de chiffrement afin qu'elles deviennent inintelligiblesaux personnes ne possédant pas les moyens de les déchiffrer.

Le chiffrement contribue à assurer la confidentialité des données et à en augmenter la sécurité lorsde leur transmission ou de leur stockage.

4. L'authentification

L'authentification a pour but de vérifier l'identité dont une entité (personne ou machine) se réclame.

Généralement l'authentification est précédée d'une identification qui permet à cette entité de se fairereconnaître du système par un élément dont on l'a dotée.

Pour cela, l'identité devra produire une information spécifique telle que par exemple un mot de passe,un code ou une empreinte biométrique.

5. L'intégrité des données

Assurer l'intégrité de l'information est relatif au fait que des ressources de données, traitements, tran-sactions ou services n'ont pas été modifiés, altérés ou détruits, tant de façon intentionnelle qu'acciden-telle.

Lors de leur transfert, les données ne devraient pas être altérées par les protocoles de communicationqui les véhiculent.

L'intégrité des données ne sera garantie que si elles sont protégées des écoutes actives qui peuventmodifier les données interceptées.

Page 19: LINUX...Powerpath nommera les disques emcpowerx (emcpowera, emcpowerb, etc.) tandis que le système par défaut de Linux appelé multipath les nommera mpathx (mpath0, mpath1, etc.)

Page 162 Chapitre 5

LINUX - Préparation à la certification LPIC-3

B. Le chiffrement SSL/TLS - StartTLS

1. La cryptographie

La cryptographie a pour but d'assurer la confidentialité et l'intégrité des données.

La confidentialité est garantie par des algorithmes de chiffrement.

Le chiffrement est l'opération par laquelle on chiffre un message. C'est une opération de codage.Chiffrer ou crypter une information permet de la rendre incompréhensible en l’absence d'un décodeurparticulier.

2. Les algorithmes de chiffrement

Les algorithmes de chiffrement sont divisés en deux grandes catégories :

- Le chiffrement symétrique.

- Le chiffrement asymétrique, dit à clé publique.

a. Le chiffrement symétrique

Dans le chiffrement symétrique, une seule clé, qui sert pour le chiffrement et le déchiffrement, est par-tagée entre toutes les personnes participant à un échange.

Pour chiffre ou déchiffrer un texte, il faut définir une clé et un algorithme de chiffrement.

Chaque entité doit posséder autant de clés secrètes qu'elle a d'interlocuteur. Il faut donc disposerd'autant de paires différentes de clés qu'il y a de paires de correspondants.

Le tableau suivant liste quelques algorithmes de chiffrement symétriques :

- DES (Data Encryption Standard) : avec cet algorithme les données sont chiffrées par bloc de 64 bitsavec une clé de 56 bits.

- 3DES (Triple DES) : on réalise trois niveaux de chiffrement ce qui donne une clé effective de chiffre-ment de 168 bits.

- RC5 est un algorithme propriétaire à clé symétrique développé par Ronald Rivest et diffusé par lasociété RSA Security Inc. Il utilise des clés de longueur variable pouvant aller jusqu'au 2048 bits.

- Camelia est un algorithme de chiffrement symétrique par bloc de 128 bits, conçu pour fonctionneravec des clés de 128, 192 et 256 bits. Il a été développé conjointement par la Nippon Telegraph AndTelephone corporation et Mitsubishi Electric Corporation en 2000.

Algorithme Taille de clé (en bits) Taille de bloc

3-DES 112,168 64

RC5 32, 64, 128 Jusqu'au 2048

AES 128, 192, 256 128

RC6 Jusqu'à 2048 128

Camelia 128, 192, 256 128

Serpent 128, 192, 256 128

Page 20: LINUX...Powerpath nommera les disques emcpowerx (emcpowera, emcpowerb, etc.) tandis que le système par défaut de Linux appelé multipath les nommera mpathx (mpath0, mpath1, etc.)

Page 163Sécuriser l'annuaireSécuriser l'annuaire

Examen LPI 300

© E

ditio

ns E

NI -

All

righ

ts r

eserv

ed

Depuis 2006, le code source de Camelia est disponible sous plusieurs licences libres telles que GPL,BSD, MPL et la licence OpenSSL.

- Serpent : est un algorithme de chiffrement par bloc, serpent a une taille de bloc de 128 bits et supportedes clés de 128, 192 ou 256 bits.

Serpent est souvent considéré comme l'un des systèmes de chiffrement les plus sûrs actuellementdisponibles.

b. Le chiffrement asymétrique

Dans le chiffrement asymétrique, il existe deux clés, une clé publique et une clé privée. Ces deux cléssont générées ensemble par un logiciel (exemple OpenSSL, GNUTLS) et elles dépendent mathémati-quement l'une de l'autre.

La clé publique peut être publiée sans risque, mais la clé privée doit être soigneusement gardée secrètepar son propriétaire.

La clé publique sert habituellement à crypter un message et la clé privée à le décrypter, mais l'inverseest également possible.

La cryptographie à clés publiques présente plusieurs avantages :

- Elle diminue le nombre de clés nécessaire à la communication entre un nombre important depersonnes.

- Elle permet la signature d'un document numérique.

- Elle permet l'authentification mutuelle de deux composants.

- Les principaux algorithmes de chiffrement à clé publique, dont le nom est celui de leur inventeur,utilisent le plus souvent des clés de longueur variant de 512 à 1024 bits, citons par exemple :

- RSA (Rivest, Shamir, Adelman) qui est basé sur la factorisation des nombres premiers.

- El Gamal, basé sur la difficulté de résoudre le problème de logarithme discret.

�La sécurité du processus de chiffrement repose en grande partie sur la sécurité et la confidentialitédes clés utilisées, sur la robustesse des algorithmes et sur la sécurité des plates-formes matérielleset logicielles qui les supportent.

3. Le chiffrement SSL-TLS

Le protocole cryptographique SSL (Secure Sockets Layers) a été créé par la société Netscape encollaboration avec d'autres acteurs dont MasterCard et Bank of America pour prendre en charge deséchanges sécurisés et authentifiés entre un client et un serveur. SSL peut être utilisé pour toute appli-cation reposant sur TCP, à l'instar de LDAP.

TLS (Transport Layer Security), le véritable nom pour SSLv3.1 décrit dans la RFC 2246, est la couchecryptographique qui se glisse entre TCP et LDAP pour sécuriser des échanges sur un lien non sûr.

SSL permet de chiffrer les communications entre deux machines et d'assurer la confidentialité desdonnées, l'authentification de l'utilisateur et du serveur, ainsi que l'intégrité des données par signaturesélectroniques à travers les certificats numériques et la mise en œuvre du chiffrement asymétrique.

Dans ce chapitre on s'intéresse particulièrement à la sécurisation du protocole LDAP et la configurationd'OpenLDAP à l'aide des certificats.

Page 21: LINUX...Powerpath nommera les disques emcpowerx (emcpowera, emcpowerb, etc.) tandis que le système par défaut de Linux appelé multipath les nommera mpathx (mpath0, mpath1, etc.)

Page 164 Chapitre 5

LINUX - Préparation à la certification LPIC-3

a. Qu'est-ce qu’un certificat numérique ?

Un certificat numérique ou certificat électronique constitue la carte d'identité numérique d'une entité(personne morale ou physique) ou d'une ressource informatique à laquelle il appartient. Il contient entreautres l’identification de son propriétaire, la clé publique qui lui est attribuée ainsi que l'identification del'organisme qui l'a délivrée.

Propriétés d’un certificat dans Internet Explorer :

b. Mise en place de chiffrement par SSL dans LDAP

Pour mettre en place le chiffrement des échanges avec LDAP, il faut générer un certificat pour le ser-veur.

Pour créer ce certificat, il existe plusieurs façons :

- Créer un certificat auto-signé : ce type de certificat ne garantira pas l'identité de la source, maispermettra le chiffrement des échanges.