Installation et fonctionnement de Rudder

Installation et fonctionnement de Rudder

Avant-propos

Notre « amitié » a commencé il y a deux ans. Je suis arrivé sur un nouveau lieu de travail, où l'administrateur précédent m'a laissé ce logiciel en héritage. Je n'ai rien trouvé sur Internet autre que la documentation officielle. Même maintenant, si vous recherchez « gouvernail » sur Google, dans 99 % des cas, vous obtiendrez : des gouvernails de navire et des quadricoptères. J'ai réussi à trouver une approche avec lui. La communauté de ce logiciel étant négligeable, j'ai décidé de partager mon expérience et mon râteau. Je pense que cela sera utile à quelqu'un.

Alors gouvernail

Rudder est un utilitaire open source d'audit et de gestion de configuration qui permet d'automatiser la configuration du système. Il fonctionne sur le principe de l'installation d'un agent pour chaque utilisateur final. Grâce à une interface pratique, nous pouvons surveiller dans quelle mesure notre infrastructure est conforme à toutes les politiques spécifiées.

l'utilisation de

Ci-dessous, je vais énumérer pourquoi j'utilise Rudder.

  • Contrôle des fichiers et des configurations : ./ssh/authorized_keys ; /etc/hosts ; iptables ; (et puis là où mène votre imagination)

  • Contrôle des packages installés : zabbix.agent ou tout autre logiciel

Installation du serveur

Récemment j'ai mis à jour de la version 5 à 6.1, tout s'est bien passé. Vous trouverez ci-dessous les commandes pour Deban/Ubuntu mais il existe également un support : RHEL / CentOS и sles.

Je vais cacher l'installation dans les spoilers pour ne pas vous distraire.

Becquet

Dépendances

rudder-server nécessite Java RE au moins la version 8, peut être installé à partir du référentiel standard :

Vérifier s'il est installé

java -version

si la conclusion

-bash: java: command not found

puis installez

apt install default-jre

Serveur

Importer la clé

wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -

Voici l'impression elle-même

pub  4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
      Key fingerprint = 7C16 9817 7904 212D D58C  B4D1 9322 C330 474A 19E8

Comme nous n'avons pas d'abonnement payant, nous ajoutons le référentiel suivant

echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list

Mettre à jour la liste des référentiels et installer le serveur

apt update
apt install rudder-server-root

Créer un utilisateur administrateur

rudder server create-user -u admin -p "Ваш Пароль"

À l'avenir, nous pourrons gérer les utilisateurs via la configuration

Ça y est, le serveur est prêt.

Réglage du serveur

Vous devez maintenant ajouter les adresses IP des agents ou un sous-réseau entier à l'agent rudder, nous nous concentrons sur la politique de sécurité.

Paramètres -> Général

Installation et fonctionnement de Rudder

