Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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