mercredi 5 novembre 2008

[SECURITY] Datacenter

Lors d'un pentest pour une entreprise, vous devrez certainement vous attaquer à un Datacenter car c'est bien là que sont installés les serveurs et équipements réseau du SI de la compagnie. De suite, nous comprenons l'enjeu de sécuriser le Datacenter ... Dans ce post, nous ne verrons qu'un seul aspect de la sécurité, les contrôles logiques.


1 - Apporter et maintenir le niveau de sécurité

1.1 - Application des bonnes pratiques systématique :

Un Datacenter "vit" et même sécurisé, le moindre changement peut ébranler son niveau de sécurité. Par exemple, dans le cas de l'installation d'un nouveau serveur, les principales mesures à prendre en compte sont :
  • le système d'exploitation du serveur doit être "masteriser" avec les seules applications nécessaires et une sécurisation en amont si possible ;
  • seuls les comptes nécessaires doivent être autorisés à se connecter à la machine que ce soit localement ou à distance ;
  • seuls les services utiles doivent tourner. De plus, ils ne doivent être lancés "automatiquement" que si cela est nécessaire pour le bon fonctionnement du serveur et des applications hébergées. Sinon, une activation "manuelle" et un service arrêté au démarrage du système est préférable. Enfin, un compte de service avec des droits restreints doit être accordé au service ;
  • la configuration des modules systèmes et des applications doit être travaillée. Par exemple, seules les communications sécurisée via SSH sont autorisées. Cela passe par la configuration du service de même nom via des fichiers de configuration comme sshd_config.
1.2 - Renforcement de la sécurité d'un système

Pour assurer tous les piliers de la sécurité à une machine, il nous faudrait installer idéalement :
  • un agent de sauvegarde pour la disponibilité des données ;
  • un agent chargé de surveiller l'intégrité des informations (ex : Tripwire) ;
  • un agent chargé de tracer les évènements pour la non-répudiation des actions (ex : Syslog) ;
  • le chiffrement des disques pour la confidentialité.
Dans la réalité, la société devra étudier et classer ses serveurs selon sa criticité (en général, en fonction de son exposition et des données contenues). Alors, la sécurité apportées doit être en adéquation avec le niveau de criticité attribué à la machine.


2 - La gestion des incidents

Personne n'est à l'abri d'un incident. Et lorsque cela arrive, il faut être en mesure de :
  • le repérer. Cela peut se faire idéalement à l'aide d'un SOC et d'une équipe de monitoring pour l'animer. Ce SOC devrait reposer sur une solution de corrélation de logs (ex : OSSIM) ;
  • le cerner. L'incident peut être de nature diverse. Ensuite, il peut être plus ou moins prioritaire. Mais avant tout, il faut être sûr qu'il ne s'agit pas d'un faux positif. Il faut donc vérifier la pertinence de l'alerte reçue. Si l'alarme est justifiée, l'incident doit être signalé à toutes les personnes impliquées ;
  • l'analyser et le traiter. Un incident reconnu doit être pris en charge par l'équipe sécurité. Celle-ci entame alors une investigation pour déterminer la nature exacte de l'attaque, sa provenance, ses conséquences / actions et les actions à prendre en compte dans l'immédiat pour éviter une propagation par exemple et à échéance pour éviter le reproduction d'un incident de même nature.
Diverses mesures permettent d'obtenir une gestion d'incident efficace. Pour citer quelques exemples, une solution éprouvée doit être mise en place pour repérer les incidents avec fiabilité, une procédure détaillée doit être instaurée pour s'assurer qu'un incident sera traité de bout en bout et les moyens doivent être mis à la disposition des opérationnels sécurité pour mener à bien la phase d'investigation.


3 - Pérennisation de la sécurité logique

