Vous êtes sur la page 1sur 292

24/12/2015

Formation
Red Hat Entreprise Linux
Administration Système II
(RH134)

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

1
24/12/2015

Plan
• Présentation du formateur

• Les certifications Red Hat

• Le plan de la formation

• Publics concernés

• Connaissances requises

• Liens utiles

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

2
24/12/2015

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

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

3
24/12/2015

Mes formations sur Alphorm

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

4
24/12/2015

Les certifications Red Hat

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

5
24/12/2015

Le plan de formation
• Un peu de Shell • Planification de tâches Linux
• Utilisation d'expressions régulières avec GREP • Le cron
• Utilisation d'expressions régulières avec SED • La commande AT

• Déploiement de serveur • Connexion à des groupes et utilisateurs définis par le


• Mise en œuvre d'un serveur PXE réseau
• Installation automatique d'un serveur avec • Introduction aux services d'identification
PXE/Kickstart centralisés
• Introduction à PAM – SSSD
• Les listes de contrôle d'accès • Introduction à LDAP
• Comprendre et mettre en œuvre les ACLs • Mise en oeuvre et authentification sur un
serveur LDAP
• Gestion du stockage • Mise en oeuvre et authentification avec
• Comprendre la gestion des volumes logiques kerberos/LDAP
• Gérer les volumes logiques à partir de la ligne de • S'authentifier sur un serveur AD
commande
• Introduction à BTRFS • Stockage distant
• Gérer les volumes btrfs à partir de la ligne de • NFS Server
commande • Accéder aux partages NFS sécurisé
• Partage SMB- CIFS
• Autofs

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

6
24/12/2015

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

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

7
24/12/2015

Connaissances requises
Les participants doivent avoir de bonnes connaissances en
informatique et avoir suivi la formation RH124

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

8
24/12/2015

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

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

9
24/12/2015

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

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

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

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

10
24/12/2015

Are you ready ? ☺

Êtes vous prêt à porter


la casquette rouge?

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

11
24/12/2015

Utilisation d'expressions régulières

Utilisation d'expressions
régulières avec GREP

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

12
24/12/2015

Plan
• Introduction aux expressions régulières

• Recherche de motif avec Grep

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

13
24/12/2015

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

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

14
24/12/2015

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


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

15
24/12/2015

Recherche de motif avec Grep


• Grep (g/RE/p) permet de rechercher des chaînes de caractères
• Recherche la chaine ‘téléphone’ dans le fichier annuaire

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

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


motifs.
• 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}'

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

16
24/12/2015

Ce qu’on a couvert
• Introduction aux expressions régulières

• Recherche de motif avec Grep

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

17
24/12/2015

Utilisation d'expressions régulières

Utilisation d'expressions
régulières avec SED

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

18
24/12/2015

Plan
• Sed : Stream Editor

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

19
24/12/2015

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 ville
75000 Paris
29200 Brest
1000 Bruxelles
#sed 's/\([0-9]*\)\ \(.*\)/\2\t >\t\1/' ville
Bruxelles > 1000
Paris > 75000
Brest > 29200

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

20
24/12/2015

Ce qu’on a couvert
• Sed : Stream Editor

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

21
24/12/2015

Déploiement de serveur
Mise en œuvre
d'un serveur PXE

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

22
24/12/2015

Plan
• Introduction au serveur PXE

• Configuration du serveur Red hat :


dnsmasq
Syslinux
Tftp-server
Pxelinux
Mirroir FTP
Activation des services
Installation du client PXE

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

23
24/12/2015

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

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

24
24/12/2015

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

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

25
24/12/2015

dnsmasq
• Configuration du serveur

#vi /etc/dnsmasq.conf
#Interfaces en écoute
interface=enp0s3
#Nom de domaine
domain=alphorm.local
# Étendue DHCP
dhcp-range= enp0s3,192.168.1.110,192.168.1.253,255.255.255.0,1h
# Passerelle
dhcp-option=3,192.168.1.1
# Serveur DNS
dhcp-option=6,192.168.1.1, 8.8.8.8
server=8.8.4.4
# Configuration PXE
dhcp-boot=pxelinux.0,pxeserver,192.168.1.100

pxe-prompt="Press F8 for menu.", 30


pxe-service=x86PC, "Install Red hat 7 a partir du serveur r 192.168.1.2", pxelinux
#activation de trivail ftp
enable-tftp
#emplacement des fichiers
tftp-root=/var/lib/tftpboot/

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

26
24/12/2015

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

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

27
24/12/2015

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

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

