Alphorm.com formation Red Hat (RH134)

Post on 15-Jan-2017

7.635 views 49 download

Transcript of Alphorm.com formation Red Hat (RH134)

24/12/2015

1

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Site : http://www.alphorm.comBlog : http://blog.alphorm.com

Ludovic Quenec'hduFormateur et Consultant indépendant OpenSource et virtualisation

Formation Red Hat Entreprise Linux

Administration Système II(RH134)

24/12/2015

2

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plan• Présentation du formateur

• Les certifications Red Hat

• Le plan de la formation

• Publics concernés

• Connaissances requises

• Liens utiles

24/12/2015

3

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Présentation du formateur• Ludovic QUENEC’HDU

• lquenec@alphorm.com

• Consultant et expert en Open source, logiciel libre et virtualisation

• Mission de conseil, d’architecture, d’administration, de migration et de formation

• Mes références :

� Mon profil LinkedIn : https://fr.linkedin.com/pub/ludovic-quenec-hdu/47/6bb/550

� Mon profil Alphorm : http://www.alphorm.com/formateur/ludovic-quenechdu

24/12/2015

4

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Mes formations sur Alphorm

24/12/2015

5

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Les certifications Red Hat

24/12/2015

6

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Le plan de formation• Un peu de Shell

• Utilisation d'expressions régulières avec GREP• Utilisation d'expressions régulières avec SED

• Déploiement de serveur• Mise en œuvre d'un serveur PXE• Installation automatique d'un serveur avec

PXE/Kickstart

• Les listes de contrôle d'accès• Comprendre et mettre en œuvre les ACLs

• Gestion du stockage• Comprendre la gestion des volumes logiques• Gérer les volumes logiques à partir de la ligne de

commande• Introduction à BTRFS• Gérer les volumes btrfs à partir de la ligne de

commande

• Planification de tâches Linux• Le cron• La commande AT

• Connexion à des groupes et utilisateurs définis par le réseau

• Introduction aux services d'identification centralisés

• Introduction à PAM – SSSD• Introduction à LDAP• Mise en oeuvre et authentification sur un

serveur LDAP• Mise en oeuvre et authentification avec

kerberos/LDAP• S'authentifier sur un serveur AD

• Stockage distant • NFS Server• Accéder aux partages NFS sécurisé• Partage SMB- CIFS• Autofs

24/12/2015

7

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Le plan de formation• Gestion de la sécurité

• Introduction au contrôle d’accès sous Linux• Comprendre et mettre en oeuvre SELinux

• Le Pare feu• Introduction au firewall• Firewalld

• Contrôle et résolution des problèmes du processus de démarrage

• Modifier les paramètres de démarrage• Utilisation de rd.break

24/12/2015

8

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Connaissances requises� Les participants doivent avoir de bonnes connaissances en

informatique et avoir suivi la formation RH124

24/12/2015

9

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Publics concernés� Toute personne souhaitant préparer aux certifications RHEL 7

� Professionnels de l'Informatique ayant besoin d'utiliser Linux dans un contexte professionnel.

� Futur administrateur Linux ayant besoin d'acquérir de bonnes bases sur Linux.

� Passionné d’informatique

� Administrateur Microsoft Windows

� Technicien avec une connaissance de MS Windows

� Débutant Linux ayant suivi la formation RH124

24/12/2015

10

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Liens utiles• http://www.redhat.com

• https://access.redhat.com/documentation

• http://doc.fedora-fr.org/wiki/Accueil

24/12/2015

11

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Are you ready ? ☺

Êtes vous prêt à porter la casquette rouge?

24/12/2015

12

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Utilisation d'expressions régulières avec GREP

Utilisation d'expressions régulières

Site : http://www.alphorm.comBlog : http://blog.alphorm.com

Ludovic Quenec'hduFormateur et Consultant indépendant OpenSource et virtualisation

24/12/2015

13

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plan• Introduction aux expressions régulières

• Recherche de motif avec Grep

24/12/2015

14

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Introduction aux expressions régulières• Une expression régulière appelée expression rationnelle en français est

une chaîne de caractères ou motif qui représente un ensemble de chaînes de caractères

Bonjour | Salut

• Utilisées en shell et autres langages pour le traitement (recherche/remplacement) de chaines de caractères.

• Vérifier si l’utilisateur a bien spécifié une adresse de messagerie de type ludo@alphorm.com

• Rechercher une adresse IP : ([0-9]{1,3}\.){3}[0-9]{1,3}

• Supprimer ou remplacer des caractères dans une phrase

24/12/2015

15

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Introduction aux expressions régulières^ représente le début (d'une ligne, d'une chaîne de caractères)

$ représente la fin (d'une ligne, d'une chaîne de caractères)

. représente n'importe quel caractère

* représente 0 ou plus occurrences d'un élément. Donc e* représente soit "" ou "e" ou "ee" ou "eee"

+ représente 1 ou plus occurrences de e. Donc e+ représente soit "e","ee","eee", etc

? représente 0 ou 1 occurrences, comme s? dans villes? qui représente l'ensemble { "ville" , "villes" }

| représente un choix entre chaînes de caractères, comme la|le qui représente l'ensemble { "la" , "le" }

( ) groupage d'expressions, qui permet par ex. d'écrire (e|f)g au lieu de eg|fg. Utile pour les extractions de sous chaines.

[xyz] classes de caractères - un de caractères dans la liste doit être dans la cible représentée, [A-Za-z] représente toutes les lettres.

{m}, {m,}, ou \{m,n} représente le nombre d’occurrences

24/12/2015

16

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Recherche de motif avec Grep• Grep (g/RE/p) permet de rechercher des chaînes de caractères

• Associé avec des expressions régulières, grep permet de rechercher des motifs.

• Recherche la chaine ‘téléphone’ dans le fichier annuaire

#grep téléphone /tmp/annuaire.txt

• Recherche avec expressions régulières

#grep –E ‘tél|tel’ /tmp/annuaire.txt#grep -E 'e{1}.*o{1}' error.msg#ifconfig | egrep '([0-9]{1,3}\.){3}'

24/12/2015

17

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ce qu’on a couvert

• Introduction aux expressions régulières

• Recherche de motif avec Grep

24/12/2015

18

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Site : http://www.alphorm.comBlog : http://blog.alphorm.com

Ludovic Quenec'hduFormateur et Consultant indépendant OpenSource et virtualisation

Utilisation d'expressions régulières avec SED

Utilisation d'expressions régulières

24/12/2015

19

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plan

•Sed : Stream Editor

24/12/2015

20

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Sed : Stream Editor• Sed est un éditeur de flux textuel

• Sed permet d’opérer de multiple manipulations sur un flux textuel

• Sed n’est pas un éditeur de texte. Il travaille ligne par ligne.

• Recherche la chaine ‘téléphone’ et la remplacer par ‘tel’

#sed –e ‘s/téléphone/tel/g’ fichier

#cat ville75000 Paris29200 Brest1000 Bruxelles#sed 's/\([0-9]*\)\ \(.*\)/\2\t >\t\1/' villeBruxelles > 1000Paris > 75000Brest > 29200

24/12/2015

21

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ce qu’on a couvert

•Sed : Stream Editor

24/12/2015

22

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Mise en œuvre d'un serveur PXE

Déploiement de serveur

Site : http://www.alphorm.comBlog : http://blog.alphorm.com

Ludovic Quenec'hduFormateur et Consultant indépendant OpenSource et virtualisation

24/12/2015

23

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plan• Introduction au serveur PXE

• Configuration du serveur Red hat :

� dnsmasq

� Syslinux

� Tftp-server

� Pxelinux

� Mirroir FTP

� Activation des services

� Installation du client PXE

24/12/2015

24

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Introduction au serveur PXE

• PXE - Preboot Execution Environment fournit un environnement de démarrage de stations de travail par le réseau

• PXE permet d’installer des machines de différents OS

• PXE effectue l’amorçage en plusieurs étapes :

� La machine recherche une adresse IP DHCP

� La machine recherche le fichier a amorcer pxelinux.0

� La machine peut alors télécharger le fichier “menu” pxelinux/defaut

� Le fichier contient l’information pour installer l’OS

24/12/2015

25

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

dnsmasq• dnsmasq est un petit outil qui offre des fonctionnalités de serveur dhcp

et cache dns

• dnsmasq va permettre d’attribuer des adresse IP et l’accès au serveur pxe

• Installation de dnsmasq

#yum install dnsmasq

24/12/2015

26

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

dnsmasq• Configuration du serveur

#vi /etc/dnsmasq.conf#Interfaces en écoute interface=enp0s3#Nom de domainedomain=alphorm.local# Étendue DHCPdhcp-range= enp0s3,192.168.1.110,192.168.1.253,255.255.255.0,1h# Passerelledhcp-option=3,192.168.1.1# Serveur DNSdhcp-option=6,192.168.1.1, 8.8.8.8server=8.8.4.4# Configuration PXEdhcp-boot=pxelinux.0,pxeserver,192.168.1.100

pxe-prompt="Press F8 for menu.", 30pxe-service=x86PC, "Install Red hat 7 a partir du serveur r 192.168.1.2", pxelinux#activation de trivail ftpenable-tftp#emplacement des fichierstftp-root=/var/lib/tftpboot/

24/12/2015

27

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

SysLinux• Syslinux est un chargeur d’amorçage pour Linux

• Utilisé pour les installations Linux via :

� PXE

� DVD, USB

� Le réseau

• Installation de syslinux

#yum install syslinux#ls /usr/share/syslinux

24/12/2015

28

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Tftp-server• Trivial File Transfer Protocol ou Protocole simplifié de transfert de

fichiers est un protocole de transfert de fichiers pas très évolué

• Tftp est utilisé pour les mises à jour d’équipements réseau, démarrage d’ordinateurs via le réseau.

• Tftp fonctionne sur UDP port 69

• Tftp server utilise xinetd, il faut donc activer tftp-server dans xinetd

• Installation du serveur tftp

#yum install tftp-server#cp -r /usr/share/syslinux/* /var/lib/tftpboot

24/12/2015

29

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Tftp-server• Activation de tfp server

#vi /etc/xinetd.d/tftp

• Configuration de tfpt pour PXE

#mkdir /var/lib/tftpboot/pxelinux.cfg#vi /var/lib/tftpboot/pxelinux.cfg/defaultdefault menu.c32 prompt 0 timeout 300 ONTIMEOUT local

menu title ########## PXE Boot Menu ########## label 1 menu label ^1) Install Red Hat Enterprise Linux 7 x64 with Local Repokernel RHEL7/vmlinuzappend initrd=RHEL7/initrd.img method=ftp://192.168.1.20/pub \devfs=nomount

24/12/2015

30

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

PXE

• Montage des sources

#mount -o loop /dev/cdrom /mnt

• Configuration de tfpt pour PXE

#mkdir /var/lib/tftpboot/RHEL7#cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/RHEL7# cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/RHEL7

24/12/2015

31

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Mirroir FTP

• Création d’un dépôt local

#mount -o loop /dev/cdrom /mnt

• Configuration du serveur ftp

#yum install vsftpd#cp -r /mnt/* /var/ftp/pub/ #chmod -R 644/var/ftp/pub

24/12/2015

32

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Activation des services

• Création d’un dépôt local

# systemctl start dnsmasq# systemctl status dnsmasq# systemctl start vsftpd# systemctl status vsftpd# systemctl enable dnsmasq# systemctl enable vsftpd

24/12/2015

33

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Installation du client PXE

24/12/2015

34

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Installation du client PXE

24/12/2015

35

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ce qu’on a couvert• Introduction au serveur PXE

• Configuration du serveur Red hat

� dnsmasq

� Syslinux

� Tftp-server

� Pxelinux

� Mirroir FTP

� Activation des services

� Installation du client PXE

24/12/2015

36

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Installation automatique d'un serveur avec

PXE/Kickstart

Déploiement de serveur

Site : http://www.alphorm.comBlog : http://blog.alphorm.com

Ludovic Quenec'hduFormateur et Consultant indépendant OpenSource et virtualisation

24/12/2015

37

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plan• Introduction à Kickstart

• Le fichier kickstart

• Installation automatique avec kickstart

24/12/2015

38

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Introduction a Kickstart• Kickstart est une méthode d’installation automatique des systèmes

d’exploitation Linux, développée par Red Hat.

• La méthode Kickstart consiste en un fichier de réponse qui permet d’automatiser l’installation

• Ce fichier est un simple fichier texte contenant les informations d’installation :

� Partitionnement

� Média d’installation

� Paquet logiciel

� Configuration réseau

� ….

24/12/2015

39

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Le fichier kickstart#version=RHEL7

# Use network installationurl --url="ftp://192.168.1.100/pub/"# Use graphical installgraphical# Run the Setup Agent on first bootfirstboot --enableignoredisk --only-use=sda# System languagelang fr_FR.UTF-8

