Authentification centralisée en SSH
-
Bonjour à tous.
Je suis à la recherche de docs, tutos ou autres pour pouvoir paramétrer une authentification SSH centralisée sur pfSense.
J'ai trouvé des docs pour réaliser une authentification SSH avec un annuaire AD pour Linux ou FreeBSD.
Mais à chaque fois, je n'ai pas réussi à faire fonctionner l'authentification.Si quel'qu'un sait comment mettre en place une authentification centralisée de type LDAP, Kerberos,Radius (ou autre !).
(Pour info, j'ai pu configuré une authentification avec un annuaire AD pour la partie admin web sans problème)
Merci d'avance !
Cordialement.
-
ouch :o !
la question est vaste et ça part dans tous les sens ;D
Le point très positif, c'est que ce que tu exprimes, c'est le besoin +++Pour tenter un élément de réflexion (plus que de réponse pour le moment) :
Il y a de grosses différences dans les méthodes authentification que tu décris, avec des avantages et des inconvénients pour chacune d'elles.
Sans partir dans un truc très long et compliqué, je dirais pour, simplifier un peut que:-
Kerberos est très bien sur un LAN ou même un WAN que tu gères complètement mais cela nécessite que les serveurs et les clients soient temporellement alignés (NTP) et que tous fassent partie du même royaume ou, et c'est encore u peu plus compliqué, qu'il y ait des relations de trust en cas de royaumes différents. Et il faut bien sûr que tes applications (et donc tes clients) parlent Kerberos. Mais c'est en terme de sécurité le meilleur choix car le mot de passe ne transite jamais sur le réseau.
-
LDAP est le choix probablement le plus simple car beaucoup (mais attention pas toutes) d’applications parlent LDAP. Attention, le mot de passe est envoyé en clair (base64) donc LDAPS obligatoire. mais ça c'est pour le lien "application <=> LDAP server". Entre le client et l'appli, tunnel obligatoire également (HTTPS ou autre). Comparativement à Kerberos, tu n'es pas à l'abri d'un "rogue server" qui capture ton pwd.
-
Radius c'est, à l’origine, surtout conçu pour des connexions remote. En local, ce n'est, sauf opportunité ponctuelle, souvent pas le meilleur choix.
Pour complexifier un peu le débat (mais ua final, c'est également utile pour converger vers un déploiement à 100%), il faut noter que ces solutions ne sont pas incompatibles entre elles.
Par exemple :- tu peux (et je dirais même tu devrais !) utiliser LDAP comme back-end pour tes comptes users et serveurs Kerberos
- tu peux, grâce à GSSAPI, utiliser ton token Kerberos pour t'authentifier à une application qui ne supporte pas Kerberos mais que LDAP. ça permet de faire du LDAP bind sans les inconvénients de LDAP 8)
Voila pour une introduction à ce monde merveilleux mais complexe de l'authentification ;)
Ce qu'il te faudrait préciser pour avance, c'est quel est le scope de ton projet. Quelles sont les applications concernées ?
Car il faut bien comprendre que quelle que soit la soultion, le réel bénéfice n'est atteint que lorsque toute ton infrastructure est migrée vers la solution retenue. Et ce point est bien plus important que le choix de la technologie. -
-
Hello.
Merci de ton retour.
Je vais tenter de mieux définir mon besoin :
J'ai une flotte de VMs pfSense administrées par une équipe d'admin.
Il est possible de configurer une authentification centralisée pour l'interface d'admin web pfSense.
j'ai configuré une authentification de type AD/LDAPS et ça fonctionne très bien.Je voudrais également mettre en oeuvre une authentification centralisé pour les accès SSH.
Mais là, je n'y arrive pas.
j'ai trouvé des docs sur le net pour monter des authentifications SSH via des mécanisme Kerberos/LDAPS, Kerberos/GSSAPI, ou même Winbind/Samba.Le problème c'est que je n'arrive pas à faire fonctionner ces authentifications.
D'une part par une manque vraisemblable de compétences :), mais aussi par chaque fois, je n'arrive pas à trouver de réelle docs pas à pas pour la plateforme pfSense.
J'ai essayé de m'appuyer sur des docs pour des plateformes Linux, FreeBSD, mais à chaque fois, je me confronte à des problèmes de packages, de dépendances ou de fonctionnement….Une des docs la plus intéressante que j'ai pu trouvé se situe sur le forum pfSense :
https://forum.pfsense.org/index.php?topic=70816.0
Mais là encore, je n'arrive pas à valider l'authentification SSH via une AD.Bref, toute aide sera la bienvenue ! ;)
Merci !
-
Donc, pour reformuler et m'assurer que je comprends bien ton problème, il s'agit de faire fonctionner le SSH de pfSense avec un back-end LDAP.
Je ne vais pas pouvoir t'aider sur l’implémentation "pfSense" (puisque je ne l'ai jamais fait) mais voila comment ça se passe avec, par exemple, Debian (c'est sur le principe assez simple) :
=> il faut installer et configurer pam_ldap et nss_ldap, ce qui permet aux services qui savent bénéficier de pam d'hériter de authentification LDAP.
=> nscd permet d'améliorer les performances mais n'est fonctionnellement pas obligatoire (c'est du cache).
=> il faut bien sûr au niveau du service en question (ici SSH), lui dire que l'authentification s'appuie sur PAMCeci étant clarifier, quand tu dis
Le problème c'est que je n'arrive pas à faire fonctionner ces authentifications.
ce n'est pas très utile pour qu'on puisse t'aider plus.
As-tu un comportement à décrire, un message d'erreur, du log LDAP. Bref, autre chose que "ça ne marche pas" ;) -
Je vais tenter de mieux définir mon besoin
Non, ce qui est décrit est une solution et certainement pas un besoin.
Je manage plusieurs pfSense (non virtualisés) et je n'utilise QUE l'interface web pour les administrer.
Le formulaire, qui est à utiliser pour présenter une situation, aurait largement attiré votre attention sur cette différence besoin/solution.
En l'état, on ne comprend pas la problématique (enfin moi du moins) …
Enfin, la notion d'utilisateurs pfSense est très souvent mal comprise : un utilisateur est d'abord un administrateur.La phrase de Jimp me parait claire :
I haven't heard of anyone getting LDAP to work for SSH logins yet
-
Bonjour.
Désolé de ne pas avoir répondu plus tôt.
Merci à chris4916 d'avoir pris le temps de me répondre.Par contre, je ne comprends pas la réponse de jdh.
Je ne vois absolument pas l'intérêt de me faire reprendre de la sorte et surtout sur ce ton.
Lorsque l'on exprime un besoin, en règle générale, c'est que l'on est à la recherche d'une solution …..
Merci à cette personne de m'aider à utiliser ce forum.
Je ne suis pas certain d'ailleurs qu'elle ai bien appréhender les rappels qui évoquent les notions de politesse et de courtoisie.Je suis ravi que vous contentiez de l'interface web pour l'administration.
L'équipe dont je fais partie à néanmoins régulièrement besoin de se connecter en ligne de commande (besoin de diagnostic, type tcpdump par exemple)Nous avons un nombre conséquent de VM pfSense déployées et le fait d'avoir une authentification centralisée également coté SSH nous simplifierait grandement la gestion des utilisateurs (oups pardon administrateurs devrais-je dire) autorisés à se connecter.
Ce n'est pas parce qu'une personne n'a jamais entendu parler de quelque chose que ce quelque chose est impossible......
C'est d'autant plus amusant que vous vous permettez de citer Einstein ..........Merci.
-
D'abord, je reprends la citation complète :
I haven't heard of anyone getting LDAP to work for SSH logins yet, but I know it works on FreeBSD so it should be possible in theory.
Dans le même fil on peut lire (d'un autre membre)
we are getting close to 100 virtual pfsense firewalls and local user accounts were getting unmanageable.
Il est notable que cet utilisateur indique que cela fonctionne et donne ses notes 'brutes' (pour y arriver). Si vous n'y êtes pas arrivé, nous y sommes pour rien …
Puisque la différence besoin / solution ne vous semble pas claire, je propose 2 écritures :
- Je veux une authentification SSH centralisée
- Je gère X firewall en ligne de commande avec une équipe de Y administrateurs, et je veux identifier chacun de ces administrateurs lors de leur connexion. Je pensais à une authentification SSH centralisée.
A minima, tout le monde peut convenir que la 1 est une solution, et la 2 est un besoin avec une idée de solution.
De plus la 2 a le mérite d'expliquer le contexte. De facto, le lecteur est bien plus à l'aise avec la 2.Je suis certes très loin de cette problématique : équipe d'administrateurs ... Et je ne vois guère quel grand besoin d'administration, il y a avec beaucoup de firewall.
Mais bon, chacun prend les moyens de ses ambitions ...Néanmoins, moi, inscrit depuis septembre 2007, je contribue à répondre, et je peux dire que c'est bien plus facile de le faire quand la question est bien posée, et ... sans reproches inutiles et gratuits.
Alors qu'est ce que vous aurait couté de mettre 2 phrases de plus pour expliquer le contexte ?Je ne suis pas à votre service ...
-
Bon … et bien allons y pour le grand jeu des citations :
Vous dites :
D'abord, je reprends la citation complète
Ce n'est pas moi qui ai cité un morceau incomplet d'une citation ….
Il est notable que cet utilisateur indique que cela fonctionne et donne ses notes 'brutes' (pour y arriver). Si vous n'y êtes pas arrivé, nous y sommes pour rien …
Non, effectivement, et c'est pour ça que je me suis permis de demander de l'aide sur ce forum….
Heureusement que tous ne sont pas aussi agressifs que vous.Mais bon, chacun prend les moyens de ses ambitions …
Là j'ai beau chercher, je ne comprends pas ….. Mais bon, je dois être un peu "trop bas de plafond" !!!
Néanmoins, moi, inscrit depuis septembre 2007, je contribue à répondre, et je peux dire que c'est bien plus facile de le faire quand la question est bien posée, et … sans reproches inutiles et gratuits.
C'est un comble !!! Qui a répondu sur un ton cassant sans la moindre marque de politesse ? Je rêve …..
Je ne suis pas à votre service …
Je ne vous ai pas forcé à répondre !! Surtout pour ce genre de réponse aussi peu productive ….
Par contre, je me suis amusé à regarder un peu vos interventions sur ce forum .... C'est édifiant !
Vous ne répondez pas, vous aboyer.
Vous répondez en prenant les gens de haut, quand vous n'êtes pas insultant !
Ce post a lui tout seul est édifiant :
https://forum.pfsense.org/index.php?topic=109417.msg610172Je ne vois pas l'intérêt de participer à un forum pour des interventions de ce type.
Si vous avez besoin d'un défouloir, allez faire du sport !!!
Et ce n'est pas votre pathétique compteur de réponse qui changera quelque chose....
La qualité importe plus que la quantité. -
Puisque la différence besoin / solution ne vous semble pas claire, je propose 2 écritures :
- Je veux une authentification SSH centralisée
- Je gère X firewall en ligne de commande avec une équipe de Y administrateurs, et je veux identifier chacun de ces administrateurs lors de leur connexion. Je pensais à une authentification SSH centralisée.
A minima, tout le monde peut convenir que la 1 est une solution, et la 2 est un besoin avec une idée de solution.
De plus la 2 a le mérite d'expliquer le contexte. De facto, le lecteur est bien plus à l'aise avec la 2.Et à ça, vous ne répondez rien ?
J'avais juste écrit une ligne sur la différence et c'était assez anodin, factuel et sans agressivité, mais VOUS l'avez mal pris.Alors qu'est ce que vous aurait couté de mettre 2 phrases de plus pour expliquer le contexte ?
Nous attendons votre réponse.
Un problème bien présenté est à moitié résolu, dit-on. Alors que l'inverse provoque toujours de son rédacteur insatisfactionNon seulement, je n'ai pas écrit des choses avec agressivité. (Et pour quelle raison j'aurai agi ainsi pour un newbie qui fait son premier fil dont le problème même mal expliqué est compréhensible, au contraire d'un certain nombre ?)
C'est vous qui ne prenez pas le temps d'écrire un contexte qui aurait permis aux lecteurs d'avoir plus d'informations.
(Et à moi de ne pas poser une remarque de bon sens !)ouch :o !
la question est vaste et ça part dans tous les sens ;D
Le point très positif, c'est que ce que tu exprimes, c'est le besoin +++Ecrit par le toujours très rapide (et provocateur) Chris4916 ('Monsieur 20 minutes'), mais dès la 3ième ligne une confusion (factuelle) …
Il est notable qu'il écrit ici un certain nombre de choses logiques et d'ailleurs dans les notes 'brutes' de celui qui a réussi. J'aurais pu aussi écrire les mêmes choses ... (comme quoi !)
Mais bon, chacun prend les moyens de ses ambitions …
Je vous explique mais c'est clair : vous avez une problématique, vous avez cherché et trouvé un fil, et il correspond exactement, il y a quelqu'un qui a réussi et qui indique comment, vous n'y arrivez pas, JE n'y peux rien, JE ne vais pas tester à votre place, JE ne vais pas regardez dans les logs ce qui ne va pas (ni Chris4916 qui vous l'écrit aussi), JE comprends que vous en soyez malheureux mais est ce une raison pour rejetez sur les autres votre incapacité ?
-
La citation complète de Jimp (plus de 15000 posts, administrateur, un connaisseur complet de tous les usages de pfSense) :
I haven't heard of anyone getting LDAP to work for SSH logins yet, but I know it works on FreeBSD so it should be possible in theory.
Si je n'ai cité, initialement, que la première partie, c'était pour insister sur le côté (très) très peu fréquent de la question.
A l'extrême rigueur, on aurait pu considérer que j'aurais été 'chatouilleur', si j'avais insisté sur la deuxième partie ('I know it works - it should be possible') parce que, en creux, cela insistait sur votre échec à réussir ce que l'autre membre à fait (et malgré ses notes).
Et je n'avais pas voulu que l'on retienne cela. Parce que ce n'est pas ma nature !Mais il y a ce que vous écrivez et ce que les autres croient lire …
-
@jdh:
ouch :o !
la question est vaste et ça part dans tous les sens ;D
Le point très positif, c'est que ce que tu exprimes, c'est le besoin +++Ecrit par le toujours très rapide (et provocateur) Chris4916 ('Monsieur 20 minutes'), mais dès la 3ième ligne une confusion (factuelle) …
Le problème est que tu vois de la provocation de partout :P
Quelle confusion ?
C'est sûr qu'il n'y a pas de formulaire mais au moins c'est synthétique et clair :
Je suis à la recherche de docs, tutos ou autres pour pouvoir paramétrer une authentification SSH centralisée sur pfSense.
Tu as bien sûr le droit de te positionner sur:
"mais c'est inutile !" mais c'est un autre débat ;)@jdh:
Il est notable qu'il écrit ici un certain nombre de choses logiques et d'ailleurs dans les notes 'brutes' de celui qui a réussi.
- Disons que quand on comprend comment NSS et PAM fonctionnent, c'est assez logique et évident, surtout quand on l'a déjà fait :)
Comme diraient nos voisins anglais "it's not rocket science!" mais comme "the devil is in the details", le principe est assez simple et la mise en œuvre parfois compliquée.
@jdh:
J'aurais pu aussi écrire les mêmes choses … (comme quoi !)
Personne n'en doute ;D
Pour en revenir à des choses recentrées sur le sujet :
dans un environnement dans lequel il y a de nombreux composants à administrer, disposer systématiquement d'un système d’administration centralisé est un vrai plus en terme de sécurité. Personne n'en doute n'est-ce pas ? ;)
Dès lors, si le process d'administration s'appuie sur SSH plutôt que sur l'interface web, il n'y a effectivement pas beaucoup d'autres solutions que de s'appuyer sur NSS et PAM.La difficulté dans ton implémentation, c'est que tu as choisi (ou pas :D) AD comme serveur LDAP, ce qui signifie malheureusement un serveur LDAP un peu particulier avec un niveau de log assez peu accessible. Donc difficile de faire un debug efficace.
Si tu le peux, fait tes tests avec un serveur LDAP plus traditionnel et une fois que ça fonctionne, tu pourras passer plus facilement sur AD.
- Disons que quand on comprend comment NSS et PAM fonctionnent, c'est assez logique et évident, surtout quand on l'a déjà fait :)
-
En dehors d'écrire des choses inutiles, vous avez déjà écrit (à très juste titre, et c'était clair et suffisant)
ce n'est pas très utile pour qu'on puisse t'aider plus.
As-tu un comportement à décrire, un message d'erreur, du log LDAP. Bref, autre chose que "ça ne marche pas"Inutile de réécrire la même chose (sous une autre forme) : il y a des pistes, qui sont claires et simples, qui sont basées sur les mêmes mécanismes bien connu de PAM (certes pointilleux mais l'art …), il y a un membre qui l'a fait, bref il est largement possible de le faire ... Au lieu de ça ...
(Je ne comprends pas pourquoi cela n'a pas été jugé 'agressif' !)Je suis en passe de devenir chef d'équipe, et j'ai largement des idées (des solutions) pour aller bien plus loin : permettre à un identifiant de se connecter n'est pas suffisant, encore faut-il savoir ce qu'il a fait ! (parce que c'est bien beau de permettre ...)
Mais je vais me taire puisqu'on m'attribue d'être une truffe ...