28
24/12/2015

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/default
default 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 Repo
kernel RHEL7/vmlinuz
append initrd=RHEL7/initrd.img method=ftp://192.168.1.20/pub \
devfs=nomount

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

29
24/12/2015

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

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

30
24/12/2015

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

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

31
24/12/2015

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

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

32
24/12/2015

Installation du client PXE

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

33
24/12/2015

Installation du client PXE

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

34
24/12/2015

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

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

35
24/12/2015

Déploiement de serveur
Installation automatique
d'un serveur avec
PXE/Kickstart

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

36
24/12/2015

Plan
• Introduction à Kickstart

• Le fichier kickstart

• Installation automatique avec kickstart

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

37
24/12/2015

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
….
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

38
24/12/2015

Le fichier kickstart
#version=RHEL7

# Use network installation


url --url="ftp://192.168.1.100/pub/"
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# System language
lang fr_FR.UTF-8

# Network information
network --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 --activate
network --hostname=rhel7.alphorm.local
# Root password
rootpw --iscrypted
$6$j42/o3y9QasOYi/s$4NdAoyfEmoUuoe9Q/QSIc337ktoc4gfzngzhN6Zk36xN5fVPINi4zBbM.ZdGVrLrtAbu4YmfUC8iZD6Uztnka/
%packages
@base
@core

%end

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

39
24/12/2015

Installation automatique avec kickstart


• Création du fichier kickstart
#vi anaconda-ks.cfg
#ksvalidator anaconda-ks.cfg

• Copie du fichier dans le dépôt


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

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


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

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

40
24/12/2015

Installation automatique avec kickstart

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

41
24/12/2015

Installation automatique avec kickstart

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

42
24/12/2015

Installation automatique avec kickstart

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

43
24/12/2015

Installation automatique avec kickstart

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

44
24/12/2015

Ce qu’on a couvert
• Introduction à Kickstart

• Le fichier kickstart

• Installation automatique avec kickstart

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

45
24/12/2015

Les listes de contrôle d'accès


Comprendre et mettre
en œuvre les ACLs

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

46
24/12/2015

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

• Mise en oeuvre des ACLs

• Héritage des ACLs

• Sauvegarde et restaurer les ACLs

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

47
24/12/2015

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.

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

48
24/12/2015

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_64


CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_BTRFS_FS_POSIX_ACL=y
CONFIG_FS_POSIX_ACL=y
CONFIG_GENERIC_ACL=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFS_ACL_SUPPORT=m

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

49
24/12/2015

Mise en oeuvre des ACLs


• Afficher les acls

# getfacl fichier.1
# file: fichier.1
# owner: root
# group: root
user::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

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

50
24/12/2015

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

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

51
24/12/2015

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: root
user::rwx
user:ludo:rw-
group::r-x
group:ludo:rw-
mask::rwx
other::r-x
default:user::rwx
default:user:ludo:rw-
default:group::r-x
default:group:ludo:rw-
default:mask::rwx
default:other::r-x

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

52
24/12/2015

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

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

53
24/12/2015

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

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

54
24/12/2015

Gestion du stockage
Comprendre la gestion
des volumes logiques

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

55
24/12/2015

Plan
• Introduction aux Volumes logiques

• Pourquoi utiliser le LVM?

• Structure du LVM

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

56
24/12/2015

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

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

57
24/12/2015

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.

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

58
24/12/2015

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

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

59
24/12/2015

Pourquoi utiliser le LVM


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.

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

60
24/12/2015

Pourquoi utiliser le LVM


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.

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

61
24/12/2015

Structure LVM
Partitions

sda1 sdb1 sdc1 sdd1

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

62
24/12/2015

Structure LVM
Partitions

sda1 sdb1 sdc1 sdd1

Groupe de Volumes

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

63
24/12/2015

Structure LVM
Partitions

sda1 sdb1 sdc1 sdd1

Groupe de Volumes

Volume logique Volume logique Volume logique

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

64
24/12/2015

Structure LVM
Volumes logiques

LV0 LV1 LV2

/home /var /usr

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

65
24/12/2015

Ce qu’on a couvert
• Introduction aux Volumes logiques

• Pourquoi utiliser le LVM?

• Structure LVM

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

66
24/12/2015

Gestion du stockage
Gérer les volumes
logiques à partir de
la ligne de commande

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

67
24/12/2015

Plan
• Les commandes LVM

• Création du LVM

• Visualiser le LVM

• Étendre les volumes

• Travailler avec les snapshots

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

68
24/12/2015

Les commandes LVM


Partitions

sda1 sdb1 sdc1 sdd1 pvcreate

Groupe de Volumes vgcreate

Volume logique Volume logique Volume logique lvcreate


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

69
24/12/2015

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

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