# Network informationnetwork --bootproto=static --device=enp0s3 --gateway=192.168.0.1 --ip=192.168.0.100 --nameserver=8.8.8.8 --netmask=255.255.255.0 --ipv6=auto --activatenetwork --hostname=rhel7.alphorm.local# Root passwordrootpw --iscrypted$6$j42/o3y9QasOYi/s$4NdAoyfEmoUuoe9Q/QSIc337ktoc4gfzngzhN6Zk36xN5fVPINi4zBbM.ZdGVrLrtAbu4YmfUC8iZD6Uztnka/%packages@base@core

%end

24/12/2015

40

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Installation automatique avec kickstart• Création du fichier kickstart

• Copie du fichier dans le dépôt

• Ajout de l’entrée dans le ficher pxe defaut

#vi anaconda-ks.cfg#ksvalidator anaconda-ks.cfg

#cp anaconda-ks.cfg /var/ftp/pub/

label 2menu label ^2) Install RHEL 7 x64 with Local Repo using Kickstartkernel rhel7/vmlinuzappend initrd=rhel7/initrd.img inst.ks=ftp://192.168.1.10/pub/anaconda-ks.cfg

24/12/2015

41

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Installation automatique avec kickstart

24/12/2015

42

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Installation automatique avec kickstart

24/12/2015

43

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Installation automatique avec kickstart

24/12/2015

44

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Installation automatique avec kickstart

24/12/2015

45

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ce qu’on a couvert• Introduction à Kickstart

• Le fichier kickstart

• Installation automatique avec kickstart

24/12/2015

46

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Comprendre et mettre en œuvre les ACLs

Les listes de contrôle d'accès

Site : http://www.alphorm.comBlog : http://blog.alphorm.com

Ludovic Quenec'hduFormateur et Consultant indépendant OpenSource et virtualisation

24/12/2015

47

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plan• Introduction aux listes de contrôle d’accès

• Mise en oeuvre des ACLs

• Héritage des ACLs

• Sauvegarde et restaurer les ACLs

24/12/2015

48

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Introduction aux listes de contrôle d’accès• La norme Posix définit des droits d’accès sur les fichiers et répertoires à

3 et seulement 3 entités

• Les droits de lecture, d’écriture et d’exécution

• Au propriétaire, au groupe propriétaire et tous les autres comptes.

• Ces droits d’accès sont donc limités :

� Un seul utilisateur, un seul groupe d’utilisateurs

• Les listes de contrôle d’accès permettent d’étendre les entités, utilisateurs et groupes d’utilisateurs sur les fichiers.

24/12/2015

49

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Mise en oeuvre des ACLs

• Installation

#yum install –y acl

• Vérifier la configuration

#grep ACL /boot/config-3.10.0-229.14.1.el7.x86_64CONFIG_EXT4_FS_POSIX_ACL=yCONFIG_XFS_POSIX_ACL=yCONFIG_BTRFS_FS_POSIX_ACL=yCONFIG_FS_POSIX_ACL=yCONFIG_GENERIC_ACL=yCONFIG_TMPFS_POSIX_ACL=yCONFIG_NFS_V3_ACL=yCONFIG_NFSD_V2_ACL=yCONFIG_NFSD_V3_ACL=yCONFIG_NFS_ACL_SUPPORT=m

24/12/2015

50

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Mise en oeuvre des ACLs

• Afficher les acls

# getfacl fichier.1# file: fichier.1# owner: root# group: rootuser::rw-group::r--other::r--

• Positionner des acls

#setfacl –m u:ludo:rw fichier1#setfacl –m g:users:rw fichier1#setfacl –m u:ludo:rw,g:users:rw fichier1#setfacl –m u:ludo:6,g:users:6,o:0 fichier1

24/12/2015

51

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Mise en oeuvre des ACLs

• Retirer toutes les acls

#setfacl –b fichier1

• Supprime des acls

#setfacl –x g:users fichier1#setfacl –x u:ludo,g:users fichier1

24/12/2015

52

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Héritage des ACLs• Ajout d’acl par défaut , acl hériter sur les fichiers et répertoires crées dans le répertoire

parent

# setfacl -m d:u:ludo:rw,d:g:ludo:rw rep_acl_d/getfacl rep_acl_d/# file: rep_acl_d/# owner: root# group: rootuser::rwxuser:ludo:rw-group::r-xgroup:ludo:rw-mask::rwxother::r-xdefault:user::rwxdefault:user:ludo:rw-default:group::r-xdefault:group:ludo:rw-default:mask::rwxdefault:other::r-x

24/12/2015

53

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Sauvegarder et restaurer les ACLs• Conserver les acls lors d’une copie du fichier ou répertoire

#cp –a file_acl /home/ludo/

• Sauvegarde des acls dans un fichier

#getfacl -R rep_acl_d/ >acl.save

• Restauration des acls

#setfacl --restore /root/acl.save

24/12/2015

54

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ce qu’on a couvert• Introduction aux listes de contrôle d’accès

• Mise en oeuvre des ACLs

• Héritage des ACLs

• Sauvegarder et restaurer les ACLs

24/12/2015

55

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Comprendre la gestion des volumes logiques

Gestion du stockage

Site : http://www.alphorm.comBlog : http://blog.alphorm.com

Ludovic Quenec'hduFormateur et Consultant indépendant OpenSource et virtualisation

24/12/2015

56

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plan• Introduction aux Volumes logiques

• Pourquoi utiliser le LVM?

• Structure du LVM

24/12/2015

57

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Introduction aux Volumes logiques • La gestion par volumes logiques : une méthode de gestion du stockage

• La gestion par volumes logiques : des outils de gestion destinés au stockage sur des disque dur.

• Le LVM ou Logical Volume Manager offre bien plus de flexibilité que le traditionel partitionnement

• Le LVM représente l'une des nombreuses formes de virtualisation du stockage, mais pas la seule.

• On parle de Volume de stockage disponible et non plus de partition

24/12/2015

58

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Pourquoi utiliser le LVM?

Plus de flexibilité • Agrandissement et réduction

� Il est possible d'agrandir ou réduire des volumes, mais les filesystems installés dessus doivent prendre en charge cette opération.

24/12/2015

59

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Pourquoi utiliser le LVM

Plus de flexibilité • Agrandissement et réduction

� Il est possible d'agrandir ou réduire des volumes, mais les filesystems installés dessus doivent prendre en charge cette opération.

• Clichés (snapshots)

� La création d'un snapshot consiste à prendre une « photo », un instantané du volume logique cible (ce qui est quasi-immédiat) et on commence alors à enregistrer les modifications apportées au volume logique cible.

� Avantage des snapshots, ils peuvent être utilisés comme une méthode de sauvegarde. Ils permettent de stocker une image statique d'un volume logique à un instant précis. Il faut comprendre une sauvegarde incrémentale

24/12/2015

60

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plus de flexibilité• Volumes agrégés par bandes (striping)

� Les volumes logiques peuvent être « stripés » sur un ensemble de volumes physiques, à l'instar du RAID 0.

� Cette technique est utilisée pour améliorer les performances, mais rends plus vulnérable le volume à une panne de disque.

Pourquoi utiliser le LVM

24/12/2015

61

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plus de flexibilité• Volumes agrégés par bandes (striping)

� Les volumes logiques peuvent être « stripés » sur un ensemble de volumes physiques, à l'instar du RAID 0.

� Cette technique est utilisée pour améliorer les performances, mais rends plus vulnérable le volume à une panne de disque.

• Miroir (mirroring)

� Les volumes logiques peuvent être également mirrorés, à l'instar du RAID 1.

� Cette technique permet de se protéger contre une panne sur un disque dur.

Pourquoi utiliser le LVM

24/12/2015

62

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Structure LVMPartitions

sda1 sdb1 sdc1 sdd1

24/12/2015

63

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Structure LVMPartitions

Groupe de Volumes

sda1 sdb1 sdc1 sdd1

24/12/2015

64

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Structure LVMPartitions

Groupe de Volumes

Volume logique Volume logique Volume logique

sda1 sdb1 sdc1 sdd1

24/12/2015

65

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Structure LVM

LV0 LV2LV1

/home /var /usr

Volumes logiques

24/12/2015

66

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ce qu’on a couvert

• Introduction aux Volumes logiques

• Pourquoi utiliser le LVM?

• Structure LVM

24/12/2015

67

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Gérer les volumes logiques à partir de

la ligne de commande

Gestion du stockage

Site : http://www.alphorm.comBlog : http://blog.alphorm.com

Ludovic Quenec'hduFormateur et Consultant indépendant OpenSource et virtualisation

24/12/2015

68

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plan

• Les commandes LVM

• Création du LVM

• Visualiser le LVM

• Étendre les volumes

• Travailler avec les snapshots

24/12/2015

69

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Les commandes LVM

Partitions

Groupe de Volumes

Volume logique Volume logique Volume logique

sda1 sdb1 sdc1 sdd1 pvcreate

vgcreate

lvcreate

24/12/2015

70

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Création du LVM• Installation du LVM

#yum install lvm2

• Création des partitions de type LVM

#fdisk /dev/sdc

• Création des volume physiques

#pvcreate /dev/sdb{1,2,3}

• Création du groupe de volumes

#vgcreate mon_vgroupe /dev/sdb{1,2,3}

• Création des volume logiques

#lvcreate –L 5G –n mon_lvolume mon_vgroupe

24/12/2015

71

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Création du LVM

• Création des volume logiques

#lvcreate –L 5G –n mon_lvolume mon_vgroupe

• Création du FS sur le volume logique

#mkfs.xfs –L volume _var /dev/ mon_vgroupe /mon_lvolume

24/12/2015

72

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Visualiser le LVM

• Vérifier et visualiser les volumes physiques

#pvscan#pvdisplay

• Vérifier et visualiser les groupes de volumes

#vgscan#vgdisplay#vgdisplay mon_vgroupe

• Vérifier et visualiser les volumes logiques

#lvdisplay#lvscan

24/12/2015

73

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Extendre et réduire des volumes

• Ajout d’espace au volume

#lvextend –L +5G /dev/ mon_vgroupe /mon_lvolume

• Agrandir le fs xfs

#xfs_grows /dev/ mon_vgroupe /mon_lvolume

• Reduire l’espace du volume

#lvreduce –L -5G /dev/ mon_vgroupe /mon_lvolume

• Agrandir le fs xfs – Impossible !!

24/12/2015

74

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Extendre et réduire des volumes

• Ajout de nouveau volumes physiques

#pvcreate /dev/sdb7

• Ajout du nouveau PV au groupe de volume

#vgextend mon_vgroupe /dev/sdb7

• Ajout d’espace au volume

#lvextend –L +5G /dev/ mon_vgroupe /mon_lvolume

• Agrandir le fs xfs a chaud

#zfs_grows /dev/ mon_vgroupe /mon_lvolume

24/12/2015

75

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Travailler avec les snapshots

• Prendre un snapshot du volumes logique

# lvcreate -L 5G -s -n snap_00_lv0 /dev/vgroupe/lv0

• Monter le snapshot

# mount -onouuid /dev/vgroupe/snap_00_lv0 /tmp/snap_lv0/

• Fusionner le snapshot

## lvconvert --merge /dev/vgroupe/snap_00_lv0

24/12/2015

76

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ce qu’on a couvert

• Les commandes LVM

• Création du LVM

• Visualiser le LVM

• Étendre les volumes

• Travailler avec les snapshots

24/12/2015

77

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Introduction au BTRFS

Gestion du stockage

Site : http://www.alphorm.comBlog : http://blog.alphorm.com

Ludovic Quenec'hduFormateur et Consultant indépendant OpenSource et virtualisation

24/12/2015

78

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plan

• Introduction au BTRFS

• Pourquoi utiliser BTRFS?

• Structure BTRFS

24/12/2015

79

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Introduction au BTRFS• Btrfs (B-tree file system) est un système de fichiers basé sur le Copy-On-

Write sous licence GNU GPL

• En 2007 Le B-tree « copie-sur-écriture », structure de données fondamentale dans la conception de Btrfs, est proposé par Ohad Rodeh (chercheur chez IBM).

• 2007 Chris Mason, qui travaille à l’époque pour la société SUSE sur un autre système de fichiers appelé ReiserFS, rejoint Oracle et commence le développement de Btrfs.

• 2009 La version 1.0 de Btrfs est intégrée au noyau Linux.

• 2012 Quelques distributions Linux intègrent Btrfs en tant que système de fichiers apte à être utilisé en production.

• 2013 Chris Mason rejoint Facebook où il poursuit le développement de Btrfs.

24/12/2015

80

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Introduction au BTRFS

• Aujoutd’hui BTRFS est développé conjointement par RedHat, Intel, Fujistu, Suse, …

• Btrfs est destiné à devenir le successeur de ext4 et ext3, connus pour être les systèmes de fichiers par défaut des distributions Linux.

• Btrfs a vocation à combler l'absence des fonctionnalités dans les systèmes de fichiers utilisés sous Linux

24/12/2015

81

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

• Énormes capacités de stockage

