Mit ausführlichen Workshops und Tipps unserer Autoren aus der Praxis sichern Sie Netzwerke und Server gegen Angriffe ab. ADMIN erklärt, wie man den eigenen ... (mehr)

Spacewalk Setup

Im nächsten Schritt installieren Sie den Spacewalk-Server. Hierzu müssen Sie wie oben beschrieben das Spacewalk-Repository einbinden. Unter »/etc/yum.repos.d/« sollte sich die Datei »spacewalk.repo« befinden, die auf das richtige Repository verweist. Die Installation stößt der folgendem Befehl an:

yum install spacewalk-oracle

Da dieses Paket von allen anderen Spacewalk-Paketen abhängig ist, lädt der Paketmanager diese automatisch herunter und installiert sie im nächsten Schritt. Die Konfiguration der Anwendung erfolgt dann mit dem Setup-Tool entweder interaktiv oder über eine Antwort-Datei ( Listing 4 ).

Listing 4

Antwort-Datei

admin-email = root@localhost
ssl-set-org = Tuxgeek Org
ssl-set-org-unit = Tuxgeek OU
ssl-set-city = Essen
ssl-set-state = NRW
ssl-set-country = DE
ssl-password = spacewalk
ssl-set-email = root@localhost
ssl-config-sslvhost = Y
db-backend=oracle
db-user=spacewalk
db-password=spacewalk
db-sid=xe
db-host=localhost
db-port=1521
db-protocol=TCP
enable-tftp=Y

Die Datei ist dem Setup-Tool wie folgt zu übergeben:

spacewalk-setup --disconnected ↩
--answer-file=Antwortdatei

Die Konfiguration kann einige Zeit in Anspruch nehmen, da nun auch die Datenbank-Tabellen eingerichtet werden. Das Setup-Tool startet abschließend alle notwendigen Dienste. Ein manueller Neustart ist über das Tool »/usr/sbin/rhn-satellite« möglich. Um das System zu konfigurieren, rufen Sie das Spacewalk-Webinterface über die URL http://spacewalk.server.tld auf. Neben Kontaktinformationen können Sie dort beispielsweise auch das Passwort für den Spacewalk-Administrator setzen.

Software Channel

Im nächsten Schritt richten Sie den ersten Software-Kanal für die Client-Systeme ein. Bei deren Registrierung müssen Sie genau einen Basis-Kanal für das System angeben, aus dem es die Betriebssystem-Pakete und deren Updates bezieht. Natürlich lassen sich zu diesen Basis-Kanälen weitere Sub-Kanäle einrichten, die sich ebenfalls den Clients zuordnen lassen. Über diese Sub-Kanäle können Sie weitere RPM-Pakete auf die Systeme verteilen. Dies können selbst gebaute Pakete oder RPMs aus anderen Repostories sein. Software-Kanäle richten Sie am einfachsten über das Webinterface ein ( »Channels | Manage Software Channels | Create« , Abbildung 1 ). Dank der Spacewalk-API besteht auch die Möglichkeit, diese Aufgabe über ein Skript zu erledigen. Ein beispielhaftes Python-Skript finden Sie unter [8] . Dieses lässt sich dann wie folgt aufrufen:

create_channel.py --label=fedora-12-i386↩
 --name "Fedora 12 32-bit" --summary "32-bit↩
 Fedora 12 channel"
Abbildung 1: Ein Software-Kanal ist am einfachsten über das grafische Webinterface einzurichten.

Im Skript geben Sie den Fully-Qualified-Domain-Name (FQDN) des Spacewalk-Servers sowie einen Benutzer-Account zum Erzeugen der Kanäle an, beispielsweise den soeben erzeugten Spacewalk-Administrator. Unter dem Users-Tab haben Sie auch die Möglichkeit, weitere Benutzer mit bestimmten Rechten einzurichten ( Abbildung 2 ). Über das Webinterface sollte der so eingerichtete Kanal jetzt unter dem Tab »Channels« sichtbar sein, bislang noch ohne Software-Pakete. Diese lassen sich nun auf mehrere Arten auf den Server uploaden. Welche Methode Sie wählen hängt davon ab, ob die Pakete bereits lokal vorliegen, beispielsweise auf einer DVD, oder Sie ein entferntes Yum-Repository mit dem Spacewalk-Server abgleichen wollen. Für den ersten Fall existiert das Tool »rhnpush« . Der Aufruf sieht wie folgt aus:

rhnpush -v --channel=fedora-13-i386 ↩
--server=http://localhost/APP --dir=↩/Pfad/zu/den/Paketen
Abbildung 2: In der Benutzerverwaltung können Sie den einzelnen Benutzern unterschiedliche Rechte auf dem Spacewalk-Server zuweisen.

Für die Synchronisation mit einem entfernten Software-Repository geben Sie im Webinterface unter den Eigenschaften des Software-Kanals ( »Channels | Manage Software Channels | Fedora 12 32-bit« ) einfach die URL zum entfernten Repository an. Die Synchronisation kann dabei natürlich einige Zeit in Anspruch nehmen. Als Kommandozeilen Werkzeug sei hier »spacewalk-repo-sync« erwähnt, das entfernte Software-Pakete eines Yum-Repositories auf den eigenen Spacewalk-Server lädt. Um den Server aktuell zu halten, können Sie das unter [9] aufgeführte Skript regelmäßig über den Cron-Dienst aufrufen lassen. Es überprüft die konfigurierten Software-Quellen und lädt neue Pakete automatisch herunter. Somit ist ein manueller Abgleich nicht mehr notwendig.