70
24/12/2015

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

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

71
24/12/2015

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

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

72
24/12/2015

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 !!

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

73
24/12/2015

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

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

74
24/12/2015

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

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

75
24/12/2015

Ce qu’on a couvert
• Les commandes LVM

• Création du LVM

• Visualiser le LVM

• Étendre les volumes

• Travailler avec les snapshots

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

76
24/12/2015

Gestion du stockage
Introduction au
BTRFS

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

77
24/12/2015

Plan
• Introduction au BTRFS

• Pourquoi utiliser BTRFS?

• Structure BTRFS

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

78
24/12/2015

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.

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

79
24/12/2015

Introduction au BTRFS
• Aujoutd’hui BTRFS est développé conjointement par Red
Hat, 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

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

80
24/12/2015

Pourquoi utiliser BTRFS


• É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

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

81
24/12/2015

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

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

82
24/12/2015

Structure BTRFS
Partitions ou disques
sda1
sdb1 sdc sdd
sda2

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

83
24/12/2015

Structure BTRFS
Partitions ou disques
sda1
sdb1 sdc sdd
sda2

Volume BTRFS

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

84
24/12/2015

Structure BTRFS
Partitions ou disques
sda1
sdb1 sdc sdd
sda2

Volume BTRFS

Sous-volume FS Autre application

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

85
24/12/2015

Ce qu’on a couvert
• Introduction au BTRFS

• Pourquoi utiliser BTRFS?

• Structure BTRFS

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

86
24/12/2015

Gestion du stockage
Gérer les volumes btrfs
à partir de la ligne
de commande

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

87
24/12/2015

Plan
• Installation de BTRFS

• Mise en oeuvre

• Étendre et réduire

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

88
24/12/2015

Installation de Btrfs
• Installation

#yum install btrfs-progs.x86_64

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

89
24/12/2015

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.2
See http://btrfs.wiki.kernel.org for more information.

Turning ON incompat feature 'extref': increased hardlink limit per file to 65536
adding device /dev/sdd id 2
adding device /dev/sde id 3
adding device /dev/sdf id 4
fs created label btrfs_vol on /dev/sdc
nodesize 16384 leafsize 16384 sectorsize 4096 size 32.00GiB

# btrfs filesystem show


Label: 'btrfs_vol' uuid: be71f5f1-a6dd-4685-ae68-df4695638c19
Total devices 4 FS bytes used 112.00KiB
devid 1 size 8.00GiB used 2.03GiB path /dev/sdc
devid 2 size 8.00GiB used 2.01GiB path /dev/sdd
devid 3 size 8.00GiB used 2.01GiB path /dev/sde
devid 4 size 8.00GiB used 2.01GiB path /dev/sdf

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

90
24/12/2015

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/

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

91
24/12/2015

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

#btrfs device add /dev/sdc btrfs_sous_vol/

• Afficher les sous volume btrfs

#btrfs filesystem show


Label: 'btrfs_vol' uuid: be71f5f1-a6dd-4685-ae68-df4695638c19
Total devices 5 FS bytes used 736.00KiB
devid 2 size 8.00GiB used 1.16GiB path /dev/sdd
devid 3 size 8.00GiB used 1.16GiB path /dev/sde
devid 4 size 8.00GiB used 1.16GiB path /dev/sdf
devid 5 size 8.00GiB used 1.16GiB path /dev/sdg
devid 6 size 8.00GiB used 0.00 path /dev/sdc

• Supprimer un périphérique

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

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

92
24/12/2015

Ce qu’on a couvert
• Installation de BTRFS

• Mise en oeuvre

• Étendre et réduire

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

93
24/12/2015

Planification de tâches Linux

Le cron

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

94
24/12/2015

Plan
• Introduction

• Le cron

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

95
24/12/2015

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

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

96
24/12/2015

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 crontab
en :
Minutes, heures, jour du mois, mois et jour de la semaine

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

97
24/12/2015

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

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

98
24/12/2015

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

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

99
24/12/2015

Le cron

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

100
24/12/2015

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

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

101
24/12/2015

Ce qu’on a couvert
• Introduction

• Le cron

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

102
24/12/2015

Planification de tâches Linux

AT

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

103
24/12/2015

Plan
• Introduction à AT

• Utilisation de la commande AT

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

104
24/12/2015

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

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

105
24/12/2015

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
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

106
24/12/2015

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
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

107
24/12/2015

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

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

108
24/12/2015

Utilisation de la commande AT
• Lancer une commande a une midi

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

• Lancer une commande demain à 11h54

#at 11:54 tomorrow


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

• Lancer une commande dans 5 minutes