• Support natif du RAID :

� RAID-0, RAID-1, RAID-5, RAID-10

• Intégrité des données :

� Les données et métadonnées ont de sommes de contrôle vérifiées à chaque lecture de bloc et mise à jour à chaque écriture

� « Autoréparation » via les sommes de contrôle (si miroir)

• Contrôle des périphériques de stockage :

� Lancement périodique de contrôle des disques en ligne

• Compression/décompression à la volée

Pourquoi utiliser BTRFS

24/12/2015

82

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Pourquoi utiliser BTRFS• Gestion des quotas

• Gestion de réservations d’espaces – notion d’extends

• Instantanés et clones, clones “instantanés” (seules les modifications sont stockées)

• Envoi/Réception :

� Permet d’échanger des clichés pour les sauvegardes sur des systèmes distants

• Déduplication

� Permet de détecter des données redondantes et ainsi économiser l’espace disque

• Défragmentation

24/12/2015

83

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Structure BTRFS

sda1

sdb1 sdc sdd

Partitions ou disques

sda2

24/12/2015

84

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Structure BTRFS

Volume BTRFS

sda1

sdb1 sdc sdd

Partitions ou disques

sda2

24/12/2015

85

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Structure BTRFS

Sous-volume FS Autre application

Volume BTRFS

sda1

sdb1 sdc sdd

Partitions ou disques

sda2

24/12/2015

86

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ce qu’on a couvert• Introduction au BTRFS

• Pourquoi utiliser BTRFS?

• Structure BTRFS

24/12/2015

87

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Gérer les volumes btrfsà partir de la ligne

de commande

Gestion du stockage

Site : http://www.alphorm.comBlog : http://blog.alphorm.com

Ludovic Quenec'hduFormateur et Consultant indépendant OpenSource et virtualisation

24/12/2015

88

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plan

• Installation de BTRFS

• Mise en oeuvre

• Étendre et réduire

24/12/2015

89

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Installation de Btrfs

• Installation

#yum install btrfs-progs.x86_64

24/12/2015

90

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Mise en oeuvre• Création du volume btrfs

# mkfs.btrfs -d raid10 -m raid10 -L btrfs_vol /dev/sd{c,d,e,f}Btrfs v3.16.2See http://btrfs.wiki.kernel.org for more information.

Turning ON incompat feature 'extref': increased hardlink limit per file to 65536adding device /dev/sdd id 2adding device /dev/sde id 3adding device /dev/sdf id 4fs created label btrfs_vol on /dev/sdc

nodesize 16384 leafsize 16384 sectorsize 4096 size 32.00GiB

# btrfs filesystem showLabel: 'btrfs_vol' uuid: be71f5f1-a6dd-4685-ae68-df4695638c19

Total devices 4 FS bytes used 112.00KiBdevid 1 size 8.00GiB used 2.03GiB path /dev/sdcdevid 2 size 8.00GiB used 2.01GiB path /dev/sdddevid 3 size 8.00GiB used 2.01GiB path /dev/sdedevid 4 size 8.00GiB used 2.01GiB path /dev/sdf

24/12/2015

91

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Mise en oeuvre• Création du sous volume btrfs

#btrfs subvolume create btrfs_vol/subvol

• Afficher les sous volume btrfs

#btrfs subvolume list btrfs_vol/ID 258 gen 19 top level 5 path subvol

• Monter le sous volume

#mount -o subvolume=258 /dev/sdc /root/btrfs_sous_vol/

24/12/2015

92

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Étendre et réduire• Ajouter un périphérique

#btrfs device add /dev/sdc btrfs_sous_vol/

• Afficher les sous volume btrfs

#btrfs filesystem showLabel: 'btrfs_vol' uuid: be71f5f1-a6dd-4685-ae68-df4695638c19

Total devices 5 FS bytes used 736.00KiBdevid 2 size 8.00GiB used 1.16GiB path /dev/sdddevid 3 size 8.00GiB used 1.16GiB path /dev/sdedevid 4 size 8.00GiB used 1.16GiB path /dev/sdfdevid 5 size 8.00GiB used 1.16GiB path /dev/sdgdevid 6 size 8.00GiB used 0.00 path /dev/sdc

• Supprimer un périphérique

# btrfs device del /dev/sdc btrfs_vol/subvol/

24/12/2015

93

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ce qu’on a couvert• Installation de BTRFS

• Mise en oeuvre

• Étendre et réduire

24/12/2015

94

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Le cron

Planification de tâches Linux

Site : http://www.alphorm.comBlog : http://blog.alphorm.com

Ludovic Quenec'hduFormateur et Consultant indépendant OpenSource et virtualisation

24/12/2015

95

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plan

• Introduction

• Le cron

24/12/2015

96

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Introduction

• Un administrateur système doit pouvoir mettre en place un certain nombre de tâches

• L’exécution des tâches a besoin d’être automatisée

• Le cron va permettre de lancer ces tâches à des fréquences spécifiées par l’administrateur

24/12/2015

97

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Le cron• Cron est un diminutif de crontab qui signifie chrono table ou table de

planification en français

• Cron comprend un “démon” (dragon) crond et une commande d’édition

• Chaque utilisateur peut mettre en œuvre l’exécution automatique des tâches.

• On programme le lancement de commande avec la commande crontaben :

� Minutes, heures, jour du mois, mois et jour de la semaine

24/12/2015

98

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Le cron• Une ligne correspond à une tâche à exécuter en mm hh jj MMM JJJ

• mm représente les minutes (de 0 à 59)

• hh représente l'heure (de 0 à 23)

• jj représente le numéro du jour du mois (de 1 à 31)

• MMM représente l'abréviation du nom du mois (jan, feb, ...) ou bien le numéro du mois (de 1 à 12)

� JJJ représente l'abréviation du nom du jour ou bien le numéro du jour dans la semaine :

• 0 = Dimanche, 1 = Lundi, 2 = Mardi, ..., 6 = Samedi , 7 = Dimanche

24/12/2015

99

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Le cron• Pour chaque valeur numérique (mm, hh, jj, MMM, JJJ) les notations

possibles sont :

� * : à chaque unité (0, 1, 2, 3, 4...)

� 5,8 : les unités 5 et 8

� 2-5 : les unités de 2 à 5 (2, 3, 4, 5)

� */3 : toutes les 3 unités (0, 3, 6, 9...)

� 10-20/3 : toutes les 3 unités (10, 13, 16, 19)

• Toutes les 5 minutes

*/5 * * * * df >> /tmp/df.log

24/12/2015

100

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Le cron

24/12/2015

101

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Le cron

• Lister les cron

#crontab –l

• Éditer la liste de cron

#crontab -e

• Supprimer les cron

#crontab -r

• Changer d’éditeur

#export EDITOR=VIM

24/12/2015

102

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ce qu’on a couvert

• Introduction

• Le cron

24/12/2015

103

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

AT

Site : http://www.alphorm.comBlog : http://blog.alphorm.com

Ludovic Quenec'hduFormateur et Consultant indépendant OpenSource et virtualisation

Planification de tâches Linux

24/12/2015

104

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plan

• Introduction à AT

• Utilisation de la commande AT

24/12/2015

105

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Introduction à AT

• Le cron permet d’exécuter des tâches de façon récurrente, tous les jours à 2 heures du matin par exemple

• Parfois, le besoin de lancer une tâche à une heure précise, mais une seule fois

• Pour ce faire la commande at permet de lancer un job une seule fois

24/12/2015

106

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Introduction à AT• at permet d'indiquer l'heure du lancement de manière assez complexe

• at accepte des spécifications de la forme HH:MM pour exécuter un travail à une heure donnée de la journée en cours (ou du lendemain si l'heure mentionnée est déjà dépassée).

• On peut aussi lui fournir l'un des arguments suivants : midnight (minuit), noon(midi), ou teatime (l'heure du thé, soit 16 heures).

• On peut indiquer le jour du lancement, en précisant une date du type nom-du-mois, jour année (en anglais).

• On peut indiquer une heure de la forme now (maintenant) + nombre d'unités, où les unités peuvent être minutes, hours (heures), days (jours), ou weeks(semaines)

• On peut également demander à at de déclencher le travail le jour même en ajoutant le suffixe today ou le lendemain en ajoutant tomorrow

24/12/2015

107

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Introduction à AT• Le super-utilisateur peut toujours employer at.

• Les permissions des utilisateurs sont déterminées par les fichiers /etc/at.allow et /etc/at.deny

• Si le fichier /etc/at.allow existe, seuls les utilisateurs dont les noms sont mentionnés dans ce fichier peuvent utiliser at.

• Si /etc/at.allow n'existe pas, at vérifie si /etc/at.deny existe, et tous les utilisateurs non-mentionnés dans ce fichier ont le droit d'invoquer at.

• Si aucun de ces deux fichiers n'existe, seul le super-utilisateur a le droit d'appeler at.

• Un fichier /etc/at.deny vide signifie que tous les utilisateurs ont le droit d’exécuter at

24/12/2015

108

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

AT• at et batch lisent, depuis l'entrée standard, ou depuis un fichier, des

commandes qu‘elles exécuteront ultérieurement, en utilisant /bin/sh.

• at lance les commandes indiquées à une heure précise.

• atq affiche la liste des commandes en attente d'exécution, sauf si l'appelant est le Super-utilisateur.

• atrm supprime les travaux en attente.

• batch exécute les commandes indiquées lorsque la charge système le permet, c'est à dire lorsque la charge du processeur, obtenue depuis le fichier /proc/loadavg descend en dessous de 1,5 par défaut, ou en dessous d'une valeur mentionnée explicitement durant l'invocation de atrun

24/12/2015

109

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Utilisation de la commande AT

• Lancer une commande a une midi

#at 12:00at> echo "j ecris dans un fichier" >/tmp/at.testat> <EOT>job 1 at Fri Nov 13 12:00:00 2015

• Lancer une commande demain à 11h54

#at 11:54 tomorrowat> echo "j ecris dans un fichier" >/tmp/at.testat> <EOT>job 2 at Sat Nov 14 11:54:00 2015

• Lancer une commande dans 5 minutes

#at now +5 minutes

24/12/2015

110

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Utilisation de la commande AT

• Lister les travaux a exécuter## atq2 Sat Nov 14 11:54:00 2015 a root3 Fri Nov 13 12:03:00 2015 a root4 Tue Nov 17 11:59:00 2015 a root5 Fri Nov 27 11:59:00 2015 a root

• Supprimer un job

# atrm 3#atq2 Sat Nov 14 11:54:00 2015 a root4 Tue Nov 17 11:59:00 2015 a root5 Fri Nov 27 11:59:00 2015 a root

24/12/2015

111

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ce qu’on a couvert

• Introduction à AT

• Utilisation de la commande AT

24/12/2015

112

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Site : http://www.alphorm.comBlog : http://blog.alphorm.com

Ludovic Quenec'hduFormateur et Consultant indépendant OpenSource et virtualisation

Introduction aux services d'identification centralisés

Connexion à des groupes et utilisateurs définis par le réseau

24/12/2015

113

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plan• Introduction

• Ldap - Microsoft Active Directory

• Identity Management

• Comprendre le SSO

• Kerberos

24/12/2015

114

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Introduction

NFS Serveur Service Web Applications Applications Service messagerie Base de données

24/12/2015

115

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ldap - Microsoft Active Directory – Samba4

Applications Service messagerie Base de données

LDAP Active Directory

NFS Serveur Service Web Applications

24/12/2015

116

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Identity Management - IdM

Replica IdM

NFS Serveur Service Web Applications

IdM

24/12/2015

117

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Comprendre le SSO

Utilisateur/mot de passe

Applications Service messagerie Base de données

SSO - Single Sign On

NFS Serveur Service Web Applications

24/12/2015

118

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

• Lorsque les utilisateurs accèdent à des services de type différents, comme par exemple la messagerie, l’ouverture de session MS Windows, des applications de Base de données, des outils de gestion informatique, …

• Ils doivent fournir des identifiants de différents types.

• Le SSO Single Sign On permet aux administrateurs de centralisés les informations d’authentification afin d’accéder à différents services.

• Les utilisateurs ne se « loguent » plus qu’une fois et accèdent aux différents services

• Simplicité pour l’utilisateur, simplicité pour les administrateurs pour gérer les authentifications et la mise en place de règles d’accès aux services.

• Le service est centralisé, faiblesse de sécurité, accès à un service donne accès à tous les services.

Comprendre le SSO

24/12/2015

119

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Kerberos

Utilisateur/mot de passe

Kerberos/IdMKerberos/LDAPKerberos/MS active Directory

NFS Serveur Service Web Applications Applications Service messagerie Base de données

24/12/2015

120

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ce qu’on a couvert• Introduction

• Ldap - Microsoft Active Directory – Samba4

• Identity Management - IdM

• Comprendre le SSO

• Kerberos

24/12/2015

121

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Site : http://www.alphorm.comBlog : http://blog.alphorm.com