Sub-Kanäle lassen sich im übrigen ebenfalls auf die hier beschriebene Methode einrichten. Hier noch der Hinweis, dass selbst erzeugte RPM-Pakete zwingend mit einer digitalen Signatur zu versehen sind. Sowohl der Spacewalk-Server wie auch die Client-Anwendung Yum verweigern in der Standard-Einstellung die Zusammenarbeit mit nicht signierten Paketen. Diese Funktion lässt sich zwar deaktivieren, aus Sicherheitsgründen sollten Sie eigene Pakete jedoch immer mit einer Signatur versehen. Hierfür dient der Befehl »rpm --resign RPM-Paket « . Die RPM-Anwendung setzt hierfür einen entsprechenden GPG-Schlüssel voraus. Die Datei »~/.rpmmacros« gibt dabei Auskunft über Name und Speicherort der Schlüssels ( Listing 5 ).

Listing 5

GPG-Konfiguration für RPM

cat .rpmmacros
%_signature gpg
%_gpg_name Thorsten Scherf <tscherf@redhat.com>

Damit Client-Systeme die mit diesem Schlüssel signierten Pakete auch verifizieren können, sollten Sie den öffentlichen Teil auf dem Spacewalk-Server ablegen. Am besten im Verzeichnis »/var/www/html/pub« , worauf jeder Client zugreifen kein. Der folgende Befehl exportiert den öffentlichen Schlüssel aus dem GPG-Schlüsselbund:

gpg --armor --export tscherf@redhat.com↩
 > /var/www/html/pub/rpm-gpg-key

Damit vorhandere Client-Systeme auf die soeben hochgeladenen Software-Pakete zugreifen können, müssen Sie sie zuerst auf dem Spacewalk-Server registrieren. Hierzu ist zuerst das Spacewalk-Client-Repository-RPM auf den betroffenen Clients zu installieren. Für Fedora-12-Systeme findet sich das passende RPM unter [10] , für RHEL5 oder CentOS5 unter [11] . Auf RHEL- und CentOS-Systemen ist es außerdem notwendig, das RPM für das EPEL-Repository (Enterprise Packages for Enterprise Linux) einzuspielen, da sich sonst Abhängigkeiten der Client-Tools unter Umständen nicht auflösen lassen. Der folgende Befehl installiert die entsprechende Yum-Datei für ein 32-Bit-Fedora-12-System:

rpm -Uvh http://spacewalk.redhat.com/↩
yum/1.0/Fedora/12/i386/spacewalk-client-repo↩
-1.0-2.fc12.noarch.rpm

Im Anschluss installieren Sie mittels Yum die Client-Tools:

yum install rhn-client-tools rhn-check ↩
rhn-setup rhnsd m2crypto yum-rhn-plugin

Damit Sie das System nun auf dem Server registrieren können, rufen Sie im einfachsten Fall die Anwendung »rhnreg_ks« auf. Sie benötigt einen sogenannten Registrierungsschlüssel, den Sie im Vorfeld auf dem Spacewalk-Server erzeugen müssen ( »Systems | Activation Key | Create Key« ). Bei Erzeugen des Schlüssels können Sie diverse Ressourcen an diesen binden, beispielsweise den soeben erzeugten Fedora-12-Software-Kanal oder auch Konfigurations-Kanäle, sofern vorhanden ( Abbildung 3 ). Auch System-Gruppen lassen sich diesem Schlüssel zuweisen. Alle Systeme, die diesen Schlüssel zur Registrierung verwenden, erhalten somit Zugriff auf die Ressourcen. Den generierten Schlüssel geben Sie dann bei der Registrierung einfach mit an:

rhnreg_ks --serverUrl=http://spacewalk.↩
server.tld/XMLRPC --activationkey=key
Abbildung 3: An den Registrierungsschlüssel lassen sich diverse Ressourcen binden. Alle Systeme die diesen Schlüssel verwenden, erhalten Zugriff auf die Ressourcen.

Hat alles geklappt, erscheint das System in der Weboberfläche des Servers unter dem Reiter »Systems« . Unter den Eigenschaften des Systems sollten Sie nun auch den konfigurierten Software-Kanal sehen. Ob der Zugriff hierauf wie gewünscht funktioniert, testen Sie im einfachsten Fall durch die Installation eines Paketes aus diesem Kanal. Sollte dies nicht funktionieren, so ist eine mögliche Fehlerquelle, dass das Client-System nicht das passende CA-Zertifikat des Spacewalk-Servers verwendet. Dieses liegt auf dem Server unterhalb von http://spacewalk.server.tld/pub/ und ist auf dem Client unterhalb von »/usr/share/rhn« zu speichern. Aus der Datei »/etc/sysconfig/rhn/up2date« verweisen Sie dann auf dieses Zertifikat. Hier ist auch der Name des Spacewalk-Servers einzutragen. Diese Schritte müssen Sie nur auf bereits installierten Systemen durchführen. Systeme die Sie über den Spacewalk-Server neu installieren, werden automatisch als Teil der Installation auf dem Server angemeldet und können somit sofort auf ihn zugreifen ( Abbildung 4 ).

Abbildung 4: Nach erfolgreicher Registrierung erscheint das System in der Weboberfläche des Spacewalk-Servers.

Artikel als PDF herunterladen

Linux-Systeme mit Satellite verwalten 800,66 kB
comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023