64 votes

Linux : sysadmins productifs sans root (sécurisation de la propriété intellectuelle) ?

Existe-t-il un moyen de rendre productif un syadmin Linux expérimenté sans lui donner un accès complet à la racine ?

Cette question s'inscrit dans une perspective de protection de la propriété intellectuelle (PI), qui, dans mon cas, est entièrement constituée de code et/ou de fichiers de configuration (c'est-à-dire de petits fichiers numériques faciles à copier). Notre sauce secrète nous a permis d'avoir plus de succès que notre petite taille ne le laisse supposer. De même, nous sommes Une fois mordu, deux fois timide de quelques anciens employés peu scrupuleux (pas des sysadmins) qui ont essayé de voler la propriété intellectuelle. La position de la direction est la suivante : "Nous faisons confiance aux gens, mais par intérêt personnel, nous ne pouvons pas prendre le risque de donner à une personne plus d'accès qu'elle n'en a absolument besoin pour faire son travail".

Sur le développeur il est relativement facile de cloisonner les flux de travail et les niveaux d'accès de manière à ce que les personnes puissent être productives mais ne voient que ce qu'elles ont besoin de voir. Seuls les dirigeants (les propriétaires réels de l'entreprise) ont la possibilité de combiner tous les ingrédients et de créer la sauce spéciale.

Mais je n'ai pas été capable de trouver un bon moyen de maintenir ce secret IP du côté de l'administration Linux. Nous faisons un usage intensif de GPG pour le code et les fichiers texte sensibles... mais qu'est-ce qui empêche un administrateur de (par exemple) se substituer à un utilisateur et de sauter sur sa session tmux ou GNU Screen pour voir ce qu'il fait ?

(Nous avons également désactivé l'accès à Internet dans tous les endroits susceptibles d'être en contact avec des informations sensibles. Mais, rien n'est parfait, et il pourrait y avoir des trous ouverts à des sysadmins intelligents ou des erreurs du côté de l'administrateur réseau. Ou même la bonne vieille clé USB. Il existe bien sûr de nombreuses autres mesures en place, mais elles dépassent le cadre de cette question).

Le mieux que j'ai pu trouver, c'est d'utiliser des comptes personnalisés avec sudo similaire à ce qui est décrit dans Plusieurs sysadmins Linux travaillant en tant que root . Plus précisément, personne, à l'exception des propriétaires de l'entreprise, n'aurait un accès direct à la racine. Les autres administrateurs auront un compte personnalisé et la possibilité de sudo dans la racine. En outre, une journalisation à distance serait instituée, et les journaux seraient envoyés sur un serveur auquel seuls les propriétaires de l'entreprise pourraient accéder. Le fait de voir la journalisation désactivée déclencherait des sortes d'alertes.

Un administrateur système astucieux pourrait probablement encore trouver des failles dans ce système. Et cela mis à part, c'est toujours réactif plutôt que proactive . Le problème de notre propriété intellectuelle est tel que les concurrents pourraient s'en servir très rapidement et causer de gros dégâts en très peu de temps.

Il serait donc encore mieux d'avoir un mécanisme qui limite ce que l'administrateur peut faire. Mais je reconnais qu'il s'agit d'un équilibre délicat (en particulier à la lumière du dépannage et de la résolution des problèmes de production qui doivent être résolus ). à l'heure actuelle ).

Je ne peux m'empêcher de me demander comment d'autres organisations possédant des données très sensibles gèrent cette question ? Par exemple, les administrateurs système de l'armée : comment gèrent-ils les serveurs et les données sans être en mesure de voir les informations confidentielles ?

Edit : Dans le message initial, je voulais répondre de manière préventive aux commentaires sur les "pratiques d'embauche" qui commencent à faire surface. Premièrement, c'est censé être un technique question, et les pratiques d'embauche de l'OMI tendent plus vers social questions. Mais, deux, je dirai ceci : Je crois que nous faisons tout ce qui est raisonnable pour embaucher des gens : entretien avec multiple personnes au sein de l'entreprise ; vérification des antécédents et des références ; tous les employés signent de nombreux documents juridiques, dont un qui indique qu'ils ont lu et compris notre manuel qui détaille en détail les problèmes de propriété intellectuelle. Maintenant, cela sort du cadre de cette question/site, mais si quelqu'un peut proposer des pratiques d'embauche "parfaites" qui filtrent 100% des mauvais acteurs, je suis tout ouïe. Les faits sont les suivants : (1) je ne crois pas qu'il existe un processus d'embauche aussi parfait ; (2) les gens changent - l'ange d'aujourd'hui peut être le diable de demain ; (3) les tentatives de vol de code semblent être quelque peu routinières dans ce secteur.