Ludovic Quenec'hduFormateur et Consultant indépendant OpenSource et virtualisation

Introduction àPAM - SSSD

Connexion à des groupes et utilisateurs définis par le réseau

24/12/2015

122

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plan• PAM – Plugabble Authentification Module

• NSS – Name Service Switch

• SSSD - System Security Services Daemon

24/12/2015

123

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

PAM – Plugabble Authentification Module• Avant PAM :

� Les programmes login, telnet, rlogin, gdm, devaient être modifiés pour assurer de nouvelles fonctionnalités, modifier la méthode d’authentification, modifier les règles de sécurité.

• Avec PAM :

� Un ensemble de bibliothèques fournissent aux programmes une API pour modifier les méthodes d’authentification et règles de sécurité

� Les programmes login, gdm peuvent maintenant utiliser différentes méthodes (clé USB, biométrie, smartcard, ldap, kerberos, etc)

24/12/2015

124

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

PAM – Plugabble Authentification Module• PAM est une solution développée par SUN en 1995

� Offre un ensemble de bibliothèques, offre diverses stratégies pour l’authentification, vérification des mots de passe, plage horaires, etc. …

• PAM définit des services :

� Login, ssh, ftp, etc..

• PAM définit un type de tâche pour chaque service :

� Auth, account, password et session

• PAM définit une liste de règles pour chaque tâche :

� required , requisite, sufficient

• PAM définit un module pour chaque règle ou stratégie :

� Pam_unix, pam_ldap, pam_krb, pam_sss, pam_security, etc.

24/12/2015

125

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

PAM – Plugabble Authentification Module• Chaque application qui utilise PAM dispose de son propre service

• Les fichiers de configuration des services se trouvent dans /etc/pam.d

• Le fichier de configuration du service system-auth

• Les services

#ls /etc/pam.d/atd smtp system-auth login sshd sudo

• Le services system-auth

#%PAM-1.0# This file is auto-generated.# User changes will be destroyed the next time authconfig is run.auth required pam_env.soauth sufficient pam_unix.so nullok try_first_passauth requisite pam_succeed_if.so uid >= 1000 quiet_successauth sufficient pam_sss.so use_first_pass

24/12/2015

126

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

PAM – Plugabble Authentification Module• PAM est donc une solution qui va permettre d’ajouter simplement et

sans devoir modifier les programmes

� des règles d’authentification

� des fournisseurs d’authentification supplémentaires ldap, Kerberos, usb, …

• PAM n’indique pas aux programmes (login, ssh, etc.) quel service d’authentification utiliser.

• Il fournit des bibliothèques pour y accéder

• Ce rôle est dédié à NSS

24/12/2015

127

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

NSS – Name Service Switch• Name Service Switch est un mécanisme de service de noms

• Il permet aux programmes de savoir à quel service s’adresser pour obtenir de base de données d’authentification, d’alias pour le courrier électronique, des noms d’hôtes, etc...

• NSS spécifie les sources des bases de données et leur ordre de recherche dans le fichier configuration /etc/nsswitch.conf

• Nsswitch.conf

passwd: files sss ldapshadow: files sss ldapgroup: files sss ldap

#hosts: db files nisplus nis dnshosts: files dns ldap

24/12/2015

128

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

SSSD - System Security Services Daemon• Depuis la version 6.4 de Red hat Linux, l’authentification externe des

utilisateurs repose sur SSSD.

• Avant SSSD, Red Hat linux utilisait NSS_LDAP et NSCD pour l’authentification sur les serveurs d’annuaire LDAP (cache avec NSCD)

• WinBind/Samba/Kerberos pour l’authentification Microsoft Active Directory (pas de cache, nombreuses requêtes client/serveur)

• SSSD - System Security Services Daemon fournit une interface commune aux mécanismes d’authentification qui permet de se connecter à de multiples sources de base de données d’identification. LDAP, Active Directory, IdM,…

• SSSD fournit un système de cache, l’accès à des dossiers distants

24/12/2015

129

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

SSSD - System Security Services Daemon• SSSD repose sur un fichier de configuration /etc/sssd.conf

• Il faut configurer SSSD avec NSS et PAM

• Extrait du fichier sssd.conf

[domain/default]

autofs_provider = ldapldap_schema = rfc2307biskrb5_realm = #ldap_search_base = dc=alphorm,dc=localid_provider = ldapauth_provider = ldapchpass_provider = ldapldap_uri = ldap://192.168.1.39ldap_id_use_start_tls = True

24/12/2015

130

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ce qu’on a couvert• PAM – Plugabble Authentification Module

• NSS – Name Service Switch

• SSSD - System Security Services Daemon

24/12/2015

131

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Site : http://www.alphorm.comBlog : http://blog.alphorm.com

Ludovic Quenec'hduFormateur et Consultant indépendant OpenSource et virtualisation

Introduction à LDAP

Connexion à des groupes et utilisateurs définis par le réseau

24/12/2015

132

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plan• Les annuaires

• Les annuaires électroniques

• Le protocole LDAP – Lightweight Directory Access Protocole

• Le modèle de nommage

• Le Directory Information Tree DIT

• Structure de l'annuaire

• Pour aller plus loin avec LDAP

� http://www.alphorm.com/formation/formation-en-ligne-linux-lpic-3-environnement-mixte-examen-300

24/12/2015

133

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Les annuaires• Le petit Larousse nous dit :

� ANNUAIRE n.m. (du lat. annuus, annuel). Ouvrage publié chaque année, donnant la liste des membres d'une profession, des abonnés à un service, etc. : Annuaire du téléphone, Bottin.

• L'exemple classique d'un répertoire est l’annuaire téléphonique, où les personnes sont classées par ordre alphabétique et en regards leurs numéros de téléphone et adresses.

• Chaque personne (ou famille) représente alors un objet, le numéro de téléphone et l’adresse sont les attributs de cet objet.

• Certains objets peuvent être aussi des entreprises, et leurs attributs peuvent alors inclurent les numéros de fax ou les heures d'ouverture et diverses informations (Logo, adresse de messagerie,…).

� Famille de Ludo 11 rue du paradis Tel : 0033 6 78 45 24 67

� Entreprise a Ludo 11 rue du paradis Tel : 0033 6 78 45 24 67 Fax : 784930202

24/12/2015

134

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Les annuaires électroniques• Contrairement à son homologue imprimé, un annuaire électronique a une nature

hiérarchique.

• Ce qui permet aux objets d'être placés sous d'autres objets pour indiquer une relation parent-enfant.

• Par exemple, le répertoire téléphonique pourrait être étendu et avoir des objets représentant des zones de la ville, chacune avec des objets personnes et entreprises se trouvant sous les objets de zone.

• Les objets arrondissement se trouveraient alors sous un objet ville, et qui pourrait encore se trouver sous un objet état ou province, et ainsi de suite.

• Une copie imprimée serait beaucoup plus difficile à utiliser car vous auriez besoin de connaître le nom et localisation géographique, alors qu’il serait peut-être plus simple de rechercher par type d’entreprise. Je recherche un plombier

• En revanche, les ordinateurs sont capables de trier et rechercher des informations dans des fichiers, répertoires et bases de données, cela permet donc une structure plus évoluée.

24/12/2015

135

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Les annuaires électroniques

France

Ile de France Provence

Paris Marseille11e arrondissement 8e arrondissementsFamille de Ludo

Adresse : 7 rue du paradis

Tel : 0033 6 78 45 24 67

24/12/2015

136

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Les annuaires électroniques• L'utilisation d'annuaire ne se limite pas à la recherche de personnes ou

de ressources. Un annuaire permet de :

� constituer un carnet d'adresse

� authentifier des utilisateurs

� définir les droits de chaque utilisateur

� recenser des informations sur un parc matériel (ordinateurs, serveurs, adresses IP et adresses MAC, ...)

� contenir les informations configuration des services DHCP, DNS, Kerberos …

� décrire les applications disponibles

24/12/2015

137

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Les annuaires électroniques• Ils sont dynamiques : la mise à jour d'un annuaire électronique est beaucoup

plus simple à réaliser que celle d'un annuaire papier. Ainsi un annuaire en ligne sera à jour beaucoup plus rapidement, d'autant plus que les personnes recensées dans l'annuaire peuvent elles-mêmes modifier les informations les concernant.

• Ils sont sûrs : les annuaires en ligne disposent de mécanismes d'authentification des utilisateurs grâce à un mot de passe et un nom d'utilisateur ainsi que des règles d'accès permettant de définir les branches de l'annuaire auxquelles l'utilisateur peut accéder

• Ils sont souples : ils permettent ainsi de classer l'information selon des critères multiples contrairement aux annuaires papiers, imprimés une fois pour toute pour permettre de rechercher selon un critère figé (en général l'ordre alphabétique selon le nom)

24/12/2015

138

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Les annuaires électroniques• On trouve beaucoup d’implémentations d’annuaires électroniques. Tous

ces serveurs implémentent le protocole LDAP ou sont compatibles :

� Apache Directory Server,

� OpenLDAP,

� 389 Directory Server (Red hat)

� Oracle Directory Server Enterprise Edition, Oracle Internet Directory,

� Microsoft Active Directory

� Open Directory d'Apple,

24/12/2015

139

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Lightweight Directory Access Protocol• Un protocole d'accès aux données dans un annuaire. Il définit comment ajouter,

modifier, supprimer, rechercher des données dans une base de données, quels protocoles de chiffrement utilisés (kerberos, ssl...), et quels mécanismes d'authentification sont utilisés.

• Ce protocole est utilisé dans la relation client/serveur, mais également entre serveurs (serveur/serveur). Les BDs LDAP peuvent être dupliquées et réparties

• LDAP Lightweight Directory Access Protocol, issu de X.500 Directory Access Protocol (DAP)

• Le protocole fut créé par Tim Howes de l'Université du Michigan, Steve Kille du ISODE et Wengyik Yeong de Performance Systems International en 1993

24/12/2015

140

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Lightweight Directory Access Protocol• Initialement LDAP était un protocole d'accès à un annuaire X.500 avant que

l'université du Michigan n'en fasse un annuaire Standalone

• L'annuaire LDAP est une base de données organisée hiérarchiquement qui recense des données sur des objets qui peuvent être des personnes, des serveurs, des imprimantes, …

• Il existe deux versions de LDAP : LDAPv2 et LDAPv3

� LDAP v3 devient un standard pour l'Internet (RFC 2251)

� LDAP v3 permet d’étendre les fonctionnalités

24/12/2015

141

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Lightweight Directory Access Protocol• Usage d'un service d'annuaire LDAP

� un service d'annuaire

� un service d'authentification

� pour la messagerie, carnet d’adresses

� pour les applications internet/intranet, certificats, configuration des applis…

24/12/2015

142

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Lightweight Directory Access Protocol• Un protocole de communication.

• Un modèle de données

• Un modèle de nommage

• Un modèle fonctionnel

• un modèle de sécurité

• Un format d'échange de données, le format LDIF.

• Un modèle de réplication

24/12/2015

143

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Le modèle de nommage• Le modèle de nommage définit l'organisation des données et la façon d'y

accéder.

• Il spécifie une structure arborescente appelée le Directory Information Tree (DIT) dans laquelle on trouve des entrées.

• L'arbre est composé d'entrées simples et d'alias.

• Depuis LDAP v3, les entrées d'un annuaire peuvent être réparties entre plusieurs serveurs (referall ) et peuvent être désignées de deux façons, les DN et le RDN.

24/12/2015

144

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Le modèle de nommage• Il y a plusieurs approches afin d’organiser le nommage des entrées :

� Par pays : C=FR, C=UK

� Par organisation : O=ALPHORM

� Par nom de domaine : ALPHORM.COM DC=ALPHORM,DC=COM

24/12/2015

145

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Le Directory Tree, structure de l’arbre• On peut trouver pour une grande organisation :

24/12/2015

146

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Structure de l'annuaire, Exemples d'arbres • Dans ce cadre, le modèle LDAP peut être plat :

24/12/2015

147

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Structure de l'annuaire, Exemples d'arbres • Découpage par type d'objet :

24/12/2015

148

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Structure de l'annuaire• Au sommet de l’arbre se trouve la racine ou suffixe appelé Directory Infomation Tree (DIT)

• Chaque entrée a un identifiant unique, le Distinguished Name (DN).

• Il est constitué à partir de son Relative Distinguished Name (RDN) suivi du DN de son parent. C'est une définition récursive.

• On peut faire l'analogie avec une autre structure arborescente, les systèmes de fichiers; le DN étant le chemin absolu et le RDN le chemin relatif à un répertoire. En règle générale le RDN d'une entrée représentant une personne est l'attribut cn (common name) :

dc=com

dc=alphorm

ou=people ou=groupe

cn=ludo

• Le RDN est rdn:cn=ludo, son DN est dn: cn=ludo, ou=people, dc=alphorm,dc=com

24/12/2015