Pour faire face aux menaces continues des attaquants et pour se préparer contre les nouveaux vecteurs d'attaques. Pour cela, voici un résumé des recommandations qui peuvent être mises en place :
  • une gestion des mises à jour rigoureuse. En plus du déploiement d'une solution telle que SCCM pour le déploiement des mises à jour, la compagnie devrait s'abonner à une liste de veille sécurité. Ainsi, les équipes sécurité seront au courant des menaces en quasi temps réel. Alors, en cas d'attaque critique (e.g. Ver), une procédure d'urgence d'application de patch doit être déroulée ;
  • effectuer un audit de configuration. Pour s'assurer que les recommandations sécurité sont appliquées correctement, des audits de configuration avant la mise en production et régulièrement devraient être planifiés. Par exemple, il pourrait s'agir de vérifier qu'une application WEB et les client autorisés ne communiquent qu'en TLSv1 pour assurer l'intégrité et la confidentialité des données échangées ;
  • effectuer des audits de vulnérabilité (ou mieux, des tests d'intrusion). Pour s'assurer de la robustesse d'un équipement du Datacenter, le mieux est d'effectuer un test d'intrusion sur cet élément ou à défaut, un test de vulnérabilité. Effectués régulièrement, ils permettent de s'assurer de la sécurité de la machine dans le temps. Evidemment, cela suppose que les actions correctives sont apportées concernant les failles trouvées pendant l'audit...
Finalement, toutes les mesures à prendre en compte ont pour objectif de garantir la concordance entre le niveau de sécurité des équipements et la politique de sécurité de l'entreprise.


Conclusion

Le post a présenté les aspects logique en termes de sécurité IT d'un Datacenter. Cependant, les mesures apportées ne seront efficaces que si elles sont accompagnées d'une sécurité organisationnelle et physique. A quoi bon blinder ses serveurs s'il est possible d'accéder facilement à la salle contenant les machines ? A quoi bon prévoir des solutions de sécurité drastiques si elles ne sont pas (ou mal) appliquées grâce à des procédures précises et connues par les personnes impliquées ? C'est pourquoi, pour aller plus loin et aborder ces autres aspects de la sécurité, je vous propose la lecture de l'article sur la sécurisation des datacenters paru dans Hakin9 de nov/déc 2008. Vous verrez, l'auteur est très sympa ;)

4 commentaires:

Anonyme a dit…

Je me pose souvent la question de comment chiffrer les données dans un serveur qui est dans un datacenter.

Si on prend les logiciels de chiffrement de disque dur comme Utimaco, Safeboot, truecrypt ou luks (pour faire large, mais pas exhaustif) il faut un secret au démarrage : passphrase, carte à puce + code pin, clé usb + code pin, ...
Cela nécessite la présence d'un admin pour effectuer un (re)démarrage de la machine. Est-ce raisonnable si le datacenter à 2000 serveurs ? Et si un jour les deux onduleurs pètent (déjà vu plein de fois) ?
Et la gestion du changement des passphrases, ...

Mais si on prend le chiffrement de fichiers c'est pareil. Il faut bien qu'on apporte le secret. Sinon en volant le serveur ou en le piratant le secret est dedans...

J'avoue ne pas avoir cherché du côté des cartes HSM et de ce que ça pourrait apporter.

Je pense aussi à une solution du genre le secret serait sur un serveur distant et si le serveur est déconnecté du réseau il ne pourrait plus déchiffrer ses données.

Quelles sont alors réellement les solutions intéressantes pour mettre en place du chiffrement de données en datacenter ?

Jer001 a dit…

Je ne connais pas de "recette" qui résoudrait tout mais voici quelques pistes pour concrétiser la mise en œuvre (par ordre croissant de pertinence) :
- Si l'opération s'avère trop complexe sur l'ensemble du parc et en général c'est le cas, on admet que seuls les disques des machines contenant les applications et/ou données les plus sensibles sont chiffrés pour limiter le champ d'action des administrateurs;
- On installe des cartes RiLO sur les machines qui permettent de prendre la main à distance sur les serveurs avant leur démarrage (et entrer le secret). Cela évite la présence sur le lieu physique et alors, il est peut-être envisageable de penser à une automatisation.
- On utilise la TPM des nouveaux serveurs Windows. Une configuration permet de ne pas avoir à renseigner le secret, contenu dans la puce. Admettons que le disque soit volé, il est chiffré et il faudra alors récupérer la carte mère pour lire le disque. Ce qui devient bien plus complexe pour un attaquant.
- La solution prometteuse est en effet représentée par les interfaces HSM de ce que j'en connais mais de manière théorique uniquement. Je serais de même intéressé par un retour d'expérience sur la question

Anonyme a dit…

Merci pour ta réponse.

Dans la même série est-ce que les solutions de sauvegarde chiffrent les données ?
Après on va me dire que pour des raisons de performance on ne l'active pas ...

Je pense vraiment qu'il est plus facile de récupérer une bande de sauvegarde que de voler le disque dur d'un serveur dans un datacenter :x

(je ne parle pas du matériel tout neuf -sans données- chippé par les employés pour booster leur ordi perso :)

Jer001 a dit…

Il est toujours possible de chiffrer ses sauvegardes, du moins sur un disque. Je ne connais pas assez le domaine pour m'avancer ;) Il faudrait pour cela étudier les solutions du marché.

En général, les normes imposent généralement de conserver les sauvegardes sensibles dans un lieu sûr (salle protégée, coffre fort, etc.). Finalement, tout dépend de la valeur des sauvegardes et des moyens mis à disposition.

(NB : effectivement, je suis preneur d'un disque d'1To ;)

Locations of visitors to this page