fbpx
O F E P

Loading

Scanning de vulnérabilités de serveurs Linux: Qualys et le scan authentifié avec clé SSH

Pourquoi un scan authentifié, ou « authenticated scan » en anglais, avec Qualys avec un clé ssh ? Un scan réseau Qualys est souvent trop limité en scannant uniquement les ports TCP/UDP pour construire une vue complète sur l’ensemble des vulnérabilités d’un serveur.

Entre les applications non exposées sur le réseau, les seveurs à multiples interfaces réseau, les services exposés partiellement (par exemple avec un filtre ip) ou les authentifications web de type SAML et openidconnect, il est difficile d’avoir une vue d’ensemble exhaustive sur les vulnérabilités présentes sur le serveur. Tout bon CISO ou expert en sécurité doit avoir une vue exhaustive afin d’être en mesure les risques et faire les bons choix.

qualys scan ssh Logo vulnérabilités
Scanning de vulnérabilités de serveurs Linux: Qualys et le scan authentifié avec clé SSH 3

Le scanning authentifié SSH résout ce problème, encore faut-il pouvoir l’implémenter correctement. De nombreuses organisations se limitent à définir le même login et mot de passe sur chaque serveur et configurer l’accès dans la console Qualys. Bien que l’approche semble facile à mettre en place, on peut se poser des questions sur de telles pratiques.

Création d’un compte technique du scanneur de vulnérabilités Qualys SSH

Le compte SSH a besoin des droits « root » (ou « sudo » – « root equivalent ») afin de pouvoir réaliser un inventaire complet des vulnérabilités. Nous aurions aimé que Qualys publie une liste mise à jour des commandes requises. Cette approche permettrait de mettre en place une politique de « least privileges ». Nous évitons d’éventuels abus liés au compte technique utilisé par le scanner Qualys.

Qualys indique clairement sur son site qu’ils ne publient pas ces informations et qu’ils n’ont pas l’intention de le faire: « Customers should be strongly discouraged from placing granular controls around the Qualys service account because of the reasons stated above.« 

Stratégie de protection du compte SSH (qualys)

Afin d’éviter les abus d’utilisation du compte technique Qualys, nous recommandons la stratégie suivante

  • Authentication sur base d’une clé SSH et protégée par une passphrase
  • Procédure pour la génération de la clé SSH, la passphrase et l’import dans Qualys pour garantir l’intégrité de la clé et éviter de maldadroites copies (ou l’envoi de la clé par via un canal non insécurisé ou non approprié)
  • Forcer l’utilisation de la clé SSH pour le compte Qualys (et donc interdire l’utilisation d’un mot de passe). Dans certains cas, il se pourrait que le compte nécessite une clé SSH et un mot de passe, en fonction des règles existantes définies sur le serveur
  • Limiter les connexions à l’ip du serveur Qualys (souvent une ip fixe et whitelisté dans les firewalls)
  • Automatiser le déploiement sur les serveurs via le « configuration management tool » préféré (ansible, puppet, chef,..): création de l’utilisateur, déploiement de la clé publique, déploiement sudo

Déploiement sudo (compte qualys)

Nous recommandons la configuration suivante pour le fichier sudoers

sudoers file

# Cmnd alias specification
Cmnd_Alias SU=/bin/su
# User privilege specification
qualysuser ALL= NOPASSWD:SU

qualysuser désigne ici l’utilisateur technique Qualys utilisé par le scanner.

NOPASSWD signique que le compte n’a pas besoin de mot passe pour devenir « root equivalent ». Ceci est nécessaire si aucun mot de passe n’est configuré et que l’authentication est uniquement basée sur la clé SSH.

Limiter la source ip au scanner Qualys

Pour limiter l’ip source, nous configurons le filtrage suivant sur le fichier /home/qualysuser/.ssh/authorized_keys.

ssh file

from="<ip scanner>" ssh-rsa AAAAB3N....................U7= qualyuser@qualysscanner

Configuration /etc/ssh/sshd_config

Match User qualysuser   
PasswordAuthentication no
Match Address 1.2.3.4
PasswordAuthentication no

Conclusion

Nous avons vu comment il est possible de facilement déployer une configuration à grande échelle permettant à Qualys d’avoir une meilleure vue sur les vulnérabilités.

