Comment limiter l'access à la key privée ssh à l'aide des stratégies SELinux?

J'utilise Fedora distro – avec ses politiques SELinux préinstallées. Je veux limiter l'access non sécurisé à mes keys privées dans le dossier ~/.ssh – pour éviter de fuir les logiciels malveillants possibles, qui peuvent être exécutés sous mon count. Les kits racine sont hors question.


Mise à jour n ° 1: je souhaite résoudre un problème d'entreprise avec les nouveaux users Fedora – sans jetons USB, etc. Ils peuvent utiliser une phrase de passe très faible. Ce sera bien, si seul l'user root et les programmes clients ssh auront access à des keys privées. Il n'y a aucun besoin pour l'user humain réel de voir la key privée – Je ne connais pas la raison de regarder la key privée, même une fois, pour tout le monde.


Comment puis je faire ça? Suggérez avec SELinux.

2 Solutions collect form web for “Comment limiter l'access à la key privée ssh à l'aide des stratégies SELinux?”

La manière appropriée de cacher les keys privées de ceux qui sont autorisés à les utiliser est un module de security matérielle (une carte à puce ou quelque chose fonctionne bien). Vous pouvez le faire avec un certain effort pour les keys SSH (une search sur Google affiche ce tutoriel à propos de cela avec un matériel clunky et GPG ).

Toutefois, si vous êtes préoccupé de quelque chose qui n'est pas un shell, en gardant à l'esprit que beaucoup d'exploits vous obtiennent un shell, AppArmour peut contraindre les permissions du système de files de cette façon, même si je crois que le faire dans les directorys d'accueil est un peu plus difficile à gérer pour les systèmes multi-users.

SELinux peut faire cela aussi; vous mettez une label de security sur les files et autorisez seulement ssh à les lire .

Gardez à l'esprit qu'un user est généralement en mesure de créer ses propres keys SSH, et en est habituellement le propriétaire, ce qui signifie qu'ils peuvent ajuster les labels et les permissions. C'est une hypothèse qui existe.

Si vous allez exécuter des virus, il existe certaines règles que vous pouvez suivre qui vous rendront beaucoup plus sûr que tout ceci:

  • Les machines qui utilisent intentionnellement des virus devraient être quelque peu isolées. Plus précisément, ils devraient être incapables d'agir comme un saut à n'importe quoi. Ils devraient avoir un access limité au réseau (sur leur propre VLAN), au minimum requirejs. Ils ne devraient jamais avoir d'informations d'identification telles que les keys privées X.509 ou les keys privées SSH sur celles-ci, ce qui leur permettra de s'authentifier à tout.
  • Vous devez conserver la capacité de rebuild ces machines, hors ligne, rapidement. Cela rend les machines virtuelles instantanées très appétissantes pour ce type de search.
  • Rien de ce qui vous intéresse ne devrait être stocké sur les machines utilisées pour lancer des virus.
  • Si les virus sont de votre propre choix ou si leur fonctionnement est sous votre contrôle, dans la mesure du possible, les rendre inerte. Les adresses C et C devraient être des noirs (192.0.2.1, un IP réservé aux tests et à la documentation, est bon, 0.0.0.0 peut également être approprié; blackhole.iana.org est un bon nom DNS). Si elles doivent être des adresses réelles, vous pouvez héberger un C & C de test spécial sur le réseau restreint.
  • Soyez très prudent si vous utilisez C & C de quelqu'un d'autre et un virus que vous ne contrôlez pas. Si vous faites cela, il est préférable de le faire sur la console locale sur une connection Internet séparée qui n'est pas associée à votre réseau local.

Si vous êtes préoccupé par l'utilisation accidentelle d'un virus, Selinux pourrait vous aider, même si la solution réelle est le bon sens et le soin.

Vous pouvez également protéger vos keys privées avec des passwords, ce qui les rend chiffrés, bien que les virus puissent get vos frappes pour contourner cela.

Si le logiciel malveillant va fonctionner à l'aide de vos informations d'identification, je ne pense pas que SELinux soit le bon outil pour ce travail, car tout ce que vous pourriez mettre en place ne vous empêchera certainement d'accéder à la key.

Les keys privées sont dotées de mécanismes de security embeddeds qui travaillent set sont très solides. Les keys ne doivent être lisibles que par leur propriétaire. Si vous ajoutez une phrase de passe forte, il devrait y avoir très peu de soucis.

  • Copier les keys SSH générées par Putty à MacOS
  • problème ssh-keygen
  • SSH autorise le mot de passe pour un user, Rest Only Allow Public Keys
  • Comment puis-je get une key publique ssh sur une image jenkins docker pour l'authentification git?
  • Existe-t-il des raisons d'utiliser fail2ban avec les connections de mot de passe SSH désactivées?
  • ne peut pas obliger ssh à utiliser une key particulière
  • Microsoft Team Foundation Server (TFS) peut-il être configuré pour utiliser les attributes ldap sshPublicKey
  • Publication id_rsa.pub pour faciliter la configuration de nouveaux environnements?
  • SSH Comment ignorer les erreurs non trouvées d'IdentityFile?
  • Configuration de la key Gerrit ssh sur le server Windows
  • Combien de time une phrase-key de mastic doit-elle être (c'est-à-dire comment le mastic chiffrer les keys privées)
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.