149

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Structure de l'annuaire• Au sommet de l’arbre on trouve donc des attributs de différents types qui constituent

donc le DIT.

• dc est l’abréviation de domain component (composante du domaine).

• Dans notre exemple com est le top-level du domaine et alphorm est un sous domaine de com.

• Ils sont alors séparés dans deux entités différentes et sont donc séparés par des virgules dans la norme X500

dc=alphorm, dc=com

24/12/2015

150

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Structure de l'annuaire• On trouvera donc un espace de nom de type :

• On trouve également ObjectClasss

24/12/2015

151

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Formation complète et avancées sur LDAPhttp://www.alphorm.com/formation/formation-en-ligne-linux-lpic-3-environnement-mixte-examen-300

24/12/2015

152

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ce qu’on a couvert• Les annuaires

• Les annuaires électroniques

• Le protocole LDAP – Lightweight Directory Access Protocole

• Le modèle de nommage

• Le Directory Information Tree DIT

• Structure de l'annuaire

• Pour aller plus loin avec LDAP

� http://www.alphorm.com/formation/formation-en-ligne-linux-lpic-3-environnement-mixte-examen-300

24/12/2015

153

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Site : http://www.alphorm.comBlog : http://blog.alphorm.com

Ludovic Quenec'hduFormateur et Consultant indépendant OpenSource et virtualisation

S'authentifier sur un serveur LDAP

Connexion à des groupes et utilisateurs définis par le réseau

24/12/2015

154

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plan• Mise en œuvre serveur Openldap

• Authentification client ldap

� Méthode nss-pam-ldap nscd

� Méthode SSSD

24/12/2015

155

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Mise en œuvre serveur Openldap

• Installation des pasquets openldap server et client

#yum-y install openldap-servers openldap-clients

• Installation de la base de données

# cp /usr/share/openldap-servers/DB_CONFIG.example \/var/lib/ldap/DB_CONFIG# chown ldap. /var/lib/ldap/DB_CONFIG#systemctl enable slapd#systemctl start slapd

24/12/2015

156

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Mise en œuvre serveur Openldap

• Mise en place du mot de passe pour l’administrateur ldap

#slappasswdNew password:Re-enter new password:{SSHA} ZNSXX9tIF7aNJlcaqZfvE04gbI/3+YHX

• Insertion dans la base de données

#vi passwdRoot.ldifdn: olcDatabase={0}configchangetype: modifyadd: olcRootPWolcRootPW: {SSHA} ZNSXX9tIF7aNJlcaqZfvE04gbI/3+YHX

#ldapadd -Y EXTERNAL -H ldapi:/// -f chrootpw.ldif

24/12/2015

157

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Mise en œuvre serveur Openldap

• Ajout des schéma ldap

#ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif#ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif#ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif

24/12/2015

158

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Mise en œuvre serveur Openldap

• Création du domaine ldap alphorm.local

#vi domain_alphorm.ldifdn: olcDatabase={1}monitor,cn=config changetype: modifyreplace: olcAccess olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.base="cn=Manager,dc=alphorm,dc=local" read by * none

dn: olcDatabase={2}hdb,cn=config changetype: modify….dn: olcDatabase={2}hdb,cn=config changetype: modifyreplace: olcRootDNolcRootDN: cn=Manager, dc=alphorm,dc=local

• Insertion de domain_alphorm.ldif

# ldapadd -Y EXTERNAL -H ldapi:/// -f domain_alphorm.ldif

24/12/2015

159

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Mise en œuvre serveur Openldap• Création de l’arborscence pour le domaine alphorm.local

# vi domain.ldifdn: dc=alphorm,dc=localobjectClass: top objectClass: dcObjectobjectclass: organizationo: alphorm formationdc: alphorm

dn: cn=Manager,dc=alphorm,dc=local objectClass: organizationalRolecn: Manager description: Directory Manager

dn: ou=People,dc=alphorm,dc=localobjectClass: organizationalUnitou: People

• Création de l’arborscence pour le domaine alphorm.local

#ldapadd -x -D cn=Manager,dc=alphorm,dc=local -W -f domain.ldif

24/12/2015

160

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Mise en œuvre serveur Openldap• Ajout des utlisateurs ldap

#vi ldapuser.ldifdn: uid=ludovic,ou=People,dc=server,dc=world objectClass: inetOrgPersonobjectClass: posixAccountobjectClass: shadowAccountcn: ludovicsn: formateur userPassword: {SSHA}xxxxxxxxxxxxxxxxxloginShell: /bin/bashuidNumber: 10000gidNumber: 10000 homeDirectory: /home/ludovic

dn: cn=formateur,ou=Group,dc=server,dc=world objectClass: posixGroupcn: ludovicgidNumber: 10000memberUid: formateur

#ldapadd -x -D cn=Manager,dc=salphorm,dc=local -W -f ldapuser.ldif

24/12/2015

161

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Méthode nss-pam-ldap - nscd

• Installation des pasquets nss-pam-ldap et nscd

#yum-y install openldap-clients nss-pam-ldapd

• Configuration du client avec authconfig

#authconfig --enableldap \--enableldapauth \--ldapserver=ldap.alphorm.local \--ldapbasedn="dc=alphorm,dc=local" \--enablemkhomedir \--update

24/12/2015

162

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Méthode SSSD

• Installation des pasquets sssd sssd-ldap

#yum-y install sssd sssd-ldap

• Configuration du client avec authconfig

#authconfig --enablesssd --enablesssdauth \--enablelocauthorize --enableldap --enableldapauth \--ldapserver=ldap://ldap.alphorm.local \--ldapbasedn=dc=alphorm,dc=local --enablerfc2307bis \--enablemkhomedir --enablecachecreds --enableldaptls --update

24/12/2015

163

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ce qu’on a couvert

• Mise en œuvre serveur Openldap

• Méthode nss-pam-ldap nscd

• Méthode SSSD

24/12/2015

164

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Site : http://www.alphorm.comBlog : http://blog.alphorm.com

Ludovic Quenec'hduFormateur et Consultant indépendant OpenSource et virtualisation

S'authentifier avec kerberos

Connexion à des groupes et utilisateurs définis par le réseau

24/12/2015

165

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plan• Introduction Kerberos

• Principes de fonctionnement

• Royaume Kerberos

• Architecture Kerberos

• Mise en œuvre du serveur de temps

• Mise en œuvre d’un serveur Kerberos

• Intégration Red Hat Linux

24/12/2015

166

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Introduction Kerberos• Protocole développé au MIT dans le cadre du projet Athena au début

des années 1980

• Permet l’authentification forte a des services dit “kerbérisé”

• Standardisé par 2 RFC : RFC 1510 et RFC 1964

• Kerberos est aujourd’hui en version 5.

• A la base de l’authentification MS Windows 200X

• Kerberos permet l’authentification des utilisateurs et gère ensuite l’accès aux différents services.

24/12/2015

167

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Principe de fonctionnement

24/12/2015

168

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Royaume Kerberos• L’architecture Kerberos est constituée de serveurs Kerberos,

d’utilisateurs, de postes de travail et de serveurs hébergeant des services, le tout rassemblés dans un ROYAUME kerberos (REALM)

• Les “principals”

• Le KDC – Key Distribution Center – Centre de Distributions des Clés

24/12/2015

169

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Architecture Kerberos� Les principals : Un utilisateur, un client, un serveur

• nom/instance@KRB-REALM

• ldap/master.alphorm.com@ALPHORM.COM

• ludo/admin@ALPHORM.COM

• host/client.alphorm.com@ALPHORM.COM

� Chaque principal dispose de clés secrètes

• Mot de passe pour les utilisateurs

• Fichier keytab pour les serveurs et hôtes

24/12/2015

170

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Architecture Kerberos

• Le service Kerberos est constitué de plusieurs entités regroupé dans un KDC – Key Distribution Center

� Un serveur d’authentification AS

� Contient une base de données avec les utilisateurs, les services et leurs clés associées

• Module kadmin d’administration, utilisateurs, services, hôtes, ACL, méthode de chiffrement, ...

� Un service de délivrèrent de Ticket TGS

� Fournit l’accès aux services “kerbérisé”

24/12/2015

171

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Principes de fonctionnement

• Afin d’accéder aux services “Kerbérises” un utilisateur obtient un ticket d’accès aupres du KDC (TGT –Ticket Granting Ticket)

� Commande kinit ludo/admin@ALPHORM.LOCAL

• Avec le TGT le client envoie une demande de ticket auprès du TGS

� Klist pour visualiser les tickets

� Le client inclue l’identifiant du service demandé et le TGT obtenue du KDC

• Le TGS vérifie la validité du TGT et envoie alors les informations d’accès au service

• Le TGT permet donc à l’utilisateur authentifié de récupérer des tickets d’accès aux services auprès du TGS

24/12/2015

172

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Mise en œuvre du serveur de temps

• Sélection de la « timezone »

#timedatectl#timedatectl list-timezone#timedatectl set-timezone Europe/Paris

• Synchronisation avec chrony

#yum install -y chrony#systemctl enable chronyd#systemctl start chronyd#chronyc tracking#chronyc sources –v#ntpdate pool.ntp.org

24/12/2015

173

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Mise en œuvre d’un serveur Kerberos

• Installation des paquets kerberos server et client

#yum install -y krb5-server krb5-workstation pam_krb5

• Configuration du server

Remplacer EXAMPLE.COM et example.com par le royaume

#vi /etc/krb5.conf# vi /var/kerberos/krb5kdc/kadm5.acl# vi /var/kerberos/krb5kdc/kdc.conf

• Création de la base de données Kerberos

# kdb5_util create -s –r ALPHORM.LOCAL

24/12/2015

174

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Mise en œuvre d’un serveur Kerberos

• Activation des services kerberos

#systemctl enable krb5kdc kadmin#systemctl start krb5kdc kadmin

#systemctl enable krb5kdc.service#systemctl start krb5kdc.service

24/12/2015

175

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Mise en œuvre d’un serveur Kerberos• Ajout du principal utilisateur root

#kadmin.localaddprincs root/admin

• Ajout du principal hôte client – pas de mot de passe un fichier keytab

#kadmin.localaddprinc –randkey host/kbserver.alphorm.local

#kadminaddprinc –randkey host/client.alphorm.localktadd –k /tmp/client.keytab host/client.alphorm.local

• Lister les principal

#kadmin.locallistprincs

24/12/2015

176

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Intégration Red Hat Linux

• Installation du paquet client kerberos 5

#yum-y install krb5-workstation pam_kbr5

• Ajout du ficher keytab et du fichier krb5.conf

client#scp kbserver:/tmp/client.keytab /tmpclient#scp kbserver:/etc/krb5.conf /etc/

#ktutilktutil: rkt /tmp/client.keytabktutil: wkt /etc/krb5.keytabktutil: listslot KVNO Principal---- ---- ---------------------------------------------------------------- 1 2 host/client.alphorm.local@ALPHORM.LOCAL2 2 host/client.alphorm.local@ALPHORM.LOCAL

24/12/2015

177

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Intégration Red Hat Linux

Authconfig-gui

System-authconfig

24/12/2015

178

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ce qu’on a couvert• Introduction Kerberos

• Principes de fonctionnement

• Royaume Kerberos

• Architecture Kerberos

• Mise en œuvre du serveur de temps

• Mise en œuvre d’un serveur Kerberos

• Intégration Red Hat Linux

24/12/2015

179

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Connexion à des groupes et utilisateurs définis par le réseau

Site : http://www.alphorm.comBlog : http://blog.alphorm.com

Ludovic Quenec'hduFormateur et Consultant indépendant OpenSource et virtualisation

S'authentifier sur un serveur AD

24/12/2015

180

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plan• Introduction à Microsoft Active Directory

• Introduction Kerberos

• Royaume Kerberos

• Architecture Kerberos

• Principes de fonctionnement

• Intégration Red Hat Linux dans AD

24/12/2015

181

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Introduction Microsoft Active Directory• Microsoft Active Directory (AD) est le service d'annuaire compatible

LDAP pour les systèmes d'exploitation Microsoft Windows

• AD fournit des services d'identification et d’authentification, d’application de stratégies, de distribution de logiciels

• AD permet d’administrer les comptes utilisateurs, les serveurs, les postes de travail, les dossiers partagés, les imprimantes, etc.

• Active Directory utilise comme Openldap, la notion de hiérarchie de type X500

• Un utilisateur disposera donc d’un DN (distinguishedName) :

� CN=Ludovic Quenec, OU=UTILISATEURS, DC=ALPHORM, DC=LOCAL

24/12/2015

182

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Formations AD sur Alphorm

24/12/2015

183

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Introduction Kerberos• Protocole développé au MIT dans le cadre du projet Athena au début

des années 1980

• Permet l’authentification forte à des services dites “kerbérisé”

• Standardisé par 2 RFC : RFC 1510 et RFC 1964

• Kerberos est aujourd’hui en version 5

• A la base de l’authentification MS Windows 200X

• Kerberos permet l’authentification des utilisateurs et gère ensuite l’accès aux différents services.