50voto

fartheraway Points 4886

Tout ce qui a été dit jusqu'à présent est valable, mais il existe un moyen "facile" et non technique qui permet d'éviter la présence d'un administrateur système malveillant. le principe des quatre yeux qui exige essentiellement la présence de deux sysadmins pour tout accès élevé.

EDIT : Les deux points les plus importants que j'ai vus dans les commentaires sont la discussion des coûts et la possibilité de collusion. L'un des principaux moyens que j'ai envisagé pour éviter ces deux problèmes est le recours à une société de services gérés utilisée uniquement pour la vérification des actions entreprises. Si l'opération est bien menée, les techniciens ne se connaissent pas. En supposant les prouesses techniques qu'un MSP devrait avoir, il serait assez facile d'avoir une signature pour les actions prises peut-être même aussi simple qu'un oui/non à tout ce qui est néfaste.

27voto

Rob Moir Points 31534

Si des personnes ont vraiment besoin d'un accès administrateur à un système, il n'y a pas grand-chose que vous puissiez faire pour restreindre leurs activités sur cette boîte.

Ce que la majorité des organisations font, c'est faites confiance, mais vérifiez - vous pouvez donner à des personnes l'accès à certaines parties du système mais vous utilisez des comptes d'administrateur nommés (par exemple, vous ne leur donnez pas un accès direct à racine ), puis de vérifier leurs activités dans un journal qu'ils ne peuvent pas interférer.

Il s'agit ici de trouver un équilibre ; vous devez peut-être protéger vos systèmes, mais vous devez aussi faire confiance aux personnes pour faire leur travail. Si l'entreprise a déjà été "mordue" par un employé peu scrupuleux, cela peut suggérer que les pratiques d'embauche de l'entreprise sont mauvaises d'une certaine manière, et que ces pratiques ont vraisemblablement été créées par les "cadres supérieurs". La confiance commence à la maison ; que font-ils pour corriger leurs choix en matière de recrutement ?

19voto

Sobrique Points 3695

Ce dont vous parlez est connu comme le risque "Evil Sysadmin". Le long et le court de cela est :

  • Un sysadmin est quelqu'un qui a des privilèges élevés
  • Techniquement compétent, à un niveau qui ferait d'eux de bons "hackers".
  • Interagir avec des systèmes dans des scénarios anormaux.

La combinaison de ces éléments rend pratiquement impossible l'arrêt des actions malveillantes. Même l'audit devient difficile, parce que vous n'avez pas de "normal" à comparer. (Et franchement, un système défaillant peut aussi avoir un audit défaillant).

