Installation und Betrieb von Rudder

Installation und Betrieb von Rudder

Vorwort

Unsere „Freundschaft“ begann vor zwei Jahren. Ich bin an einen neuen Arbeitsplatz gekommen, wo mir der vorherige Administrator diese Software ganz nebenbei als Erbe hinterlassen hat. Außer der offiziellen Dokumentation konnte ich im Internet nichts finden. Auch jetzt noch, wenn man „Ruder“ googelt, findet man in 99 % der Fälle: Schiffsruder und Quadrocopter. Es gelang mir, einen Zugang zu ihm zu finden. Da die Community dieser Software vernachlässigbar ist, habe ich beschlossen, meine Erfahrungen und meinen Gewinn zu teilen. Ich denke, das wird für jemanden nützlich sein.

Also Ruder

Rudder ist ein Open-Source-Dienstprogramm zur Überwachung und Konfigurationsverwaltung, das bei der Automatisierung der Systemkonfiguration hilft. Es funktioniert nach dem Prinzip, für jeden Endbenutzer einen Agenten zu installieren. Über eine praktische Schnittstelle können wir überwachen, inwieweit unsere Infrastruktur allen festgelegten Richtlinien entspricht.

Verwenden

Nachfolgend werde ich auflisten, wofür ich Rudder verwende.

  • Kontrolle von Dateien und Konfigurationen: ./ssh/authorized_keys ; /etc/hosts ; iptables; (und wohin dann deine Fantasie führt)

  • Kontrolle der installierten Pakete: zabbix.agent oder jede andere Software

Serverinstallation

Kürzlich habe ich von Version 5 auf 6.1 aktualisiert, alles hat gut geklappt. Nachfolgend sind die Befehle für Deban/Ubuntu aufgeführt, es gibt jedoch auch Unterstützung: RHEL / CentOS и Schlitten.

Um Sie nicht abzulenken, verstecke ich die Installation in Spoilern.

Spoiler

Abhängigkeiten

Rudder-Server erfordert Java RE mindestens Version 8, kann aus dem Standard-Repository installiert werden:

Überprüfen Sie, ob es installiert ist

java -version

wenn die Schlussfolgerung

-bash: java: command not found

dann installieren

apt install default-jre

Server

Schlüssel importieren

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

Hier ist der Druck selbst

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

Da wir kein kostenpflichtiges Abonnement haben, fügen wir das folgende Repository hinzu

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

Aktualisieren Sie die Liste der Repositorys und installieren Sie den Server

apt update
apt install rudder-server-root

Erstellen Sie einen Benutzeradministrator

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

In Zukunft können wir Benutzer über die Konfiguration verwalten

Das war's, der Server ist bereit.

Server-Tuning

Jetzt müssen Sie die IP-Adressen der Agenten oder eines gesamten Subnetzes zum Ruder-Agenten hinzufügen. Wir konzentrieren uns auf die Sicherheitsrichtlinie.

Einstellungen -> Allgemein

Installation und Betrieb von Rudder

Geben Sie im Feld „Netzwerk hinzufügen“ die Adresse und die Maske im Format xxxx/xx ein. Um den Zugriff von allen Adressen des internen Netzwerks zu ermöglichen (es sei denn, es handelt sich natürlich um ein Testnetzwerk und Sie befinden sich hinter NAT), geben Sie Folgendes ein: 0.0.0.0/0

Wichtig: Vergessen Sie nach dem Hinzufügen der IP-Adresse nicht, auf Änderungen speichern zu klicken, da sonst nichts gespeichert wird.

Ports

Öffnen Sie die folgenden Ports auf dem Server

  • 443 - TCP

  • 5309 – TCP

  • 514 - udp

Wir haben die Ersteinrichtung des Servers geklärt.

Agenteninstallation

Spoiler

Einen Schlüssel hinzufügen

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

Schlüsselfingerabdruck

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

Hinzufügen eines Repositorys

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

Installieren des Agenten

apt update
apt install rudder-agent

Agenten-Setup

Wir geben dem Agenten die IP-Adresse des Richtlinienservers an

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

Durch Ausführen des folgenden Befehls senden wir eine Anfrage zum Hinzufügen eines neuen Agenten zum Server. In ein paar Minuten wird er in der Liste der neuen Agenten angezeigt. Ich werde im nächsten Abschnitt erklären, wie man ihn hinzufügt

rudder agent inventory

Wir können den Agenten auch zum Starten zwingen und er sendet die Anfrage sofort

rudder agent run

Unser Agent ist eingerichtet, los geht's.

Agenten hinzufügen

Anmeldung

https://127.0.0.1/rudder/index.html

Installation und Betrieb von Rudder

Ihr Agent wird im Abschnitt „Neue Knoten akzeptieren“ angezeigt. Aktivieren Sie das Kontrollkästchen und klicken Sie auf „Akzeptieren“.

Installation und Betrieb von Rudder

Es sollte ein wenig dauern, bis das System den Server auf Konformität überprüft

Servergruppen erstellen

Lasst uns eine Gruppe erstellen (das ist immer noch Unterhaltung), keine Ahnung, warum die Entwickler eine so abscheuliche Gruppenbildung vorgenommen haben, aber so wie ich es verstehe, gibt es keinen anderen Weg. Gehen Sie zum Abschnitt Knotenverwaltung -> Gruppen, klicken Sie auf Erstellen und wählen Sie eine statische Gruppe und einen Namen aus.