#at now +5 minutes

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

109
24/12/2015

Utilisation de la commande AT
• Lister les travaux a exécuter
## atq
2 Sat Nov 14 11:54:00 2015 a root
3 Fri Nov 13 12:03:00 2015 a root
4 Tue Nov 17 11:59:00 2015 a root
5 Fri Nov 27 11:59:00 2015 a root

• Supprimer un job

# atrm 3
#atq
2 Sat Nov 14 11:54:00 2015 a root
4 Tue Nov 17 11:59:00 2015 a root
5 Fri Nov 27 11:59:00 2015 a root

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

110
24/12/2015

Ce qu’on a couvert
• Introduction à AT

• Utilisation de la commande AT

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

111
24/12/2015

Connexion à des groupes et


utilisateurs définis par le réseau
Introduction aux services
d'identification centralisés

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

112
24/12/2015

Plan
• Introduction

• Ldap - Microsoft Active Directory

• Identity Management

• Comprendre le SSO

• Kerberos

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

113
24/12/2015

Introduction

NFS Serveur Service Web Applications Applications Service messagerie Base de données
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

114
24/12/2015

Ldap - Microsoft Active Directory – Samba4

LDAP
Active Directory

NFS Serveur Service Web Applications Applications Service messagerie Base de données
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

115
24/12/2015

Identity Management - IdM

Replica
IdM IdM

NFS Serveur Service Web Applications


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

116
24/12/2015

Comprendre le SSO

Utilisateur/mot de passe

SSO - Single Sign On

NFS Serveur Service Web Applications Applications Service messagerie Base de données
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

117
24/12/2015

Comprendre le SSO
• 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.

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

118
24/12/2015

Kerberos

Utilisateur/mot de passe

Kerberos/IdM
Kerberos/LDAP
Kerberos/MS active Directory

NFS Serveur Service Web Applications Applications Service messagerie Base de données
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

119
24/12/2015

Ce qu’on a couvert
• Introduction

• Ldap - Microsoft Active Directory – Samba4

• Identity Management - IdM

• Comprendre le SSO

• Kerberos

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

120
24/12/2015

Connexion à des groupes et


utilisateurs définis par le réseau

Introduction à
PAM - SSSD

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

121
24/12/2015

Plan
• PAM – Plugabble Authentification Module

• NSS – Name Service Switch

• SSSD - System Security Services Daemon

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

122
24/12/2015

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)

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

123
24/12/2015

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.

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

124
24/12/2015

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


• Les services

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

• Le fichier de configuration du service system-auth


• 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.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 1000 quiet_success
auth sufficient pam_sss.so use_first_pass

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

125
24/12/2015

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

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

126
24/12/2015

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 ldap


shadow: files sss ldap
group: files sss ldap

#hosts: db files nisplus nis dns


hosts: files dns ldap

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

127
24/12/2015

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

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

128
24/12/2015

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 = ldap
ldap_schema = rfc2307bis
krb5_realm = #
ldap_search_base = dc=alphorm,dc=local
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap
ldap_uri = ldap://192.168.1.39
ldap_id_use_start_tls = True

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

129
24/12/2015

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

• NSS – Name Service Switch

• SSSD - System Security Services Daemon

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

130
24/12/2015

Connexion à des groupes et


utilisateurs définis par le réseau

Introduction à LDAP

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

131
24/12/2015

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

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

132
24/12/2015

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

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

133
24/12/2015

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.

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

134
24/12/2015

Les annuaires électroniques


France
Ile de France Provence
Paris Marseille
11e arrondissement 8e arrondissements
Famille de Ludo
Adresse : 7 rue du paradis
Tel : 0033 6 78 45 24 67

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

135
24/12/2015

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

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

136
24/12/2015

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)

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

137
24/12/2015

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,

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

138
24/12/2015

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

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

139
24/12/2015

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

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

140
24/12/2015

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…

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

141
24/12/2015

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

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

142
24/12/2015

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.

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

143
24/12/2015

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

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

144
24/12/2015

Le Directory Tree, structure de l’arbre


• On peut trouver pour une grande organisation :

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

145
24/12/2015

Structure de l'annuaire, Exemples d'arbres


• Dans ce cadre, le modèle LDAP peut être plat :

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

146
24/12/2015

Structure de l'annuaire, Exemples d'arbres


• Découpage par type d'objet :

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

147
24/12/2015

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

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

148
24/12/2015

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

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

149
24/12/2015

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

• On trouve également ObjectClasss

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

150
24/12/2015

Formation complète et avancées sur LDAP


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

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

151
24/12/2015

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

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

152
24/12/2015

