siars v2 - bonnes pratiques de sécurité...

49
SIARS v2 Bonnes Pratiques de sécurité GNU/Linux Matthieu Herrb 6 décembre 2018 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Upload: others

Post on 03-Jun-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

SIARS v2Bonnes Pratiques de seacutecuriteacute GNULinux

Matthieu Herrb

6 deacutecembre 2018

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 2 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 3 49

Introduction

Seacutecurisation de systegravemes GNULinux postes de travailserveurs

Plusieurs voies regravegles geacuteneacuterales bonnes pratiquesguides speacutecifiques agrave une distributionoutils deacutedieacutes (SELinux systemd AppArmor seccomp )

Matthieu Herrb SIARS v2 6 deacutecembre 2018 4 49

Guides

RedHat 7 Security GuideHow to protection CentOSSecuring Debian ManualUbuntu Basic SecurityUbuntu Server Guide - SecurityANSSI - Recommandations de seacutecuriteacute relatives agrave un systegravemeGNULinuxANSSI - Guide drsquohygiegravene informatiqueRegravegles de seacutecuriteacute de la PSSI du CNRS (EXP-CNF-3)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 5 49

Principes

Il est fondamental de mettre en place un niveau de seacutecuriteacute minimalsur lrsquoensemble du parc informatique de lrsquoentiteacute en impleacutementant lesmesures suivantes

limiter les applications installeacuteeshellip doter les postes utilisateurs drsquoun pare-feu local et drsquoun anti-virus chiffrer les partitions ougrave sont stockeacutees les donneacutees des utilisateurs deacutesactiver les exeacutecutions automatiques (autorun)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 6 49

Principes

Reacuteduire la surface drsquoattaqueHomogeacuteneacuteiser les installationsPermettre mises agrave jour et suiviSeacuteparer les services

Utiliser systegraveme drsquoorchestration (Ansible Puppet SaltStack)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 7 49

Niveaux de seacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 8 49

Minimisation des services installeacutes

Seuls les composants strictement neacutecessaires au service rendu doiventecirctre installeacutes

Tout service est un eacuteleacutement sensibleen particulier si eacutecoute sur le reacuteseauSeuls ceux connus et requis doivent ecirctre preacutesentsCeux dont la preacutesence nrsquoest pas justifieacutee doivent ecirctre deacutesinstalleacutes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 9 49

Deacutefense en profondeur

Combinaison de barriegraveres indeacutependantes les unes des autres Filtrage reacuteseau en entreacuteeAuthentificationCloisonnementMeacutecanismes de preacutevention de lrsquoexploitation des vulneacuterabiliteacutes

ASLR W^X canaris amp co Filtrage reacuteseau en sortie Bac agrave sable (Sandbox)

Journalisation seacutecuriseacutee

Matthieu Herrb SIARS v2 6 deacutecembre 2018 10 49

Mises agrave jour reacuteguliegraveres

Proceacutedures de mises agrave jour de seacutecuriteacute reacuteactivesinformation rarr listes de diffusion (CERT eacutediteurs etc)application automatiseacutee

proceacutedure de test (preacute-prod) validation sauvegardes (snapshot) pour retour arriegravere si besoin

controcircle (audit) de lrsquoapplication des mises agrave jour

Matthieu Herrb SIARS v2 6 deacutecembre 2018 11 49

Choix des deacutepocircts des paquets

Regravegle Seuls les deacutepocircts officiels agrave jour de la distribution doivent ecirctre utiliseacutes

Si neacutecessaire drsquoinstaller des paquets de deacutepocircts tiers veacuterifier la provenanceveacuterifier les mises agrave jour

Matthieu Herrb SIARS v2 6 deacutecembre 2018 12 49

Robustesse de mot de passe administrateur

Mot de passe suffisamment robuste (ANSSI)Mot de passe unique et propre agrave chaque machine

Version sans mot de passe administrateur utilisation de sudo en local (avec un compte local deacutedieacute)utilisation de cleacutes publiques SSH pour connexions agrave distance

Bannir le sudo sans mot de passe pour les administrateurs

Matthieu Herrb SIARS v2 6 deacutecembre 2018 13 49

Applications utilisant PAM

Regravegle Le nombre drsquoapplications utilisant PAM doit ecirctre reacuteduit au strict neacutecessaireafin de limiter lrsquoexposition drsquoeacuteleacutements drsquoauthentification sensibles

privileacutegier lrsquoauthentification via LDAP Radius CAS Shibbolethnrsquoexposer que les comptes utiles

Matthieu Herrb SIARS v2 6 deacutecembre 2018 14 49

Protection des mots de passe stockeacutes

Regravegle Tout mot de passe doit ecirctre proteacutegeacute par des meacutecanismes cryptographiqueseacutevitant de les exposer en clair agrave un attaquant reacutecupeacuterant leur base

hachage du mot de passe avec une fonction de hachage sucircre(SHA256) un sel et suffisamment drsquoiteacuterationschiffrement par une cleacute secregravete (eacuteventuellement proteacutegeacutee par un HSM)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 15 49

Exeacutecutables avec bits setuid et setgid

Regravegle Seuls les programmes speacutecifiquement conccedilus pour ecirctre utiliseacutes avec les bitssetuid (ou setgid) peuvent avoir ces bits positionneacutees

veacuterifier la liste des exeacutecutables setuidfind minustype minusf ( minusperm minus2000 minuso minusperm minus4000 )

si possible monter les partitions (home par ex) avec lrsquooption nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 16 49

Services et deacutemons actifs

Regravegle Seuls les deacutemons reacuteseau strictement neacutecessaires au fonctionnement dusystegraveme et du service doivent ecirctre reacutesidents et nrsquoecirctre en eacutecoute que sur lesinterfaces reacuteseau adeacutequates

eacutecouter sur un socket Unix (ou sur 1) pour les services locaux(base de donneacutees redis etc)veacuterification des services en eacutecoute avec la commande

netstat minusl minusA inet minusA inet6

liste des processus associeacutes via lsof

Matthieu Herrb SIARS v2 6 deacutecembre 2018 17 49

Seacutecurisation des journaux

centralisation sur un serveur deacutedieacutevia rsyslog syslog-ngvia systemd-journal-uploadjournald-remoteseacuteparer lrsquoexploitation des logs (elk) de leur archivage

Matthieu Herrb SIARS v2 6 deacutecembre 2018 18 49

Systegravemes de fichiers distants (NFS)

limitercontrocircler les exportationsutiliser root_squashcentraliser les utilisateursauthentification kerberos si possibleattention trafic en clair - proteacuteger via IPsec si neacutecessairemontage nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 19 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 20 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 21 49

SELinux - Preacutesentation

Security Enhanced Linux est un systegraveme de controcircle drsquoaccegraves obligatoire(MAC)

Deacuteveloppeacute initialement par la NSA puis RedHatModule noyau qui srsquointerpose sur les appels systegravemeEnsemble de regravegles drsquoautorisation manipulant des sujets des objetsdes rocircles et des contextes

Permettre un controcircle plus fin que les droits Unix classique y comprispour root

Matthieu Herrb SIARS v2 6 deacutecembre 2018 22 49

Eacutetats de SELinux

Trois eacutetats possibles disabled - non activeacute

permissive - journalise les regravegles sans les appliquerenforcing - applique les regravegles

getenforceDisabled sestatusSELinux status disabled