24/12/2015

184

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Royaume Kerberos• L’architecture Kerberos est constituée de serveurs Kerberos,

d’utilisateurs, de postes de travail et de serveurs hébergeant des services, le tout rassemblés dans un ROYAUME kerberos (REALM)

• Les “principals”

• Le KDC – Key Distribution Center – Centre de Distribution des Clés

24/12/2015

185

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Architecture Kerberos• Les principals : Un utilisateur, un client, un serveur

� nom/instance@KRB-REALM� ldap/master.alphorm.com@ALPHORM.COM

� ludo/admin@ALPHORM.COM

� host/client.alphorm.com@ALPHORM.COM

• Chaque principal dispose de clés secrètes

� Mot de passe pour les utilisateurs

� Fichier keytab pour les serveurs et hôtes

24/12/2015

186

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Architecture Kerberos• Le service Kerberos est constitué de plusieurs entités regroupées dans

un KDC – Key Distribution Center

� Un serveur d’authentification AS

� Contient une base de données avec les utilisateurs, les services et leurs clés associées

• Module kadmin d’administration, utilisateurs, services, hôtes, ACL, méthode de chiffrement, ...

� Un service de mise à disposition de Ticket TGS

� Fournit l’accès aux services “kerbérisé”

24/12/2015

187

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Principes de fonctionnement• Afin d’accéder aux services “Kerbérisés” un utilisateur obtient un ticket

d’accès auprès du KDC (TGT –Ticket Granting Ticket)

� Commande kinit ludo/admin@ALPHORM.LOCAL

• Avec le TGT le client envoie une demande de ticket auprès du TGS

� Klist pour visualiser les tickets

� Le client inclut l’identifiant du service demandé et le TGT obtenu du KDC

• Le TGS vérifie la validité du TGT et envoie alors les informations d’accès au service

• Le TGT permet donc à l’utilisateur authentifié de récupérer des tickets d’accès aux services auprès du TGS

24/12/2015

188

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Principe de fonctionnement

24/12/2015

189

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Intégration Red Hat Linux dans AD• Installation des pasquets sssd sssd-ad

#yum-y install sssd sssd-ad

• Découverte et jonction au realm (royaume kerberos AD )

#realm discover rh134.alphorm.localrh134.alphorm.localtype: kerberosrealm-name: RH134.ALPHORM.LOCALdomain-name: rh134.alphorm.localconfigured: kerberos-memberserver-software: active-directoryclient-software: sssd…#realm join rh134.alphorm.local –U RH134.ALPHORM.LOCAL\administrateur

24/12/2015

190

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Intégration Red Hat Linux dans AD• Extrait du fichier sssd.conf

#cat /etc/sssd/sssd.conf[domain/rh134.alphorm.local]ad_domain = rh134.alphorm.localkrb5_realm = RH134.ALPHORM.LOCALrealmd_tags = manages-system joined-with-sambacache_credentials = Trueid_provider = adkrb5_store_password_if_offline = Truedefault_shell = /bin/bashldap_id_mapping = Trueuse_fully_qualified_names = False

• Se loguer avec l’administrateur

#su - administrateur@rh134.alphorm.local#su 'RH134.ALPHORM.LOCAL\administrateur'

24/12/2015

191

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Intégration Red Hat Linux dans AD

• Afficher le ticket kerberos

# klistTicket cache: KEYRING:persistent:1828200500:krb_ccache_9QuDDC0Default principal: Administrateur@RH134.ALPHORM.LOCAL

Valid starting Expires Service principal11/19/2015 07:36:11 11/19/2015 17:36:11 krbtgt/RH134.ALPHORM.LOCAL@RH134.ALPHORM.LOCAL

renew until 11/26/2015 07:36:10

24/12/2015

192

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ce qu’on a couvert• Introduction Microsoft Active Directory

• Introduction Kerberos

• Royaume Kerberos

• Architecture Kerberos

• Principes de fonctionnement

• Intégration Red Hat Linux dans AD

24/12/2015

193

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

NFS Server

Stockage distant

Site : http://www.alphorm.comBlog : http://blog.alphorm.com

Ludovic Quenec'hduFormateur et Consultant indépendant OpenSource et virtualisation

24/12/2015

194

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plan• Introduction au NFS

• Mise en oeuvre simple d’un serveur NFS

• Accéder à un serveur NFS

24/12/2015

195

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Introduction a NFS• NFS – Network File System est un système de fichiers réseau

• Développé par SUN Microsystem dans les années 1980

• NFS offre l’export de répertoires pour des machines distantes

• NFS V1,2 et 3 s’appuie sur les RPC - appels de procédure distante

• Plusieurs versions :

� NFS version 1 et 2 utilise le protocole UDP, n’est pas sécurisé

� NFS V3 supporte le transport sur TCP, mais n’est pas toujours sécurisé

� NFS V4.x est une réecriture totale du protocole NFS

• Support de Kerberos, chiffrement des communications, reprise sur incident, parallélisation des transferts (stripping).

24/12/2015

196

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Mise en oeuvre simple d’un serveur NFS

• Installation des paquets nfs pour le server et le client

#yum install nfs-utils#rpm –ql nfs-utils

• Configuration du server

#vi /etc/exports/nfs *(rw,no_root_squash,anonuid=2000,anongid=2000)#exportfs -avrexporting *:/nfs

• Montage de l’export nfs du client

#mount.nfs4 nfs-server:/nfs /mnt/

24/12/2015

197

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Les options nfs• Droits sur les exports

� rw : Read = Lecture, Write = Écriture

� ro : Read Only = Lecture seulement (option par défaut)

• Gestion des performances :

� Async : ne synchronise pas les écritures immédiatement

• Améliore grandement les performances, incohérences des données lorsde “crash” serveur

� Sync : le contraire de async, synchronise les requêtes

� Rsize, wsize : taille des blocs de données en lecture et écriture

24/12/2015

198

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Les options nfs• Mapping utilisateurs :

� root_squash : mappe l’utilisateur vers un utilisateur anonyme (option par défaut)

� No_root_squash : n'effectue pas de mapping pour l'utilisateur root

� anonuid : indique au serveur NFS l'UID de l'utilisateur anonyme

� anongid : indique au serveur NFS le GID de l'utilisateur anonyme

• Autres options :

� subtree_check: vérifie l’existence des sous répertoires de l’export

� no_subtree_check: Ne vérifie pas l’existence des sous répertoires de l’export

24/12/2015

199

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ce qu’on a couvert• Introduction au NFS

• Mise en oeuvre simple d’un serveur NFS

• Accéder a un serveur NFS

24/12/2015

200

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Accéder aux partages NFS sécurisé

Stockage distant

Site : http://www.alphorm.comBlog : http://blog.alphorm.com

Ludovic Quenec'hduFormateur et Consultant indépendant OpenSource et virtualisation

24/12/2015

201

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plan• Introduction

• Mise en œuvre du serveur NFS secure

• Mise en oeuvre du serveur Kerberos

• Ajout du serveur NFS au royaume kerberos

• Ajout du client NFS au realm kerberos

• Test du client nfs avec kerberos authentification

24/12/2015

202

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Introduction

serveur Kerberos

Client NFS

serveur NFS secure

1 Demande NFS mount

2 demande authentification dans le royaume

3 krb5.keytab

4 krb5.keytab

5 autorisation du montage nfs

24/12/2015

203

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Mise en œuvre du serveur NFS secure

• Installation des paquets nfs pour le server et le client

nfs-server#yum groupinstall –y file-server

• Configuration du server avec kerberos

nfs-server#/etc/exports/nfs *(rw,no_root_squash, sec=krb5)

nfs-server#exportfs -avrexporting *:/nfs

nfs-server#showmount -e localhost

• Démarrage des services

nfs-server#systemctl enable nfs-server && systemctl start nfs-secure-server

24/12/2015

204

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Mise en oeuvre du serveur Kerberos

• Installation des paquets kerberos serveur et client

kbserver#yum install -y krb5-server krb5-workstation pam_krb5

• Configuration du server

Remplacer EXAMPLE.COM et example.com par le royaume

kbserver#vi /etc/krb5.confkbserver# vi /var/kerberos/krb5kdc/kadm5.aclkbserver# vi /var/kerberos/krb5kdc/kdc.conf

• Création de la base de données Kerberos

kbserver# kdb5_util create -s –r ALPHORM.LOCAL

24/12/2015

205

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Mise en oeuvre du serveur Kerberos

• Activation des services kerberos

kbserver# systemctl start krb5kdc kadminkbserver# systemctl enable krb5kdc kadmin

• Ajout des principals

kbserver#kadmin.localkadmin.local : addprinc root/adminkadmin.local : addprinc -randkey host/kbserver.alphorm.localkadmin.local : ktadd host/kbserver.alphorm.local

24/12/2015

206

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ajout du serveur NFS au royaume kerberos

• Installation des paquets kerberos client pour nfs-server

nfs-server#yum install -y krb5-workstation pam_krb5

• Configuration du nfs-server dans kerberos

nfs-server# scp kbserver:/etc/krb5.conf /etc/

• Ajout du principals nfs server

nfs-server#kadminAuthenticating as principal root/admin@ALPHORM.LOCAL with password. Password for root/admin@ALPHORM.LOCAL : xxxxxxkadmin: addprinc -randkey nfs/nfs-server.alphorm.localkadmin : ktadd nfs/nfs-server.alphorm.localkadmin: addprinc –randkey host/nfs-server.alphorm.local

24/12/2015

207

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ajout du client NFS au royaume kerberos

• Installation des paquets kerberos client

nfs-client#yum install -y krb5-workstation pam_krb5

• Configuration du nfs-server dans kerberos

nfs-client# scp kbserver:/etc/krb5.conf /etc/

• Ajout du principals nfs server

nfs-client#kadminAuthenticating as principal root/admin@ALPHORM.LOCAL with password. Password for root/admin@ALPHORM.LOCAL : xxxxxxkadmin: addprinc -randkey nfs/nfs-client.alphorm.localkadmin : ktadd nfs/nfs-client.alphorm.localkadmin: addprinc -randkey host/nfs-client.alphorm.local

24/12/2015

208

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ajout du client NFS au royaume kerberos

• Démarrage des services secure nfs

nfs-client#systemctl start nfs-secure

• “Montage” de l’export sécurisé Kerberos

nfs-client# mount -t nfs4 -o sec=krb5 nfs-server.alphorm.local:/nfs /mnt

• Vérification ☺

nfs-client#mount | grep krb5nfs-client#su – usernfs-client$ kinitnfs-client $ cd /mntnfs-client $ echo “Ca marche !!" >testFile

24/12/2015

209

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ce qu’on a couvert• Introduction

• Mise en œuvre du serveur NFS secure

• Mise en oeuvre du serveur Kerberos

• Ajout du serveur NFS au royaume kerberos

• Ajout du client NFS au realm kerberos

• Test du client nfs avec kerberos authentification

24/12/2015

210

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Partage SMB/CIFS

Stockage distant

Site : http://www.alphorm.comBlog : http://blog.alphorm.com

Ludovic Quenec'hduFormateur et Consultant indépendant OpenSource et virtualisation

24/12/2015

211

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plan• Introduction

• Partage méthode MS Windows

• Partage méthode Samba 4

• “Montage” des partages

24/12/2015

212

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Introduction• SMB – Server Message Block est le protocole utilisé par Microsoft pour

partager des ressources sur les réseaux

• Créé en 1985 par IBM sous le nom de LAN Manager pour OS/2

• Microsoft a considérablement modifié le protocole pour ses réseaux

• SMB utilisait l’architecture NetBios (service de nom, de message, ..)

• SMB utilise maintenant TCP/IP, port TCP 445. TCP/UDP 137, 138

• SMB était appelé CIFS (Common Internet File System) jusque Windows 2000

• Il existe une implémentation pour Unix/Linux de SMB : SAMBA

24/12/2015

213

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Introduction

24/12/2015

214

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Partage méthode MS Windows

24/12/2015

215

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Partage méthode MS Windows

24/12/2015

216

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Partage méthode MS Windows

24/12/2015

217

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Partage Méthode Samba 4• Créer un partage dans le fichier smb.conf

# vi /etc/samba/smb.conf[public]comment = Public Stuffpath = /home/publicpublic = yeswritable = yeswrite list = root

• Démarrer les service samba

#systemctl restart smb.service#systemctl restart nmb.service#systemctl enable smb.service#systemctl enable smb.service

24/12/2015

218

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Partage Méthode Samba 4• Ajout d’un utilisateur SAMBA

#smbpasswd –a rootNew SMB password:Retype new SMB password:Added user root.

• Affciher les partages du serveur

#smbclient –L samba.alphorm.local –U rootEnter root's password:

Domain=[SMB-SERVER] OS=[Unix] Server=[Samba 4.1.12]

Sharename Type Comment--------- ---- -------

public Disk Dossier Public

24/12/2015

219

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Partage Méthode Samba 4

