User story #1174

User story #6363: Secure agent/server communication

It is impossible to use Rudder in an environment without a complete DNS infrastructure

Added by François ARMAND over 4 years ago. Updated about 1 month ago.

Status:DiscussionStart date:2011-03-30
Priority:1Due date:
Assignee:François ARMAND% Done:

0%

Category:Web - Config management
Target version:Ideas (not version specific)
Pull Request:

Description

The title is provocative, but the problem is as follows:

A Rudder server is configured with a hostname = to "$(hostname --fqdn)", which is H-RUDDER.
The update IP of the promises for this server is 192.168.42.42.

We run rudder-init with the following answers:
  • Allowed networks: 192.168.0.0/16

Then:

  1. /etc/hosts must contain:
    -----
    192.168.42.42 H-RUDDER
    -----
  1. For every node added to the server (first inventory accepted), we need to add the right IP for the node hostname we see, in /etc/hosts.
  1. If the node changes its IP address (DHCP?), it can no longer update properly

Also, why not #1, it can be part of a normal configuration, but #2 and #3 are really bothering constraints. I understant the reason (cf-serverd access ACLs are done with hostnames, it is an IP trying to connect, we need to link them), but it means we can't configure Rudder properly.

If I did install Rudder wrong, I accept to run the procedure again.

If there are simple workarounds, we should document them.

On the long term, we need to thing about a solution that would take in account IP and hostnames for update authorizations (but I have no idea that do not end in security issues)

History

#1 Updated by Jonathan CLARKE over 4 years ago

  • Category set to 14
  • Status changed from New to Discussion
  • Priority changed from N/A to 1

François ARMAND a écrit:

Pour 1/ encore, pourquoi pas, ca peut faire partie d'une configuration normale.
Mais pour 2 (et donc 3), c'est vraiment trop contraignant. Je pense comprendre la raison (les politiques d'autorisation dans cf-serverd.cf sont faites avec les hostnames, c'est une IP qui tente de se connecter, il faut bien faire le lien), mais cela implique qu'on ne peut pas tester facilement Rudder.

Si j'ai mal fait une partie de l'installation, je veux bien refaire en modifiant ma procédure.

S'il y a des contournement simples, il faudrait les donner dans la documentation utilisateur.

Non, et non. Tu as certainement bien fait, mais je n'ai jamais utilisé un environnement sans DNS complet (ce serait sale :p). En revanche, je constate le même problème dans un use case plus courant sur de la prod : mon noeud N1 se connecte via une IP VPN, dont l'IP != host(N1). Sa connexion est donc refusée.

Je propose d'ajouter un warning dans la doc utilisateur, recommandant d'avoir soit une bonne config DNS, soit un /etc/hosts contenant les IP/noms utilisés. Et hop, une idée de PT en plus !

A plus long terme, il faudrait réfléchir à une solution qui prendrait en compte à la fois les IP et les hostnames pour les autorisations de mise-à-jour (mais comme ca, je n'ai pas d'idées qui ne débouchent pas sur un trou de sécu).

En quoi considères-tu, par exemple, qu'autoriser la connexion par toutes les IP du noeud tel que repértoriées par l'inventaire est un trou de sécu ?

#2 Updated by Nicolas CHARLES over 4 years ago

Jonathan CLARKE a écrit:

A plus long terme, il faudrait réfléchir à une solution qui prendrait en compte à la fois les IP et les hostnames pour les autorisations de mise-à-jour (mais comme ca, je n'ai pas d'idées qui ne débouchent pas sur un trou de sécu).

En quoi considères-tu, par exemple, qu'autoriser la connexion par toutes les IP du noeud tel que repértoriées par l'inventaire est un trou de sécu ?

Intéressante. Mais dans le cas d'un firewall ou d'un VPN, les IP dans l'inventaire ne seront probablement pas celles qui seront vues par le serveur Rudder.

#3 Updated by Jonathan CLARKE about 4 years ago

  • Target version changed from 9 to Ideas (2.3 specific)

#4 Updated by Jonathan CLARKE almost 4 years ago

  • Target version changed from Ideas (2.3 specific) to 19

#5 Updated by Jonathan CLARKE almost 4 years ago

  • Target version changed from 19 to 21

#6 Updated by Jonathan CLARKE almost 4 years ago

  • Target version changed from 21 to 23

#7 Updated by Jonathan CLARKE over 3 years ago

  • Target version changed from 23 to Ideas (2.5 specific)

#9 Updated by Jonathan CLARKE about 3 years ago

  • Target version changed from Ideas (2.5 specific) to Ideas (not version specific)

#10 Updated by Benoît PECCATTE 4 months ago

  • Category changed from 14 to Web - Config management

#11 Updated by Matthieu CERDA 4 months ago

  • Subject changed from Impossible d'utiliser Rudder sans un environnement DNS complet to It is impossible to use Rudder in an environment without a complete DNS infrastructure
  • Description updated (diff)
  • Assignee set to François ARMAND
  • Parent task set to #6363
  • Reproduced set to No

I feel that this has already been, at least, partly solved. Can you update the ticket François if you agree ? Thanks :)

#12 Updated by Benoît PECCATTE about 1 month ago

  • Tracker changed from Bug to User story

Also available in: Atom PDF