J'ai donc un débat avec quelqu'un sur l'opportunité de supprimer ou non les comptes désactivés. Ma position est que c'est une bonne hygiène du réseau, réduit la quantité de bruit à passer au crible, etc. J'ai creusé la tête sur celui-ci, mais je ne vois pas de risque que cette pratique aborderait. Oui, le plus sauvage des scénarios, quelqu'un pourrait compromettre la plate-forme SaaS, réactiver le compte et l'utiliser pour leurs actes horribles. Mais la probabilité est extrêmement faible. ou désactiver ".
Existe-t-il un risque de sécurité lors de la suppression des adresses de comptes désactivées?
En général, il est toujours préférable de réduire votre surface d'attaque. Aucun système n'est jamais parfait et votre protocole de désactivation ne fera pas exception en raison d'une erreur humaine programmatique et potentielle.
Risque 1: Supposons que tous vos comptes d'employés licenciés ont été correctement désactivés, par exemple en modifiant leur rôle dans la table des employés de la base de données (ou comment ils sont stockés). Dans ce scénario hypothétique, votre compte administrateur a été compromis. Un attaquant intelligent peut utiliser le compte administrateur pour réactiver le compte d'un ancien employé licencié et utiliser ce compte pour mener une activité malveillante sur le système. Ce faisant, ils sont moins susceptibles d'être découverts par des systèmes de détection d'intrusions (c'est-à-dire que l'administrateur est toujours connecté depuis le Texas, États-Unis, mais que tout d'un coup l'administrateur est au Brésil?). Cela pourrait augmenter la surface d'attaque et potentiellement donner plus de puissance à l'attaquant. Jamais une bonne chose.
Risque 2: une erreur humaine existe. Que se passe-t-il si un jour vous désactivez accidentellement un compte d'employé encore valide et que vous tapez Alex au lieu d'Alexandre lorsque vous souhaitez réactiver et maintenant réactiver un compte d'employé résilié? Ou peut-être que vous ne vouliez même pas réactiver un compte, mais un jour où votre ordinateur était gelé et que vous envoyiez votre souris en colère en cliquant sur quoi que ce soit pour obtenir une réponse, vous avez cliqué sur le drapeau de réactivation?
Les deux cas sont peu probables mais pourquoi prendre le risque?
À moins que votre système n'ait besoin d'une piste d'audit sophistiquée qui s'appuie sur des comptes existants dans le système pour fonctionner (c'est-à-dire plus que simplement afficher le nom de l'utilisateur et l'action à consigner mais plutôt accéder activement aux informations des utilisateurs), il n'y a pas de bonne raison pour laisser ces données gonflées dans votre système.
Je vérifie toujours après avoir quitté une entreprise (lorsque je travaillais comme coopérative dans le passé, je passais fréquemment des périodes de temps différentes dans diverses entreprises) si je pouvais toujours me connecter à mes comptes et le plus souvent, d'une manière ou d'une autre, je pouvais .
Toujours pécher par excès de cybersécurité.
Tout d'abord, je n'aime pas utiliser le terme "aborder un risque" car il y a des mots plus précis que "adresse". Je sais que c'est un terme couramment utilisé dans la gestion des risques, mais je pense qu'il est susceptible d'être mal compris, je préfère donc l'éviter.
Quoi qu'il en soit, il n'y a aucun risque pour la sécurité que la suppression d'une adresse de compte désactivée. Cependant, je pense que vous posez la mauvaise question.
Cela dépend de ce que vous entendez par "un compte désactivé".
Un compte désactivé peut être aussi simple qu'une ligne dans une base de données à 2 colonnes, une clé primaire serid qui est un entier et une énumération isdisabled qui est définie sur "TRUE" ". La suppression de ce compte désactivé présente-t-elle un risque? Je ne pense pas.
Mais à l'autre extrémité du spectre, le compte désactivé peut contenir des numéros de carte de crédit, des mots de passe non cryptés, une photo de permis de conduire, un numéro de sécurité sociale, etc., ainsi que isdisabled défini sur "TRUE".
Qu'est-ce qu'un "compte désactivé" dans votre scénario?
En général, je recommanderais de ne jamais supprimer les comptes désactivés, et plutôt d'envisager de supprimer les informations sensibles au moment de "désactiver" le compte. Donc, si un utilisateur désactive puis réactive son compte, il devra à nouveau ajouter des numéros de carte, revérifier son numéro de téléphone, etc.
La conservation des comptes désactivés a de la valeur. Vous avez un dossier précis du nombre d'utilisateurs qui se sont déjà inscrits, et vous pouvez envisager de conserver certaines de leurs informations à diverses fins. Si un utilisateur s'inscrit, vérifie son numéro de téléphone, puis est mis sur liste noire/banni par votre système, puis désactive son compte (et votre système de "désactivation" supprime son numéro de téléphone ou supprime toute sa ligne, y compris le numéro de téléphone), alors il peut signer à nouveau avec une autre adresse e-mail et réactiver leur numéro de téléphone et potentiellement contourner la liste noire (si votre liste noire est une colonne est interdite).
Conservez donc définitivement vos comptes désactivés, assurez-vous simplement d'envisager de leur supprimer des informations sensibles, en particulier le type d'informations que les utilisateurs s'attendent à ce que vous supprimiez que vous ne pouvez pas utiliser à de bonnes fins.
La première question est: quelle est la fiabilité de votre procédure de désactivation? (si la réponse est "100%", je dirais que vous n'êtes probablement pas honnête avec vous-même.) La suppression des comptes inutilisés permet de garantir que les employés licenciés, même si leur compte manque de désactivation, sont toujours supprimés du système en question. . Et garantir que les anciens employés ne continuent pas d'avoir accès est une bonne pratique de sécurité.
En théorie, un compte verrouillé ne devrait pas présenter beaucoup de risques. Si quelqu'un réactive un compte désactivé, il est déjà dans votre réseau avec des informations d'identification d'administrateur. Mais ce serait quand même une bonne chose de ne pas leur donner plus d'espace pour jouer. Supposons que cette brèche s'est produite. Vous devrez ensuite passer par tous vos employés licenciés et vous assurer que leurs comptes ont tous été désactivés pour garantir que les méchants ne reviennent pas par la porte arrière qu'ils ont activée/créé. De plus, réduire les comptes désactivés réduit la surface d'attaque potentielle.
Dans un environnement validé, ces comptes doivent être conservés à des fins de documentation et d'audit. Là, il est logique de les déplacer dans une unité d'organisation "désactivée" et de les contrôler tous les soirs pour s'assurer qu'ils ne soient pas réactivés d'une manière ou d'une autre.
TL/DR: à moins qu'il n'y ait une bonne raison de conserver ces comptes, il est plus logique de les supprimer.
De quels comptes d'utilisateurs parlez-vous?
Un exemple simple où vous devez les conserver: les comptes sur votre serveur Unix.
Si vous ne conservez pas le compte, vous ne pourrez attribuer aucun fichier que vous trouverez quelque part s'il appartient à un utilisateur supprimé. Lorsque l'ID utilisateur (le numérique, pas le nom) reçoit un nouveau compte, le nouvel utilisateur pourra même accéder aux fichiers restants de l'ancien.
La plupart des réponses se concentrent sur l'aspect sécurité de cette question, donc à juste titre étant donné que ce site est axé sur la sécurité. Mais il y a un autre aspect à cela, à savoir les problèmes juridiques liés à la conservation de données dont vous n'avez pas besoin.
Laisser des comptes qui ne sont plus utilisés laisse des tonnes de données inutilisées et probablement non réglementées. Cela augmente non seulement l'attractivité du système en tant que cible, mais peut également entraîner la société/propriétaire du logiciel dans certains problèmes juridiques importants selon le pays. Si une personne devait divulguer ou vendre des données auxquelles elle a eu accès, l'entreprise est alors responsable (dans la plupart des pays) des données de chaque compte divulgué où des données sensibles ont été enregistrées.
La sécurité ne doit pas seulement inclure la prévention, mais aussi l'atténuation et le contrôle des dommages. Même si l'entreprise est complètement couverte par la loi en ce qui concerne les violations et fuites de données, rendre le système aussi peu attrayant que possible est certainement une bonne pratique. Quiconque envisage sérieusement d'attaquer un système pour un gain malveillant, choisira des cibles basées sur un ratio [Données obtenues: Temps/effort requis]. Minimiser la quantité de données dans un système est beaucoup plus facile que d'augmenter de façon exponentielle la difficulté d'un attaquant.
Dans ma propre solution, les comptes d'utilisateurs ne sont jamais supprimés pour éviter de réutiliser des ID (noms d'utilisateur, POSIX-ID) attribués auparavant.
Mais il existe deux états différents pour désactiver les comptes d'utilisateurs:
Voir aussi la description de l'attribut Æ-DIR aeStatus .