Connexion à des groupes et


utilisateurs définis par le réseau

S'authentifier sur
un serveur LDAP

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

153
24/12/2015

Plan
• Mise en œuvre serveur Openldap

• Authentification client ldap


Méthode nss-pam-ldap nscd
Méthode SSSD

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

154
24/12/2015

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

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

155
24/12/2015

Mise en œuvre serveur Openldap


• Mise en place du mot de passe pour l’administrateur ldap
#slappasswd
New password:
Re-enter new password:
{SSHA} ZNSXX9tIF7aNJlcaqZfvE04gbI/3+YHX

• Insertion dans la base de données

#vi passwdRoot.ldif
dn: olcDatabase={0}config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA} ZNSXX9tIF7aNJlcaqZfvE04gbI/3+YHX

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

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

156
24/12/2015

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

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

157
24/12/2015

Mise en œuvre serveur Openldap


• Création du domaine ldap alphorm.local
#vi domain_alphorm.ldif
dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: 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: modify
replace: olcRootDN
olcRootDN: cn=Manager, dc=alphorm,dc=local

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

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

158
24/12/2015

Mise en œuvre serveur Openldap


• Création de l’arborscence pour le domaine alphorm.local
# vi domain.ldif
dn: dc=alphorm,dc=local
objectClass: top
objectClass: dcObject
objectclass: organization
o: alphorm formation
dc: alphorm

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

dn: ou=People,dc=alphorm,dc=local
objectClass: organizationalUnit
ou: People

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


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

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

159
24/12/2015

Mise en œuvre serveur Openldap


• Ajout des utlisateurs ldap
#vi ldapuser.ldif
dn: uid=ludovic,ou=People,dc=server,dc=world
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
cn: ludovic
sn: formateur
userPassword: {SSHA}xxxxxxxxxxxxxxxxx
loginShell: /bin/bash
uidNumber: 10000
gidNumber: 10000
homeDirectory: /home/ludovic

dn: cn=formateur,ou=Group,dc=server,dc=world
objectClass: posixGroup
cn: ludovic
gidNumber: 10000
memberUid: formateur

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


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

160
24/12/2015

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

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

161
24/12/2015

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

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

162
24/12/2015

Ce qu’on a couvert
• Mise en œuvre serveur Openldap

• Méthode nss-pam-ldap nscd

• Méthode SSSD

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

163
24/12/2015

Connexion à des groupes et


utilisateurs définis par le réseau

S'authentifier
avec kerberos

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

164
24/12/2015

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

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

165
24/12/2015

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.

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

166
24/12/2015

Principe de fonctionnement

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

167
24/12/2015

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

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

168
24/12/2015

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

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

169
24/12/2015

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é”

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

170
24/12/2015

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

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

171
24/12/2015

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

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

172
24/12/2015

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

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

173
24/12/2015

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

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

174
24/12/2015

Mise en œuvre d’un serveur Kerberos


• Ajout du principal utilisateur root
#kadmin.local
addprincs root/admin

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


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

#kadmin
addprinc –randkey host/client.alphorm.local
ktadd –k /tmp/client.keytab host/client.alphorm.local

• Lister les principal


#kadmin.local
listprincs

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

175
24/12/2015

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 /tmp


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

#ktutil
ktutil: rkt /tmp/client.keytab
ktutil: wkt /etc/krb5.keytab
ktutil: list
slot KVNO Principal
---- ---- ---------------------------------------------------------------- 1 2
host/client.alphorm.local@ALPHORM.LOCAL
2 2 host/client.alphorm.local@ALPHORM.LOCAL

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

176
24/12/2015

Intégration Red Hat Linux

Authconfig-gui

System-authconfig

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

177
24/12/2015

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

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

178
24/12/2015

Connexion à des groupes et


utilisateurs définis par le réseau
S'authentifier sur un
serveur AD

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

179
24/12/2015

Plan
• Introduction à Microsoft Active Directory

• Introduction Kerberos

• Royaume Kerberos

• Architecture Kerberos

• Principes de fonctionnement

• Intégration Red Hat Linux dans AD

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

180
24/12/2015

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

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

181
24/12/2015

Formations AD sur Alphorm

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

182
24/12/2015

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.

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

183
24/12/2015

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

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

184
24/12/2015

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

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

185
24/12/2015

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é”

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

186
24/12/2015

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

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

187
24/12/2015

Principe de fonctionnement

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

188
24/12/2015

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.local


rh134.alphorm.local
type: kerberos
realm-name: RH134.ALPHORM.LOCAL
domain-name: rh134.alphorm.local
configured: kerberos-member
server-software: active-directory
client-software: sssd