Il y a un tas de mesures d'atténuation :

  • Séparation des privilèges - vous ne pouvez pas empêcher un gars avec une racine de faire tout ce qui est sur le système. Mais vous pouvez confier à une équipe la responsabilité du réseau et à une autre celle des "systèmes d'exploitation" (ou Unix/Windows séparément).
  • Limitez l'accès physique au kit à une autre équipe, qui n'obtient pas de comptes d'administrateur... mais qui s'occupe de tout le travail "manuel".
  • Séparer la responsabilité du "bureau" de celle du "serveur". Configurez le bureau pour empêcher la suppression des données. Les administrateurs du poste de travail n'ont pas la possibilité d'accéder aux données sensibles, les administrateurs du serveur peuvent les voler, mais doivent faire des pieds et des mains pour les faire sortir du bâtiment.
  • Audit d'un système à accès restreint - syslog et l'audit au niveau des événements, dans un système relativement inviolable auquel ils n'ont pas d'accès privilégié. Mais il ne suffit pas de le collecter, il faut aussi le surveiller - et franchement, il y a un tas de façons de "voler" des informations qui pourraient ne pas apparaître sur un radar d'audit. (Braconniers contre gardes-chasse)
  • appliquer un cryptage "au repos", afin que les données ne soient pas stockées "en clair" et qu'il faille un système actif pour y accéder. Cela signifie que les personnes ayant un accès physique ne peuvent pas accéder à un système qui n'est pas activement surveillé et que, dans un scénario "anormal" où un administrateur système travaille sur le système, les données sont moins exposées. (par exemple, si la base de données ne fonctionne pas, les données ne sont probablement pas lisibles).
  • La règle des deux hommes - si vous êtes d'accord pour que votre productivité soit paralysée, et votre moral aussi. (Sérieusement - je l'ai vu faire, et l'état persistant de travailler et d'être observé rend les conditions de travail extrêmement difficiles).
  • Vérifiez vos administrateurs système - différents contrôles d'enregistrements peuvent exister en fonction du pays. (Vérification du casier judiciaire, vous pourrait même trouver que vous pouvez demander une habilitation de sécurité dans certains cas, ce qui déclenchera un contrôle)
  • Veillez sur vos administrateurs système - la dernière chose à faire est de dire à une personne "de confiance" que vous ne lui faites pas confiance. Et vous ne voulez certainement pas nuire au moral, parce que cela augmente le risque de comportement malveillant (ou "pas tout à fait de la négligence, mais un relâchement de la vigilance"). Mais payez en fonction des responsabilités et des compétences. Et pensez aux "avantages" - qui sont moins chers que le salaire, mais qui ont probablement plus de valeur. Comme un café gratuit ou une pizza une fois par semaine.
  • et vous pouvez aussi essayer d'appliquer des conditions contractuelles pour l'inhiber, mais méfiez-vous de ce qui précède.

Mais fondamentalement, vous devez accepter que c'est une question de confiance, pas une question technique. Vos sysadmins seront toujours potentiellement très dangereux pour vous, en raison de cette tempête parfaite.

18voto

Gravy Points 760

Sans vous mettre dans un état d'esprit technique insensé pour essayer de trouver un moyen de donner du pouvoir à un administrateur système sans lui donner de pouvoir (c'est probablement faisable, mais ce serait finalement imparfait d'une certaine manière).

Du point de vue des pratiques commerciales, il existe une série de solutions simples. Pas des solutions bon marché, mais des solutions simples.

Vous avez mentionné que les éléments de propriété intellectuelle qui vous préoccupent sont divisés et que seules les personnes au sommet ont le pouvoir de les voir. C'est essentiellement votre réponse. Vous devriez avoir plusieurs administrateurs, et AUCUN d'entre eux ne devrait être un administrateur sur suffisamment de systèmes pour avoir une vue d'ensemble. Bien sûr, vous auriez besoin d'au moins 2 ou 3 admins pour chaque pièce, au cas où un admin est malade ou dans un accident de voiture ou quelque chose. Disons que vous avez 4 administrateurs, et 8 éléments d'information. L'administrateur 1 peut accéder aux systèmes qui ont les éléments 1 et 2, l'administrateur 2 peut accéder aux éléments 2 et 3, l'administrateur 3 peut accéder aux éléments 3 et 4, et l'administrateur 4 peut accéder aux éléments 4 et 1. Chaque système a un administrateur de secours, mais aucun administrateur n'est capable de compromettre l'image complète.

Une technique que les militaires utilisent également est la limitation des données mobiles. Dans une zone sensible, il peut n'y avoir qu'un seul système capable de graver un disque ou d'utiliser une clé USB, tous les autres systèmes étant limités. La possibilité d'utiliser ce système est extrêmement limitée et nécessite l'approbation spécifique et documentée des supérieurs avant que quiconque ne soit autorisé à placer des données sur quoi que ce soit qui pourrait entraîner une fuite d'informations. Dans le même ordre d'idées, vous vous assurez que le trafic réseau entre les différents systèmes est limité par des pare-feu matériels. Les administrateurs de votre réseau qui contrôlent les pare-feu n'ont pas accès aux systèmes qu'ils acheminent, de sorte qu'ils ne peuvent pas accéder spécifiquement aux informations, et les administrateurs de vos serveurs/postes de travail s'assurent que toutes les données en provenance et à destination d'un système sont configurées pour être cryptées, de sorte que les administrateurs de votre réseau ne peuvent pas accéder au réseau et aux données.