• Montage des partages SMB

#mount -t cifs //192.168.1.20/public /mnt/ -o username=rootpassword:

#vi /root/.pwdusername=rootpassword=Mot de passe

#mount -t cifs //192.168.1.20/public /mnt/ -o \credentials=/root/.pwd

24/12/2015

220

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ce qu’on a couvert• Introduction

• Partage méthode MS Windows

• Partage méthode Samba 4

• “Montage” des partages

24/12/2015

221

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Autofs

Stockage distant

Site : http://www.alphorm.comBlog : http://blog.alphorm.com

Ludovic Quenec'hduFormateur et Consultant indépendant OpenSource et virtualisation

24/12/2015

222

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plan• autoFS - montage automatique de systèmes de fichiers

• Mise en oeuvre de autofs

24/12/2015

223

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

AutoFS - montage automatique de systèmes de fichiers

• Lors d’un montage manuel ou via /etc/fstab d’un système de fichiers réseau, nfs, smb ou autres

� Les FS restent montés et consomment donc des ressources

� Lors d’un arrêt brutale de la machine, les ressources peuvent se retrouvées bloquées pour les autres utilisateurs

• autofs va permettre de monter et démonter les FS réseau, lors de l’accès à ces derniers.

• autofs s’appuie sur des fichiers de configuration et un démon automountd qui se charge de monter lors d’une requête et de démonter lors d’inactivité

24/12/2015

224

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Mise en oeuvre autofs• Installation autofs

#yum install –y autofs

• Configuration autofs

#vi /etc/auto.master…/dir_autofs /etc/auto.test --timeout=60/home /etc/auto.home --timeout=60

#vi /etc/auto.testtest nfsserver:/autofs/

#vi /etc/auto.home* nfsserver:/home/&

24/12/2015

225

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Mise en oeuvre autofs• Accès au montage via autofs

#]# ls /dir_autofs/testdir1 dir2 dir3

• Accès au repertoire home sur le serveur nfs via autofs

#su – ludoDf –hT/dev/sda1 204580 9992 194588 5% /boot/efinfsserver:/home/ludo 6817792 2393024 4424768 36% /home/ludo

24/12/2015

226

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ce qu’on a couvert• autoFS - montage automatique de systèmes de fichiers

• Mise en oeuvre de autofs

24/12/2015

227

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Introduction aux contrôles d'accès sous Linux

Gestion de la sécurité

Site : http://www.alphorm.comBlog : http://blog.alphorm.com

Ludovic Quenec'hduFormateur et Consultant indépendant OpenSource et virtualisation

24/12/2015

228

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plan• Le contrôle d’accès sous linux

• Les modèles de sécurité sous linux

� DAC - Discretional Access Control

� MAC - Mandatory Access Control

� RBAC - Role-Based Access Control

� DTE – Type Enforcement

• Les implémentations sous Linux

24/12/2015

229

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Le contrôle d’accès sous linux• Le système doit fournir :

� La disponibilité : continuité de services, fournir l’accès aux services

� L’intégrité : Les données ne doivent pas être altérées

� La confidentialité : utilisable que par des personnes identifiées

24/12/2015

230

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Les modèles de sécurité sous linux - DAC• Le modèle DAC - Discretional Access Control est le mode de sécurité

classique sous Unix/Linux

• Les utilisateurs et les groupes d’utilisateur sont propriétaires des fichiers et répertoires sur le système

� Les propriétaires et root peuvent modifier la politique d’accès aux données.

� Confiance en l’utilisateur, pas de type de données (secret d’états, secret, confidentiel, public, ..), pas de rôle utilisateur (admin, DSI, chef, …)

• Les processus ou programmes sont exécutés par un propriétaire ou un groupe propriétaire :

� Accès à toutes les données du propriétaire

• Les listes de contrôle d’accès, ACL permettent une gestion plus fine des autorisations sur les fichiers, pas les processus

24/12/2015

231

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Les modèles de sécurité sous linux - MAC

• Le modèle MAC - Mandatory Access Control - Contrôle d’accès obligatoire

• Dans ce modèle on labélise (on pose une étiquète sur) les données (fichiers, socket, ..) et les processus :

� Top secret

• Un utilisateur accrédité public ne pourra donc pas avoir accès aux données top secret

� Confidentiel

� Départements (marketing, direction, …)

� public

• La politique interdit tous sauf si on autorise

24/12/2015

232

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Les modèles de sécurité sous linux - RBAC

• Le modèle RBAC - Role-Based Access Control - Contrôle d’accès par rôle

• Définit des rôles pour les utilisateurs, processus :

� Administrateur internet

� Administrateur de base de données

� Voir la commande sudo (RH124)

• Définit des contrôles d’accès à ces rôles

24/12/2015

233

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Les modèles de sécurité sous linux - DTE• Le TE – Domain and Type Enforcement utilisé par Selinux

• Sur le même principe que le MAC.

• Le DTE labélise des objets

� Contrôles d'accès entre les sujets (processus, domaines) et les objets (fichiers, répertoires, sockets, ..)

� les confine dans un domaine qui limite les actions

• Un serveur Web qui s’exécute en root n’aura accès qu’aux domaines HTTPD (libraires, pages web, fichier de configuration du serveur)

24/12/2015

234

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Les implémantations sous Linux• Linux security modules

� Intégré au noyau depuis la version 2.6, LSM est une API qui vérifie la conformité des règles de sécurité

� Introduit initialement pour SELinux, il est utilisé également par AppArmor

• Security-Enhanced Linux :

� SELinux permet de définir des politiques de sécurité de type DTE

• AppArmor

� Permet de définir des politiques de sécurité de types MAC (concurrent de SELinux)

24/12/2015

235

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ce qu’on a couvert• Le contrôle d’accès sous linux

• Les modèles de sécurité sous linux

� DAC - Discretional Access Control

� MAC - Mandatory Access Control

� RBAC - Role-Based Access Control

� DTE – Type Enforcement

• Les implémentations sous Linux

24/12/2015

236

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Comprendre SeLinux

Gestion de la sécurité

Site : http://www.alphorm.comBlog : http://blog.alphorm.com

Ludovic Quenec'hduFormateur et Consultant indépendant OpenSource et virtualisation

24/12/2015

237

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plan• Comprendre SELinux

• Les modes Selinux

• Comprendre les stratégies (policy)

• Comprendre les labels et les booléens

• Comprendre semanage, fcontext

• Analiser les log SELinux

• Mise en oeuvre de SELinux avec SSH et apache

24/12/2015

238

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Comprendre SELinix• Security-Enhanced Linux (ou SELinux) est une architecture de sécurité :

� De type MAC

� Intégrée dans le noyau 2.6.x à l'aide des modules LSM

� Projet de la NSA (National Security Agency)

� Activement développée par Red Hat

� Disponible sur Red hat, Debian, Gentoo, Ubuntu …

24/12/2015

239

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Comprendre SELinix

SELinux

Policy Auditd

Enforcing

Permissive

/var/log/auditd/audit.log

24/12/2015

240

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Comprendre SELinix

Context http

Httpd process

/var/www

Httpd.conf

/home/ludo/www

Context home

24/12/2015

241

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Les modes Selinux• Enforcing : Application des règles SeLinux

• Permissive : mode de déboguage. Les règles sont logguées. Mais ne bloquent pas les accès

• Disabled : SELinux Désactivé

• Modification des modes

#getenforce

#setenforce 1 #setenforce 0

#vi /etc/selinux/config

24/12/2015

242

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Les modes Selinux• Les context SELinux avec l’option –Z

� Utilisateurs

� Roles

� Labels

#ls- Z-rw-------. 1 system_u:object_r:admin_home_t:s0 root root 1558 23 nov. 09:56 anaconda-ks.cfg

#ps -auxZsystem_u:system_r:sshd_t:s0-s0:c0.c1023 root Ss 11:19 0:00 /usr/sbin/sshd -D

#netstat –Zatunptcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1356/sshd system_u:system_r:sshd_t

24/12/2015

243

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Comprendre Les stratégies (policy)

# cat /etc/selinux/config

# This file controls the state of SELinux on the system.# SELINUX= can take one of these three values:# enforcing - SELinux security policy is enforced.# permissive - SELinux prints warnings instead of enforcing.# disabled - No SELinux policy is loaded.SELINUX=enforcing# SELINUXTYPE= can take one of three two values:# targeted - Targeted processes are protected,# minimum - Modification of targeted policy. Only selected processes are protected.# mls - Multi Level Security protection.

SELINUXTYPE=targeted

24/12/2015

244

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Comprendre les labels et les booléens

#Ps auxZ | grep httpdsystem_u:system_r:httpd_t:s0 root 2984 5.0 1.4 213224 4864 ? Ss 11:39 0:00 /usr/sbin/httpd

# ls -Zl /var/www/total 0drwxr-xr-x. 2 system_u:object_r:httpd_sys_script_exec_t:s0 root root 6 24 août 20:12 cgi-bindrwxr-xr-x. 2 system_u:object_r:httpd_sys_content_t:s0 root root 6 24 août 20:12 html

# ls -lZ /tmp/drwx------. root root system_u:object_r:tmp_t:s0 systemd-private-3TwuKG

# touch file_selinux[root@client ~]# ls -Zl file_selinux-rw-r--r--. 1 unconfined_u:object_r:admin_home_t:s0 root root 0 8 déc. 11:41 file_selinux

24/12/2015

245

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Comprendre les labels et les booléens

#man semanage

#cp /etc/hosts .# ls -aZ /etc/hosts-rw-r--r--. root root system_u:object_r:net_conf_t:s0 /etc/hosts#ls -Z hosts-rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 hosts

#mv hosts /etc/# ls -Z /etc/hosts#ls -Z /etc/hosts-rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 /etc/hosts

# restorecon /etc/hosts# ls -Z /etc/hosts-rw-r--r--. root root unconfined_u:object_r:net_conf_t:s0 /etc/hosts

24/12/2015

246

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Comprendre les labels et les booléens

#getsebool -a | grep ftpftp_home_dir --> offftpd_anon_write --> offftpd_connect_all_unreserved --> offftpd_connect_db --> offftpd_full_access --> offftpd_use_cifs --> offftpd_use_fusefs --> offftpd_use_nfs --> offftpd_use_passive_mode --> off

#ftp localhostUsing binary mode to transfer files.ftp> mkdir test.selinux550 Create directory operation failed.

type=AVC msg=audit(1449571653.944:433): avc: denied { create } for pid=3308 comm="vsftpd" name="test.selinux" scontext=system_u:system_r:ftpd_t:

24/12/2015

247

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Comprendre les labels et les booléens

#setsebool ftp_home_dir on

# ftp localhostTrying ::1...Password:ftp> mkdir est.selinux257 "/home/ludo/est.selinux" createdftp>

24/12/2015

248

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Comprendre semanage, fcontext

#ls -Zl /var/www/total 0drwxr-xr-x. 2 system_u:object_r:httpd_sys_script_exec_t:s0 root root 6 24 août 20:12 cgi-bindrwxr-xr-x. 2 system_u:object_r:httpd_sys_content_t:s0 root root 6 24 août 20:12 html

# semanage fcontext -l | morecontexte fichier SELinux type Contexte/ directory system_u:object_r:root_t:s0/.* all files system_u:object_r:default_t:s0/[^/]+ regular file system_u:object_r:etc_runtime_t:s0/\.autofsck regular file system_u:object_r:etc_runtime_t:s0/\.autorelabel regular file system_u:object_r:etc_runtime_t:s0/\.ismount-test-file regular file system_u:object_r:sosreport_tmp_t:s0/\.journal all files <<None>>/\.suspended regular file system_u:object_r:etc_runtime_t:s0

24/12/2015

249

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Comprendre semanage, fcontext

# semanage fcontext -l | grep httpd

/etc/WebCalendar(/.*)? all files system_u:object_r:httpd_sys_rw_content_t:s0/etc/apache(2)?(/.*)? all files system_u:object_r:httpd_config_t:s0/etc/apache-ssl(2)?(/.*)? all files system_u:object_r:httpd_config_t:s0/etc/cherokee(/.*)? all files system_u:object_r:httpd_config_t:s0/etc/drupal.* all files system_u:object_r:httpd_sys_rw_content_t:s0/etc/glpi(/.*)? all files system_u:object_r:httpd_sys_rw_content_t:s0/etc/horde(/.*)? all files system_u:object_r:httpd_sys_rw_content_t:s0/etc/htdig(/.*)? all files system_u:object_r:httpd_sys_content_t:s0/etc/httpd(/.*)? all files system_u:object_r:httpd_config_t:s0

24/12/2015

250

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Comprendre semanage, fcontext

#man –k _selinux

#yum install –y policycoreutils-devel

#sepolicy manpage –a –p /usr/share/man/man#mandb

#man –k _selinux

24/12/2015

251

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Comprendre semanage, fcontext

# mkdir /ludo_www#touch /ludo_www/index.html