Dans le champ « Ajouter un réseau », saisissez l'adresse et le masque au format xxxx/xx. Afin de permettre l'accès depuis toutes les adresses du réseau interne (À moins bien sûr qu'il s'agisse d'un réseau de test et que vous soyez derrière NAT) saisissez : 0.0.0.0/0

Important - après avoir ajouté l'adresse IP, n'oubliez pas de cliquer sur Enregistrer les modifications, sinon rien ne sera enregistré.

Ports

Ouvrez les ports suivants sur le serveur

  • 443 - tcp

  • 5309 - tcp

  • 514 - UDP

Nous avons réglé la configuration initiale du serveur.

Installation des agents

Becquet

Ajouter une clé

wget --quiet -O- "https://repository.rudder.io/apt/rudder_apt_key.pub" | sudo apt-key add -

Empreinte digitale de clé

pub  4096R/474A19E8 2011-12-15 Rudder Project (release key) <[email protected]>
      Key fingerprint = 7C16 9817 7904 212D D58C  B4D1 9322 C330 474A 19E8

Ajout d'un référentiel

echo "deb http://repository.rudder.io/apt/6.1/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/rudder.list

Installation de l'agent

apt update
apt install rudder-agent

Configuration des agents

Nous indiquons à l'agent l'adresse IP du serveur de politique

rudder agent policy-server <rudder server ip or hostname> #Без скобок. Можно также использовать доменное имя 

En exécutant la commande suivante, nous enverrons une demande pour ajouter un nouvel agent au serveur, dans quelques minutes il apparaîtra dans la liste des nouveaux agents, j'expliquerai comment l'ajouter dans la section suivante

rudder agent inventory

Nous pouvons également forcer l'agent à démarrer et il enverra la demande instantanément

rudder agent run

Notre agent est installé, passons à autre chose.

Ajout d'agents

Se connecter

https://127.0.0.1/rudder/index.html

Installation et fonctionnement de Rudder

Votre agent apparaîtra dans la section « Accepter les nouveaux nœuds », cochez la case et cliquez sur Accepter

Installation et fonctionnement de Rudder

Cela devrait prendre un peu de temps jusqu'à ce que le système vérifie la conformité du serveur.

Création de groupes de serveurs

Créons un groupe (cela reste du divertissement), je ne sais pas pourquoi les développeurs ont créé un groupe aussi odieux, mais si je comprends bien, il n'y a pas d'autre moyen. Accédez à la section Gestion des nœuds -> Groupes et cliquez sur Créer, sélectionnez un groupe statique et un nom.

Installation et fonctionnement de Rudder

Nous filtrons le serveur dont nous avons besoin par fonctionnalités spéciales, par exemple par adresse IP, et enregistrons

Installation et fonctionnement de Rudder

Le groupe est constitué.

Mise en place de règles

Accédez à Politique de configuration → Règles et créez une nouvelle règle

Installation et fonctionnement de Rudder

Ajoutez le groupe préparé plus tôt (cela peut être fait plus tard)

Installation et fonctionnement de Rudder

Et nous formons une nouvelle directive

Installation et fonctionnement de Rudder

Créons une directive pour ajouter des clés publiques à .ssh/authorized_keys. Je l'utilise lors du départ d'un nouvel employé, ou pour la réassurance, par exemple, si quelqu'un coupe accidentellement ma clé.

Allez dans Politique de configuration → Directives, à gauche, nous voyons « Bibliothèque de directives ». Recherchez « Accès à distance → Clés autorisées SSH », à droite, cliquez sur Créer une directive.

Nous saisissons les informations sur l'utilisateur et ajoutons sa clé. Ensuite, sélectionnez la politique d'application

  • Global – Politique par défaut

  • Appliquer - Exécuter sur les serveurs sélectionnés

  • Audit - Effectuera un audit et indiquera quels clients ont la clé

Installation et fonctionnement de Rudder

Assurez-vous d'indiquer notre règle

Installation et fonctionnement de Rudder

Ensuite, enregistrez et vous avez terminé.

Chèque

Installation et fonctionnement de Rudder

Clé ajoutée avec succès

Petits pains

L'agent fournit des informations complètes sur le serveur. Listes des packages installés, des interfaces, des ports ouverts et bien plus encore, que vous pouvez voir dans la capture d'écran ci-dessous

Installation et fonctionnement de Rudder

Vous pouvez également installer et contrôler le logiciel non seulement sous Linux mais aussi sous Windows, je n'ai pas vérifié ce dernier, ce n'était pas nécessaire.

De l'auteur

Vous vous demandez peut-être pourquoi réinventer la roue si ansible et puppet ont déjà été inventés il y a longtemps ?

Je réponds : Ansible présente certains inconvénients, par exemple, nous ne voyons pas dans quel état se trouve cette configuration actuellement, ou la situation familière lorsque vous lancez un rôle ou un playbook et que des erreurs de crash apparaissent, et vous commencez à monter sur le serveur et à voir quel paquet a été mis à jour où. Et je n’ai tout simplement pas travaillé avec Puppet.

Y a-t-il des inconvénients à Rudder ? Beaucoup... A partir du fait que les agents tombent et qu'il faut les réinstaller ou utiliser la commande rudder reset. (mais d'ailleurs, je n'ai pas encore vu cela dans la version 6), ce qui entraîne une configuration extrêmement complexe et une interface illogique.

Y a-t-il des avantages ? Et les avantages sont également nombreux : contrairement au célèbre Ansible, nous disposons d'une interface Web dans laquelle vous pouvez voir la conformité que nous avons appliquée. Par exemple, les ports dépassent-ils du monde, quel est l'état du pare-feu, des agents de sécurité sont-ils installés ou d'autres gadgets.

Ce logiciel est parfait pour le service de sécurité de l'information, car l'état de l'infrastructure sera toujours sous vos yeux, et si l'une des règles s'allume en rouge, c'est une raison pour visiter le serveur. Comme je l’ai dit, j’utilise Rudder depuis 2 ans maintenant, et si vous en fumez un peu, la vie s’améliore. Le plus difficile dans une grande infrastructure est que vous ne vous souvenez pas de l'état dans lequel se trouve le serveur, si June a manqué l'installation des agents de sécurité ou s'il a correctement configuré iptables, mais le gouvernail vous aidera à vous tenir au courant de tous les événements. Conscient signifie armé ! )

PS Cela s'est avéré bien plus que prévu, je ne décrirai pas comment installer des packages, si du coup il y a des demandes, j'écrirai une deuxième partie.

PSS L'article est à titre informatif, j'ai décidé de le partager car il y a très peu d'informations sur Internet. Peut-être que cela intéressera quelqu'un. Bonne journée, chers amis)

Comme la publicité

Serveurs épiques - Est VPS sous Linux ou Windows avec de puissants processeurs de la famille AMD EPYC et des disques Intel NVMe très rapides. Dépêchez-vous de commander !

Installation et fonctionnement de Rudder

Source: habr.com

Ajouter un commentaire