Configuration dans etcsysconfigselinux (reboot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 23 49

SELinux en pratique

1 activer selinux en mode permissive2 tester son service3 reacutecupeacuterer les erreurs dans varlogauditauditlog

4 la commande audit2allow(1) permet de creacuteer une politique pourlrsquoutilisation normale du service

5 charger la nouvelle politique semodule -i newpp6 iteacuterer (2 3 4 5) jusqursquoagrave plus drsquoerreur7 passer en mode enforced8 mettre en production

Matthieu Herrb SIARS v2 6 deacutecembre 2018 24 49

AppArmor - Preacutesentation

AppArmor est un systegraveme de controcircle drsquoaccegraves obligatoire (MAC)deacuteveloppeacute par Canonical (Ubuntu)alternative laquo plus simple raquo agrave SELinuxmodes de fonctionnement similaires agrave SELinux enforcement et complainpolitiques en mode texte dans etcapparmord

Matthieu Herrb SIARS v2 6 deacutecembre 2018 25 49

AppArmor - Commandes

Eacutetat drsquoAppArmorsudo aaminusstatus

Passer une politique en mode complainsudo aaminuscomplain usrbinevince

Passer une politique en mode enforcesudo aaminusenforce usrbinevince

Recharger une politiquesudo apparmor_parser minusr etcapparmordusrbinevince

Deacutesactiver AppArmorsudo systemctl stop apparmorsudo systemctl disable apparmor

Matthieu Herrb SIARS v2 6 deacutecembre 2018 26 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 27 49

systemd et la seacutecuriteacute

Systemd permet de Tirer profit des fonctionnaliteacutes de seacutecuriteacute du noyau LinuxPour simplifier le durcissement de la maintenance drsquoun systegraveme

Matthieu Herrb SIARS v2 6 deacutecembre 2018 28 49

systemd - rappels

Remplaccedilant de SysVinit inteacutegreacute dans la plupart des distributionsChargeacute du deacutemarrage et de la gestion des services systegravemeRemplace les scripts drsquoinit par des fichiers de configurationdeacuteclaratifs les units

Matthieu Herrb SIARS v2 6 deacutecembre 2018 29 49

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 2: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 2 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 3 49

Introduction

Seacutecurisation de systegravemes GNULinux postes de travailserveurs

Plusieurs voies regravegles geacuteneacuterales bonnes pratiquesguides speacutecifiques agrave une distributionoutils deacutedieacutes (SELinux systemd AppArmor seccomp )

Matthieu Herrb SIARS v2 6 deacutecembre 2018 4 49

Guides

RedHat 7 Security GuideHow to protection CentOSSecuring Debian ManualUbuntu Basic SecurityUbuntu Server Guide - SecurityANSSI - Recommandations de seacutecuriteacute relatives agrave un systegravemeGNULinuxANSSI - Guide drsquohygiegravene informatiqueRegravegles de seacutecuriteacute de la PSSI du CNRS (EXP-CNF-3)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 5 49

Principes

Il est fondamental de mettre en place un niveau de seacutecuriteacute minimalsur lrsquoensemble du parc informatique de lrsquoentiteacute en impleacutementant lesmesures suivantes

limiter les applications installeacuteeshellip doter les postes utilisateurs drsquoun pare-feu local et drsquoun anti-virus chiffrer les partitions ougrave sont stockeacutees les donneacutees des utilisateurs deacutesactiver les exeacutecutions automatiques (autorun)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 6 49

Principes

Reacuteduire la surface drsquoattaqueHomogeacuteneacuteiser les installationsPermettre mises agrave jour et suiviSeacuteparer les services

Utiliser systegraveme drsquoorchestration (Ansible Puppet SaltStack)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 7 49

Niveaux de seacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 8 49

Minimisation des services installeacutes

Seuls les composants strictement neacutecessaires au service rendu doiventecirctre installeacutes

Tout service est un eacuteleacutement sensibleen particulier si eacutecoute sur le reacuteseauSeuls ceux connus et requis doivent ecirctre preacutesentsCeux dont la preacutesence nrsquoest pas justifieacutee doivent ecirctre deacutesinstalleacutes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 9 49

Deacutefense en profondeur

Combinaison de barriegraveres indeacutependantes les unes des autres Filtrage reacuteseau en entreacuteeAuthentificationCloisonnementMeacutecanismes de preacutevention de lrsquoexploitation des vulneacuterabiliteacutes

ASLR W^X canaris amp co Filtrage reacuteseau en sortie Bac agrave sable (Sandbox)

Journalisation seacutecuriseacutee

Matthieu Herrb SIARS v2 6 deacutecembre 2018 10 49

Mises agrave jour reacuteguliegraveres

Proceacutedures de mises agrave jour de seacutecuriteacute reacuteactivesinformation rarr listes de diffusion (CERT eacutediteurs etc)application automatiseacutee

proceacutedure de test (preacute-prod) validation sauvegardes (snapshot) pour retour arriegravere si besoin

controcircle (audit) de lrsquoapplication des mises agrave jour

Matthieu Herrb SIARS v2 6 deacutecembre 2018 11 49

Choix des deacutepocircts des paquets

Regravegle Seuls les deacutepocircts officiels agrave jour de la distribution doivent ecirctre utiliseacutes

Si neacutecessaire drsquoinstaller des paquets de deacutepocircts tiers veacuterifier la provenanceveacuterifier les mises agrave jour

Matthieu Herrb SIARS v2 6 deacutecembre 2018 12 49

Robustesse de mot de passe administrateur

Mot de passe suffisamment robuste (ANSSI)Mot de passe unique et propre agrave chaque machine

Version sans mot de passe administrateur utilisation de sudo en local (avec un compte local deacutedieacute)utilisation de cleacutes publiques SSH pour connexions agrave distance

Bannir le sudo sans mot de passe pour les administrateurs

Matthieu Herrb SIARS v2 6 deacutecembre 2018 13 49

Applications utilisant PAM

Regravegle Le nombre drsquoapplications utilisant PAM doit ecirctre reacuteduit au strict neacutecessaireafin de limiter lrsquoexposition drsquoeacuteleacutements drsquoauthentification sensibles

privileacutegier lrsquoauthentification via LDAP Radius CAS Shibbolethnrsquoexposer que les comptes utiles

Matthieu Herrb SIARS v2 6 deacutecembre 2018 14 49

Protection des mots de passe stockeacutes

Regravegle Tout mot de passe doit ecirctre proteacutegeacute par des meacutecanismes cryptographiqueseacutevitant de les exposer en clair agrave un attaquant reacutecupeacuterant leur base

hachage du mot de passe avec une fonction de hachage sucircre(SHA256) un sel et suffisamment drsquoiteacuterationschiffrement par une cleacute secregravete (eacuteventuellement proteacutegeacutee par un HSM)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 15 49

Exeacutecutables avec bits setuid et setgid

Regravegle Seuls les programmes speacutecifiquement conccedilus pour ecirctre utiliseacutes avec les bitssetuid (ou setgid) peuvent avoir ces bits positionneacutees

veacuterifier la liste des exeacutecutables setuidfind minustype minusf ( minusperm minus2000 minuso minusperm minus4000 )

si possible monter les partitions (home par ex) avec lrsquooption nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 16 49

Services et deacutemons actifs

Regravegle Seuls les deacutemons reacuteseau strictement neacutecessaires au fonctionnement dusystegraveme et du service doivent ecirctre reacutesidents et nrsquoecirctre en eacutecoute que sur lesinterfaces reacuteseau adeacutequates

eacutecouter sur un socket Unix (ou sur 1) pour les services locaux(base de donneacutees redis etc)veacuterification des services en eacutecoute avec la commande

netstat minusl minusA inet minusA inet6

liste des processus associeacutes via lsof

Matthieu Herrb SIARS v2 6 deacutecembre 2018 17 49

Seacutecurisation des journaux

centralisation sur un serveur deacutedieacutevia rsyslog syslog-ngvia systemd-journal-uploadjournald-remoteseacuteparer lrsquoexploitation des logs (elk) de leur archivage

Matthieu Herrb SIARS v2 6 deacutecembre 2018 18 49

Systegravemes de fichiers distants (NFS)

limitercontrocircler les exportationsutiliser root_squashcentraliser les utilisateursauthentification kerberos si possibleattention trafic en clair - proteacuteger via IPsec si neacutecessairemontage nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 19 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 20 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 21 49

SELinux - Preacutesentation

Security Enhanced Linux est un systegraveme de controcircle drsquoaccegraves obligatoire(MAC)

Deacuteveloppeacute initialement par la NSA puis RedHatModule noyau qui srsquointerpose sur les appels systegravemeEnsemble de regravegles drsquoautorisation manipulant des sujets des objetsdes rocircles et des contextes

Permettre un controcircle plus fin que les droits Unix classique y comprispour root

Matthieu Herrb SIARS v2 6 deacutecembre 2018 22 49

Eacutetats de SELinux

Trois eacutetats possibles disabled - non activeacute

permissive - journalise les regravegles sans les appliquerenforcing - applique les regravegles

getenforceDisabled sestatusSELinux status disabled

Configuration dans etcsysconfigselinux (reboot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 23 49

SELinux en pratique

1 activer selinux en mode permissive2 tester son service3 reacutecupeacuterer les erreurs dans varlogauditauditlog

4 la commande audit2allow(1) permet de creacuteer une politique pourlrsquoutilisation normale du service

5 charger la nouvelle politique semodule -i newpp6 iteacuterer (2 3 4 5) jusqursquoagrave plus drsquoerreur7 passer en mode enforced8 mettre en production

Matthieu Herrb SIARS v2 6 deacutecembre 2018 24 49

AppArmor - Preacutesentation

AppArmor est un systegraveme de controcircle drsquoaccegraves obligatoire (MAC)deacuteveloppeacute par Canonical (Ubuntu)alternative laquo plus simple raquo agrave SELinuxmodes de fonctionnement similaires agrave SELinux enforcement et complainpolitiques en mode texte dans etcapparmord

Matthieu Herrb SIARS v2 6 deacutecembre 2018 25 49

AppArmor - Commandes

Eacutetat drsquoAppArmorsudo aaminusstatus

Passer une politique en mode complainsudo aaminuscomplain usrbinevince

Passer une politique en mode enforcesudo aaminusenforce usrbinevince

Recharger une politiquesudo apparmor_parser minusr etcapparmordusrbinevince

Deacutesactiver AppArmorsudo systemctl stop apparmorsudo systemctl disable apparmor

Matthieu Herrb SIARS v2 6 deacutecembre 2018 26 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 27 49

systemd et la seacutecuriteacute

Systemd permet de Tirer profit des fonctionnaliteacutes de seacutecuriteacute du noyau LinuxPour simplifier le durcissement de la maintenance drsquoun systegraveme

Matthieu Herrb SIARS v2 6 deacutecembre 2018 28 49

systemd - rappels

Remplaccedilant de SysVinit inteacutegreacute dans la plupart des distributionsChargeacute du deacutemarrage et de la gestion des services systegravemeRemplace les scripts drsquoinit par des fichiers de configurationdeacuteclaratifs les units

Matthieu Herrb SIARS v2 6 deacutecembre 2018 29 49

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 3: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 3 49

Introduction

Seacutecurisation de systegravemes GNULinux postes de travailserveurs

Plusieurs voies regravegles geacuteneacuterales bonnes pratiquesguides speacutecifiques agrave une distributionoutils deacutedieacutes (SELinux systemd AppArmor seccomp )

Matthieu Herrb SIARS v2 6 deacutecembre 2018 4 49

Guides

RedHat 7 Security GuideHow to protection CentOSSecuring Debian ManualUbuntu Basic SecurityUbuntu Server Guide - SecurityANSSI - Recommandations de seacutecuriteacute relatives agrave un systegravemeGNULinuxANSSI - Guide drsquohygiegravene informatiqueRegravegles de seacutecuriteacute de la PSSI du CNRS (EXP-CNF-3)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 5 49

Principes

Il est fondamental de mettre en place un niveau de seacutecuriteacute minimalsur lrsquoensemble du parc informatique de lrsquoentiteacute en impleacutementant lesmesures suivantes

limiter les applications installeacuteeshellip doter les postes utilisateurs drsquoun pare-feu local et drsquoun anti-virus chiffrer les partitions ougrave sont stockeacutees les donneacutees des utilisateurs deacutesactiver les exeacutecutions automatiques (autorun)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 6 49

Principes

Reacuteduire la surface drsquoattaqueHomogeacuteneacuteiser les installationsPermettre mises agrave jour et suiviSeacuteparer les services

Utiliser systegraveme drsquoorchestration (Ansible Puppet SaltStack)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 7 49

Niveaux de seacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 8 49

Minimisation des services installeacutes

Seuls les composants strictement neacutecessaires au service rendu doiventecirctre installeacutes

Tout service est un eacuteleacutement sensibleen particulier si eacutecoute sur le reacuteseauSeuls ceux connus et requis doivent ecirctre preacutesentsCeux dont la preacutesence nrsquoest pas justifieacutee doivent ecirctre deacutesinstalleacutes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 9 49

Deacutefense en profondeur

Combinaison de barriegraveres indeacutependantes les unes des autres Filtrage reacuteseau en entreacuteeAuthentificationCloisonnementMeacutecanismes de preacutevention de lrsquoexploitation des vulneacuterabiliteacutes

ASLR W^X canaris amp co Filtrage reacuteseau en sortie Bac agrave sable (Sandbox)

Journalisation seacutecuriseacutee

Matthieu Herrb SIARS v2 6 deacutecembre 2018 10 49

Mises agrave jour reacuteguliegraveres

Proceacutedures de mises agrave jour de seacutecuriteacute reacuteactivesinformation rarr listes de diffusion (CERT eacutediteurs etc)application automatiseacutee

proceacutedure de test (preacute-prod) validation sauvegardes (snapshot) pour retour arriegravere si besoin

controcircle (audit) de lrsquoapplication des mises agrave jour

Matthieu Herrb SIARS v2 6 deacutecembre 2018 11 49

Choix des deacutepocircts des paquets

Regravegle Seuls les deacutepocircts officiels agrave jour de la distribution doivent ecirctre utiliseacutes

Si neacutecessaire drsquoinstaller des paquets de deacutepocircts tiers veacuterifier la provenanceveacuterifier les mises agrave jour

Matthieu Herrb SIARS v2 6 deacutecembre 2018 12 49

Robustesse de mot de passe administrateur

Mot de passe suffisamment robuste (ANSSI)Mot de passe unique et propre agrave chaque machine

Version sans mot de passe administrateur utilisation de sudo en local (avec un compte local deacutedieacute)utilisation de cleacutes publiques SSH pour connexions agrave distance

Bannir le sudo sans mot de passe pour les administrateurs

Matthieu Herrb SIARS v2 6 deacutecembre 2018 13 49

Applications utilisant PAM

Regravegle Le nombre drsquoapplications utilisant PAM doit ecirctre reacuteduit au strict neacutecessaireafin de limiter lrsquoexposition drsquoeacuteleacutements drsquoauthentification sensibles

privileacutegier lrsquoauthentification via LDAP Radius CAS Shibbolethnrsquoexposer que les comptes utiles

Matthieu Herrb SIARS v2 6 deacutecembre 2018 14 49

Protection des mots de passe stockeacutes

Regravegle Tout mot de passe doit ecirctre proteacutegeacute par des meacutecanismes cryptographiqueseacutevitant de les exposer en clair agrave un attaquant reacutecupeacuterant leur base

hachage du mot de passe avec une fonction de hachage sucircre(SHA256) un sel et suffisamment drsquoiteacuterationschiffrement par une cleacute secregravete (eacuteventuellement proteacutegeacutee par un HSM)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 15 49

Exeacutecutables avec bits setuid et setgid

Regravegle Seuls les programmes speacutecifiquement conccedilus pour ecirctre utiliseacutes avec les bitssetuid (ou setgid) peuvent avoir ces bits positionneacutees

veacuterifier la liste des exeacutecutables setuidfind minustype minusf ( minusperm minus2000 minuso minusperm minus4000 )

si possible monter les partitions (home par ex) avec lrsquooption nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 16 49

Services et deacutemons actifs

Regravegle Seuls les deacutemons reacuteseau strictement neacutecessaires au fonctionnement dusystegraveme et du service doivent ecirctre reacutesidents et nrsquoecirctre en eacutecoute que sur lesinterfaces reacuteseau adeacutequates

eacutecouter sur un socket Unix (ou sur 1) pour les services locaux(base de donneacutees redis etc)veacuterification des services en eacutecoute avec la commande

netstat minusl minusA inet minusA inet6

liste des processus associeacutes via lsof

Matthieu Herrb SIARS v2 6 deacutecembre 2018 17 49

Seacutecurisation des journaux

centralisation sur un serveur deacutedieacutevia rsyslog syslog-ngvia systemd-journal-uploadjournald-remoteseacuteparer lrsquoexploitation des logs (elk) de leur archivage

Matthieu Herrb SIARS v2 6 deacutecembre 2018 18 49

Systegravemes de fichiers distants (NFS)

limitercontrocircler les exportationsutiliser root_squashcentraliser les utilisateursauthentification kerberos si possibleattention trafic en clair - proteacuteger via IPsec si neacutecessairemontage nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 19 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 20 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 21 49

SELinux - Preacutesentation

Security Enhanced Linux est un systegraveme de controcircle drsquoaccegraves obligatoire(MAC)

Deacuteveloppeacute initialement par la NSA puis RedHatModule noyau qui srsquointerpose sur les appels systegravemeEnsemble de regravegles drsquoautorisation manipulant des sujets des objetsdes rocircles et des contextes

Permettre un controcircle plus fin que les droits Unix classique y comprispour root

Matthieu Herrb SIARS v2 6 deacutecembre 2018 22 49

Eacutetats de SELinux

Trois eacutetats possibles disabled - non activeacute

permissive - journalise les regravegles sans les appliquerenforcing - applique les regravegles

getenforceDisabled sestatusSELinux status disabled

Configuration dans etcsysconfigselinux (reboot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 23 49

SELinux en pratique

1 activer selinux en mode permissive2 tester son service3 reacutecupeacuterer les erreurs dans varlogauditauditlog

4 la commande audit2allow(1) permet de creacuteer une politique pourlrsquoutilisation normale du service

5 charger la nouvelle politique semodule -i newpp6 iteacuterer (2 3 4 5) jusqursquoagrave plus drsquoerreur7 passer en mode enforced8 mettre en production

Matthieu Herrb SIARS v2 6 deacutecembre 2018 24 49

AppArmor - Preacutesentation

AppArmor est un systegraveme de controcircle drsquoaccegraves obligatoire (MAC)deacuteveloppeacute par Canonical (Ubuntu)alternative laquo plus simple raquo agrave SELinuxmodes de fonctionnement similaires agrave SELinux enforcement et complainpolitiques en mode texte dans etcapparmord

Matthieu Herrb SIARS v2 6 deacutecembre 2018 25 49

AppArmor - Commandes

Eacutetat drsquoAppArmorsudo aaminusstatus

Passer une politique en mode complainsudo aaminuscomplain usrbinevince

Passer une politique en mode enforcesudo aaminusenforce usrbinevince

Recharger une politiquesudo apparmor_parser minusr etcapparmordusrbinevince

Deacutesactiver AppArmorsudo systemctl stop apparmorsudo systemctl disable apparmor

Matthieu Herrb SIARS v2 6 deacutecembre 2018 26 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 27 49

systemd et la seacutecuriteacute

Systemd permet de Tirer profit des fonctionnaliteacutes de seacutecuriteacute du noyau LinuxPour simplifier le durcissement de la maintenance drsquoun systegraveme

Matthieu Herrb SIARS v2 6 deacutecembre 2018 28 49

systemd - rappels

Remplaccedilant de SysVinit inteacutegreacute dans la plupart des distributionsChargeacute du deacutemarrage et de la gestion des services systegravemeRemplace les scripts drsquoinit par des fichiers de configurationdeacuteclaratifs les units

Matthieu Herrb SIARS v2 6 deacutecembre 2018 29 49

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 4: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Introduction

Seacutecurisation de systegravemes GNULinux postes de travailserveurs

Plusieurs voies regravegles geacuteneacuterales bonnes pratiquesguides speacutecifiques agrave une distributionoutils deacutedieacutes (SELinux systemd AppArmor seccomp )

Matthieu Herrb SIARS v2 6 deacutecembre 2018 4 49

Guides

RedHat 7 Security GuideHow to protection CentOSSecuring Debian ManualUbuntu Basic SecurityUbuntu Server Guide - SecurityANSSI - Recommandations de seacutecuriteacute relatives agrave un systegravemeGNULinuxANSSI - Guide drsquohygiegravene informatiqueRegravegles de seacutecuriteacute de la PSSI du CNRS (EXP-CNF-3)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 5 49

Principes

Il est fondamental de mettre en place un niveau de seacutecuriteacute minimalsur lrsquoensemble du parc informatique de lrsquoentiteacute en impleacutementant lesmesures suivantes

limiter les applications installeacuteeshellip doter les postes utilisateurs drsquoun pare-feu local et drsquoun anti-virus chiffrer les partitions ougrave sont stockeacutees les donneacutees des utilisateurs deacutesactiver les exeacutecutions automatiques (autorun)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 6 49

Principes

Reacuteduire la surface drsquoattaqueHomogeacuteneacuteiser les installationsPermettre mises agrave jour et suiviSeacuteparer les services

Utiliser systegraveme drsquoorchestration (Ansible Puppet SaltStack)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 7 49

Niveaux de seacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 8 49

Minimisation des services installeacutes

Seuls les composants strictement neacutecessaires au service rendu doiventecirctre installeacutes

Tout service est un eacuteleacutement sensibleen particulier si eacutecoute sur le reacuteseauSeuls ceux connus et requis doivent ecirctre preacutesentsCeux dont la preacutesence nrsquoest pas justifieacutee doivent ecirctre deacutesinstalleacutes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 9 49

Deacutefense en profondeur

Combinaison de barriegraveres indeacutependantes les unes des autres Filtrage reacuteseau en entreacuteeAuthentificationCloisonnementMeacutecanismes de preacutevention de lrsquoexploitation des vulneacuterabiliteacutes

ASLR W^X canaris amp co Filtrage reacuteseau en sortie Bac agrave sable (Sandbox)

Journalisation seacutecuriseacutee

Matthieu Herrb SIARS v2 6 deacutecembre 2018 10 49

Mises agrave jour reacuteguliegraveres

Proceacutedures de mises agrave jour de seacutecuriteacute reacuteactivesinformation rarr listes de diffusion (CERT eacutediteurs etc)application automatiseacutee

proceacutedure de test (preacute-prod) validation sauvegardes (snapshot) pour retour arriegravere si besoin

controcircle (audit) de lrsquoapplication des mises agrave jour

Matthieu Herrb SIARS v2 6 deacutecembre 2018 11 49

Choix des deacutepocircts des paquets

Regravegle Seuls les deacutepocircts officiels agrave jour de la distribution doivent ecirctre utiliseacutes

Si neacutecessaire drsquoinstaller des paquets de deacutepocircts tiers veacuterifier la provenanceveacuterifier les mises agrave jour

Matthieu Herrb SIARS v2 6 deacutecembre 2018 12 49

Robustesse de mot de passe administrateur

Mot de passe suffisamment robuste (ANSSI)Mot de passe unique et propre agrave chaque machine

Version sans mot de passe administrateur utilisation de sudo en local (avec un compte local deacutedieacute)utilisation de cleacutes publiques SSH pour connexions agrave distance

Bannir le sudo sans mot de passe pour les administrateurs

Matthieu Herrb SIARS v2 6 deacutecembre 2018 13 49

Applications utilisant PAM

Regravegle Le nombre drsquoapplications utilisant PAM doit ecirctre reacuteduit au strict neacutecessaireafin de limiter lrsquoexposition drsquoeacuteleacutements drsquoauthentification sensibles

privileacutegier lrsquoauthentification via LDAP Radius CAS Shibbolethnrsquoexposer que les comptes utiles

Matthieu Herrb SIARS v2 6 deacutecembre 2018 14 49

Protection des mots de passe stockeacutes

Regravegle Tout mot de passe doit ecirctre proteacutegeacute par des meacutecanismes cryptographiqueseacutevitant de les exposer en clair agrave un attaquant reacutecupeacuterant leur base

hachage du mot de passe avec une fonction de hachage sucircre(SHA256) un sel et suffisamment drsquoiteacuterationschiffrement par une cleacute secregravete (eacuteventuellement proteacutegeacutee par un HSM)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 15 49

Exeacutecutables avec bits setuid et setgid

Regravegle Seuls les programmes speacutecifiquement conccedilus pour ecirctre utiliseacutes avec les bitssetuid (ou setgid) peuvent avoir ces bits positionneacutees

veacuterifier la liste des exeacutecutables setuidfind minustype minusf ( minusperm minus2000 minuso minusperm minus4000 )

si possible monter les partitions (home par ex) avec lrsquooption nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 16 49

Services et deacutemons actifs

Regravegle Seuls les deacutemons reacuteseau strictement neacutecessaires au fonctionnement dusystegraveme et du service doivent ecirctre reacutesidents et nrsquoecirctre en eacutecoute que sur lesinterfaces reacuteseau adeacutequates

eacutecouter sur un socket Unix (ou sur 1) pour les services locaux(base de donneacutees redis etc)veacuterification des services en eacutecoute avec la commande

netstat minusl minusA inet minusA inet6

liste des processus associeacutes via lsof

Matthieu Herrb SIARS v2 6 deacutecembre 2018 17 49

Seacutecurisation des journaux

centralisation sur un serveur deacutedieacutevia rsyslog syslog-ngvia systemd-journal-uploadjournald-remoteseacuteparer lrsquoexploitation des logs (elk) de leur archivage

Matthieu Herrb SIARS v2 6 deacutecembre 2018 18 49

Systegravemes de fichiers distants (NFS)

limitercontrocircler les exportationsutiliser root_squashcentraliser les utilisateursauthentification kerberos si possibleattention trafic en clair - proteacuteger via IPsec si neacutecessairemontage nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 19 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 20 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 21 49

SELinux - Preacutesentation

Security Enhanced Linux est un systegraveme de controcircle drsquoaccegraves obligatoire(MAC)

Deacuteveloppeacute initialement par la NSA puis RedHatModule noyau qui srsquointerpose sur les appels systegravemeEnsemble de regravegles drsquoautorisation manipulant des sujets des objetsdes rocircles et des contextes

Permettre un controcircle plus fin que les droits Unix classique y comprispour root

Matthieu Herrb SIARS v2 6 deacutecembre 2018 22 49

Eacutetats de SELinux

Trois eacutetats possibles disabled - non activeacute

permissive - journalise les regravegles sans les appliquerenforcing - applique les regravegles

getenforceDisabled sestatusSELinux status disabled

Configuration dans etcsysconfigselinux (reboot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 23 49

SELinux en pratique

1 activer selinux en mode permissive2 tester son service3 reacutecupeacuterer les erreurs dans varlogauditauditlog

4 la commande audit2allow(1) permet de creacuteer une politique pourlrsquoutilisation normale du service

5 charger la nouvelle politique semodule -i newpp6 iteacuterer (2 3 4 5) jusqursquoagrave plus drsquoerreur7 passer en mode enforced8 mettre en production

Matthieu Herrb SIARS v2 6 deacutecembre 2018 24 49

AppArmor - Preacutesentation

AppArmor est un systegraveme de controcircle drsquoaccegraves obligatoire (MAC)deacuteveloppeacute par Canonical (Ubuntu)alternative laquo plus simple raquo agrave SELinuxmodes de fonctionnement similaires agrave SELinux enforcement et complainpolitiques en mode texte dans etcapparmord

Matthieu Herrb SIARS v2 6 deacutecembre 2018 25 49

AppArmor - Commandes

Eacutetat drsquoAppArmorsudo aaminusstatus

Passer une politique en mode complainsudo aaminuscomplain usrbinevince

Passer une politique en mode enforcesudo aaminusenforce usrbinevince

Recharger une politiquesudo apparmor_parser minusr etcapparmordusrbinevince

Deacutesactiver AppArmorsudo systemctl stop apparmorsudo systemctl disable apparmor

Matthieu Herrb SIARS v2 6 deacutecembre 2018 26 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 27 49

systemd et la seacutecuriteacute

Systemd permet de Tirer profit des fonctionnaliteacutes de seacutecuriteacute du noyau LinuxPour simplifier le durcissement de la maintenance drsquoun systegraveme

Matthieu Herrb SIARS v2 6 deacutecembre 2018 28 49

systemd - rappels

Remplaccedilant de SysVinit inteacutegreacute dans la plupart des distributionsChargeacute du deacutemarrage et de la gestion des services systegravemeRemplace les scripts drsquoinit par des fichiers de configurationdeacuteclaratifs les units

Matthieu Herrb SIARS v2 6 deacutecembre 2018 29 49

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 5: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Guides

RedHat 7 Security GuideHow to protection CentOSSecuring Debian ManualUbuntu Basic SecurityUbuntu Server Guide - SecurityANSSI - Recommandations de seacutecuriteacute relatives agrave un systegravemeGNULinuxANSSI - Guide drsquohygiegravene informatiqueRegravegles de seacutecuriteacute de la PSSI du CNRS (EXP-CNF-3)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 5 49

Principes

Il est fondamental de mettre en place un niveau de seacutecuriteacute minimalsur lrsquoensemble du parc informatique de lrsquoentiteacute en impleacutementant lesmesures suivantes

limiter les applications installeacuteeshellip doter les postes utilisateurs drsquoun pare-feu local et drsquoun anti-virus chiffrer les partitions ougrave sont stockeacutees les donneacutees des utilisateurs deacutesactiver les exeacutecutions automatiques (autorun)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 6 49

Principes

Reacuteduire la surface drsquoattaqueHomogeacuteneacuteiser les installationsPermettre mises agrave jour et suiviSeacuteparer les services

Utiliser systegraveme drsquoorchestration (Ansible Puppet SaltStack)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 7 49

Niveaux de seacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 8 49

Minimisation des services installeacutes

Seuls les composants strictement neacutecessaires au service rendu doiventecirctre installeacutes

Tout service est un eacuteleacutement sensibleen particulier si eacutecoute sur le reacuteseauSeuls ceux connus et requis doivent ecirctre preacutesentsCeux dont la preacutesence nrsquoest pas justifieacutee doivent ecirctre deacutesinstalleacutes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 9 49

Deacutefense en profondeur

Combinaison de barriegraveres indeacutependantes les unes des autres Filtrage reacuteseau en entreacuteeAuthentificationCloisonnementMeacutecanismes de preacutevention de lrsquoexploitation des vulneacuterabiliteacutes

ASLR W^X canaris amp co Filtrage reacuteseau en sortie Bac agrave sable (Sandbox)

Journalisation seacutecuriseacutee

Matthieu Herrb SIARS v2 6 deacutecembre 2018 10 49

Mises agrave jour reacuteguliegraveres

Proceacutedures de mises agrave jour de seacutecuriteacute reacuteactivesinformation rarr listes de diffusion (CERT eacutediteurs etc)application automatiseacutee

proceacutedure de test (preacute-prod) validation sauvegardes (snapshot) pour retour arriegravere si besoin

controcircle (audit) de lrsquoapplication des mises agrave jour

Matthieu Herrb SIARS v2 6 deacutecembre 2018 11 49

Choix des deacutepocircts des paquets

Regravegle Seuls les deacutepocircts officiels agrave jour de la distribution doivent ecirctre utiliseacutes

Si neacutecessaire drsquoinstaller des paquets de deacutepocircts tiers veacuterifier la provenanceveacuterifier les mises agrave jour

Matthieu Herrb SIARS v2 6 deacutecembre 2018 12 49

Robustesse de mot de passe administrateur

Mot de passe suffisamment robuste (ANSSI)Mot de passe unique et propre agrave chaque machine

Version sans mot de passe administrateur utilisation de sudo en local (avec un compte local deacutedieacute)utilisation de cleacutes publiques SSH pour connexions agrave distance

Bannir le sudo sans mot de passe pour les administrateurs

Matthieu Herrb SIARS v2 6 deacutecembre 2018 13 49

Applications utilisant PAM

Regravegle Le nombre drsquoapplications utilisant PAM doit ecirctre reacuteduit au strict neacutecessaireafin de limiter lrsquoexposition drsquoeacuteleacutements drsquoauthentification sensibles

privileacutegier lrsquoauthentification via LDAP Radius CAS Shibbolethnrsquoexposer que les comptes utiles

Matthieu Herrb SIARS v2 6 deacutecembre 2018 14 49

Protection des mots de passe stockeacutes

Regravegle Tout mot de passe doit ecirctre proteacutegeacute par des meacutecanismes cryptographiqueseacutevitant de les exposer en clair agrave un attaquant reacutecupeacuterant leur base

hachage du mot de passe avec une fonction de hachage sucircre(SHA256) un sel et suffisamment drsquoiteacuterationschiffrement par une cleacute secregravete (eacuteventuellement proteacutegeacutee par un HSM)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 15 49

Exeacutecutables avec bits setuid et setgid

Regravegle Seuls les programmes speacutecifiquement conccedilus pour ecirctre utiliseacutes avec les bitssetuid (ou setgid) peuvent avoir ces bits positionneacutees

veacuterifier la liste des exeacutecutables setuidfind minustype minusf ( minusperm minus2000 minuso minusperm minus4000 )

si possible monter les partitions (home par ex) avec lrsquooption nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 16 49

Services et deacutemons actifs

Regravegle Seuls les deacutemons reacuteseau strictement neacutecessaires au fonctionnement dusystegraveme et du service doivent ecirctre reacutesidents et nrsquoecirctre en eacutecoute que sur lesinterfaces reacuteseau adeacutequates

eacutecouter sur un socket Unix (ou sur 1) pour les services locaux(base de donneacutees redis etc)veacuterification des services en eacutecoute avec la commande

netstat minusl minusA inet minusA inet6

liste des processus associeacutes via lsof

Matthieu Herrb SIARS v2 6 deacutecembre 2018 17 49

Seacutecurisation des journaux

centralisation sur un serveur deacutedieacutevia rsyslog syslog-ngvia systemd-journal-uploadjournald-remoteseacuteparer lrsquoexploitation des logs (elk) de leur archivage

Matthieu Herrb SIARS v2 6 deacutecembre 2018 18 49

Systegravemes de fichiers distants (NFS)

limitercontrocircler les exportationsutiliser root_squashcentraliser les utilisateursauthentification kerberos si possibleattention trafic en clair - proteacuteger via IPsec si neacutecessairemontage nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 19 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 20 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 21 49

SELinux - Preacutesentation

Security Enhanced Linux est un systegraveme de controcircle drsquoaccegraves obligatoire(MAC)

Deacuteveloppeacute initialement par la NSA puis RedHatModule noyau qui srsquointerpose sur les appels systegravemeEnsemble de regravegles drsquoautorisation manipulant des sujets des objetsdes rocircles et des contextes

Permettre un controcircle plus fin que les droits Unix classique y comprispour root

Matthieu Herrb SIARS v2 6 deacutecembre 2018 22 49

Eacutetats de SELinux

Trois eacutetats possibles disabled - non activeacute

permissive - journalise les regravegles sans les appliquerenforcing - applique les regravegles

getenforceDisabled sestatusSELinux status disabled

Configuration dans etcsysconfigselinux (reboot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 23 49

SELinux en pratique

1 activer selinux en mode permissive2 tester son service3 reacutecupeacuterer les erreurs dans varlogauditauditlog

4 la commande audit2allow(1) permet de creacuteer une politique pourlrsquoutilisation normale du service

5 charger la nouvelle politique semodule -i newpp6 iteacuterer (2 3 4 5) jusqursquoagrave plus drsquoerreur7 passer en mode enforced8 mettre en production

Matthieu Herrb SIARS v2 6 deacutecembre 2018 24 49

AppArmor - Preacutesentation

AppArmor est un systegraveme de controcircle drsquoaccegraves obligatoire (MAC)deacuteveloppeacute par Canonical (Ubuntu)alternative laquo plus simple raquo agrave SELinuxmodes de fonctionnement similaires agrave SELinux enforcement et complainpolitiques en mode texte dans etcapparmord

Matthieu Herrb SIARS v2 6 deacutecembre 2018 25 49

AppArmor - Commandes

Eacutetat drsquoAppArmorsudo aaminusstatus

Passer une politique en mode complainsudo aaminuscomplain usrbinevince

Passer une politique en mode enforcesudo aaminusenforce usrbinevince

Recharger une politiquesudo apparmor_parser minusr etcapparmordusrbinevince

Deacutesactiver AppArmorsudo systemctl stop apparmorsudo systemctl disable apparmor

Matthieu Herrb SIARS v2 6 deacutecembre 2018 26 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 27 49

systemd et la seacutecuriteacute

Systemd permet de Tirer profit des fonctionnaliteacutes de seacutecuriteacute du noyau LinuxPour simplifier le durcissement de la maintenance drsquoun systegraveme

Matthieu Herrb SIARS v2 6 deacutecembre 2018 28 49

systemd - rappels

Remplaccedilant de SysVinit inteacutegreacute dans la plupart des distributionsChargeacute du deacutemarrage et de la gestion des services systegravemeRemplace les scripts drsquoinit par des fichiers de configurationdeacuteclaratifs les units

Matthieu Herrb SIARS v2 6 deacutecembre 2018 29 49

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 6: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Principes

Il est fondamental de mettre en place un niveau de seacutecuriteacute minimalsur lrsquoensemble du parc informatique de lrsquoentiteacute en impleacutementant lesmesures suivantes

limiter les applications installeacuteeshellip doter les postes utilisateurs drsquoun pare-feu local et drsquoun anti-virus chiffrer les partitions ougrave sont stockeacutees les donneacutees des utilisateurs deacutesactiver les exeacutecutions automatiques (autorun)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 6 49

Principes

Reacuteduire la surface drsquoattaqueHomogeacuteneacuteiser les installationsPermettre mises agrave jour et suiviSeacuteparer les services

Utiliser systegraveme drsquoorchestration (Ansible Puppet SaltStack)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 7 49

Niveaux de seacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 8 49

Minimisation des services installeacutes

Seuls les composants strictement neacutecessaires au service rendu doiventecirctre installeacutes

Tout service est un eacuteleacutement sensibleen particulier si eacutecoute sur le reacuteseauSeuls ceux connus et requis doivent ecirctre preacutesentsCeux dont la preacutesence nrsquoest pas justifieacutee doivent ecirctre deacutesinstalleacutes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 9 49

Deacutefense en profondeur

Combinaison de barriegraveres indeacutependantes les unes des autres Filtrage reacuteseau en entreacuteeAuthentificationCloisonnementMeacutecanismes de preacutevention de lrsquoexploitation des vulneacuterabiliteacutes

ASLR W^X canaris amp co Filtrage reacuteseau en sortie Bac agrave sable (Sandbox)

Journalisation seacutecuriseacutee

Matthieu Herrb SIARS v2 6 deacutecembre 2018 10 49

Mises agrave jour reacuteguliegraveres

Proceacutedures de mises agrave jour de seacutecuriteacute reacuteactivesinformation rarr listes de diffusion (CERT eacutediteurs etc)application automatiseacutee

proceacutedure de test (preacute-prod) validation sauvegardes (snapshot) pour retour arriegravere si besoin

controcircle (audit) de lrsquoapplication des mises agrave jour

Matthieu Herrb SIARS v2 6 deacutecembre 2018 11 49

Choix des deacutepocircts des paquets

Regravegle Seuls les deacutepocircts officiels agrave jour de la distribution doivent ecirctre utiliseacutes

Si neacutecessaire drsquoinstaller des paquets de deacutepocircts tiers veacuterifier la provenanceveacuterifier les mises agrave jour

Matthieu Herrb SIARS v2 6 deacutecembre 2018 12 49

Robustesse de mot de passe administrateur

Mot de passe suffisamment robuste (ANSSI)Mot de passe unique et propre agrave chaque machine

Version sans mot de passe administrateur utilisation de sudo en local (avec un compte local deacutedieacute)utilisation de cleacutes publiques SSH pour connexions agrave distance

Bannir le sudo sans mot de passe pour les administrateurs

Matthieu Herrb SIARS v2 6 deacutecembre 2018 13 49

Applications utilisant PAM

Regravegle Le nombre drsquoapplications utilisant PAM doit ecirctre reacuteduit au strict neacutecessaireafin de limiter lrsquoexposition drsquoeacuteleacutements drsquoauthentification sensibles

privileacutegier lrsquoauthentification via LDAP Radius CAS Shibbolethnrsquoexposer que les comptes utiles

Matthieu Herrb SIARS v2 6 deacutecembre 2018 14 49

Protection des mots de passe stockeacutes

Regravegle Tout mot de passe doit ecirctre proteacutegeacute par des meacutecanismes cryptographiqueseacutevitant de les exposer en clair agrave un attaquant reacutecupeacuterant leur base

hachage du mot de passe avec une fonction de hachage sucircre(SHA256) un sel et suffisamment drsquoiteacuterationschiffrement par une cleacute secregravete (eacuteventuellement proteacutegeacutee par un HSM)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 15 49

Exeacutecutables avec bits setuid et setgid

Regravegle Seuls les programmes speacutecifiquement conccedilus pour ecirctre utiliseacutes avec les bitssetuid (ou setgid) peuvent avoir ces bits positionneacutees

veacuterifier la liste des exeacutecutables setuidfind minustype minusf ( minusperm minus2000 minuso minusperm minus4000 )

si possible monter les partitions (home par ex) avec lrsquooption nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 16 49

Services et deacutemons actifs

Regravegle Seuls les deacutemons reacuteseau strictement neacutecessaires au fonctionnement dusystegraveme et du service doivent ecirctre reacutesidents et nrsquoecirctre en eacutecoute que sur lesinterfaces reacuteseau adeacutequates

eacutecouter sur un socket Unix (ou sur 1) pour les services locaux(base de donneacutees redis etc)veacuterification des services en eacutecoute avec la commande

netstat minusl minusA inet minusA inet6

liste des processus associeacutes via lsof

Matthieu Herrb SIARS v2 6 deacutecembre 2018 17 49

Seacutecurisation des journaux

centralisation sur un serveur deacutedieacutevia rsyslog syslog-ngvia systemd-journal-uploadjournald-remoteseacuteparer lrsquoexploitation des logs (elk) de leur archivage

Matthieu Herrb SIARS v2 6 deacutecembre 2018 18 49

Systegravemes de fichiers distants (NFS)

limitercontrocircler les exportationsutiliser root_squashcentraliser les utilisateursauthentification kerberos si possibleattention trafic en clair - proteacuteger via IPsec si neacutecessairemontage nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 19 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 20 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 21 49

SELinux - Preacutesentation

Security Enhanced Linux est un systegraveme de controcircle drsquoaccegraves obligatoire(MAC)

Deacuteveloppeacute initialement par la NSA puis RedHatModule noyau qui srsquointerpose sur les appels systegravemeEnsemble de regravegles drsquoautorisation manipulant des sujets des objetsdes rocircles et des contextes

Permettre un controcircle plus fin que les droits Unix classique y comprispour root

Matthieu Herrb SIARS v2 6 deacutecembre 2018 22 49

Eacutetats de SELinux

Trois eacutetats possibles disabled - non activeacute

permissive - journalise les regravegles sans les appliquerenforcing - applique les regravegles

getenforceDisabled sestatusSELinux status disabled

Configuration dans etcsysconfigselinux (reboot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 23 49

SELinux en pratique

1 activer selinux en mode permissive2 tester son service3 reacutecupeacuterer les erreurs dans varlogauditauditlog

4 la commande audit2allow(1) permet de creacuteer une politique pourlrsquoutilisation normale du service

5 charger la nouvelle politique semodule -i newpp6 iteacuterer (2 3 4 5) jusqursquoagrave plus drsquoerreur7 passer en mode enforced8 mettre en production

Matthieu Herrb SIARS v2 6 deacutecembre 2018 24 49

AppArmor - Preacutesentation

AppArmor est un systegraveme de controcircle drsquoaccegraves obligatoire (MAC)deacuteveloppeacute par Canonical (Ubuntu)alternative laquo plus simple raquo agrave SELinuxmodes de fonctionnement similaires agrave SELinux enforcement et complainpolitiques en mode texte dans etcapparmord

Matthieu Herrb SIARS v2 6 deacutecembre 2018 25 49

AppArmor - Commandes

Eacutetat drsquoAppArmorsudo aaminusstatus

Passer une politique en mode complainsudo aaminuscomplain usrbinevince

Passer une politique en mode enforcesudo aaminusenforce usrbinevince

Recharger une politiquesudo apparmor_parser minusr etcapparmordusrbinevince

Deacutesactiver AppArmorsudo systemctl stop apparmorsudo systemctl disable apparmor

Matthieu Herrb SIARS v2 6 deacutecembre 2018 26 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 27 49

systemd et la seacutecuriteacute

Systemd permet de Tirer profit des fonctionnaliteacutes de seacutecuriteacute du noyau LinuxPour simplifier le durcissement de la maintenance drsquoun systegraveme

Matthieu Herrb SIARS v2 6 deacutecembre 2018 28 49

systemd - rappels

Remplaccedilant de SysVinit inteacutegreacute dans la plupart des distributionsChargeacute du deacutemarrage et de la gestion des services systegravemeRemplace les scripts drsquoinit par des fichiers de configurationdeacuteclaratifs les units

Matthieu Herrb SIARS v2 6 deacutecembre 2018 29 49

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 7: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Principes

Reacuteduire la surface drsquoattaqueHomogeacuteneacuteiser les installationsPermettre mises agrave jour et suiviSeacuteparer les services

Utiliser systegraveme drsquoorchestration (Ansible Puppet SaltStack)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 7 49

Niveaux de seacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 8 49

Minimisation des services installeacutes

Seuls les composants strictement neacutecessaires au service rendu doiventecirctre installeacutes

Tout service est un eacuteleacutement sensibleen particulier si eacutecoute sur le reacuteseauSeuls ceux connus et requis doivent ecirctre preacutesentsCeux dont la preacutesence nrsquoest pas justifieacutee doivent ecirctre deacutesinstalleacutes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 9 49

Deacutefense en profondeur

Combinaison de barriegraveres indeacutependantes les unes des autres Filtrage reacuteseau en entreacuteeAuthentificationCloisonnementMeacutecanismes de preacutevention de lrsquoexploitation des vulneacuterabiliteacutes

ASLR W^X canaris amp co Filtrage reacuteseau en sortie Bac agrave sable (Sandbox)

Journalisation seacutecuriseacutee

Matthieu Herrb SIARS v2 6 deacutecembre 2018 10 49

Mises agrave jour reacuteguliegraveres

Proceacutedures de mises agrave jour de seacutecuriteacute reacuteactivesinformation rarr listes de diffusion (CERT eacutediteurs etc)application automatiseacutee

proceacutedure de test (preacute-prod) validation sauvegardes (snapshot) pour retour arriegravere si besoin

controcircle (audit) de lrsquoapplication des mises agrave jour

Matthieu Herrb SIARS v2 6 deacutecembre 2018 11 49

Choix des deacutepocircts des paquets

Regravegle Seuls les deacutepocircts officiels agrave jour de la distribution doivent ecirctre utiliseacutes

Si neacutecessaire drsquoinstaller des paquets de deacutepocircts tiers veacuterifier la provenanceveacuterifier les mises agrave jour

Matthieu Herrb SIARS v2 6 deacutecembre 2018 12 49

Robustesse de mot de passe administrateur

Mot de passe suffisamment robuste (ANSSI)Mot de passe unique et propre agrave chaque machine

Version sans mot de passe administrateur utilisation de sudo en local (avec un compte local deacutedieacute)utilisation de cleacutes publiques SSH pour connexions agrave distance

Bannir le sudo sans mot de passe pour les administrateurs

Matthieu Herrb SIARS v2 6 deacutecembre 2018 13 49

Applications utilisant PAM

Regravegle Le nombre drsquoapplications utilisant PAM doit ecirctre reacuteduit au strict neacutecessaireafin de limiter lrsquoexposition drsquoeacuteleacutements drsquoauthentification sensibles

privileacutegier lrsquoauthentification via LDAP Radius CAS Shibbolethnrsquoexposer que les comptes utiles

Matthieu Herrb SIARS v2 6 deacutecembre 2018 14 49

Protection des mots de passe stockeacutes

Regravegle Tout mot de passe doit ecirctre proteacutegeacute par des meacutecanismes cryptographiqueseacutevitant de les exposer en clair agrave un attaquant reacutecupeacuterant leur base

hachage du mot de passe avec une fonction de hachage sucircre(SHA256) un sel et suffisamment drsquoiteacuterationschiffrement par une cleacute secregravete (eacuteventuellement proteacutegeacutee par un HSM)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 15 49

Exeacutecutables avec bits setuid et setgid

Regravegle Seuls les programmes speacutecifiquement conccedilus pour ecirctre utiliseacutes avec les bitssetuid (ou setgid) peuvent avoir ces bits positionneacutees

veacuterifier la liste des exeacutecutables setuidfind minustype minusf ( minusperm minus2000 minuso minusperm minus4000 )

si possible monter les partitions (home par ex) avec lrsquooption nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 16 49

Services et deacutemons actifs

Regravegle Seuls les deacutemons reacuteseau strictement neacutecessaires au fonctionnement dusystegraveme et du service doivent ecirctre reacutesidents et nrsquoecirctre en eacutecoute que sur lesinterfaces reacuteseau adeacutequates

eacutecouter sur un socket Unix (ou sur 1) pour les services locaux(base de donneacutees redis etc)veacuterification des services en eacutecoute avec la commande

netstat minusl minusA inet minusA inet6

liste des processus associeacutes via lsof

Matthieu Herrb SIARS v2 6 deacutecembre 2018 17 49

Seacutecurisation des journaux

centralisation sur un serveur deacutedieacutevia rsyslog syslog-ngvia systemd-journal-uploadjournald-remoteseacuteparer lrsquoexploitation des logs (elk) de leur archivage

Matthieu Herrb SIARS v2 6 deacutecembre 2018 18 49

Systegravemes de fichiers distants (NFS)

limitercontrocircler les exportationsutiliser root_squashcentraliser les utilisateursauthentification kerberos si possibleattention trafic en clair - proteacuteger via IPsec si neacutecessairemontage nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 19 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 20 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 21 49

SELinux - Preacutesentation

Security Enhanced Linux est un systegraveme de controcircle drsquoaccegraves obligatoire(MAC)

Deacuteveloppeacute initialement par la NSA puis RedHatModule noyau qui srsquointerpose sur les appels systegravemeEnsemble de regravegles drsquoautorisation manipulant des sujets des objetsdes rocircles et des contextes

Permettre un controcircle plus fin que les droits Unix classique y comprispour root

Matthieu Herrb SIARS v2 6 deacutecembre 2018 22 49

Eacutetats de SELinux

Trois eacutetats possibles disabled - non activeacute

permissive - journalise les regravegles sans les appliquerenforcing - applique les regravegles

getenforceDisabled sestatusSELinux status disabled

Configuration dans etcsysconfigselinux (reboot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 23 49

SELinux en pratique

1 activer selinux en mode permissive2 tester son service3 reacutecupeacuterer les erreurs dans varlogauditauditlog

4 la commande audit2allow(1) permet de creacuteer une politique pourlrsquoutilisation normale du service

5 charger la nouvelle politique semodule -i newpp6 iteacuterer (2 3 4 5) jusqursquoagrave plus drsquoerreur7 passer en mode enforced8 mettre en production

Matthieu Herrb SIARS v2 6 deacutecembre 2018 24 49

AppArmor - Preacutesentation

AppArmor est un systegraveme de controcircle drsquoaccegraves obligatoire (MAC)deacuteveloppeacute par Canonical (Ubuntu)alternative laquo plus simple raquo agrave SELinuxmodes de fonctionnement similaires agrave SELinux enforcement et complainpolitiques en mode texte dans etcapparmord

Matthieu Herrb SIARS v2 6 deacutecembre 2018 25 49

AppArmor - Commandes

Eacutetat drsquoAppArmorsudo aaminusstatus

Passer une politique en mode complainsudo aaminuscomplain usrbinevince

Passer une politique en mode enforcesudo aaminusenforce usrbinevince

Recharger une politiquesudo apparmor_parser minusr etcapparmordusrbinevince

Deacutesactiver AppArmorsudo systemctl stop apparmorsudo systemctl disable apparmor

Matthieu Herrb SIARS v2 6 deacutecembre 2018 26 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 27 49

systemd et la seacutecuriteacute

Systemd permet de Tirer profit des fonctionnaliteacutes de seacutecuriteacute du noyau LinuxPour simplifier le durcissement de la maintenance drsquoun systegraveme

Matthieu Herrb SIARS v2 6 deacutecembre 2018 28 49

systemd - rappels

Remplaccedilant de SysVinit inteacutegreacute dans la plupart des distributionsChargeacute du deacutemarrage et de la gestion des services systegravemeRemplace les scripts drsquoinit par des fichiers de configurationdeacuteclaratifs les units

Matthieu Herrb SIARS v2 6 deacutecembre 2018 29 49

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 8: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Niveaux de seacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 8 49

Minimisation des services installeacutes

Seuls les composants strictement neacutecessaires au service rendu doiventecirctre installeacutes

Tout service est un eacuteleacutement sensibleen particulier si eacutecoute sur le reacuteseauSeuls ceux connus et requis doivent ecirctre preacutesentsCeux dont la preacutesence nrsquoest pas justifieacutee doivent ecirctre deacutesinstalleacutes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 9 49

Deacutefense en profondeur

Combinaison de barriegraveres indeacutependantes les unes des autres Filtrage reacuteseau en entreacuteeAuthentificationCloisonnementMeacutecanismes de preacutevention de lrsquoexploitation des vulneacuterabiliteacutes

ASLR W^X canaris amp co Filtrage reacuteseau en sortie Bac agrave sable (Sandbox)

Journalisation seacutecuriseacutee

Matthieu Herrb SIARS v2 6 deacutecembre 2018 10 49

Mises agrave jour reacuteguliegraveres

Proceacutedures de mises agrave jour de seacutecuriteacute reacuteactivesinformation rarr listes de diffusion (CERT eacutediteurs etc)application automatiseacutee

proceacutedure de test (preacute-prod) validation sauvegardes (snapshot) pour retour arriegravere si besoin

controcircle (audit) de lrsquoapplication des mises agrave jour

Matthieu Herrb SIARS v2 6 deacutecembre 2018 11 49

Choix des deacutepocircts des paquets

Regravegle Seuls les deacutepocircts officiels agrave jour de la distribution doivent ecirctre utiliseacutes

Si neacutecessaire drsquoinstaller des paquets de deacutepocircts tiers veacuterifier la provenanceveacuterifier les mises agrave jour

Matthieu Herrb SIARS v2 6 deacutecembre 2018 12 49

Robustesse de mot de passe administrateur

Mot de passe suffisamment robuste (ANSSI)Mot de passe unique et propre agrave chaque machine

Version sans mot de passe administrateur utilisation de sudo en local (avec un compte local deacutedieacute)utilisation de cleacutes publiques SSH pour connexions agrave distance

Bannir le sudo sans mot de passe pour les administrateurs

Matthieu Herrb SIARS v2 6 deacutecembre 2018 13 49

Applications utilisant PAM

Regravegle Le nombre drsquoapplications utilisant PAM doit ecirctre reacuteduit au strict neacutecessaireafin de limiter lrsquoexposition drsquoeacuteleacutements drsquoauthentification sensibles

privileacutegier lrsquoauthentification via LDAP Radius CAS Shibbolethnrsquoexposer que les comptes utiles

Matthieu Herrb SIARS v2 6 deacutecembre 2018 14 49

Protection des mots de passe stockeacutes

Regravegle Tout mot de passe doit ecirctre proteacutegeacute par des meacutecanismes cryptographiqueseacutevitant de les exposer en clair agrave un attaquant reacutecupeacuterant leur base

hachage du mot de passe avec une fonction de hachage sucircre(SHA256) un sel et suffisamment drsquoiteacuterationschiffrement par une cleacute secregravete (eacuteventuellement proteacutegeacutee par un HSM)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 15 49

Exeacutecutables avec bits setuid et setgid

Regravegle Seuls les programmes speacutecifiquement conccedilus pour ecirctre utiliseacutes avec les bitssetuid (ou setgid) peuvent avoir ces bits positionneacutees

veacuterifier la liste des exeacutecutables setuidfind minustype minusf ( minusperm minus2000 minuso minusperm minus4000 )

si possible monter les partitions (home par ex) avec lrsquooption nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 16 49

Services et deacutemons actifs

Regravegle Seuls les deacutemons reacuteseau strictement neacutecessaires au fonctionnement dusystegraveme et du service doivent ecirctre reacutesidents et nrsquoecirctre en eacutecoute que sur lesinterfaces reacuteseau adeacutequates

eacutecouter sur un socket Unix (ou sur 1) pour les services locaux(base de donneacutees redis etc)veacuterification des services en eacutecoute avec la commande

netstat minusl minusA inet minusA inet6

liste des processus associeacutes via lsof

Matthieu Herrb SIARS v2 6 deacutecembre 2018 17 49

Seacutecurisation des journaux

centralisation sur un serveur deacutedieacutevia rsyslog syslog-ngvia systemd-journal-uploadjournald-remoteseacuteparer lrsquoexploitation des logs (elk) de leur archivage

Matthieu Herrb SIARS v2 6 deacutecembre 2018 18 49

Systegravemes de fichiers distants (NFS)

limitercontrocircler les exportationsutiliser root_squashcentraliser les utilisateursauthentification kerberos si possibleattention trafic en clair - proteacuteger via IPsec si neacutecessairemontage nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 19 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 20 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 21 49

SELinux - Preacutesentation

Security Enhanced Linux est un systegraveme de controcircle drsquoaccegraves obligatoire(MAC)

Deacuteveloppeacute initialement par la NSA puis RedHatModule noyau qui srsquointerpose sur les appels systegravemeEnsemble de regravegles drsquoautorisation manipulant des sujets des objetsdes rocircles et des contextes

Permettre un controcircle plus fin que les droits Unix classique y comprispour root

Matthieu Herrb SIARS v2 6 deacutecembre 2018 22 49

Eacutetats de SELinux

Trois eacutetats possibles disabled - non activeacute

permissive - journalise les regravegles sans les appliquerenforcing - applique les regravegles

getenforceDisabled sestatusSELinux status disabled

Configuration dans etcsysconfigselinux (reboot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 23 49

SELinux en pratique

1 activer selinux en mode permissive2 tester son service3 reacutecupeacuterer les erreurs dans varlogauditauditlog

4 la commande audit2allow(1) permet de creacuteer une politique pourlrsquoutilisation normale du service

5 charger la nouvelle politique semodule -i newpp6 iteacuterer (2 3 4 5) jusqursquoagrave plus drsquoerreur7 passer en mode enforced8 mettre en production

Matthieu Herrb SIARS v2 6 deacutecembre 2018 24 49

AppArmor - Preacutesentation

AppArmor est un systegraveme de controcircle drsquoaccegraves obligatoire (MAC)deacuteveloppeacute par Canonical (Ubuntu)alternative laquo plus simple raquo agrave SELinuxmodes de fonctionnement similaires agrave SELinux enforcement et complainpolitiques en mode texte dans etcapparmord

Matthieu Herrb SIARS v2 6 deacutecembre 2018 25 49

AppArmor - Commandes

Eacutetat drsquoAppArmorsudo aaminusstatus

Passer une politique en mode complainsudo aaminuscomplain usrbinevince

Passer une politique en mode enforcesudo aaminusenforce usrbinevince

Recharger une politiquesudo apparmor_parser minusr etcapparmordusrbinevince

Deacutesactiver AppArmorsudo systemctl stop apparmorsudo systemctl disable apparmor

Matthieu Herrb SIARS v2 6 deacutecembre 2018 26 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 27 49

systemd et la seacutecuriteacute

Systemd permet de Tirer profit des fonctionnaliteacutes de seacutecuriteacute du noyau LinuxPour simplifier le durcissement de la maintenance drsquoun systegraveme

Matthieu Herrb SIARS v2 6 deacutecembre 2018 28 49

systemd - rappels

Remplaccedilant de SysVinit inteacutegreacute dans la plupart des distributionsChargeacute du deacutemarrage et de la gestion des services systegravemeRemplace les scripts drsquoinit par des fichiers de configurationdeacuteclaratifs les units

Matthieu Herrb SIARS v2 6 deacutecembre 2018 29 49

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 9: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Minimisation des services installeacutes

Seuls les composants strictement neacutecessaires au service rendu doiventecirctre installeacutes

Tout service est un eacuteleacutement sensibleen particulier si eacutecoute sur le reacuteseauSeuls ceux connus et requis doivent ecirctre preacutesentsCeux dont la preacutesence nrsquoest pas justifieacutee doivent ecirctre deacutesinstalleacutes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 9 49

Deacutefense en profondeur

Combinaison de barriegraveres indeacutependantes les unes des autres Filtrage reacuteseau en entreacuteeAuthentificationCloisonnementMeacutecanismes de preacutevention de lrsquoexploitation des vulneacuterabiliteacutes

ASLR W^X canaris amp co Filtrage reacuteseau en sortie Bac agrave sable (Sandbox)

Journalisation seacutecuriseacutee

Matthieu Herrb SIARS v2 6 deacutecembre 2018 10 49

Mises agrave jour reacuteguliegraveres

Proceacutedures de mises agrave jour de seacutecuriteacute reacuteactivesinformation rarr listes de diffusion (CERT eacutediteurs etc)application automatiseacutee

proceacutedure de test (preacute-prod) validation sauvegardes (snapshot) pour retour arriegravere si besoin

controcircle (audit) de lrsquoapplication des mises agrave jour

Matthieu Herrb SIARS v2 6 deacutecembre 2018 11 49

Choix des deacutepocircts des paquets

Regravegle Seuls les deacutepocircts officiels agrave jour de la distribution doivent ecirctre utiliseacutes

Si neacutecessaire drsquoinstaller des paquets de deacutepocircts tiers veacuterifier la provenanceveacuterifier les mises agrave jour

Matthieu Herrb SIARS v2 6 deacutecembre 2018 12 49

Robustesse de mot de passe administrateur

Mot de passe suffisamment robuste (ANSSI)Mot de passe unique et propre agrave chaque machine

Version sans mot de passe administrateur utilisation de sudo en local (avec un compte local deacutedieacute)utilisation de cleacutes publiques SSH pour connexions agrave distance

Bannir le sudo sans mot de passe pour les administrateurs

Matthieu Herrb SIARS v2 6 deacutecembre 2018 13 49

Applications utilisant PAM

Regravegle Le nombre drsquoapplications utilisant PAM doit ecirctre reacuteduit au strict neacutecessaireafin de limiter lrsquoexposition drsquoeacuteleacutements drsquoauthentification sensibles

privileacutegier lrsquoauthentification via LDAP Radius CAS Shibbolethnrsquoexposer que les comptes utiles

Matthieu Herrb SIARS v2 6 deacutecembre 2018 14 49

Protection des mots de passe stockeacutes

Regravegle Tout mot de passe doit ecirctre proteacutegeacute par des meacutecanismes cryptographiqueseacutevitant de les exposer en clair agrave un attaquant reacutecupeacuterant leur base

hachage du mot de passe avec une fonction de hachage sucircre(SHA256) un sel et suffisamment drsquoiteacuterationschiffrement par une cleacute secregravete (eacuteventuellement proteacutegeacutee par un HSM)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 15 49

Exeacutecutables avec bits setuid et setgid

Regravegle Seuls les programmes speacutecifiquement conccedilus pour ecirctre utiliseacutes avec les bitssetuid (ou setgid) peuvent avoir ces bits positionneacutees

veacuterifier la liste des exeacutecutables setuidfind minustype minusf ( minusperm minus2000 minuso minusperm minus4000 )

si possible monter les partitions (home par ex) avec lrsquooption nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 16 49

Services et deacutemons actifs

Regravegle Seuls les deacutemons reacuteseau strictement neacutecessaires au fonctionnement dusystegraveme et du service doivent ecirctre reacutesidents et nrsquoecirctre en eacutecoute que sur lesinterfaces reacuteseau adeacutequates

eacutecouter sur un socket Unix (ou sur 1) pour les services locaux(base de donneacutees redis etc)veacuterification des services en eacutecoute avec la commande

netstat minusl minusA inet minusA inet6

liste des processus associeacutes via lsof

Matthieu Herrb SIARS v2 6 deacutecembre 2018 17 49

Seacutecurisation des journaux

centralisation sur un serveur deacutedieacutevia rsyslog syslog-ngvia systemd-journal-uploadjournald-remoteseacuteparer lrsquoexploitation des logs (elk) de leur archivage

Matthieu Herrb SIARS v2 6 deacutecembre 2018 18 49

Systegravemes de fichiers distants (NFS)

limitercontrocircler les exportationsutiliser root_squashcentraliser les utilisateursauthentification kerberos si possibleattention trafic en clair - proteacuteger via IPsec si neacutecessairemontage nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 19 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 20 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 21 49

SELinux - Preacutesentation

Security Enhanced Linux est un systegraveme de controcircle drsquoaccegraves obligatoire(MAC)

Deacuteveloppeacute initialement par la NSA puis RedHatModule noyau qui srsquointerpose sur les appels systegravemeEnsemble de regravegles drsquoautorisation manipulant des sujets des objetsdes rocircles et des contextes

Permettre un controcircle plus fin que les droits Unix classique y comprispour root

Matthieu Herrb SIARS v2 6 deacutecembre 2018 22 49

Eacutetats de SELinux

Trois eacutetats possibles disabled - non activeacute

permissive - journalise les regravegles sans les appliquerenforcing - applique les regravegles

getenforceDisabled sestatusSELinux status disabled

Configuration dans etcsysconfigselinux (reboot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 23 49

SELinux en pratique

1 activer selinux en mode permissive2 tester son service3 reacutecupeacuterer les erreurs dans varlogauditauditlog

4 la commande audit2allow(1) permet de creacuteer une politique pourlrsquoutilisation normale du service

5 charger la nouvelle politique semodule -i newpp6 iteacuterer (2 3 4 5) jusqursquoagrave plus drsquoerreur7 passer en mode enforced8 mettre en production

Matthieu Herrb SIARS v2 6 deacutecembre 2018 24 49

AppArmor - Preacutesentation

AppArmor est un systegraveme de controcircle drsquoaccegraves obligatoire (MAC)deacuteveloppeacute par Canonical (Ubuntu)alternative laquo plus simple raquo agrave SELinuxmodes de fonctionnement similaires agrave SELinux enforcement et complainpolitiques en mode texte dans etcapparmord

Matthieu Herrb SIARS v2 6 deacutecembre 2018 25 49

AppArmor - Commandes

Eacutetat drsquoAppArmorsudo aaminusstatus

Passer une politique en mode complainsudo aaminuscomplain usrbinevince

Passer une politique en mode enforcesudo aaminusenforce usrbinevince

Recharger une politiquesudo apparmor_parser minusr etcapparmordusrbinevince

Deacutesactiver AppArmorsudo systemctl stop apparmorsudo systemctl disable apparmor

Matthieu Herrb SIARS v2 6 deacutecembre 2018 26 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 27 49

systemd et la seacutecuriteacute

Systemd permet de Tirer profit des fonctionnaliteacutes de seacutecuriteacute du noyau LinuxPour simplifier le durcissement de la maintenance drsquoun systegraveme

Matthieu Herrb SIARS v2 6 deacutecembre 2018 28 49

systemd - rappels

Remplaccedilant de SysVinit inteacutegreacute dans la plupart des distributionsChargeacute du deacutemarrage et de la gestion des services systegravemeRemplace les scripts drsquoinit par des fichiers de configurationdeacuteclaratifs les units

Matthieu Herrb SIARS v2 6 deacutecembre 2018 29 49

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 10: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Deacutefense en profondeur

Combinaison de barriegraveres indeacutependantes les unes des autres Filtrage reacuteseau en entreacuteeAuthentificationCloisonnementMeacutecanismes de preacutevention de lrsquoexploitation des vulneacuterabiliteacutes

ASLR W^X canaris amp co Filtrage reacuteseau en sortie Bac agrave sable (Sandbox)

Journalisation seacutecuriseacutee

Matthieu Herrb SIARS v2 6 deacutecembre 2018 10 49

Mises agrave jour reacuteguliegraveres

Proceacutedures de mises agrave jour de seacutecuriteacute reacuteactivesinformation rarr listes de diffusion (CERT eacutediteurs etc)application automatiseacutee

proceacutedure de test (preacute-prod) validation sauvegardes (snapshot) pour retour arriegravere si besoin

controcircle (audit) de lrsquoapplication des mises agrave jour

Matthieu Herrb SIARS v2 6 deacutecembre 2018 11 49

Choix des deacutepocircts des paquets

Regravegle Seuls les deacutepocircts officiels agrave jour de la distribution doivent ecirctre utiliseacutes

Si neacutecessaire drsquoinstaller des paquets de deacutepocircts tiers veacuterifier la provenanceveacuterifier les mises agrave jour

Matthieu Herrb SIARS v2 6 deacutecembre 2018 12 49

Robustesse de mot de passe administrateur

Mot de passe suffisamment robuste (ANSSI)Mot de passe unique et propre agrave chaque machine

Version sans mot de passe administrateur utilisation de sudo en local (avec un compte local deacutedieacute)utilisation de cleacutes publiques SSH pour connexions agrave distance

Bannir le sudo sans mot de passe pour les administrateurs

Matthieu Herrb SIARS v2 6 deacutecembre 2018 13 49

Applications utilisant PAM

Regravegle Le nombre drsquoapplications utilisant PAM doit ecirctre reacuteduit au strict neacutecessaireafin de limiter lrsquoexposition drsquoeacuteleacutements drsquoauthentification sensibles

privileacutegier lrsquoauthentification via LDAP Radius CAS Shibbolethnrsquoexposer que les comptes utiles

Matthieu Herrb SIARS v2 6 deacutecembre 2018 14 49

Protection des mots de passe stockeacutes

Regravegle Tout mot de passe doit ecirctre proteacutegeacute par des meacutecanismes cryptographiqueseacutevitant de les exposer en clair agrave un attaquant reacutecupeacuterant leur base

hachage du mot de passe avec une fonction de hachage sucircre(SHA256) un sel et suffisamment drsquoiteacuterationschiffrement par une cleacute secregravete (eacuteventuellement proteacutegeacutee par un HSM)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 15 49

Exeacutecutables avec bits setuid et setgid

Regravegle Seuls les programmes speacutecifiquement conccedilus pour ecirctre utiliseacutes avec les bitssetuid (ou setgid) peuvent avoir ces bits positionneacutees

veacuterifier la liste des exeacutecutables setuidfind minustype minusf ( minusperm minus2000 minuso minusperm minus4000 )

si possible monter les partitions (home par ex) avec lrsquooption nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 16 49

Services et deacutemons actifs

Regravegle Seuls les deacutemons reacuteseau strictement neacutecessaires au fonctionnement dusystegraveme et du service doivent ecirctre reacutesidents et nrsquoecirctre en eacutecoute que sur lesinterfaces reacuteseau adeacutequates

eacutecouter sur un socket Unix (ou sur 1) pour les services locaux(base de donneacutees redis etc)veacuterification des services en eacutecoute avec la commande

netstat minusl minusA inet minusA inet6

liste des processus associeacutes via lsof

Matthieu Herrb SIARS v2 6 deacutecembre 2018 17 49

Seacutecurisation des journaux

centralisation sur un serveur deacutedieacutevia rsyslog syslog-ngvia systemd-journal-uploadjournald-remoteseacuteparer lrsquoexploitation des logs (elk) de leur archivage

Matthieu Herrb SIARS v2 6 deacutecembre 2018 18 49

Systegravemes de fichiers distants (NFS)

limitercontrocircler les exportationsutiliser root_squashcentraliser les utilisateursauthentification kerberos si possibleattention trafic en clair - proteacuteger via IPsec si neacutecessairemontage nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 19 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 20 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 21 49

SELinux - Preacutesentation

Security Enhanced Linux est un systegraveme de controcircle drsquoaccegraves obligatoire(MAC)

Deacuteveloppeacute initialement par la NSA puis RedHatModule noyau qui srsquointerpose sur les appels systegravemeEnsemble de regravegles drsquoautorisation manipulant des sujets des objetsdes rocircles et des contextes

Permettre un controcircle plus fin que les droits Unix classique y comprispour root

Matthieu Herrb SIARS v2 6 deacutecembre 2018 22 49

Eacutetats de SELinux

Trois eacutetats possibles disabled - non activeacute

permissive - journalise les regravegles sans les appliquerenforcing - applique les regravegles

getenforceDisabled sestatusSELinux status disabled

Configuration dans etcsysconfigselinux (reboot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 23 49

SELinux en pratique

1 activer selinux en mode permissive2 tester son service3 reacutecupeacuterer les erreurs dans varlogauditauditlog

4 la commande audit2allow(1) permet de creacuteer une politique pourlrsquoutilisation normale du service

5 charger la nouvelle politique semodule -i newpp6 iteacuterer (2 3 4 5) jusqursquoagrave plus drsquoerreur7 passer en mode enforced8 mettre en production

Matthieu Herrb SIARS v2 6 deacutecembre 2018 24 49

AppArmor - Preacutesentation

AppArmor est un systegraveme de controcircle drsquoaccegraves obligatoire (MAC)deacuteveloppeacute par Canonical (Ubuntu)alternative laquo plus simple raquo agrave SELinuxmodes de fonctionnement similaires agrave SELinux enforcement et complainpolitiques en mode texte dans etcapparmord

Matthieu Herrb SIARS v2 6 deacutecembre 2018 25 49

AppArmor - Commandes

Eacutetat drsquoAppArmorsudo aaminusstatus

Passer une politique en mode complainsudo aaminuscomplain usrbinevince

Passer une politique en mode enforcesudo aaminusenforce usrbinevince

Recharger une politiquesudo apparmor_parser minusr etcapparmordusrbinevince

Deacutesactiver AppArmorsudo systemctl stop apparmorsudo systemctl disable apparmor

Matthieu Herrb SIARS v2 6 deacutecembre 2018 26 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 27 49

systemd et la seacutecuriteacute

Systemd permet de Tirer profit des fonctionnaliteacutes de seacutecuriteacute du noyau LinuxPour simplifier le durcissement de la maintenance drsquoun systegraveme

Matthieu Herrb SIARS v2 6 deacutecembre 2018 28 49

systemd - rappels

Remplaccedilant de SysVinit inteacutegreacute dans la plupart des distributionsChargeacute du deacutemarrage et de la gestion des services systegravemeRemplace les scripts drsquoinit par des fichiers de configurationdeacuteclaratifs les units

Matthieu Herrb SIARS v2 6 deacutecembre 2018 29 49

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 11: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Mises agrave jour reacuteguliegraveres

Proceacutedures de mises agrave jour de seacutecuriteacute reacuteactivesinformation rarr listes de diffusion (CERT eacutediteurs etc)application automatiseacutee

proceacutedure de test (preacute-prod) validation sauvegardes (snapshot) pour retour arriegravere si besoin

controcircle (audit) de lrsquoapplication des mises agrave jour

Matthieu Herrb SIARS v2 6 deacutecembre 2018 11 49

Choix des deacutepocircts des paquets

Regravegle Seuls les deacutepocircts officiels agrave jour de la distribution doivent ecirctre utiliseacutes

Si neacutecessaire drsquoinstaller des paquets de deacutepocircts tiers veacuterifier la provenanceveacuterifier les mises agrave jour

Matthieu Herrb SIARS v2 6 deacutecembre 2018 12 49

Robustesse de mot de passe administrateur

Mot de passe suffisamment robuste (ANSSI)Mot de passe unique et propre agrave chaque machine

Version sans mot de passe administrateur utilisation de sudo en local (avec un compte local deacutedieacute)utilisation de cleacutes publiques SSH pour connexions agrave distance

Bannir le sudo sans mot de passe pour les administrateurs

Matthieu Herrb SIARS v2 6 deacutecembre 2018 13 49

Applications utilisant PAM

Regravegle Le nombre drsquoapplications utilisant PAM doit ecirctre reacuteduit au strict neacutecessaireafin de limiter lrsquoexposition drsquoeacuteleacutements drsquoauthentification sensibles

privileacutegier lrsquoauthentification via LDAP Radius CAS Shibbolethnrsquoexposer que les comptes utiles

Matthieu Herrb SIARS v2 6 deacutecembre 2018 14 49

Protection des mots de passe stockeacutes

Regravegle Tout mot de passe doit ecirctre proteacutegeacute par des meacutecanismes cryptographiqueseacutevitant de les exposer en clair agrave un attaquant reacutecupeacuterant leur base

hachage du mot de passe avec une fonction de hachage sucircre(SHA256) un sel et suffisamment drsquoiteacuterationschiffrement par une cleacute secregravete (eacuteventuellement proteacutegeacutee par un HSM)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 15 49

Exeacutecutables avec bits setuid et setgid

Regravegle Seuls les programmes speacutecifiquement conccedilus pour ecirctre utiliseacutes avec les bitssetuid (ou setgid) peuvent avoir ces bits positionneacutees

veacuterifier la liste des exeacutecutables setuidfind minustype minusf ( minusperm minus2000 minuso minusperm minus4000 )

si possible monter les partitions (home par ex) avec lrsquooption nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 16 49

Services et deacutemons actifs

Regravegle Seuls les deacutemons reacuteseau strictement neacutecessaires au fonctionnement dusystegraveme et du service doivent ecirctre reacutesidents et nrsquoecirctre en eacutecoute que sur lesinterfaces reacuteseau adeacutequates

eacutecouter sur un socket Unix (ou sur 1) pour les services locaux(base de donneacutees redis etc)veacuterification des services en eacutecoute avec la commande

netstat minusl minusA inet minusA inet6

liste des processus associeacutes via lsof

Matthieu Herrb SIARS v2 6 deacutecembre 2018 17 49

Seacutecurisation des journaux

centralisation sur un serveur deacutedieacutevia rsyslog syslog-ngvia systemd-journal-uploadjournald-remoteseacuteparer lrsquoexploitation des logs (elk) de leur archivage

Matthieu Herrb SIARS v2 6 deacutecembre 2018 18 49

Systegravemes de fichiers distants (NFS)

limitercontrocircler les exportationsutiliser root_squashcentraliser les utilisateursauthentification kerberos si possibleattention trafic en clair - proteacuteger via IPsec si neacutecessairemontage nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 19 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 20 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 21 49

SELinux - Preacutesentation

Security Enhanced Linux est un systegraveme de controcircle drsquoaccegraves obligatoire(MAC)

Deacuteveloppeacute initialement par la NSA puis RedHatModule noyau qui srsquointerpose sur les appels systegravemeEnsemble de regravegles drsquoautorisation manipulant des sujets des objetsdes rocircles et des contextes

Permettre un controcircle plus fin que les droits Unix classique y comprispour root

Matthieu Herrb SIARS v2 6 deacutecembre 2018 22 49

Eacutetats de SELinux

Trois eacutetats possibles disabled - non activeacute

permissive - journalise les regravegles sans les appliquerenforcing - applique les regravegles

getenforceDisabled sestatusSELinux status disabled

Configuration dans etcsysconfigselinux (reboot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 23 49

SELinux en pratique

1 activer selinux en mode permissive2 tester son service3 reacutecupeacuterer les erreurs dans varlogauditauditlog

4 la commande audit2allow(1) permet de creacuteer une politique pourlrsquoutilisation normale du service

5 charger la nouvelle politique semodule -i newpp6 iteacuterer (2 3 4 5) jusqursquoagrave plus drsquoerreur7 passer en mode enforced8 mettre en production

Matthieu Herrb SIARS v2 6 deacutecembre 2018 24 49

AppArmor - Preacutesentation

AppArmor est un systegraveme de controcircle drsquoaccegraves obligatoire (MAC)deacuteveloppeacute par Canonical (Ubuntu)alternative laquo plus simple raquo agrave SELinuxmodes de fonctionnement similaires agrave SELinux enforcement et complainpolitiques en mode texte dans etcapparmord

Matthieu Herrb SIARS v2 6 deacutecembre 2018 25 49

AppArmor - Commandes

Eacutetat drsquoAppArmorsudo aaminusstatus

Passer une politique en mode complainsudo aaminuscomplain usrbinevince

Passer une politique en mode enforcesudo aaminusenforce usrbinevince

Recharger une politiquesudo apparmor_parser minusr etcapparmordusrbinevince

Deacutesactiver AppArmorsudo systemctl stop apparmorsudo systemctl disable apparmor

Matthieu Herrb SIARS v2 6 deacutecembre 2018 26 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 27 49

systemd et la seacutecuriteacute

Systemd permet de Tirer profit des fonctionnaliteacutes de seacutecuriteacute du noyau LinuxPour simplifier le durcissement de la maintenance drsquoun systegraveme

Matthieu Herrb SIARS v2 6 deacutecembre 2018 28 49

systemd - rappels

Remplaccedilant de SysVinit inteacutegreacute dans la plupart des distributionsChargeacute du deacutemarrage et de la gestion des services systegravemeRemplace les scripts drsquoinit par des fichiers de configurationdeacuteclaratifs les units

Matthieu Herrb SIARS v2 6 deacutecembre 2018 29 49

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 12: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Choix des deacutepocircts des paquets

Regravegle Seuls les deacutepocircts officiels agrave jour de la distribution doivent ecirctre utiliseacutes

Si neacutecessaire drsquoinstaller des paquets de deacutepocircts tiers veacuterifier la provenanceveacuterifier les mises agrave jour

Matthieu Herrb SIARS v2 6 deacutecembre 2018 12 49

Robustesse de mot de passe administrateur

Mot de passe suffisamment robuste (ANSSI)Mot de passe unique et propre agrave chaque machine

Version sans mot de passe administrateur utilisation de sudo en local (avec un compte local deacutedieacute)utilisation de cleacutes publiques SSH pour connexions agrave distance

Bannir le sudo sans mot de passe pour les administrateurs

Matthieu Herrb SIARS v2 6 deacutecembre 2018 13 49

Applications utilisant PAM

Regravegle Le nombre drsquoapplications utilisant PAM doit ecirctre reacuteduit au strict neacutecessaireafin de limiter lrsquoexposition drsquoeacuteleacutements drsquoauthentification sensibles

privileacutegier lrsquoauthentification via LDAP Radius CAS Shibbolethnrsquoexposer que les comptes utiles

Matthieu Herrb SIARS v2 6 deacutecembre 2018 14 49

Protection des mots de passe stockeacutes

Regravegle Tout mot de passe doit ecirctre proteacutegeacute par des meacutecanismes cryptographiqueseacutevitant de les exposer en clair agrave un attaquant reacutecupeacuterant leur base

hachage du mot de passe avec une fonction de hachage sucircre(SHA256) un sel et suffisamment drsquoiteacuterationschiffrement par une cleacute secregravete (eacuteventuellement proteacutegeacutee par un HSM)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 15 49

Exeacutecutables avec bits setuid et setgid

Regravegle Seuls les programmes speacutecifiquement conccedilus pour ecirctre utiliseacutes avec les bitssetuid (ou setgid) peuvent avoir ces bits positionneacutees

veacuterifier la liste des exeacutecutables setuidfind minustype minusf ( minusperm minus2000 minuso minusperm minus4000 )

si possible monter les partitions (home par ex) avec lrsquooption nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 16 49

Services et deacutemons actifs

Regravegle Seuls les deacutemons reacuteseau strictement neacutecessaires au fonctionnement dusystegraveme et du service doivent ecirctre reacutesidents et nrsquoecirctre en eacutecoute que sur lesinterfaces reacuteseau adeacutequates

eacutecouter sur un socket Unix (ou sur 1) pour les services locaux(base de donneacutees redis etc)veacuterification des services en eacutecoute avec la commande

netstat minusl minusA inet minusA inet6

liste des processus associeacutes via lsof

Matthieu Herrb SIARS v2 6 deacutecembre 2018 17 49

Seacutecurisation des journaux

centralisation sur un serveur deacutedieacutevia rsyslog syslog-ngvia systemd-journal-uploadjournald-remoteseacuteparer lrsquoexploitation des logs (elk) de leur archivage

Matthieu Herrb SIARS v2 6 deacutecembre 2018 18 49

Systegravemes de fichiers distants (NFS)

limitercontrocircler les exportationsutiliser root_squashcentraliser les utilisateursauthentification kerberos si possibleattention trafic en clair - proteacuteger via IPsec si neacutecessairemontage nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 19 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 20 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 21 49

SELinux - Preacutesentation

Security Enhanced Linux est un systegraveme de controcircle drsquoaccegraves obligatoire(MAC)

Deacuteveloppeacute initialement par la NSA puis RedHatModule noyau qui srsquointerpose sur les appels systegravemeEnsemble de regravegles drsquoautorisation manipulant des sujets des objetsdes rocircles et des contextes

Permettre un controcircle plus fin que les droits Unix classique y comprispour root

Matthieu Herrb SIARS v2 6 deacutecembre 2018 22 49

Eacutetats de SELinux

Trois eacutetats possibles disabled - non activeacute

permissive - journalise les regravegles sans les appliquerenforcing - applique les regravegles

getenforceDisabled sestatusSELinux status disabled

Configuration dans etcsysconfigselinux (reboot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 23 49

SELinux en pratique

1 activer selinux en mode permissive2 tester son service3 reacutecupeacuterer les erreurs dans varlogauditauditlog

4 la commande audit2allow(1) permet de creacuteer une politique pourlrsquoutilisation normale du service

5 charger la nouvelle politique semodule -i newpp6 iteacuterer (2 3 4 5) jusqursquoagrave plus drsquoerreur7 passer en mode enforced8 mettre en production

Matthieu Herrb SIARS v2 6 deacutecembre 2018 24 49

AppArmor - Preacutesentation

AppArmor est un systegraveme de controcircle drsquoaccegraves obligatoire (MAC)deacuteveloppeacute par Canonical (Ubuntu)alternative laquo plus simple raquo agrave SELinuxmodes de fonctionnement similaires agrave SELinux enforcement et complainpolitiques en mode texte dans etcapparmord

Matthieu Herrb SIARS v2 6 deacutecembre 2018 25 49

AppArmor - Commandes

Eacutetat drsquoAppArmorsudo aaminusstatus

Passer une politique en mode complainsudo aaminuscomplain usrbinevince

Passer une politique en mode enforcesudo aaminusenforce usrbinevince

Recharger une politiquesudo apparmor_parser minusr etcapparmordusrbinevince

Deacutesactiver AppArmorsudo systemctl stop apparmorsudo systemctl disable apparmor

Matthieu Herrb SIARS v2 6 deacutecembre 2018 26 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 27 49

systemd et la seacutecuriteacute

Systemd permet de Tirer profit des fonctionnaliteacutes de seacutecuriteacute du noyau LinuxPour simplifier le durcissement de la maintenance drsquoun systegraveme

Matthieu Herrb SIARS v2 6 deacutecembre 2018 28 49

systemd - rappels

Remplaccedilant de SysVinit inteacutegreacute dans la plupart des distributionsChargeacute du deacutemarrage et de la gestion des services systegravemeRemplace les scripts drsquoinit par des fichiers de configurationdeacuteclaratifs les units

Matthieu Herrb SIARS v2 6 deacutecembre 2018 29 49

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 13: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Robustesse de mot de passe administrateur

Mot de passe suffisamment robuste (ANSSI)Mot de passe unique et propre agrave chaque machine

Version sans mot de passe administrateur utilisation de sudo en local (avec un compte local deacutedieacute)utilisation de cleacutes publiques SSH pour connexions agrave distance

Bannir le sudo sans mot de passe pour les administrateurs

Matthieu Herrb SIARS v2 6 deacutecembre 2018 13 49

Applications utilisant PAM

Regravegle Le nombre drsquoapplications utilisant PAM doit ecirctre reacuteduit au strict neacutecessaireafin de limiter lrsquoexposition drsquoeacuteleacutements drsquoauthentification sensibles

privileacutegier lrsquoauthentification via LDAP Radius CAS Shibbolethnrsquoexposer que les comptes utiles

Matthieu Herrb SIARS v2 6 deacutecembre 2018 14 49

Protection des mots de passe stockeacutes

Regravegle Tout mot de passe doit ecirctre proteacutegeacute par des meacutecanismes cryptographiqueseacutevitant de les exposer en clair agrave un attaquant reacutecupeacuterant leur base

hachage du mot de passe avec une fonction de hachage sucircre(SHA256) un sel et suffisamment drsquoiteacuterationschiffrement par une cleacute secregravete (eacuteventuellement proteacutegeacutee par un HSM)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 15 49

Exeacutecutables avec bits setuid et setgid

Regravegle Seuls les programmes speacutecifiquement conccedilus pour ecirctre utiliseacutes avec les bitssetuid (ou setgid) peuvent avoir ces bits positionneacutees

veacuterifier la liste des exeacutecutables setuidfind minustype minusf ( minusperm minus2000 minuso minusperm minus4000 )

si possible monter les partitions (home par ex) avec lrsquooption nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 16 49

Services et deacutemons actifs

Regravegle Seuls les deacutemons reacuteseau strictement neacutecessaires au fonctionnement dusystegraveme et du service doivent ecirctre reacutesidents et nrsquoecirctre en eacutecoute que sur lesinterfaces reacuteseau adeacutequates

eacutecouter sur un socket Unix (ou sur 1) pour les services locaux(base de donneacutees redis etc)veacuterification des services en eacutecoute avec la commande

netstat minusl minusA inet minusA inet6

liste des processus associeacutes via lsof

Matthieu Herrb SIARS v2 6 deacutecembre 2018 17 49

Seacutecurisation des journaux

centralisation sur un serveur deacutedieacutevia rsyslog syslog-ngvia systemd-journal-uploadjournald-remoteseacuteparer lrsquoexploitation des logs (elk) de leur archivage

Matthieu Herrb SIARS v2 6 deacutecembre 2018 18 49

Systegravemes de fichiers distants (NFS)

limitercontrocircler les exportationsutiliser root_squashcentraliser les utilisateursauthentification kerberos si possibleattention trafic en clair - proteacuteger via IPsec si neacutecessairemontage nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 19 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 20 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 21 49

SELinux - Preacutesentation

Security Enhanced Linux est un systegraveme de controcircle drsquoaccegraves obligatoire(MAC)

Deacuteveloppeacute initialement par la NSA puis RedHatModule noyau qui srsquointerpose sur les appels systegravemeEnsemble de regravegles drsquoautorisation manipulant des sujets des objetsdes rocircles et des contextes

Permettre un controcircle plus fin que les droits Unix classique y comprispour root

Matthieu Herrb SIARS v2 6 deacutecembre 2018 22 49

Eacutetats de SELinux

Trois eacutetats possibles disabled - non activeacute

permissive - journalise les regravegles sans les appliquerenforcing - applique les regravegles

getenforceDisabled sestatusSELinux status disabled

Configuration dans etcsysconfigselinux (reboot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 23 49

SELinux en pratique

1 activer selinux en mode permissive2 tester son service3 reacutecupeacuterer les erreurs dans varlogauditauditlog

4 la commande audit2allow(1) permet de creacuteer une politique pourlrsquoutilisation normale du service

5 charger la nouvelle politique semodule -i newpp6 iteacuterer (2 3 4 5) jusqursquoagrave plus drsquoerreur7 passer en mode enforced8 mettre en production

Matthieu Herrb SIARS v2 6 deacutecembre 2018 24 49

AppArmor - Preacutesentation

AppArmor est un systegraveme de controcircle drsquoaccegraves obligatoire (MAC)deacuteveloppeacute par Canonical (Ubuntu)alternative laquo plus simple raquo agrave SELinuxmodes de fonctionnement similaires agrave SELinux enforcement et complainpolitiques en mode texte dans etcapparmord

Matthieu Herrb SIARS v2 6 deacutecembre 2018 25 49

AppArmor - Commandes

Eacutetat drsquoAppArmorsudo aaminusstatus

Passer une politique en mode complainsudo aaminuscomplain usrbinevince

Passer une politique en mode enforcesudo aaminusenforce usrbinevince

Recharger une politiquesudo apparmor_parser minusr etcapparmordusrbinevince

Deacutesactiver AppArmorsudo systemctl stop apparmorsudo systemctl disable apparmor

Matthieu Herrb SIARS v2 6 deacutecembre 2018 26 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 27 49

systemd et la seacutecuriteacute

Systemd permet de Tirer profit des fonctionnaliteacutes de seacutecuriteacute du noyau LinuxPour simplifier le durcissement de la maintenance drsquoun systegraveme

Matthieu Herrb SIARS v2 6 deacutecembre 2018 28 49

systemd - rappels

Remplaccedilant de SysVinit inteacutegreacute dans la plupart des distributionsChargeacute du deacutemarrage et de la gestion des services systegravemeRemplace les scripts drsquoinit par des fichiers de configurationdeacuteclaratifs les units

Matthieu Herrb SIARS v2 6 deacutecembre 2018 29 49

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 14: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Applications utilisant PAM

Regravegle Le nombre drsquoapplications utilisant PAM doit ecirctre reacuteduit au strict neacutecessaireafin de limiter lrsquoexposition drsquoeacuteleacutements drsquoauthentification sensibles

privileacutegier lrsquoauthentification via LDAP Radius CAS Shibbolethnrsquoexposer que les comptes utiles

Matthieu Herrb SIARS v2 6 deacutecembre 2018 14 49

Protection des mots de passe stockeacutes

Regravegle Tout mot de passe doit ecirctre proteacutegeacute par des meacutecanismes cryptographiqueseacutevitant de les exposer en clair agrave un attaquant reacutecupeacuterant leur base

hachage du mot de passe avec une fonction de hachage sucircre(SHA256) un sel et suffisamment drsquoiteacuterationschiffrement par une cleacute secregravete (eacuteventuellement proteacutegeacutee par un HSM)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 15 49

Exeacutecutables avec bits setuid et setgid

Regravegle Seuls les programmes speacutecifiquement conccedilus pour ecirctre utiliseacutes avec les bitssetuid (ou setgid) peuvent avoir ces bits positionneacutees

veacuterifier la liste des exeacutecutables setuidfind minustype minusf ( minusperm minus2000 minuso minusperm minus4000 )

si possible monter les partitions (home par ex) avec lrsquooption nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 16 49

Services et deacutemons actifs

Regravegle Seuls les deacutemons reacuteseau strictement neacutecessaires au fonctionnement dusystegraveme et du service doivent ecirctre reacutesidents et nrsquoecirctre en eacutecoute que sur lesinterfaces reacuteseau adeacutequates

eacutecouter sur un socket Unix (ou sur 1) pour les services locaux(base de donneacutees redis etc)veacuterification des services en eacutecoute avec la commande

netstat minusl minusA inet minusA inet6

liste des processus associeacutes via lsof

Matthieu Herrb SIARS v2 6 deacutecembre 2018 17 49

Seacutecurisation des journaux

centralisation sur un serveur deacutedieacutevia rsyslog syslog-ngvia systemd-journal-uploadjournald-remoteseacuteparer lrsquoexploitation des logs (elk) de leur archivage

Matthieu Herrb SIARS v2 6 deacutecembre 2018 18 49

Systegravemes de fichiers distants (NFS)

limitercontrocircler les exportationsutiliser root_squashcentraliser les utilisateursauthentification kerberos si possibleattention trafic en clair - proteacuteger via IPsec si neacutecessairemontage nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 19 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 20 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 21 49

SELinux - Preacutesentation

Security Enhanced Linux est un systegraveme de controcircle drsquoaccegraves obligatoire(MAC)

Deacuteveloppeacute initialement par la NSA puis RedHatModule noyau qui srsquointerpose sur les appels systegravemeEnsemble de regravegles drsquoautorisation manipulant des sujets des objetsdes rocircles et des contextes

Permettre un controcircle plus fin que les droits Unix classique y comprispour root

Matthieu Herrb SIARS v2 6 deacutecembre 2018 22 49

Eacutetats de SELinux

Trois eacutetats possibles disabled - non activeacute

permissive - journalise les regravegles sans les appliquerenforcing - applique les regravegles

getenforceDisabled sestatusSELinux status disabled

Configuration dans etcsysconfigselinux (reboot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 23 49

SELinux en pratique

1 activer selinux en mode permissive2 tester son service3 reacutecupeacuterer les erreurs dans varlogauditauditlog

4 la commande audit2allow(1) permet de creacuteer une politique pourlrsquoutilisation normale du service

5 charger la nouvelle politique semodule -i newpp6 iteacuterer (2 3 4 5) jusqursquoagrave plus drsquoerreur7 passer en mode enforced8 mettre en production

Matthieu Herrb SIARS v2 6 deacutecembre 2018 24 49

AppArmor - Preacutesentation

AppArmor est un systegraveme de controcircle drsquoaccegraves obligatoire (MAC)deacuteveloppeacute par Canonical (Ubuntu)alternative laquo plus simple raquo agrave SELinuxmodes de fonctionnement similaires agrave SELinux enforcement et complainpolitiques en mode texte dans etcapparmord

Matthieu Herrb SIARS v2 6 deacutecembre 2018 25 49

AppArmor - Commandes

Eacutetat drsquoAppArmorsudo aaminusstatus

Passer une politique en mode complainsudo aaminuscomplain usrbinevince

Passer une politique en mode enforcesudo aaminusenforce usrbinevince

Recharger une politiquesudo apparmor_parser minusr etcapparmordusrbinevince

Deacutesactiver AppArmorsudo systemctl stop apparmorsudo systemctl disable apparmor

Matthieu Herrb SIARS v2 6 deacutecembre 2018 26 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 27 49

systemd et la seacutecuriteacute

Systemd permet de Tirer profit des fonctionnaliteacutes de seacutecuriteacute du noyau LinuxPour simplifier le durcissement de la maintenance drsquoun systegraveme

Matthieu Herrb SIARS v2 6 deacutecembre 2018 28 49

systemd - rappels

Remplaccedilant de SysVinit inteacutegreacute dans la plupart des distributionsChargeacute du deacutemarrage et de la gestion des services systegravemeRemplace les scripts drsquoinit par des fichiers de configurationdeacuteclaratifs les units

Matthieu Herrb SIARS v2 6 deacutecembre 2018 29 49

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 15: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Protection des mots de passe stockeacutes

Regravegle Tout mot de passe doit ecirctre proteacutegeacute par des meacutecanismes cryptographiqueseacutevitant de les exposer en clair agrave un attaquant reacutecupeacuterant leur base

hachage du mot de passe avec une fonction de hachage sucircre(SHA256) un sel et suffisamment drsquoiteacuterationschiffrement par une cleacute secregravete (eacuteventuellement proteacutegeacutee par un HSM)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 15 49

Exeacutecutables avec bits setuid et setgid

Regravegle Seuls les programmes speacutecifiquement conccedilus pour ecirctre utiliseacutes avec les bitssetuid (ou setgid) peuvent avoir ces bits positionneacutees

veacuterifier la liste des exeacutecutables setuidfind minustype minusf ( minusperm minus2000 minuso minusperm minus4000 )

si possible monter les partitions (home par ex) avec lrsquooption nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 16 49

Services et deacutemons actifs

Regravegle Seuls les deacutemons reacuteseau strictement neacutecessaires au fonctionnement dusystegraveme et du service doivent ecirctre reacutesidents et nrsquoecirctre en eacutecoute que sur lesinterfaces reacuteseau adeacutequates

eacutecouter sur un socket Unix (ou sur 1) pour les services locaux(base de donneacutees redis etc)veacuterification des services en eacutecoute avec la commande

netstat minusl minusA inet minusA inet6

liste des processus associeacutes via lsof

Matthieu Herrb SIARS v2 6 deacutecembre 2018 17 49

Seacutecurisation des journaux

centralisation sur un serveur deacutedieacutevia rsyslog syslog-ngvia systemd-journal-uploadjournald-remoteseacuteparer lrsquoexploitation des logs (elk) de leur archivage

Matthieu Herrb SIARS v2 6 deacutecembre 2018 18 49

Systegravemes de fichiers distants (NFS)

limitercontrocircler les exportationsutiliser root_squashcentraliser les utilisateursauthentification kerberos si possibleattention trafic en clair - proteacuteger via IPsec si neacutecessairemontage nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 19 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 20 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 21 49

SELinux - Preacutesentation

Security Enhanced Linux est un systegraveme de controcircle drsquoaccegraves obligatoire(MAC)

Deacuteveloppeacute initialement par la NSA puis RedHatModule noyau qui srsquointerpose sur les appels systegravemeEnsemble de regravegles drsquoautorisation manipulant des sujets des objetsdes rocircles et des contextes

Permettre un controcircle plus fin que les droits Unix classique y comprispour root

Matthieu Herrb SIARS v2 6 deacutecembre 2018 22 49

Eacutetats de SELinux

Trois eacutetats possibles disabled - non activeacute

permissive - journalise les regravegles sans les appliquerenforcing - applique les regravegles

getenforceDisabled sestatusSELinux status disabled

Configuration dans etcsysconfigselinux (reboot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 23 49

SELinux en pratique

1 activer selinux en mode permissive2 tester son service3 reacutecupeacuterer les erreurs dans varlogauditauditlog

4 la commande audit2allow(1) permet de creacuteer une politique pourlrsquoutilisation normale du service

5 charger la nouvelle politique semodule -i newpp6 iteacuterer (2 3 4 5) jusqursquoagrave plus drsquoerreur7 passer en mode enforced8 mettre en production

Matthieu Herrb SIARS v2 6 deacutecembre 2018 24 49

AppArmor - Preacutesentation

AppArmor est un systegraveme de controcircle drsquoaccegraves obligatoire (MAC)deacuteveloppeacute par Canonical (Ubuntu)alternative laquo plus simple raquo agrave SELinuxmodes de fonctionnement similaires agrave SELinux enforcement et complainpolitiques en mode texte dans etcapparmord

Matthieu Herrb SIARS v2 6 deacutecembre 2018 25 49

AppArmor - Commandes

Eacutetat drsquoAppArmorsudo aaminusstatus

Passer une politique en mode complainsudo aaminuscomplain usrbinevince

Passer une politique en mode enforcesudo aaminusenforce usrbinevince

Recharger une politiquesudo apparmor_parser minusr etcapparmordusrbinevince

Deacutesactiver AppArmorsudo systemctl stop apparmorsudo systemctl disable apparmor

Matthieu Herrb SIARS v2 6 deacutecembre 2018 26 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 27 49

systemd et la seacutecuriteacute

Systemd permet de Tirer profit des fonctionnaliteacutes de seacutecuriteacute du noyau LinuxPour simplifier le durcissement de la maintenance drsquoun systegraveme

Matthieu Herrb SIARS v2 6 deacutecembre 2018 28 49

systemd - rappels

Remplaccedilant de SysVinit inteacutegreacute dans la plupart des distributionsChargeacute du deacutemarrage et de la gestion des services systegravemeRemplace les scripts drsquoinit par des fichiers de configurationdeacuteclaratifs les units

Matthieu Herrb SIARS v2 6 deacutecembre 2018 29 49

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 16: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Exeacutecutables avec bits setuid et setgid

Regravegle Seuls les programmes speacutecifiquement conccedilus pour ecirctre utiliseacutes avec les bitssetuid (ou setgid) peuvent avoir ces bits positionneacutees

veacuterifier la liste des exeacutecutables setuidfind minustype minusf ( minusperm minus2000 minuso minusperm minus4000 )

si possible monter les partitions (home par ex) avec lrsquooption nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 16 49

Services et deacutemons actifs

Regravegle Seuls les deacutemons reacuteseau strictement neacutecessaires au fonctionnement dusystegraveme et du service doivent ecirctre reacutesidents et nrsquoecirctre en eacutecoute que sur lesinterfaces reacuteseau adeacutequates

eacutecouter sur un socket Unix (ou sur 1) pour les services locaux(base de donneacutees redis etc)veacuterification des services en eacutecoute avec la commande

netstat minusl minusA inet minusA inet6

liste des processus associeacutes via lsof

Matthieu Herrb SIARS v2 6 deacutecembre 2018 17 49

Seacutecurisation des journaux

centralisation sur un serveur deacutedieacutevia rsyslog syslog-ngvia systemd-journal-uploadjournald-remoteseacuteparer lrsquoexploitation des logs (elk) de leur archivage

Matthieu Herrb SIARS v2 6 deacutecembre 2018 18 49

Systegravemes de fichiers distants (NFS)

limitercontrocircler les exportationsutiliser root_squashcentraliser les utilisateursauthentification kerberos si possibleattention trafic en clair - proteacuteger via IPsec si neacutecessairemontage nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 19 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 20 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 21 49

SELinux - Preacutesentation

Security Enhanced Linux est un systegraveme de controcircle drsquoaccegraves obligatoire(MAC)

Deacuteveloppeacute initialement par la NSA puis RedHatModule noyau qui srsquointerpose sur les appels systegravemeEnsemble de regravegles drsquoautorisation manipulant des sujets des objetsdes rocircles et des contextes

Permettre un controcircle plus fin que les droits Unix classique y comprispour root

Matthieu Herrb SIARS v2 6 deacutecembre 2018 22 49

Eacutetats de SELinux

Trois eacutetats possibles disabled - non activeacute

permissive - journalise les regravegles sans les appliquerenforcing - applique les regravegles

getenforceDisabled sestatusSELinux status disabled

Configuration dans etcsysconfigselinux (reboot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 23 49

SELinux en pratique

1 activer selinux en mode permissive2 tester son service3 reacutecupeacuterer les erreurs dans varlogauditauditlog

4 la commande audit2allow(1) permet de creacuteer une politique pourlrsquoutilisation normale du service

5 charger la nouvelle politique semodule -i newpp6 iteacuterer (2 3 4 5) jusqursquoagrave plus drsquoerreur7 passer en mode enforced8 mettre en production

Matthieu Herrb SIARS v2 6 deacutecembre 2018 24 49

AppArmor - Preacutesentation

AppArmor est un systegraveme de controcircle drsquoaccegraves obligatoire (MAC)deacuteveloppeacute par Canonical (Ubuntu)alternative laquo plus simple raquo agrave SELinuxmodes de fonctionnement similaires agrave SELinux enforcement et complainpolitiques en mode texte dans etcapparmord

Matthieu Herrb SIARS v2 6 deacutecembre 2018 25 49

AppArmor - Commandes

Eacutetat drsquoAppArmorsudo aaminusstatus

Passer une politique en mode complainsudo aaminuscomplain usrbinevince

Passer une politique en mode enforcesudo aaminusenforce usrbinevince

Recharger une politiquesudo apparmor_parser minusr etcapparmordusrbinevince

Deacutesactiver AppArmorsudo systemctl stop apparmorsudo systemctl disable apparmor

Matthieu Herrb SIARS v2 6 deacutecembre 2018 26 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 27 49

systemd et la seacutecuriteacute

Systemd permet de Tirer profit des fonctionnaliteacutes de seacutecuriteacute du noyau LinuxPour simplifier le durcissement de la maintenance drsquoun systegraveme

Matthieu Herrb SIARS v2 6 deacutecembre 2018 28 49

systemd - rappels

Remplaccedilant de SysVinit inteacutegreacute dans la plupart des distributionsChargeacute du deacutemarrage et de la gestion des services systegravemeRemplace les scripts drsquoinit par des fichiers de configurationdeacuteclaratifs les units

Matthieu Herrb SIARS v2 6 deacutecembre 2018 29 49

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 17: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Services et deacutemons actifs

Regravegle Seuls les deacutemons reacuteseau strictement neacutecessaires au fonctionnement dusystegraveme et du service doivent ecirctre reacutesidents et nrsquoecirctre en eacutecoute que sur lesinterfaces reacuteseau adeacutequates

eacutecouter sur un socket Unix (ou sur 1) pour les services locaux(base de donneacutees redis etc)veacuterification des services en eacutecoute avec la commande

netstat minusl minusA inet minusA inet6

liste des processus associeacutes via lsof

Matthieu Herrb SIARS v2 6 deacutecembre 2018 17 49

Seacutecurisation des journaux

centralisation sur un serveur deacutedieacutevia rsyslog syslog-ngvia systemd-journal-uploadjournald-remoteseacuteparer lrsquoexploitation des logs (elk) de leur archivage

Matthieu Herrb SIARS v2 6 deacutecembre 2018 18 49

Systegravemes de fichiers distants (NFS)

limitercontrocircler les exportationsutiliser root_squashcentraliser les utilisateursauthentification kerberos si possibleattention trafic en clair - proteacuteger via IPsec si neacutecessairemontage nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 19 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 20 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 21 49

SELinux - Preacutesentation

Security Enhanced Linux est un systegraveme de controcircle drsquoaccegraves obligatoire(MAC)

Deacuteveloppeacute initialement par la NSA puis RedHatModule noyau qui srsquointerpose sur les appels systegravemeEnsemble de regravegles drsquoautorisation manipulant des sujets des objetsdes rocircles et des contextes

Permettre un controcircle plus fin que les droits Unix classique y comprispour root

Matthieu Herrb SIARS v2 6 deacutecembre 2018 22 49

Eacutetats de SELinux

Trois eacutetats possibles disabled - non activeacute

permissive - journalise les regravegles sans les appliquerenforcing - applique les regravegles

getenforceDisabled sestatusSELinux status disabled

Configuration dans etcsysconfigselinux (reboot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 23 49

SELinux en pratique

1 activer selinux en mode permissive2 tester son service3 reacutecupeacuterer les erreurs dans varlogauditauditlog

4 la commande audit2allow(1) permet de creacuteer une politique pourlrsquoutilisation normale du service

5 charger la nouvelle politique semodule -i newpp6 iteacuterer (2 3 4 5) jusqursquoagrave plus drsquoerreur7 passer en mode enforced8 mettre en production

Matthieu Herrb SIARS v2 6 deacutecembre 2018 24 49

AppArmor - Preacutesentation

AppArmor est un systegraveme de controcircle drsquoaccegraves obligatoire (MAC)deacuteveloppeacute par Canonical (Ubuntu)alternative laquo plus simple raquo agrave SELinuxmodes de fonctionnement similaires agrave SELinux enforcement et complainpolitiques en mode texte dans etcapparmord

Matthieu Herrb SIARS v2 6 deacutecembre 2018 25 49

AppArmor - Commandes

Eacutetat drsquoAppArmorsudo aaminusstatus

Passer une politique en mode complainsudo aaminuscomplain usrbinevince

Passer une politique en mode enforcesudo aaminusenforce usrbinevince

Recharger une politiquesudo apparmor_parser minusr etcapparmordusrbinevince

Deacutesactiver AppArmorsudo systemctl stop apparmorsudo systemctl disable apparmor

Matthieu Herrb SIARS v2 6 deacutecembre 2018 26 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 27 49

systemd et la seacutecuriteacute

Systemd permet de Tirer profit des fonctionnaliteacutes de seacutecuriteacute du noyau LinuxPour simplifier le durcissement de la maintenance drsquoun systegraveme

Matthieu Herrb SIARS v2 6 deacutecembre 2018 28 49

systemd - rappels

Remplaccedilant de SysVinit inteacutegreacute dans la plupart des distributionsChargeacute du deacutemarrage et de la gestion des services systegravemeRemplace les scripts drsquoinit par des fichiers de configurationdeacuteclaratifs les units

Matthieu Herrb SIARS v2 6 deacutecembre 2018 29 49

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 18: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Seacutecurisation des journaux

centralisation sur un serveur deacutedieacutevia rsyslog syslog-ngvia systemd-journal-uploadjournald-remoteseacuteparer lrsquoexploitation des logs (elk) de leur archivage

Matthieu Herrb SIARS v2 6 deacutecembre 2018 18 49

Systegravemes de fichiers distants (NFS)

limitercontrocircler les exportationsutiliser root_squashcentraliser les utilisateursauthentification kerberos si possibleattention trafic en clair - proteacuteger via IPsec si neacutecessairemontage nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 19 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 20 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 21 49

SELinux - Preacutesentation

Security Enhanced Linux est un systegraveme de controcircle drsquoaccegraves obligatoire(MAC)

Deacuteveloppeacute initialement par la NSA puis RedHatModule noyau qui srsquointerpose sur les appels systegravemeEnsemble de regravegles drsquoautorisation manipulant des sujets des objetsdes rocircles et des contextes

Permettre un controcircle plus fin que les droits Unix classique y comprispour root

Matthieu Herrb SIARS v2 6 deacutecembre 2018 22 49

Eacutetats de SELinux

Trois eacutetats possibles disabled - non activeacute

permissive - journalise les regravegles sans les appliquerenforcing - applique les regravegles

getenforceDisabled sestatusSELinux status disabled

Configuration dans etcsysconfigselinux (reboot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 23 49

SELinux en pratique

1 activer selinux en mode permissive2 tester son service3 reacutecupeacuterer les erreurs dans varlogauditauditlog

4 la commande audit2allow(1) permet de creacuteer une politique pourlrsquoutilisation normale du service

5 charger la nouvelle politique semodule -i newpp6 iteacuterer (2 3 4 5) jusqursquoagrave plus drsquoerreur7 passer en mode enforced8 mettre en production

Matthieu Herrb SIARS v2 6 deacutecembre 2018 24 49

AppArmor - Preacutesentation

AppArmor est un systegraveme de controcircle drsquoaccegraves obligatoire (MAC)deacuteveloppeacute par Canonical (Ubuntu)alternative laquo plus simple raquo agrave SELinuxmodes de fonctionnement similaires agrave SELinux enforcement et complainpolitiques en mode texte dans etcapparmord

Matthieu Herrb SIARS v2 6 deacutecembre 2018 25 49

AppArmor - Commandes

Eacutetat drsquoAppArmorsudo aaminusstatus

Passer une politique en mode complainsudo aaminuscomplain usrbinevince

Passer une politique en mode enforcesudo aaminusenforce usrbinevince

Recharger une politiquesudo apparmor_parser minusr etcapparmordusrbinevince

Deacutesactiver AppArmorsudo systemctl stop apparmorsudo systemctl disable apparmor

Matthieu Herrb SIARS v2 6 deacutecembre 2018 26 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 27 49

systemd et la seacutecuriteacute

Systemd permet de Tirer profit des fonctionnaliteacutes de seacutecuriteacute du noyau LinuxPour simplifier le durcissement de la maintenance drsquoun systegraveme

Matthieu Herrb SIARS v2 6 deacutecembre 2018 28 49

systemd - rappels

Remplaccedilant de SysVinit inteacutegreacute dans la plupart des distributionsChargeacute du deacutemarrage et de la gestion des services systegravemeRemplace les scripts drsquoinit par des fichiers de configurationdeacuteclaratifs les units

Matthieu Herrb SIARS v2 6 deacutecembre 2018 29 49

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 19: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Systegravemes de fichiers distants (NFS)

limitercontrocircler les exportationsutiliser root_squashcentraliser les utilisateursauthentification kerberos si possibleattention trafic en clair - proteacuteger via IPsec si neacutecessairemontage nosuid

Matthieu Herrb SIARS v2 6 deacutecembre 2018 19 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 20 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 21 49

SELinux - Preacutesentation

Security Enhanced Linux est un systegraveme de controcircle drsquoaccegraves obligatoire(MAC)

Deacuteveloppeacute initialement par la NSA puis RedHatModule noyau qui srsquointerpose sur les appels systegravemeEnsemble de regravegles drsquoautorisation manipulant des sujets des objetsdes rocircles et des contextes

Permettre un controcircle plus fin que les droits Unix classique y comprispour root

Matthieu Herrb SIARS v2 6 deacutecembre 2018 22 49

Eacutetats de SELinux

Trois eacutetats possibles disabled - non activeacute

permissive - journalise les regravegles sans les appliquerenforcing - applique les regravegles

getenforceDisabled sestatusSELinux status disabled

Configuration dans etcsysconfigselinux (reboot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 23 49

SELinux en pratique

1 activer selinux en mode permissive2 tester son service3 reacutecupeacuterer les erreurs dans varlogauditauditlog

4 la commande audit2allow(1) permet de creacuteer une politique pourlrsquoutilisation normale du service

5 charger la nouvelle politique semodule -i newpp6 iteacuterer (2 3 4 5) jusqursquoagrave plus drsquoerreur7 passer en mode enforced8 mettre en production

Matthieu Herrb SIARS v2 6 deacutecembre 2018 24 49

AppArmor - Preacutesentation

AppArmor est un systegraveme de controcircle drsquoaccegraves obligatoire (MAC)deacuteveloppeacute par Canonical (Ubuntu)alternative laquo plus simple raquo agrave SELinuxmodes de fonctionnement similaires agrave SELinux enforcement et complainpolitiques en mode texte dans etcapparmord

Matthieu Herrb SIARS v2 6 deacutecembre 2018 25 49

AppArmor - Commandes

Eacutetat drsquoAppArmorsudo aaminusstatus

Passer une politique en mode complainsudo aaminuscomplain usrbinevince

Passer une politique en mode enforcesudo aaminusenforce usrbinevince

Recharger une politiquesudo apparmor_parser minusr etcapparmordusrbinevince

Deacutesactiver AppArmorsudo systemctl stop apparmorsudo systemctl disable apparmor

Matthieu Herrb SIARS v2 6 deacutecembre 2018 26 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 27 49

systemd et la seacutecuriteacute

Systemd permet de Tirer profit des fonctionnaliteacutes de seacutecuriteacute du noyau LinuxPour simplifier le durcissement de la maintenance drsquoun systegraveme

Matthieu Herrb SIARS v2 6 deacutecembre 2018 28 49

systemd - rappels

Remplaccedilant de SysVinit inteacutegreacute dans la plupart des distributionsChargeacute du deacutemarrage et de la gestion des services systegravemeRemplace les scripts drsquoinit par des fichiers de configurationdeacuteclaratifs les units

Matthieu Herrb SIARS v2 6 deacutecembre 2018 29 49

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 20: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 20 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 21 49

SELinux - Preacutesentation

Security Enhanced Linux est un systegraveme de controcircle drsquoaccegraves obligatoire(MAC)

Deacuteveloppeacute initialement par la NSA puis RedHatModule noyau qui srsquointerpose sur les appels systegravemeEnsemble de regravegles drsquoautorisation manipulant des sujets des objetsdes rocircles et des contextes

Permettre un controcircle plus fin que les droits Unix classique y comprispour root

Matthieu Herrb SIARS v2 6 deacutecembre 2018 22 49

Eacutetats de SELinux

Trois eacutetats possibles disabled - non activeacute

permissive - journalise les regravegles sans les appliquerenforcing - applique les regravegles

getenforceDisabled sestatusSELinux status disabled

Configuration dans etcsysconfigselinux (reboot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 23 49

SELinux en pratique

1 activer selinux en mode permissive2 tester son service3 reacutecupeacuterer les erreurs dans varlogauditauditlog

4 la commande audit2allow(1) permet de creacuteer une politique pourlrsquoutilisation normale du service

5 charger la nouvelle politique semodule -i newpp6 iteacuterer (2 3 4 5) jusqursquoagrave plus drsquoerreur7 passer en mode enforced8 mettre en production

Matthieu Herrb SIARS v2 6 deacutecembre 2018 24 49

AppArmor - Preacutesentation

AppArmor est un systegraveme de controcircle drsquoaccegraves obligatoire (MAC)deacuteveloppeacute par Canonical (Ubuntu)alternative laquo plus simple raquo agrave SELinuxmodes de fonctionnement similaires agrave SELinux enforcement et complainpolitiques en mode texte dans etcapparmord

Matthieu Herrb SIARS v2 6 deacutecembre 2018 25 49

AppArmor - Commandes

Eacutetat drsquoAppArmorsudo aaminusstatus

Passer une politique en mode complainsudo aaminuscomplain usrbinevince

Passer une politique en mode enforcesudo aaminusenforce usrbinevince

Recharger une politiquesudo apparmor_parser minusr etcapparmordusrbinevince

Deacutesactiver AppArmorsudo systemctl stop apparmorsudo systemctl disable apparmor

Matthieu Herrb SIARS v2 6 deacutecembre 2018 26 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 27 49

systemd et la seacutecuriteacute

Systemd permet de Tirer profit des fonctionnaliteacutes de seacutecuriteacute du noyau LinuxPour simplifier le durcissement de la maintenance drsquoun systegraveme

Matthieu Herrb SIARS v2 6 deacutecembre 2018 28 49

systemd - rappels

Remplaccedilant de SysVinit inteacutegreacute dans la plupart des distributionsChargeacute du deacutemarrage et de la gestion des services systegravemeRemplace les scripts drsquoinit par des fichiers de configurationdeacuteclaratifs les units

Matthieu Herrb SIARS v2 6 deacutecembre 2018 29 49

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 21: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 21 49

SELinux - Preacutesentation

Security Enhanced Linux est un systegraveme de controcircle drsquoaccegraves obligatoire(MAC)

Deacuteveloppeacute initialement par la NSA puis RedHatModule noyau qui srsquointerpose sur les appels systegravemeEnsemble de regravegles drsquoautorisation manipulant des sujets des objetsdes rocircles et des contextes

Permettre un controcircle plus fin que les droits Unix classique y comprispour root

Matthieu Herrb SIARS v2 6 deacutecembre 2018 22 49

Eacutetats de SELinux

Trois eacutetats possibles disabled - non activeacute

permissive - journalise les regravegles sans les appliquerenforcing - applique les regravegles

getenforceDisabled sestatusSELinux status disabled

Configuration dans etcsysconfigselinux (reboot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 23 49

SELinux en pratique

1 activer selinux en mode permissive2 tester son service3 reacutecupeacuterer les erreurs dans varlogauditauditlog

4 la commande audit2allow(1) permet de creacuteer une politique pourlrsquoutilisation normale du service

5 charger la nouvelle politique semodule -i newpp6 iteacuterer (2 3 4 5) jusqursquoagrave plus drsquoerreur7 passer en mode enforced8 mettre en production

Matthieu Herrb SIARS v2 6 deacutecembre 2018 24 49

AppArmor - Preacutesentation

AppArmor est un systegraveme de controcircle drsquoaccegraves obligatoire (MAC)deacuteveloppeacute par Canonical (Ubuntu)alternative laquo plus simple raquo agrave SELinuxmodes de fonctionnement similaires agrave SELinux enforcement et complainpolitiques en mode texte dans etcapparmord

Matthieu Herrb SIARS v2 6 deacutecembre 2018 25 49

AppArmor - Commandes

Eacutetat drsquoAppArmorsudo aaminusstatus

Passer une politique en mode complainsudo aaminuscomplain usrbinevince

Passer une politique en mode enforcesudo aaminusenforce usrbinevince

Recharger une politiquesudo apparmor_parser minusr etcapparmordusrbinevince

Deacutesactiver AppArmorsudo systemctl stop apparmorsudo systemctl disable apparmor

Matthieu Herrb SIARS v2 6 deacutecembre 2018 26 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 27 49

systemd et la seacutecuriteacute

Systemd permet de Tirer profit des fonctionnaliteacutes de seacutecuriteacute du noyau LinuxPour simplifier le durcissement de la maintenance drsquoun systegraveme

Matthieu Herrb SIARS v2 6 deacutecembre 2018 28 49

systemd - rappels

Remplaccedilant de SysVinit inteacutegreacute dans la plupart des distributionsChargeacute du deacutemarrage et de la gestion des services systegravemeRemplace les scripts drsquoinit par des fichiers de configurationdeacuteclaratifs les units

Matthieu Herrb SIARS v2 6 deacutecembre 2018 29 49

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 22: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

SELinux - Preacutesentation

Security Enhanced Linux est un systegraveme de controcircle drsquoaccegraves obligatoire(MAC)

Deacuteveloppeacute initialement par la NSA puis RedHatModule noyau qui srsquointerpose sur les appels systegravemeEnsemble de regravegles drsquoautorisation manipulant des sujets des objetsdes rocircles et des contextes

Permettre un controcircle plus fin que les droits Unix classique y comprispour root

Matthieu Herrb SIARS v2 6 deacutecembre 2018 22 49

Eacutetats de SELinux

Trois eacutetats possibles disabled - non activeacute

permissive - journalise les regravegles sans les appliquerenforcing - applique les regravegles

getenforceDisabled sestatusSELinux status disabled

Configuration dans etcsysconfigselinux (reboot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 23 49

SELinux en pratique

1 activer selinux en mode permissive2 tester son service3 reacutecupeacuterer les erreurs dans varlogauditauditlog

4 la commande audit2allow(1) permet de creacuteer une politique pourlrsquoutilisation normale du service

5 charger la nouvelle politique semodule -i newpp6 iteacuterer (2 3 4 5) jusqursquoagrave plus drsquoerreur7 passer en mode enforced8 mettre en production

Matthieu Herrb SIARS v2 6 deacutecembre 2018 24 49

AppArmor - Preacutesentation

AppArmor est un systegraveme de controcircle drsquoaccegraves obligatoire (MAC)deacuteveloppeacute par Canonical (Ubuntu)alternative laquo plus simple raquo agrave SELinuxmodes de fonctionnement similaires agrave SELinux enforcement et complainpolitiques en mode texte dans etcapparmord

Matthieu Herrb SIARS v2 6 deacutecembre 2018 25 49

AppArmor - Commandes

Eacutetat drsquoAppArmorsudo aaminusstatus

Passer une politique en mode complainsudo aaminuscomplain usrbinevince

Passer une politique en mode enforcesudo aaminusenforce usrbinevince

Recharger une politiquesudo apparmor_parser minusr etcapparmordusrbinevince

Deacutesactiver AppArmorsudo systemctl stop apparmorsudo systemctl disable apparmor

Matthieu Herrb SIARS v2 6 deacutecembre 2018 26 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 27 49

systemd et la seacutecuriteacute

Systemd permet de Tirer profit des fonctionnaliteacutes de seacutecuriteacute du noyau LinuxPour simplifier le durcissement de la maintenance drsquoun systegraveme

Matthieu Herrb SIARS v2 6 deacutecembre 2018 28 49

systemd - rappels

Remplaccedilant de SysVinit inteacutegreacute dans la plupart des distributionsChargeacute du deacutemarrage et de la gestion des services systegravemeRemplace les scripts drsquoinit par des fichiers de configurationdeacuteclaratifs les units

Matthieu Herrb SIARS v2 6 deacutecembre 2018 29 49

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 23: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Eacutetats de SELinux

Trois eacutetats possibles disabled - non activeacute

permissive - journalise les regravegles sans les appliquerenforcing - applique les regravegles

getenforceDisabled sestatusSELinux status disabled

Configuration dans etcsysconfigselinux (reboot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 23 49

SELinux en pratique

1 activer selinux en mode permissive2 tester son service3 reacutecupeacuterer les erreurs dans varlogauditauditlog

4 la commande audit2allow(1) permet de creacuteer une politique pourlrsquoutilisation normale du service

5 charger la nouvelle politique semodule -i newpp6 iteacuterer (2 3 4 5) jusqursquoagrave plus drsquoerreur7 passer en mode enforced8 mettre en production

Matthieu Herrb SIARS v2 6 deacutecembre 2018 24 49

AppArmor - Preacutesentation

AppArmor est un systegraveme de controcircle drsquoaccegraves obligatoire (MAC)deacuteveloppeacute par Canonical (Ubuntu)alternative laquo plus simple raquo agrave SELinuxmodes de fonctionnement similaires agrave SELinux enforcement et complainpolitiques en mode texte dans etcapparmord

Matthieu Herrb SIARS v2 6 deacutecembre 2018 25 49

AppArmor - Commandes

Eacutetat drsquoAppArmorsudo aaminusstatus

Passer une politique en mode complainsudo aaminuscomplain usrbinevince

Passer une politique en mode enforcesudo aaminusenforce usrbinevince

Recharger une politiquesudo apparmor_parser minusr etcapparmordusrbinevince

Deacutesactiver AppArmorsudo systemctl stop apparmorsudo systemctl disable apparmor

Matthieu Herrb SIARS v2 6 deacutecembre 2018 26 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 27 49

systemd et la seacutecuriteacute

Systemd permet de Tirer profit des fonctionnaliteacutes de seacutecuriteacute du noyau LinuxPour simplifier le durcissement de la maintenance drsquoun systegraveme

Matthieu Herrb SIARS v2 6 deacutecembre 2018 28 49

systemd - rappels

Remplaccedilant de SysVinit inteacutegreacute dans la plupart des distributionsChargeacute du deacutemarrage et de la gestion des services systegravemeRemplace les scripts drsquoinit par des fichiers de configurationdeacuteclaratifs les units

Matthieu Herrb SIARS v2 6 deacutecembre 2018 29 49

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 24: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

SELinux en pratique

1 activer selinux en mode permissive2 tester son service3 reacutecupeacuterer les erreurs dans varlogauditauditlog

4 la commande audit2allow(1) permet de creacuteer une politique pourlrsquoutilisation normale du service

5 charger la nouvelle politique semodule -i newpp6 iteacuterer (2 3 4 5) jusqursquoagrave plus drsquoerreur7 passer en mode enforced8 mettre en production

Matthieu Herrb SIARS v2 6 deacutecembre 2018 24 49

AppArmor - Preacutesentation

AppArmor est un systegraveme de controcircle drsquoaccegraves obligatoire (MAC)deacuteveloppeacute par Canonical (Ubuntu)alternative laquo plus simple raquo agrave SELinuxmodes de fonctionnement similaires agrave SELinux enforcement et complainpolitiques en mode texte dans etcapparmord

Matthieu Herrb SIARS v2 6 deacutecembre 2018 25 49

AppArmor - Commandes

Eacutetat drsquoAppArmorsudo aaminusstatus

Passer une politique en mode complainsudo aaminuscomplain usrbinevince

Passer une politique en mode enforcesudo aaminusenforce usrbinevince

Recharger une politiquesudo apparmor_parser minusr etcapparmordusrbinevince

Deacutesactiver AppArmorsudo systemctl stop apparmorsudo systemctl disable apparmor

Matthieu Herrb SIARS v2 6 deacutecembre 2018 26 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 27 49

systemd et la seacutecuriteacute

Systemd permet de Tirer profit des fonctionnaliteacutes de seacutecuriteacute du noyau LinuxPour simplifier le durcissement de la maintenance drsquoun systegraveme

Matthieu Herrb SIARS v2 6 deacutecembre 2018 28 49

systemd - rappels

Remplaccedilant de SysVinit inteacutegreacute dans la plupart des distributionsChargeacute du deacutemarrage et de la gestion des services systegravemeRemplace les scripts drsquoinit par des fichiers de configurationdeacuteclaratifs les units

Matthieu Herrb SIARS v2 6 deacutecembre 2018 29 49

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 25: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

AppArmor - Preacutesentation

AppArmor est un systegraveme de controcircle drsquoaccegraves obligatoire (MAC)deacuteveloppeacute par Canonical (Ubuntu)alternative laquo plus simple raquo agrave SELinuxmodes de fonctionnement similaires agrave SELinux enforcement et complainpolitiques en mode texte dans etcapparmord

Matthieu Herrb SIARS v2 6 deacutecembre 2018 25 49

AppArmor - Commandes

Eacutetat drsquoAppArmorsudo aaminusstatus

Passer une politique en mode complainsudo aaminuscomplain usrbinevince

Passer une politique en mode enforcesudo aaminusenforce usrbinevince

Recharger une politiquesudo apparmor_parser minusr etcapparmordusrbinevince

Deacutesactiver AppArmorsudo systemctl stop apparmorsudo systemctl disable apparmor

Matthieu Herrb SIARS v2 6 deacutecembre 2018 26 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 27 49

systemd et la seacutecuriteacute

Systemd permet de Tirer profit des fonctionnaliteacutes de seacutecuriteacute du noyau LinuxPour simplifier le durcissement de la maintenance drsquoun systegraveme

Matthieu Herrb SIARS v2 6 deacutecembre 2018 28 49

systemd - rappels

Remplaccedilant de SysVinit inteacutegreacute dans la plupart des distributionsChargeacute du deacutemarrage et de la gestion des services systegravemeRemplace les scripts drsquoinit par des fichiers de configurationdeacuteclaratifs les units

Matthieu Herrb SIARS v2 6 deacutecembre 2018 29 49

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 26: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

AppArmor - Commandes

Eacutetat drsquoAppArmorsudo aaminusstatus

Passer une politique en mode complainsudo aaminuscomplain usrbinevince

Passer une politique en mode enforcesudo aaminusenforce usrbinevince

Recharger une politiquesudo apparmor_parser minusr etcapparmordusrbinevince

Deacutesactiver AppArmorsudo systemctl stop apparmorsudo systemctl disable apparmor

Matthieu Herrb SIARS v2 6 deacutecembre 2018 26 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 27 49

systemd et la seacutecuriteacute

Systemd permet de Tirer profit des fonctionnaliteacutes de seacutecuriteacute du noyau LinuxPour simplifier le durcissement de la maintenance drsquoun systegraveme

Matthieu Herrb SIARS v2 6 deacutecembre 2018 28 49

systemd - rappels

Remplaccedilant de SysVinit inteacutegreacute dans la plupart des distributionsChargeacute du deacutemarrage et de la gestion des services systegravemeRemplace les scripts drsquoinit par des fichiers de configurationdeacuteclaratifs les units

Matthieu Herrb SIARS v2 6 deacutecembre 2018 29 49

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 27: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 27 49

systemd et la seacutecuriteacute

Systemd permet de Tirer profit des fonctionnaliteacutes de seacutecuriteacute du noyau LinuxPour simplifier le durcissement de la maintenance drsquoun systegraveme

Matthieu Herrb SIARS v2 6 deacutecembre 2018 28 49

systemd - rappels

Remplaccedilant de SysVinit inteacutegreacute dans la plupart des distributionsChargeacute du deacutemarrage et de la gestion des services systegravemeRemplace les scripts drsquoinit par des fichiers de configurationdeacuteclaratifs les units

Matthieu Herrb SIARS v2 6 deacutecembre 2018 29 49

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 28: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

systemd et la seacutecuriteacute

Systemd permet de Tirer profit des fonctionnaliteacutes de seacutecuriteacute du noyau LinuxPour simplifier le durcissement de la maintenance drsquoun systegraveme

Matthieu Herrb SIARS v2 6 deacutecembre 2018 28 49

systemd - rappels

Remplaccedilant de SysVinit inteacutegreacute dans la plupart des distributionsChargeacute du deacutemarrage et de la gestion des services systegravemeRemplace les scripts drsquoinit par des fichiers de configurationdeacuteclaratifs les units

Matthieu Herrb SIARS v2 6 deacutecembre 2018 29 49

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 29: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

systemd - rappels

Remplaccedilant de SysVinit inteacutegreacute dans la plupart des distributionsChargeacute du deacutemarrage et de la gestion des services systegravemeRemplace les scripts drsquoinit par des fichiers de configurationdeacuteclaratifs les units

Matthieu Herrb SIARS v2 6 deacutecembre 2018 29 49

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 30: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

UnitAfficher la configuration actuelle drsquoun service

systemctl cat phpminusfpmservice

usrlibsystemdsystemphpminusfpmservice[Unit]Description=The PHP FastCGI Process ManagerAfter=syslogtarget networktarget

[Service]Type=notifyPIDFile=runphpminusfpmphpminusfpmpidEnvironmentFile=etcsysconfigphpminusfpmExecStart=usrsbinphpminusfpm minusminusnodaemonizeExecReload=binkill minusUSR2 $MAINPIDPrivateTmp=true

[Install]WantedBy=multiminususertarget

Matthieu Herrb SIARS v2 6 deacutecembre 2018 30 49

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 31: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Exemple utilisateur et groupe non privileacutegieacutes

Eacutediter la configuration drsquoun service systemctl edit phpminusfpmservice

pour ajouter [service]User=httpGroup=www

et rendre les modifications effectives systemctl daemonminusreload systemctl restart phpminusfpmservice

Matthieu Herrb SIARS v2 6 deacutecembre 2018 31 49

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 32: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Filtrage drsquoappels systegraveme avec seccomp-bpf

ConceptFiltrage des appels systegraveme disponibles pour un processusSrsquoapplique aussi aux processus fils

Example

[Service]SystemCallFilter=~chrootSystemCallFilter=~obsolete

Agrave noter Contournable sur les noyaux lt 48 avec ptraceSolution filtrer lrsquoappel systegraveme ptrace

[Service]SystemCallFilter=~ptrace

Matthieu Herrb SIARS v2 6 deacutecembre 2018 32 49

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 33: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Capaciteacutes Linux

ConceptRestriction des droits accordeacutes agrave un processus (potentiellement) rootAjout de permissions agrave un processus non root

Example

[Service]CapabilityBoundingSet=CAP_NET_BIND_SERVICEAmbientCapabilities=CAP_NET_BIND_SERVICE

Agrave noterCertaines capaciteacutes sont eacutequivalentes agrave rootPreacutefeacuterer une liste blanche des capaciteacutes reacuteellement neacutecessaires

Matthieu Herrb SIARS v2 6 deacutecembre 2018 33 49

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 34: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Espace de nom des points de montage

ConceptArborescence du systegraveme de fichiers distincte pour chaque service

Example

[Service]InaccessiblePaths=etcsecretsProtectSystem=full

Agrave noterReacuteversible si CAP_SYS_SYSADMIN

[Service]CapabilityBoundingSet=~CAP_SYS_SYSADMINSystemCallFilter=~mount

Matthieu Herrb SIARS v2 6 deacutecembre 2018 34 49

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 35: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Mise en pratique Dirty CoW

Vulneacuterabiliteacute CVE-2016-5159Local root rendue publique en octobre 2016Preacutesente depuis la version 2622 du noyau (2007)Situation de compeacutetition dans le meacutecanisme de copy on write

Matthieu Herrb SIARS v2 6 deacutecembre 2018 35 49

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 36: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Reacuteduire lrsquoimpact (1)

VulneacuterabiliteacuteSituation de compeacutetition deacuteclencheacutee avec lrsquoappel systegraveme madvise

Options pour reacuteduire lrsquoimpactBloquer lrsquoappel systegraveme madvise

Configuration

[Service]SystemCallFilter=~madvise

Matthieu Herrb SIARS v2 6 deacutecembre 2018 36 49

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 37: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Reacuteduire lrsquoimpact (2)

VulneacuterabiliteacuteUtilisation de lrsquoappel systegraveme ptrace et de procselfmem

Options pour reacuteduire lrsquoimpactbloquer lrsquoappel systegraveme ptrace

Supprimer lrsquoaccegraves au systegraveme de fichiers virtuel proc

Configuration

[Service]SystemCallFilter=~ptraceInaccessiblePaths=~proc

Matthieu Herrb SIARS v2 6 deacutecembre 2018 37 49

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 38: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Reacuteduire lrsquoimpact (3)

VulneacuterabiliteacuteCertains drivers de peacuteripheacuteriques mateacuteriels potentiellement concerneacutes

Options pour reacuteduire lrsquoimpactSupprimer lrsquoaccegraves aux peacuteripheacuteriques mateacuteriels exposeacutes dans dev

Configuration

[Service]PrivateDevices=yes

Matthieu Herrb SIARS v2 6 deacutecembre 2018 38 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 39: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 39 49

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 40: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Probleacutematique

Seacutecuriteacute drsquoun poste de travail GNULinux au niveau de lrsquointerfaceutilisateur

Clavier sourisAccegraves aux eacuteveacutenements des peacuteripheacuteriques drsquoentreacuteeRaccourcis clavier ou keylogger

Copie drsquoeacutecranScreencast ou espionnage de lrsquoaffichage

Mode Plein eacutecranVideo plein eacutecran ou fausse interface

Matthieu Herrb SIARS v2 6 deacutecembre 2018 40 49

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 41: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Probleacutematique (2)

Alertes et notificationsQuelle est lrsquoapplication qui demande un mot de passe rarr authentification de lrsquoorigine des pop-ups

CopierCollerQui peut acceacuteder aux donneacutees du presse-papiers Srsquoil contient un mot de passe super secret

Matthieu Herrb SIARS v2 6 deacutecembre 2018 41 49

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 42: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

X Windows

Communications inter-clients via ICCCM et EWMHPas de seacutecuriteacute tous les clients ont accegraves agrave tout

Matthieu Herrb SIARS v2 6 deacutecembre 2018 42 49

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 43: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Wayland

Pas de communication directe inter-clientsToutes les communications passent par le Compositeur

Matthieu Herrb SIARS v2 6 deacutecembre 2018 43 49

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 44: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Qubes OS

Isolation des applications dans des VM de niveaux de seacutecuriteacutediffeacuterentsQubes Gui controcircle les eacutechanges entre VMsMarquage explicite (code couleur) des applications par niveau deseacutecuriteacute

Matthieu Herrb SIARS v2 6 deacutecembre 2018 44 49

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 45: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

CLIP OS (ANSSI)

CLIP OS systegraveme drsquoexploitation durci capable de geacuterer desinformations de plusieurs niveaux de sensibiliteacutese base sur le noyau Linux et un ensemble de logiciels libresControcircle de lrsquointeacutegriteacute du boot et des systegravemes de fichier (secure boot)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 45 49

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 46: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Flatpak amp Snap

Modes de distribution des paquets binaires du futur ()flatpak (redhat)snap (Canonical)

Matthieu Herrb SIARS v2 6 deacutecembre 2018 46 49

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 47: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Agenda

1 Introduction - Regravegles geacuteneacuterales

2 Protection systegravemeSELinux amp AppArmorSystemd

3 Seacutecuriteacute des postes de travail

4 Conclusions

Matthieu Herrb SIARS v2 6 deacutecembre 2018 47 49

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 48: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Conclusions

Nombreuses solutions possiblesAppliquer le principe KISS (Keep It Simple and Stupid)Configuration par deacutefaut de la distribution bien mise agrave jourrarr souvent suffisantSi besoins plus speacutecifiques rarr paquetsconfigurations sur mesure

penser aux mises agrave jour valider tester surveiller le bon fonctionnement les mises agrave jour

Documenter les changements

Matthieu Herrb SIARS v2 6 deacutecembre 2018 48 49

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions
Page 49: SIARS v2 - Bonnes Pratiques de sécurité GNU/Linuxhomepages.laas.fr/matthieu/talks/siarsv2-protection-linux.pdfRedHat 7 Security Guide How to protection CentOS Securing Debian Manual

Bibliographie

T Ravier Durcissement systegraveme agrave lrsquoaide de systemd Symposium surla seacutecuriteacute des technologies de lrsquoinformation et des communications(SSTIC) Rennes 2017S Dodier-Lazaro et M Peres Security in Wayland-based desktopenvironments Privileged clients authorization authentication andsandboxing agrave XDC2014 Bordeaux Septembre 2014 A Larsson The flatpak security model Janvier 2017 M Marczykowski-Goacuterecki Improving client systems security withQubes OS aux RMLL2016 Paris Juillet 2016T Ravier et M Salaũn CLIP OS Building a defense-in-depth OSaround Linux kernel security improvements agrave Kernel Recipes 2018ParisM Herrb Seacutecuriteacute des applications graphiques sous X et Waylandaux JRES Nantes 2017

Matthieu Herrb SIARS v2 6 deacutecembre 2018 49 49

  • Introduction - Regravegles geacuteneacuterales
  • Protection systegraveme
    • SELinux amp AppArmor
    • Systemd
      • Seacutecuriteacute des postes de travail
      • Conclusions