# chcon -t httpd_sys_content_t /ludo_www/ -R#ls -Zl /ludo_www/total 0-rw-r--r--. 1 unconfined_u:object_r:httpd_sys_content_t:s0 root root 0 8 déc. 12:09 index.html

mais pas de façon permanente !!

#restorecon -R /ludo_www/# ls -ZdlR /ludo_www/drwxr-xr-x. 2 unconfined_u:object_r:default_t:s0 root root 23 8 déc. 12:09 /ludo_www/

#semanage –a –t httpd_sys_content_t “/ludo_www(/*)?”

24/12/2015

252

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Analiser les log SELinux

# grep AVC /var/log/audit/audit.log

#vi /var/log/message/sealert

client setroubleshoot: SELinux is preventing /usr/sbin/vsftpd from create access on the directory test.selinux. For complete SELinux messages. run sealert -l bc38489e-bd09-495d-aed4-013ec1e22414Dec 8 11:47:37 client python: SELinux is preventing /usr/sbin/vsftpd from create access on the directory test.selinux.

#sealert -l bc38489e-bd09-495d-aed4-013ec1e22414SELinux is preventing /usr/sbin/vsftpd from create access on the directory test.selinux.

If vous souhaitez allow ftp to home dirThen vous devez en informer SELinux en activant le booléen « ftp_home_dir ».Vous pouvez lire la page de manuel « None » pour plus de détails.Dosetsebool -P ftp_home_dir 1

24/12/2015

253

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Mise en oeuvre de SELinux avec SSH

#vi /etc/ssh/sshd_configPort 8888

# systemctl restart sshd# systemctl status sshd

#grep AVC /var/log/audit/audit.log | tail -1type=AVC msg=audit(1449574323.517:393): avc: denied { name_bind } for pid=2844 comm="sshd" src=8888 scontext=system_u:system_r:sshd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:unreserved_port_t:s0 tclass=tcp_socket

#semanage port -l | grep ssh

# semanage port -a -t ssh_port_t -p tcp 9998 # systemctl restart sshd# systemctl is-active sshd

24/12/2015

254

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Mise en oeuvre de SELinux avec apache

#mkdir /ludo_www#vi /ludo_www/index.html<html> <h2>SELinux test</h2> </html>

#semanage fcontext -a -t httpd_sys_content_t « /ludo_www(/.*)? »#restorecon -R -v /ludo_www/#ls –Zl /ludo_www

#vim /etc/httpd/conf/httpd.confDocumentRoot /ludo_www/<Directory “/ludo_www”>

AllowOverride NoneRequire all granted

<Directory “/ludo_www”>

#systemctl httpd restart

24/12/2015

255

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ce qu’on a couvert• Comprendre SELinix

• Les modes Selinux

• Comprendre les stratégies (policy)

• Comprendre les labels et les booléens

• Comprendre semanage, fcontext

• Analiser les log SELinux

• Mise en oeuvre de SELinux avec SSH et apache

24/12/2015

256

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Introduction au firewall

Le Pare feu

Site : http://www.alphorm.comBlog : http://blog.alphorm.com

Ludovic Quenec'hduFormateur et Consultant indépendant OpenSource et virtualisation

24/12/2015

257

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plan

• Firewall ?

• Netfilter

• Firewalld

24/12/2015

258

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Firewall ?• Un firewall ou un pare feu en français permet de filtrer le trafic qui

passe par les interfaces réseaux

Adresse IPports TCP/UDPInterface réseau, etc.

Applicatifs.

24/12/2015

259

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Netfilter• Netfilter est le pare-feu Linux depuis la version 2.4 du noyau

• Netfilter est un module noyau qui intercepte et manipule les paquetsréseaux

• Netfileter fournit :

� Un pare feu

� Du NAT –Network Adress Translation

� Historisation

• Netfilter est un pare feu à états

24/12/2015

260

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Firewalld• FirewallD est LE service qui permet la mise en place d’un pare-feu sous

RedHat

• Il s’appuie sur Netfilter

• Firewalld impose que les règles de filtrage ne soient gérées que par lui –même

• FirewallD est un service SystemD de type dbus

• FirewallD utilise, en interne, les commandes iptables, ip6tables et ebtables pour configurer les règles

• Firewalld s’appuie sur la notion de zone : home, public, trusted, etc

• Chaque ZONE applique des règles

24/12/2015

261

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Firewalld

24/12/2015

262

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ce qu’on a couvert

• Firewall ?

• Netfilter

• Firewalld

24/12/2015

263

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Firewalld

Le Pare feu

Site : http://www.alphorm.comBlog : http://blog.alphorm.com

Ludovic Quenec'hduFormateur et Consultant indépendant OpenSource et virtualisation

24/12/2015

264

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plan

• Les Zones Firewalld

• Mise en œuvre de firewalld

24/12/2015

265

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

• Firewalld introduit le concept de zones

• Ces Zones sont définies par des fichiers XML

Les zones Firewalld

trusted zoneInterfacesServiceports

Public zone

Block zone

enp0s3dhcp ssh

InterfacesServiceports

InterfacesServiceports

Work zone

24/12/2015

266

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Mise en œuvre de firewalld• Vérifier l’installation de Firewalld

#yum info firewalld firewall-config#systemcl enable firewalld.service#systemcl status firewalld.service

• Lister la zone actuelle

#firewall-cmd --get-active-zones

• Lister les services disponibles dans la zone

# firewall-cmd --zone=work --list-all

• Lister les services supporté

#firewall-cmd --get-services

24/12/2015

267

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Mise en œuvre de firewalld

• Lister les services supporté

#firewall-cmd --get-services

• Ajout d’un service dans une zone

#firewall-cmd --add-service https#firewall-cmd --zone =work --add-service https#firewall-cmd --zone =work --permanent --add-service https#firewall-cmd –reload

• Lister les services disponibles dans la zone

# firewall-cmd --zone=work --list-all

• Lister les services supporté

#firewall-cmd --get-services

24/12/2015

268

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Les services Firewalld• Lister les services xml

#ls /usr/lib/firewalld/services

• Modifier un service

# vi /usr/lib/firewalld/services/samba.xml<service><short>Samba</short><description>This option allows you to access and participate in Windows file and

printer sharing networks. You need the samba package installed for this option to be useful.</description><port protocol="udp" port="137"/><port protocol="udp" port="138"/><port protocol="tcp" port="139"/><port protocol="tcp" port="445"/><module name="nf_conntrack_netbios_ns"/>

</service>

24/12/2015

269

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Les services Firewalld

• Créer un service

#cp / /usr/lib/firewalld/services/telnet.xml /usr/lib/firewalld/services/mon_service.xml<?xml version="1.0" encoding="utf-8"?><service>

<short>Mon service</short><description>Mon service est un protocole qui ne fait rien, il attends , dis

bonjour et se repose</description><port port=« 8888" protocol="tcp"/>

</service>

• Activer les service

#firewall-cmd –zone=work --ad-service=mon_service#firewalld-cmd –list-all#firewall-cmd –zone=work --permanent --ad-service=mon_service

24/12/2015

270

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ce qu’on a couvert• Les zones Firewalld

• Mise en œuvre de firewalld

24/12/2015

271

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Modifier les paramètres de démarrage

Contrôle et résolution des problèmes

Site : http://www.alphorm.comBlog : http://blog.alphorm.com

Ludovic Quenec'hduFormateur et Consultant indépendant OpenSource et virtualisation

24/12/2015

272

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plan

• Démarrage Red Hat Linux 7

• Grub2 – Grand Unified BootLoader

• Modifier des paramètres de démarrage

24/12/2015

273

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Processus de démarrage

BIOS/EFINoyau

GRUB

Systemd

Initrd

runlevel3.target, multi-user runlevel5.target, graphical

runlevel1.target, rescue.target

NetworkManager.service

systemd-logind.service

firewalld.service

systemd-journald.service

24/12/2015

274

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Grub2 – Grand Unified BootLoader• GRUB - Grand Unified Boot Loader est un chargeur de système

d’exploitation multiboot

• Il permet l’amorçage des systèmes Linux, BSD, Windows, …

• Grub gère aussi bien le MBR que EFI, également coreboot (BIOS libre)

• Grub fournit un environnement de type Shell

• Aujourd’hui on utilise Grub2

• Grub s’installe automatiquement lors de l’installation du système

• On peut toutefois avoir besoin de modifier la configuration initiale, démarrage réseau, chiffrement du disque,

• On peut avoir besoin de réparer un boot loader

24/12/2015

275

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Grub2 – Grand Unified BootLoader

• La configuration de Grub2 s’appuie sur plusieurs répertoires :

� /boot/efi/EFI/centos/grub.cfg : le fichier de configuration GRUB 2, non modifiable

� /etc/grub.d/ : le répertoire contenant les scripts de création du menu

� /etc/default/grub : le fichier contenant les paramètres du menu

• Faisons un petit tour

24/12/2015

276

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Modifier des paramètres de démarrage

BIOS/EFI

GRUB ESC

Modifications des options de BootSystemd.unit = rescue.target

Modification dans /etc/default/grub

/etc/grub.d

grub2-mkconfig

Kernel/Initrd

SystemdSystemd

rescue mode

24/12/2015

277

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Modifier des paramètres de démarrage

• Modifier les options de démarrage

#vi /etc/default/grub

• Modifier la configuration de grub2

#grub2-mkconfig

24/12/2015

278

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Modifier des paramètres de démarrage

24/12/2015

279

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ce qu’on a couvert

• Démarrage Red Hat Linux 7

• Grub2 – Grand Unified BootLoader

• Modifier des paramètres de démarrage

24/12/2015

280

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Utilisation de rd.break

Contrôle et résolution des problèmes

Site : http://www.alphorm.comBlog : http://blog.alphorm.com

Ludovic Quenec'hduFormateur et Consultant indépendant OpenSource et virtualisation

24/12/2015

281

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Plan

• Comprendre Rd.break

• Booter avec rd.break

• Modifier le mot de passe root avec rd.break

24/12/2015

282

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Comprendre Rd.break

• Avant grub2, pour modifier le mot de passe root. Il y avait le mode single

• Depuis grub2, on utilise rd.break

• Rd.break interrompt la procédure de boot avant initramfs et systemd

• Le système est alors disponible pour faire des modifications

• Toutes modifications nécessitent une “relabélisation” des fichiers avec SELinux

24/12/2015

283

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Booter avec rd.break

24/12/2015

284

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Booter avec rd.break

24/12/2015

285

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Modifier le mot de passe root avec rd.break

• Remonter le root fs en mode rw

#mount –o remount,rw /sysroot

• « Chrooter » sysroot

#chroot /sysroot

• Modifier le mot de passe root

#passwd

• « Relabiser » avec SELinux

#touch /.autorelabel

24/12/2015

286

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Ce qu’on a couvert• Comprendre Rd.break

• Booter avec rd.break

• Modifier le mot de passe root avec rd.break

24/12/2015

287

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Le mot de la fin

Conclusion

Site : http://www.alphorm.comBlog : http://blog.alphorm.com

Ludovic Quenec'hduFormateur et Consultant indépendant OpenSource et virtualisation

24/12/2015

288

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Le plan de formation• Un peu de Shell

• Utilisation d'expressions régulières avec GREP• Utilisation d'expressions régulières avec SED

• Déploiement de serveur• Mise en œuvre d'un serveur PXE• Installation automatique d'un serveur avec

PXE/Kickstart

• Les listes de contrôle d'accès• Comprendre et mettre en œuvre les ACLs

• Gestion du stockage• Comprendre la gestion des volumes logiques• Gérer les volumes logiques à partir de la ligne de

commande• Introduction à BTRFS• Gérer les volumes btrfs à partir de la ligne de

commande

• Planification de tâches Linux• Le cron• La commande AT

• Connexion à des groupes et utilisateurs définis par le réseau

• Introduction aux services d'identification centralisés

• Introduction à PAM – SSSD• Introduction à LDAP• Mise en oeuvre et authentification sur un

serveur LDAP• Mise en oeuvre et authentification avec

kerberos/LDAP• S'authentifier sur un serveur AD

• Stockage distant • NFS Server• Accéder aux partages NFS sécurisé• Partage SMB- CIFS• Autofs

24/12/2015

289

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Le plan de formation• Gestion de la sécurité

• Introduction au contrôle d’accès sous Linux• Comprendre et mettre en oeuvre SELinux

• Le Pare feu• Introduction au firewall• Firewalld

• Contrôle et résolution des problèmes du processus de démarrage

• Modifier les paramètres de démarrage• Utilisation de rd.break

24/12/2015

290

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Avez-vous des Questions /Remarques /Commentaires ?

24/12/2015

291

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

Reprise sur les certifications Red Hat

24/12/2015

292

Formation Red Hat, Administration Système II (RH134) alphorm.com™©

A bientôt ☺

Pour une nouvelle formation sur Linux Red Hat.

RH254 Red Hat Administration III

pour obtenir votre RHCE