L’article porte sur Qualys mais la configuration est très probablement identique pour un produit concurrent comme Tenable Nessus.

Il est possible d’aller encore plus loin, par exemple:

  • Protéger la clé SSH dans un Vault
  • Intégrer les logs avec un SIEM pour détecter tout abus lié au compte
    • par exemple tentative de login depuis une autre ip,
    • ou une authentication via un mot de passe,
    • une authentication échouée..
  • Désactiver les comptes techniques sur les serveurs Linux lorsque le scanner n’est pas en fonction si les scans sont réalisés de manière sporadique
  • Mettre en place une procédure pour changer la clé SSH à interval régulier (par exemple annuellement). Du côté des machines Linux, il faut simplement modifier la clé publique, tâche assez facilement réalisable avec un configuration management tool.

Le test de pénétration informatique, le comprendre.

hands1

C’est le processus qui consiste à identifier les vulnérabilités de sécurité d’une application en évaluant le système ou le réseau à l’aide de diverses techniques malveillantes. Les points faibles d’un système sont exploités dans ce processus par le biais d’une attaque simulée autorisée.

“Le but de ce test est de sécuriser les données importantes des personnes extérieures comme les pirates informatiques qui peuvent avoir un accès non autorisé au système. Une fois que la vulnérabilité est identifiée, elle est utilisée pour exploiter le système afin d’accéder à des informations sensibles.”

Un test de pénétration est également connu sous le nom de « pentest » et un test de pénétration est également appelé « hacker éthique ».

Qu’est-ce que le test de pénétration ?

expertise
Le test de pénétration informatique, le comprendre. 7

Nous pouvons découvrir les vulnérabilités d’un système informatique, d’une application web ou d’un réseau grâce à des tests de pénétration.

Un test de pénétration indique si les mesures défensives existantes employées sur le système sont suffisamment fortes pour empêcher toute violation de la sécurité. Les rapports des tests de pénétration suggèrent également les contre-mesures qui peuvent être prises pour réduire le risque de piratage du système.

  • Erreurs de conception et de développement : Il peut y avoir des défauts dans la conception du matériel et des logiciels. Ces bogues peuvent exposer vos données critiques à des risques.
  • Mauvaise configuration du système : Il s’agit d’une autre cause de vulnérabilité. Si le système est mal configuré, il peut introduire des failles par lesquelles les attaquants peuvent entrer dans le système et voler les informations.
  • Erreurs humaines : Des facteurs humains tels que l’élimination inappropriée de documents, le fait de laisser les documents sans surveillance, les erreurs de codage, les menaces d’initiés, le partage de mots de passe sur des sites de phishing, etc. peuvent entraîner des failles de sécurité.
  • Connectivité : Si le système est connecté à un réseau non sécurisé (connexions ouvertes), il est alors à la portée des pirates informatiques.
  • Complexité : La vulnérabilité de la sécurité augmente proportionnellement à la complexité d’un système. Plus un système possède de fonctionnalités, plus il a de chances d’être attaqué.
  • Mots de passe : Les mots de passe sont utilisés pour empêcher tout accès non autorisé. Ils doivent être suffisamment forts pour que personne ne puisse deviner votre mot de passe. Les mots de passe ne doivent être partagés avec personne à aucun prix et doivent être changés périodiquement. Malgré ces instructions, il arrive que des personnes révèlent leurs mots de passe à d’autres personnes, les écrivent quelque part et gardent des mots de passe faciles à deviner.
  • Saisie par l’utilisateur : Vous devez avoir entendu parler de l’injection SQL, des débordements de tampon, etc. Les données reçues électroniquement par ces méthodes peuvent être utilisées pour attaquer le système récepteur.
  • Gestion : La sécurité est difficile et coûteuse à gérer. Parfois, les organisations n’ont pas une bonne gestion des risques et la vulnérabilité est donc induite dans le système.
  • Manque de formation du personnel : Cela conduit à des erreurs humaines et à d’autres vulnérabilités.
  • Communication : Les canaux tels que les réseaux mobiles, l’internet, le téléphone ouvrent la voie au vol de sécurité.

Si le pentest est l’un des leviers permettant d’optimiser la sécurité d’un système informatique, il n’est pas une fin en soi. Il s’agit d’un outil efficace qui prend corps dans une démarche globale, impliquant l’ensemble des acteurs. Le pentesting doit être considéré comme un moment d’échange constructif entre les audités et les auditeurs.