Tous les ordinateurs portables/stations de travail devraient être équipés de disques durs cryptés et chaque employé devrait disposer d'un casier personnel dans lequel il est tenu d'enfermer les disques/ordinateurs portables à la fin de la nuit afin de s'assurer que personne n'arrive tôt ou ne part tard et n'a accès à quelque chose qu'il n'est pas censé avoir.

Chaque serveur devrait au minimum être placé dans son propre rack verrouillé, voire dans sa propre pièce verrouillée, de sorte que seuls les administrateurs responsables de chaque serveur y aient accès, car, en fin de compte, l'accès physique prime sur tout.

Ensuite, il y a une pratique qui peut soit nuire soit aider. Les contrats limités. Si vous pensez pouvoir payer suffisamment pour continuer à attirer de nouveaux talents, la possibilité de ne garder un administrateur que pour une période prédéterminée (par exemple 6 mois, 1 an, 2 ans) vous permettrait de limiter la durée pendant laquelle quelqu'un devra tenter de rassembler toutes les pièces de votre propriété intellectuelle.

Ma conception personnelle serait quelque chose du genre... Divisez vos données en autant de morceaux que vous le souhaitez, disons pour avoir un nombre 8, vous avez 8 serveurs git, chacun avec son propre ensemble de matériel redondant, chacun administré par un ensemble différent d'administrateurs.

Des disques durs cryptés pour toutes les stations de travail qui touchent l'IP, avec un répertoire spécifique "projet" sur le disque qui est le seul répertoire dans lequel les utilisateurs sont autorisés à mettre leurs projets. À la fin de chaque nuit, ils doivent nettoyer leurs répertoires de projets à l'aide d'un outil de suppression sécurisé, puis les disques durs sont retirés et verrouillés (par mesure de sécurité).

Chaque partie du projet est affectée à un administrateur différent, de sorte qu'un utilisateur n'interagit qu'avec l'administrateur du poste de travail auquel il est affecté. Si l'affectation au projet change, ses données sont effacées et un nouvel administrateur lui est affecté. Leurs systèmes ne devraient pas avoir de capacités de gravure et devraient utiliser un programme de sécurité pour empêcher l'utilisation de clés USB pour transférer des données sans autorisation.

Prenez-en ce que vous voulez.

11voto

jan.vdbergh Points 1024

Ce serait un peu comme le défi d'engager un concierge pour un bâtiment. Le concierge a toutes les clés, peut ouvrir n'importe quelle porte, mais la raison est que le concierge en a besoin pour faire son travail. Il en va de même pour les administrateurs système. De façon symétrique, on peut penser à ce vieux problème et regarder comment la confiance est accordée historiquement.

Bien qu'il n'y ait pas de solution technique parfaite, le fait qu'il n'y en ait pas ne devrait pas être une raison pour ne pas en essayer, une agrégation de solutions imparfaites peut donner des résultats plutôt bons.

Un modèle où la confiance se gagne :

  • Donnez moins d'autorisations pour commencer
  • Augmenter progressivement les autorisations
  • Mettez un pot de miel et surveillez ce qui se passe dans les jours à venir.
  • Si l'administrateur système le signale au lieu d'essayer d'en abuser, c'est un bon début.

Mettre en œuvre plusieurs niveaux de pouvoirs administratifs :

  • Niveau 1 : Peut modifier le niveau inférieur des fichiers de configuration
  • Niveau 2 : Peut modifier un niveau légèrement supérieur de fichiers de configuration
  • Niveau 3 : Peut modifier un niveau légèrement supérieur de fichiers de configuration et de paramètres du système d'exploitation.

Créez toujours un environnement où l'accès total par une seule personne n'est pas possible. :

  • Systèmes Split dans les clusters
  • Donner les pouvoirs d'administration du cluster à différents groupes
  • Minimum 2 groupes

Utilisez la règle des deux hommes lorsque vous effectuez des modifications de base de haut niveau. :

Faire confiance et vérifier :

  • Enregistrez tout
  • Surveillance des journaux et alertes
  • S'assurer que toutes les actions sont distinguables

Paperasse :

  • Leur faire signer des documents pour que le système juridique puisse vous aider en les poursuivant en justice s'ils vous font du mal les incite davantage à ne pas le faire.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X