Installation und Betrieb von Rudder

Wir filtern den benötigten Server nach Besonderheiten, zum Beispiel nach IP-Adresse, und speichern ihn

Installation und Betrieb von Rudder

Die Gruppe ist eingerichtet.

Regeln aufstellen

Gehen Sie zu Konfigurationsrichtlinie → Regeln und erstellen Sie eine neue Regel

Installation und Betrieb von Rudder

Fügen Sie die zuvor vorbereitete Gruppe hinzu (dies kann später erfolgen)

Installation und Betrieb von Rudder

Und wir bilden eine neue Richtlinie

Installation und Betrieb von Rudder

Erstellen wir eine Anweisung zum Hinzufügen öffentlicher Schlüssel zu .ssh/authorized_keys. Ich nutze dies, wenn ein neuer Mitarbeiter ausscheidet, oder zur Rückversicherung, wenn mir zum Beispiel jemand aus Versehen den Schlüssel herausschneidet.

Gehen Sie zu Konfigurationsrichtlinie → Richtlinien. Auf der linken Seite sehen wir „Richtlinienbibliothek“. Suchen Sie nach „Remotezugriff → SSH-autorisierte Schlüssel“ und klicken Sie rechts auf „Anweisung erstellen“.

Wir geben Informationen über den Benutzer ein und fügen seinen Schlüssel hinzu. Wählen Sie als Nächstes die Anwendungsrichtlinie aus

  • Global – Standardrichtlinie

  • Erzwingen – Auf ausgewählten Servern ausführen

  • Audit – Führt ein Audit durch und teilt mit, welche Kunden den Schlüssel haben

Installation und Betrieb von Rudder

Geben Sie unbedingt unsere Regel an

Installation und Betrieb von Rudder

Anschließend speichern und fertig.

Überprüfung

Installation und Betrieb von Rudder

Schlüssel erfolgreich hinzugefügt

Gebäck

Der Agent stellt vollständige Informationen über den Server bereit. Listen der installierten Pakete, Schnittstellen, offenen Ports und vieles mehr, die Sie im Screenshot unten sehen können

Installation und Betrieb von Rudder

Sie können die Software auch nicht nur unter Linux, sondern auch unter Windows installieren und steuern, letzteres habe ich nicht überprüft, es bestand keine Notwendigkeit.

Vom Autor

Sie fragen sich vielleicht: Warum das Rad neu erfinden, wenn Ansible und Puppet schon vor langer Zeit erfunden wurden?

Ich antworte: Ansible hat einige Nachteile, zum Beispiel sehen wir nicht, in welchem ​​Zustand sich diese Konfiguration gerade befindet, oder es kommt die bekannte Situation vor, wenn Sie eine Rolle oder ein Playbook starten und Absturzfehler auftreten und Sie anfangen, auf den Server zu klettern und nachzuschauen Welches Paket wurde wo aktualisiert? Und ich habe einfach nicht mit Puppen gearbeitet.

Hat Rudder irgendwelche Nachteile? Eine Menge. Angefangen bei der Tatsache, dass Agenten herunterfallen und Sie sie neu installieren oder den Ruder-Reset-Befehl verwenden müssen. (Aber das habe ich übrigens in Version 6 noch nicht gesehen), was zu einem äußerst komplexen Setup und einer unlogischen Benutzeroberfläche führt.

Gibt es irgendwelche Vorteile? Und es gibt auch jede Menge Vorteile: Im Gegensatz zum bekannten Ansible verfügen wir über eine Weboberfläche, in der Sie die von uns angewendete Compliance einsehen können. Stehen zum Beispiel die Ports nach außen, wie ist der Zustand der Firewall, sind Sicherheitsagenten installiert oder andere Gadgets?

Diese Software ist perfekt für die Informationssicherheitsabteilung, da Sie den Zustand der Infrastruktur immer vor Augen haben und wenn eine der Regeln rot aufleuchtet, ist dies ein Grund, den Server zu besuchen. Wie gesagt, ich benutze Rudder jetzt seit 2 Jahren und wenn man es ein wenig raucht, wird das Leben besser. Das Schwierigste an einer großen Infrastruktur ist, dass Sie sich nicht erinnern können, in welchem ​​Zustand sich der Server befindet, ob June die Installation von Sicherheitsagenten verpasst hat oder ob er iptables richtig konfiguriert hat, aber Rudder hilft Ihnen dabei, über alle Ereignisse auf dem Laufenden zu bleiben. Bewusst bedeutet bewaffnet! )

PS Es ist viel mehr geworden, als ich geplant hatte. Ich werde nicht beschreiben, wie man Pakete installiert. Wenn plötzlich Anfragen auftreten, werde ich einen zweiten Teil schreiben.

PSS: Der Artikel dient Informationszwecken. Ich habe beschlossen, ihn zu teilen, da es im Internet nur sehr wenige Informationen gibt. Vielleicht ist das für jemanden interessant. Habt einen schönen Tag, liebe Freunde)

Über die Rechte der Werbung

Epische Server - Das VPS unter Linux oder Windows mit leistungsstarken Prozessoren der AMD EPYC-Familie und sehr schnellen Intel NVMe-Laufwerken. Beeilen Sie sich mit der Bestellung!

Installation und Betrieb von Rudder

Source: habr.com

Kommentar hinzufügen