#realm join rh134.alphorm.local –U RH134.ALPHORM.LOCAL\administrateur

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

189
24/12/2015

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.local
krb5_realm = RH134.ALPHORM.LOCAL
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = False

• Se loguer avec l’administrateur

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

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

190
24/12/2015

Intégration Red Hat Linux dans AD


• Afficher le ticket kerberos
# klist
Ticket cache:
KEYRING:persistent:1828200500:krb_ccache_9QuDDC0
Default principal: Administrateur@RH134.ALPHORM.LOCAL

Valid starting Expires Service principal


11/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

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

191
24/12/2015

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

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

192
24/12/2015

Stockage distant
NFS Server

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

193
24/12/2015

Plan
• Introduction au NFS

• Mise en oeuvre simple d’un serveur NFS

• Accéder à un serveur NFS

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

194
24/12/2015

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).
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

195
24/12/2015

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 -avr
exporting *:/nfs

• Montage de l’export nfs du client


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

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

196
24/12/2015

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 lors
de “crash” serveur
Sync : le contraire de async, synchronise les requêtes
Rsize, wsize : taille des blocs de données en lecture et écriture

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

197
24/12/2015

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

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

198
24/12/2015

Ce qu’on a couvert
• Introduction au NFS

• Mise en oeuvre simple d’un serveur NFS

• Accéder a un serveur NFS

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

199
24/12/2015

Stockage distant
Accéder aux partages
NFS sécurisé

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

200
24/12/2015

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

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

201
24/12/2015

Introduction
1 Demande NFS mount

serveur Kerberos serveur NFS secure


3 krb5.keytab
Client NFS
4 krb5.keytab

2 demande authentification dans le royaume

5 autorisation du montage nfs

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

202
24/12/2015

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 -avr
exporting *:/nfs
nfs-server#showmount -e localhost

• Démarrage des services

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

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

203
24/12/2015

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.conf
kbserver# vi /var/kerberos/krb5kdc/kadm5.acl
kbserver# vi /var/kerberos/krb5kdc/kdc.conf

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


kbserver# kdb5_util create -s –r ALPHORM.LOCAL

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

204
24/12/2015

Mise en oeuvre du serveur Kerberos


• Activation des services kerberos
kbserver# systemctl start krb5kdc kadmin
kbserver# systemctl enable krb5kdc kadmin

• Ajout des principals


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

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

205
24/12/2015

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#kadmin
Authenticating as principal root/admin@ALPHORM.LOCAL with password.
Password for root/admin@ALPHORM.LOCAL : xxxxxx
kadmin: addprinc -randkey nfs/nfs-server.alphorm.local
kadmin : ktadd nfs/nfs-server.alphorm.local
kadmin: addprinc –randkey host/nfs-server.alphorm.local

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

206
24/12/2015

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#kadmin
Authenticating as principal root/admin@ALPHORM.LOCAL with password.
Password for root/admin@ALPHORM.LOCAL : xxxxxx
kadmin: addprinc -randkey nfs/nfs-client.alphorm.local
kadmin : ktadd nfs/nfs-client.alphorm.local
kadmin: addprinc -randkey host/nfs-client.alphorm.local

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

207
24/12/2015

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 krb5
nfs-client#su – user
nfs-client$ kinit
nfs-client $ cd /mnt
nfs-client $ echo “Ca marche !!" >testFile

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

208
24/12/2015

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

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

209
24/12/2015

Stockage distant
Partage SMB/CIFS

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

210
24/12/2015

Plan
• Introduction

• Partage méthode MS Windows

• Partage méthode Samba 4

• “Montage” des partages

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

211
24/12/2015

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

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

212
24/12/2015

Introduction

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

213
24/12/2015

Partage méthode MS Windows

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

214
24/12/2015

Partage méthode MS Windows

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

215
24/12/2015

Partage méthode MS Windows

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

216
24/12/2015

Partage Méthode Samba 4


• Créer un partage dans le fichier smb.conf
# vi /etc/samba/smb.conf
[public]
comment = Public Stuff
path = /home/public
public = yes
writable = yes
write list = root

• Démarrer les service samba


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

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

217
24/12/2015

Partage Méthode Samba 4


• Ajout d’un utilisateur SAMBA
#smbpasswd –a root
New SMB password:
Retype new SMB password:
Added user root.

• Affciher les partages du serveur


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

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

Sharename Type Comment


--------- ---- -------
public Disk Dossier Public
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

218
24/12/2015

Partage Méthode Samba 4


• Montage des partages SMB
#mount -t cifs //192.168.1.20/public /mnt/ -o username=root
password:

#vi /root/.pwd
username=root
password=Mot de passe

#mount -t cifs //192.168.1.20/public /mnt/ -o \


credentials=/root/.pwd

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

219
24/12/2015

Ce qu’on a couvert
• Introduction

• Partage méthode MS Windows

• Partage méthode Samba 4

• “Montage” des partages

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

220
24/12/2015

Stockage distant
Autofs

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

221
24/12/2015

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

• Mise en oeuvre de autofs

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

222
24/12/2015

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é

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

223
24/12/2015

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.test
test nfsserver:/autofs/

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

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

224
24/12/2015

Mise en oeuvre autofs


• Accès au montage via autofs

#]# ls /dir_autofs/test
dir1 dir2 dir3

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

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

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

225
24/12/2015

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

• Mise en oeuvre de autofs

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

226
24/12/2015

Gestion de la sécurité
Introduction aux contrôles
d'accès sous Linux

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

227
24/12/2015

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

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

228
24/12/2015

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

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

229
24/12/2015

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
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

230
24/12/2015

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


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

231
24/12/2015

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

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

232
24/12/2015

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)

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

233
24/12/2015

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)

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

234
24/12/2015

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

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

235
24/12/2015

Gestion de la sécurité
Comprendre SeLinux

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

236
24/12/2015

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

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

237
24/12/2015

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 …

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

238
24/12/2015

Comprendre SELinix

SELinux

Enforcing
Policy Auditd
Permissive

/var/log/auditd/audit.log

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

239
24/12/2015

Comprendre SELinix

Context http Context home

Httpd.conf
Httpd process /home/ludo/www
/var/www

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

240
24/12/2015

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

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

241
24/12/2015

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 -auxZ
system_u:system_r:sshd_t:s0-s0:c0.c1023 root Ss 11:19 0:00 /usr/sbin/sshd -D

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

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

242
24/12/2015

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

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

243
24/12/2015

Comprendre les labels et les booléens


#Ps auxZ | grep httpd
system_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 0
drwxr-xr-x. 2 system_u:object_r:httpd_sys_script_exec_t:s0 root root 6 24 août 20:12 cgi-
bin
drwxr-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

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

244
24/12/2015

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

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

245
24/12/2015

Comprendre les labels et les booléens


#getsebool -a | grep ftp
ftp_home_dir --> off
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> off
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off

#ftp localhost
Using binary mode to transfer files.
ftp> mkdir test.selinux
550 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:

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

246
24/12/2015

Comprendre les labels et les booléens


#setsebool ftp_home_dir on

# ftp localhost
Trying ::1...
Password:
ftp> mkdir est.selinux
257 "/home/ludo/est.selinux" created
ftp>

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

247
24/12/2015

Comprendre semanage, fcontext


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

# semanage fcontext -l | more


contexte 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

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

248
24/12/2015

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

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

249
24/12/2015

Comprendre semanage, fcontext


#man –k _selinux

#yum install –y policycoreutils-devel

#sepolicy manpage –a –p /usr/share/man/man


#mandb

#man –k _selinux

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