Bien que le pentesting reste une étape clé dans le cycle de sécurité d’une application, de nouvelles techniques, plus en phase avec des cycles de développement de type « agile » ont le vent en poupe. Ces méthodes inclues le « security by design » (concept bien connu dans le GDPR) et permet dès le début de cycle de développement de détecter plus rapidement des failles, afin de les corriger au plus tôt.

GDPR et cyber sécurité

gdpr 3285252 960 720
GDPR et logo EU
Pixabay License Free for commercial use – No attribution required

C’est dans l’optique de protéger les citoyens européens de la divulgation de leurs informations personnelles qu’une loi a été instaurée par l’Union européenne : celle du GDPR en anglais (General Data Protection Regulation) ou RGPD en français (règlement général sur la protection des données). Elle établit un certain nombre de principes et de recommandations à suivre.

Le GDPR / RGPD : qu’est-ce que c’est ?

Le GDPR comme son nom l’indique est une loi en vigueur pour la protection des données personnelles des citoyens. Par données personnelles, nous faisons allusion à un ensemble d’informations qui indexent directement une personne (photos, vidéos, nom …). En effet, pour promouvoir leurs services et produits, de nombreuses entreprises utilisent sans autorisations les informations intimes de certaines personnes. D’où l’apport du GDPR qui  protège ces informations et sanctionne les auteurs de ses divulgations. Voilà pourquoi pour toute adhésion ou inscription d’ordre numérique, une autorisation est demandée afin de vous envoyer des mails ou autres types de documents.

Grâce au GDPR, aucun site web ne peut accéder à vos comptes personnels ou utiliser une de vos données sans votre accord. Cette législation sur la protection de données a été initiée en 2018 et est valable pour tous les pays de l’Union européenne. Son objectif est de limiter les violations de données personnelles et de faire valoir les droits des citoyens européens. Il est important de noter qu’en cas d’infraction, les amendes peuvent aller jusqu’à 2 millions d’euros en fonction de sa gravité. Quels sont ses principes ?

Quels sont les principes du GDPR/ RGPD ?

  • Le principe de consentement

Avant tout projet impliquant les données personnelles d’autrui, l’entreprise ou l’administrateur du site doit adresser une demande d’autorisation à ce dernier sans quoi il pourra être victime de poursuites. De plus, l’entreprise a le devoir de donner au citoyen plus de contrôle sur ses données intimes.

  • Le droit à l’effacement

Ayant donné son accord pour l’utilisation de ses informations privées, celui-ci a le droit de réclamer leurs suppressions en présentant des motifs valables à l’appui. En retour, l’administrateur du site a le devoir de les effacer dans de brefs délais.

  • Le droit à la portabilité des données privées

Selon le règlement, l’auteur des informations privées a le droit de recevoir sous une forme lisible et authentique les informations le concernant.

  • En cas de fuite de données

En cas de fuite de données, le règlement voudrait que l’autorité nationale de la protection en cas de violations de données soit informée par les administrateurs du site dans les brefs délais. Par ailleurs, en cas de piratage d’informations personnelles, l’auteur des informations doit immédiatement être contacté pour prévenir de potentiels risques.

  • Le principe de responsabilisation des entreprises et administrateurs de sites web

Comme son nom l’indique, ce principe a pour but de responsabiliser les entreprises sur les dangers liés à la manipulation des informations personnelles d’autrui et sur les sanctions qu’elles peuvent subir.

GDPR et cyber sécurité

Bien qu’une partie de la GDPR se concentre sur des aspects organisationnels et juridiques (mise à jour des contrats, privacy policy,..), la cyber sécurité joue un rôle clé afin de mettre les moyens nécessaires en œuvre pour protéger efficacement les données concernées. Ces aspects techniques passent souvent par les étapes suivantes:

  • Analyse de risques et/ou DPIA
  • Documentation des risques « risk management »
  • Exercices de scanning de vulnérabilités et pentests
  • Utilisation de solutions PAM (Privileged Access Management) afin de tracer précisément qui effectue quelle tâches sur les données
  • Détection d’incidents (EDR et solutions SIEM)
  • Encryption, anonymisation et pseudonymisation des données