250
24/12/2015

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(/*)?”

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

251
24/12/2015

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-013ec1e22414
Dec 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-013ec1e22414
SELinux is preventing /usr/sbin/vsftpd from create access on the directory test.selinux.

If vous souhaitez allow ftp to home dir


Then 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.
Do
setsebool -P ftp_home_dir 1

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

252
24/12/2015

Mise en oeuvre de SELinux avec SSH


#vi /etc/ssh/sshd_config
Port 8888

# systemctl restart sshd


# systemctl status sshd

#grep AVC /var/log/audit/audit.log | tail -1


type=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

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

253
24/12/2015

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.conf
DocumentRoot /ludo_www/
<Directory “/ludo_www”>
AllowOverride None
Require all granted
<Directory “/ludo_www”>

#systemctl httpd restart

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

254
24/12/2015

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

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

255
24/12/2015

Le Pare feu
Introduction
au firewall

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

256
24/12/2015

Plan
• Firewall ?

• Netfilter

• Firewalld

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

257
24/12/2015

Firewall ?
• Un firewall ou un pare feu en français permet de filtrer le trafic qui
passe par les interfaces réseaux

Adresse IP
ports TCP/UDP
Interface réseau, etc.

Applicatifs.

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

258
24/12/2015

Netfilter
• Netfilter est le pare-feu Linux depuis la version 2.4 du noyau

• Netfilter est un module noyau qui intercepte et manipule les paquets


réseaux
• Netfileter fournit :
Un pare feu
Du NAT –Network Adress Translation
Historisation

• Netfilter est un pare feu à états

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

259
24/12/2015

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


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

260
24/12/2015

Firewalld

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

261
24/12/2015

Ce qu’on a couvert
• Firewall ?

• Netfilter

• Firewalld

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

262
24/12/2015

Le Pare feu

Firewalld

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

263
24/12/2015

Plan
• Les Zones Firewalld

• Mise en œuvre de firewalld

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

264
24/12/2015

Les zones Firewalld


• Firewalld introduit le concept de zones
Work zone
Public zone
enp0s3
dhcp ssh
Interfaces
Service trusted zone
Block zone
ports
Interfaces
Interfaces Service
Service ports
ports

• Ces Zones sont définies par des fichiers XML

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

265
24/12/2015

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

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

266
24/12/2015

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

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

267
24/12/2015

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>

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

268
24/12/2015

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

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

269
24/12/2015

Ce qu’on a couvert
• Les zones Firewalld

• Mise en œuvre de firewalld

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

270
24/12/2015

Contrôle et résolution
des problèmes
Modifier les paramètres
de démarrage

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

271
24/12/2015

Plan
• Démarrage Red Hat Linux 7

• Grub2 – Grand Unified BootLoader

• Modifier des paramètres de démarrage

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

272
24/12/2015

Processus de démarrage

BIOS/EFI
Noyau

GRUB
Initrd
runlevel1.target,
Systemd rescue.target

NetworkManager.service
runlevel3.target, multi-user systemd-journald.service
runlevel5.target, graphical
systemd-logind.service
firewalld.service
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

273
24/12/2015

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

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

274
24/12/2015

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

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

275
24/12/2015

Modifier des paramètres de démarrage


BIOS/EFI

GRUB ESC
grub2-mkconfig

Modifications des options de Boot


Systemd.unit = rescue.target
Modification dans
Kernel/Initrd /etc/default/grub
/etc/grub.d

Systemd
Systemd rescue mode

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

276
24/12/2015

Modifier des paramètres de démarrage


• Modifier les options de démarrage
#vi /etc/default/grub

• Modifier la configuration de grub2


#grub2-mkconfig

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

277
24/12/2015

Modifier des paramètres de démarrage

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

278
24/12/2015

Ce qu’on a couvert
• Démarrage Red Hat Linux 7

• Grub2 – Grand Unified BootLoader

• Modifier des paramètres de démarrage

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

279
24/12/2015

Contrôle et résolution
des problèmes
Utilisation de rd.break

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

280
24/12/2015

Plan
• Comprendre Rd.break

• Booter avec rd.break

• Modifier le mot de passe root avec rd.break

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

281
24/12/2015

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

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

282
24/12/2015

Booter avec rd.break

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

283
24/12/2015

Booter avec rd.break

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

284
24/12/2015

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

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

285
24/12/2015

Ce qu’on a couvert
• Comprendre Rd.break

• Booter avec rd.break

• Modifier le mot de passe root avec rd.break

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

286
24/12/2015

Conclusion
Le mot de la fin

Site : http://www.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
Blog : http://blog.alphorm.com OpenSource et virtualisation
Formation Red Hat, Administration Système II (RH134) alphorm.com™©

287
24/12/2015

Le plan de formation
• Un peu de Shell • Planification de tâches Linux
• Utilisation d'expressions régulières avec GREP • Le cron
• Utilisation d'expressions régulières avec SED • La commande AT

• Déploiement de serveur • Connexion à des groupes et utilisateurs définis par le


• Mise en œuvre d'un serveur PXE réseau
• Installation automatique d'un serveur avec • Introduction aux services d'identification
PXE/Kickstart centralisés
• Introduction à PAM – SSSD
• Les listes de contrôle d'accès • Introduction à LDAP
• Comprendre et mettre en œuvre les ACLs • Mise en oeuvre et authentification sur un
serveur LDAP
• Gestion du stockage • Mise en oeuvre et authentification avec
• Comprendre la gestion des volumes logiques kerberos/LDAP
• Gérer les volumes logiques à partir de la ligne de • S'authentifier sur un serveur AD
commande
• Introduction à BTRFS • Stockage distant
• Gérer les volumes btrfs à partir de la ligne de • NFS Server
commande • Accéder aux partages NFS sécurisé
• Partage SMB- CIFS
• Autofs

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

288
24/12/2015

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

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

289
24/12/2015

Avez-vous des Questions /Remarques /Commentaires ?

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

290
24/12/2015

Reprise sur les certifications Red Hat

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

291
24/12/2015

A bientôt ☺

Pour une nouvelle formation sur Linux Red Hat.

RH254 Red Hat Administration III


pour obtenir votre RHCE

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

292