HELIOS Base UB64 Benutzerhandbuch (Version 4.0.0)  
 

10 Autorisierungsserver

Hinweis:

Der HELIOS Autorisierungsserver ist ausschließlich für UNIX-basierte Plattformen verfügbar, das Client-Programm „authutil“ (10.2 „authutil“) für sämtliche Plattformen.

Der Autorisierungsserver stellt als Basisdienst die Autorisierung von Anmeldungen und die Benutzerdaten für sämtliche HELIOS Server und Programme zur Verfügung. In Versionen vor UB haben sich die HELIOS Dienste direkt gegen UNIX-Kennwort- und -Gruppendateien bzw. NIS-Kennwort- und -Gruppendateien autorisiert. Mit der Zeit kamen immer mehr Arten, die Benutzereinstellungen auszulesen hinzu, z. B. Apple Benutzer-/​Gruppenspeicher, LDAP-Datenbanken, Windows PDC (Primary Domain Controller) und AD (Active Directory), Shadow- sowie Kennwortdatei usw. In Umgebungen mit mehreren Servern erlaubt ein Hauptserver, auf dem alle Benutzerdaten gespeichert sind, dass andere Dienste diese Informationen von ihm abrufen. Ein weiterer Vorteil ist, dass sich in solch einem System mehr als die Basisinformationen des Benutzers, die über die einfachen UNIX-Kennwort- und -Gruppeninformationen hinausgehen, ablegen lassen.

Der Autorisierungsserver unterstützt die Benutzereinstellungen und -kennwörter für lokale Host-Benutzer, über NIS, LDAP, Mac OS X Password Server und Windows AD/PDC für sämtliche HELIOS Dienste und Programme. Er unterstützt nebeneinander verschiedene Datenbanken (z. B. lokale UNIX-Benutzer und LDAP-Server) und arbeitet vollständig asynchron, um gleichzeitige Anfragen ohne Wartezeit bearbeiten zu können. Durch die integrierte Ausfallsicherheit des Servers lassen sich Autorisierungsdienste neu starten ohne andere Dienste unterbrechen zu müssen. Ein zentrales Ablegen von Informationen erhöht die Geschwindigkeit von sogenannten Lookups und gewährleistet, dass sämtliche Dienste dieselben Informationen verwenden.

Ziel des Autorisierungsservers ist es, sich gut in die verschiedensten Systeme zu integrieren. Als zentraler Dienst kann der Autorisierungsserver erweitert werden, bleibt dabei aber vollständig kompatibel mit den HELIOS Diensten und -Programmen.

10.1 Autorisierungsserver (Programm)

10.1.1 Unterschiedliche Anforderungen an die Autorisierung

HELIOS unterstützt eine Vielzahl von Diensten, die mit verschiedenen Anmeldemethoden arbeiten:

Damit all diese Anmeldemethoden korrekt funktionieren, mit Kennwörtern bis zu 64 Zeichen, ist es erforderlich, dass ein zusätzliches verschlüsseltes HELIOS Kennwort in der lokalen Benutzerdatenbank bzw. NIS oder LDAP gespeichert ist. Auf einem lokalen System wird dieses verschlüsselte Kennwort in der Benutzerdatei „HELIOSDIR/var/conf/passwd“ gespeichert. HELIOS Produkte ohne dieses zusätzliche Kennwort werden nicht unterstützt und funktionieren folglich auch nicht. Mit dem Client-Programm „authutil“ lassen sich Kennwörter für lokale Host-Benutzer setzen und ändern. Ferner stellt es Crypt-, MD5- sowie HELIOS Kennwörter zum Import in eine LDAP-Datenbank zur Verfügung.

Der Autorisierungsserver arbeitet gegen LDAP und Windows AD/​PDC im Modus Nur Lesen. Es lassen sich nur die Benutzereinstellungen für lokale oder NIS-Benutzer ändern, dafür muss der Server NIS-Master sein. LDAP- sowie Windows AD/PDC-Benutzer werden über ihre eigenen Tools verwaltet.

Folgende Benutzerinformationen erhalten die HELIOS Dienste vom Autorisierungsserver:

Punkt Typ Erläuterung
shortname utf8 str Kurzname des Hosts für den (Host-)Benutzer
uid int32 Primäre Benutzer-ID für diesen Benutzer
gid int32 Primäre Gruppen-ID für diesen Benutzer
add-gids int32 Weitere Gruppenmitgliedschafts-IDs
fullname utf8 str Vollständiger UTF-8 Name („:“ nicht erlaubt)
homedir utf8 str Home-Verzeichnis
shell utf8 str Name der Start-Shell
group names utf8 str Sämtliche Gruppennamen
cryptpwd string Verschlüsseltes Kennwort
heliospwd hex str Verschlüsseltes HELIOS Kennwort

Die oben aufgeführten Informationen sind erforderlich, weitere Angaben können zukünftig bereit gestellt werden. Falls weitere Informationen geprüft werden müssen, z. B. Zeiten, in denen Anmeldungen stattfinden dürfen (siehe auch den Abschnitt 10.1.4 „Benachrichtigungsskript für die Anmeldung“), kann dies durch das Skript „var/​authsrv/​login.pl“ geschehen.

10.1.2 PAM

PAMs (Pluggable Authentication Modules) werden von einigen Betriebssystem unterstützt. Die HELIOS Software benötigt weder PAMs noch nutzt sie welche. Da PAMs nicht auf allen Systemen verfügbar sind und nicht alle benötigten Autorisierungsmethoden unterstützen können (siehe Abschnitt 10.1.1 „Unterschiedliche Anforderungen an die Autorisierung“ oben), unterstützt der Autorisierungsserver keine PAMs. PAMs lassen sich jedoch parallel dazu aktivieren und mit anderen Diensten nutzen.

10.1.3 Telnet-Port des Autorisierungsservers

Die Statistiken des Autorisierungsservers lassen sich über dessen TCP/IP-Port „2008“ an andere Benutzerprogramme weiterleiten. Eine Beschreibung des Programms „socket“ finden Sie übrigens in Kapitel 8.6 „socket“.

hsymInstruction

Geben Sie auf der Kommandozeile socket 2008 ein.

help

Befehlsübersicht anzeigen.

status

Alle registrierten Dienste auflisten (Local, NIS, LDAP, MACOSX, PDC).

users

Benutzerinformationen auflisten (Autorisierung; Anzahl der Referenzen; Benutzer-ID; Benutzername; Vollständiger Name; Zeit im Cache).

groups

Gruppeninformationen auflisten (Autorisierung; Anzahl der Referenzen; Gruppen-ID; Gruppenname; Zeit im Cache).

entities

Informationen von users und groups zusammenfassen.

quit

Beenden.

10.1.4 Benachrichtigungsskript für die Anmeldung

Immer dann, wenn ein Benutzer sich erfolgreich angemeldet hat, d. h. Benutzername und Kennwort sind richtig, ruft der Autorisierungsserver ein eigenes Benachrichtigungsskript mit den Benutzerparametern auf. Das Skript kann folgendermaßen reagieren:

exit 0      Anmeldung fortsetzen 
exit 1      Anmeldung ablehnen 
exit 10     Benutzerkonto deaktivieren
exit 11     Kennwort abgelaufen

Durch ein benutzerdefiniertes Skript lassen sich zusätzliche Parameter, wie beispielsweise die Remote-TCP/IP-Adresse, ermitteln und ggf. prüfen, ob der Benutzer bereits von einer anderen IP-Adresse angemeldet ist die Anmeldung gestatten oder ablehnen. Oder es kann eine LDAP-Datenbank kontaktiert werden, um vor dem Gewähren der Anmeldung weitere Informationen dieses Benutzerkontos zu prüfen. Damit dieses Skript genutzt werden kann, muss es als „var/​authsrv/​login.pl“ abgelegt werden. Dabei ist es unerheblich, um welche Art Programm oder Skript es sich handelt, es muss aber ausführbar sein (z. B. Modus 711) und der Name muss „login.pl“ lauten – auch wenn es sich nicht um ein Perl-Skript handelt. Wir raten zu einem Perl-Skript, um mit unterschiedlichen Plattformen kompatibel zu bleiben. Das folgende einfache Skript protokolliert sämtliche Anmeldeparameter in der Datei „/tmp/logfile“:

#!/usr/bin/perl 
my $logfile = "/tmp/logfile"; 
open(LOGF,">> $logfile") || die "authsrv: cannot open: $logfile $!\n"; 
foreach (@ARGV) { 
  print LOGF $_, "\t"; 
} 
print LOGF "\n"; 
close(LOGF); 
exit 0;

Die Parameter für „login.pl“ sind:

Variable Erläuterung
$ARGV[0] ID des Host-Benutzers
$ARGV[1] Anmeldename des Host-Benutzers
$ARGV[2] Name der Windows-Domain (AD/PDC)
$ARGV[3] PID des Servers, der die Anmeldung beantragt
$ARGV[4] Name des Servers, der die Anmeldung beantragt, z. B. „afpsrv“, „pcshare“,
„websharesrv“
$ARGV[5] TCP/IP-Adresse des Remote-Clients, der die Anmeldung beantragt
$ARGV[6] Autorisierungssystem, das dieses Benutzerkonto (local, NIS, LDAP, PDC)
zur Verfügung stellt
Hinweis:

Damit Änderungen an den Autorisierungseinstellungen gültig werden, erfordert es einen Neustart des Dienstes „authsrv“.

10.1.5 Lokale Host-Benutzer/-Gruppen

In der folgenden Liste sind die auf einem Serverhost (z. B. Oracle Solaris) verwendeten Datenbankdateien von Benutzern und Gruppen aufgelistet. Je nach Betriebssystem wird ein zusätzlicher Shadow wie „/​etc/​passwd“ verwendet. Unter OS X wird die gesamte Benutzer- und Gruppeninformation in der Apple Benutzer-/​Gruppendatenbank gespeichert.

HELIOSDIR/var/conf/passwd # Verschlüsselte HELIOS Kennwortdatei
/etc/passwd # UNIX-Benutzerdatei
/etc/group # UNIX-Gruppendatei
/etc/shadow # Solaris-/Linux-Kennwortdatei
/etc/security/passwd # AIX-Kennwortdatei

Die Option Lokale Authentifizierung verwenden in der Registerkarte Lokal muss aktiviert sein, damit eine lokale Autorisierung möglich ist.

10.1.6 NIS-Benutzer/-Gruppen

Die Option NIS verwenden in der Registerkarte NIS muss aktiviert sein, damit eine Autorisierung über NIS möglich ist. Siehe auch den Abschnitt 10.3 „Konfiguration über NIS“.

10.1.7 LDAP

Informationen zur Konfiguration des Autorisierungsservers für LDAP-Benutzer haben wir für Sie unter: www.helios.de/web/DE/support/ldap.html bereit gestellt. Dort finden Sie Beispielkonfigurationen für OS X Server, OpenLDAP und Univention LDAP-Server.

10.1.8 AD/PDC-Benutzer/-Gruppen

Der Autorisierungsserver unterstützt Windows AD/PDC (Active Directory bzw. Primary Domain Controller) zur Authentifizierung von Benutzern. Der Windows AD/PDC-Server stellt Benutzernamen und Kennwort sowie Informationen zur Primärgruppe und weiteren Gruppen zur Verfügung. Ein Backup AD/PDC-Server kann konfiguriert werden und wird bei Ausfall des Hauptservers automatisch verwendet. Eindeutige Benutzer-IDs werden jedem Benutzernamen automatisch zugewiesen.

Hinweis:

Benutzer und Gruppe müssen derselben Domain angehören. Andernfalls schreibt der betreffende Serverprozess einen Fehler („unable to access user info“) in die Systemmeldungen.

AD/PDC-Benutzervorlage

Das benötigte Home-Verzeichnis wird von einer Benutzervorlage zur Verfügung gestellt. Der tatsächliche Benutzername ersetzt dann im Pfad des Home-Verzeichnisses den Namen der Benutzervorlage.

Ein Home-Verzeichnis für einen PDC-Benutzer anlegen und Berechtigungen setzen (angenommen, dass das Home-Verzeichnis der PDC-Benutzervorlage unterhalb von „/home_pdc“ liegen):

hsymInstruction

Verzeichnis für den PDC-Benutzer „myuser“ anlegen:
# dt mkdir /home_pdc/myuser

hsymInstruction

„myuser“ an den HELIOS Server anmelden lassen und dessen UID:GID-Werte über „authutil“ abrufen:
# authutil user -n myuser

uid: 50337186
gid: 50332161:Domain Users

hsymInstruction

Dann UID:GID mit „dt chown“ setzen:
# dt chown 50337186:50332161 /home_pdc/myuser

hsymInstruction

Falls erforderlich, müssen die Berechtigungen mit Hilfe von „dt chmod“ angepasst werden.

Die Gruppen der Benutzervorlage stehen neben den AD/​PDC-Gruppen zur Verfügung.

Falls der AD/​PDC-Server keine Primärgruppe zur Verfügung stellt, wird die Primärgruppe der Benutzervorlage verwendet. Aus Gründen der Kompatibilität, erhalten die Benutzer früherer Installationen, z. B. HELIOS UB+, ihre Primärgruppe immer von der Benutzervorlage (siehe Abschnitt 10.1.9 „Migration von UB+).

Unterstützte AD/PDCServer

Windows Server 2008, 2012

Sind lokale UNIX-Benutzer und AD/PDC-Benutzer gleichzeitig angemeldet, muss die Reihenfolge der Authentifizierung in der Präferenz NameServices zuerst local und dann AD/PDC sein.

Damit sich der Autorisierungsserver an einen AD/PDC-Server verbinden kann, ist es erforderlich, einen Benutzer auf dem AD/PDC-Server einzurichten. Dieser Benutzername sowie das Kennwort müssen in den Einstellungen des Autorisierungsservers (Abb. 10.1) angegeben sein. Die Zugangsdaten können die eines beliebigen Benutzers sein, der auf dem AD/PDC-Server existiert, es werden keine administrativen Rechte verlangt.

Verschachtelte Gruppen

Verschachtelte Gruppen werden unterstützt. Jede Mitgliedschaft von Gruppen in anderen Gruppen wird aufgelöst, sodass den AD/PDC-Benutzern die Gesamtliste aller Gruppen zur Verfügung steht.

Anforderungen

Für eine PDC-Autorisierung muss der Dienst „HELIOS PDC Logon“ (siehe Abschnitt 10.1.10 „Am HELIOS PDC anmelden“) auf dem Windows-Host installiert sein, der als PDC für die HELIOS Installation dienen soll. Dabei muss dieser Host kein Primary Domain Controller oder Backup Domain Controller sein; jeder beliebige Windows-Host innerhalb der gewünschten Domain kann verwendet werden.

AD/PDC einrichten
hsymInstruction

Legen Sie einen Benutzer mit Kennwort auf dem Windows AD/PDC-Server an.

Hinweis:

Vergewissern Sie sich, dass die Benutzer- und Gruppennamen in allen spezifizierten Namensdienst eindeutig sind. Denn wenn beispielsweise ein Benutzer- oder Gruppenname bereits lokal existiert, sollte er nicht auch als NIS, LDAP oder AD/PDC existieren.

Vervollständigen Sie die AD/PDC-Einstellungen in HELIOS Admin (Abb. 10.1):

<code>AD/PDC</code> einrichten in HELIOS Admin

Abb. 10.1: AD/PDC einrichten in HELIOS Admin

hsymInstruction

Aktivieren Sie in der Registerkarte AD/PDC die Option AD/PDC verwenden.

hsymInstruction

Geben Sie den Primärserver über seine TCP/IP-Adresse oder den DNS-Namen an.

hsymInstruction

Geben Sie Login-Name und Kennwort an, die der Autorisierungsserver für die Verbindung zum AD/PDC-Server nutzen soll.

hsymInstruction

Geben Sie im Feld Lokale Benutzervorlage einen bestehenden lokalen UNIX-Benutzer als Vorlage ein.

hsymInstruction

Sichern Sie die Einstellungen.

hsymInstruction

Starten Sie den Autorisierungsserver neu:

# srvutil stop -f authsrv 
# srvutil start authsrv

Jetzt sollten sämtliche HELIOS Dienste mit den AD/PDC-Benutzerkonten funktionieren. Dies lässt sich mit einer Testanmeldung über das HELIOS Tool „authutil“ (siehe Kapitel 10.2 „authutil“) überprüfen:

# authutil login -n username -p password

Wenn die Anmeldung über „authutil“ fehlerfrei funktioniert, kann die Windows AD/PDC-Autorisierung von allen HELIOS Diensten genutzt werden.

10.1.9 Migration von UB+

Wenn Sie noch die ältere Methode der PDC-Autorisierung (“helauthcreate.exe”) aus der Zeit vor UB2 verwenden, sollten Sie auf die neue Methode umstellen. Lesen Sie dazu das Kapitel „Migration from UB+“ im HELIOS Base UB2 Benutzerhandbuch.

10.1.10 Am HELIOS PDC anmelden

Hinweis:

Wenn Sie einen PDC bis Windows 2003 verwenden, muss die Software HELIOS PDC Logon auf einem anderen Domainmitglied ab Windows 2008 laufen.

HELIOS PDC Logon wird durch Ausführen des Programms „setup.exe“, welches Sie im Volume „HELIOS Applications“ unter „Windows\​AuthServer Tools\​HELIOS PDC Logon“ finden, als Windows-Dienst installiert.

Nach der Installation lässt sich dieser Dienst mit dem Windows-Dienstprogramm „Dienste“ stoppen bzw. starten. Alternativ können Sie dazu den Befehl
net start heliospdclogon bzw. net stop heliospdclogon verwenden.

Hinweis:

Der TCP-Port 2030 muss für den Dienst „HELIOS PDC Logon“ geöffnet sein.

Gruppenaufnahme und -ausschluss

Unter Windows können die Benutzer einer Domain Mitglieder vieler Gruppen sein. Im Gegensatz dazu erlauben manche UNIX-Varianten lediglich eine sehr begrenzte Anzahl von Gruppenmitgliedschaften pro Benutzer. Bekannte Einschränkungen sind:

Betriebssystem Gruppen Kommentar
Solaris 8-11 16 Kann auf max. 32 geändert werden
(1024 seit Solaris 10 8/11, 11.1)
AIX 5.3-7 128 2048 seit AIX 7.1
Linux ab Kernel 2.6 65536
OS X 10.6-10.12 16
Windows Server 2008-2012 1024

Auf UNIX-Systemen lässt sich mit folgendem Befehl die tatsächliche Begrenzung abfragen:
# getconf NGROUPS_MAX

Um diese Einschränkungen zu überwinden, kann HELIOS PDC Logon dem „authsrv“ lediglich einen Teil der Gruppen, in denen PDC-Benutzer Mitglied sind, übermitteln.

Beim Start versucht HELIOS PDC Logon die beiden Dateien „group-include.txt“ und „group-exclude.txt“ einzulesen. Diese Dateien liegen im Installationsverzeichnis von HELIOS PDC Logon, d. h. unter „C:\​Program Files\​HELIOS PDC Logon“ bei einer Standardinstallation.

Wie der Name schon vermuten lässt, sind in „group-include.txt“ die erlaubten Gruppennamen verzeichnet, d. h. jede PDC-Gruppe, die nicht in dieser Datei aufgeführt ist, wird ignoriert. Analog dazu werden in der Datei „group-exclude.txt“ die Gruppennamen aufgeführt, die ignoriert werden sollen, d. h. Gruppennamen, die hier nicht aufgeführt sind, werden erlaubt. Die Liste der ignorierten Gruppen wiegt höher als die Liste der erlaubten Gruppen, d. h. ein in beiden Dateien verzeichneter Gruppenname wird dennoch ausgefiltert.

Dateiformat der Gruppendateien

Die Gruppendateien müssen UTF-8 kodiert sein und müssen mit der Zeile: # heliospdclogon filter file beginnen. Pro Zeile darf eine Gruppe stehen.

Hinweis:

Der Dienst „HELIOS PDC Logon“ muss neu gestartet werden, wenn der Inhalt der Gruppendateien geändert wurde.

Kommandozeilenoptionen

Das Dienstprogramm „heliospdclogon.exe“ lässt sich auch von einer Kommandozeile starten.

Usage:

heliospdclogon [-hvisp] [install|remove|dumpgroups] 
-h

Hilfetext anzeigen.

-v

Ausführlichere Ausgabe.

-i

Gruppen in nicht unterstützten Domains ignorieren.

-s

Gruppen durch -i (ohne Warnung) ignorieren.

-p <port>

Auf diesem Port Verbindungen annehmen.

heliospdclogon install

Registriert „heliospdclogon“ als Windows-Dienst.

heliospdclogon remove

Entfernt „heliospdclogon“ als Windows-Dienst.

heliospdclogon dumpgroups

Gibt die lokalen und Domaingruppen aus, die „heliospdclogon“ dem „authsrv“ mitteilen würde. Lässt sich als Vorlage für Listen zum Filtern von Gruppen nutzen. Gruppennamen müssen UTF-8 kodiert sein.

Beispiel 1:
# cd "C:\Program Files\HELIOS PDC Logon"
# heliospdclogon dumpgroups >group-include.txt

Dieser Befehl schreibt die gesamte Gruppenliste mit dem benötigten Header für eine Filterliste von Gruppen in die Datei „group-include.txt“.

Beispiel 2:
# cd "C:\Program Files\HELIOS PDC Logon"
# heliospdclogon remove
# heliospdclogon -i -s install

Mit diesen Befehlen wird der Windows-Dienst entfernt und mit den Optionen -i sowie -s erneut registriert, um nicht unterstützte Domains still zu ignorieren.

Zuordnen von Windows SIDs zu IDs von UNIX-Benutzer und -Gruppen

Windows verwendet SIDs (Security Identifiers) zur Identifikation von Benutzern und Gruppen. HELIOS PDC Logon verwendet eine konstante Verknüpfung von SIDs mit IDs von UNIX-Benutzern und Gruppen:

10.1.11 RSA-Verschlüsselung des HELIOS-Kennworts

Der HELIOS UB64 Autorisierungsserver muss auf sämtliche Kennwörter zur Anmeldungsautorisierung an verschiedenen Diensten (z. B. AFP, SMB, Web) zugreifen können. Dabei benötigen die verschiedenen Dienste eventuell unterschiedliche Verschlüsselungsalgorithmen für die Autorisierung (MD5, RSA, NTLM, DHX128 usw.). Zur Unterstützung all dieser unterschiedlichen Methoden muss das verschlüsselte Kennwort mit dem in „HELIOSDIR/​var/​conf/​passwd“ abgelegten Benutzerkennwort verglichen werden. Damit niemand die Kennworteinträge lesen kann, sind sämtliche Kennwörter verschlüsselt und können nur vom Autorisierungsserver geprüft werden.

Mit Hilfe der Option „rsainit“ lässt sich die Kennwortverschlüsselung von der HELIOS Standardverschlüsselung auf RSA ändern. Dabei wird ein zufälliger RSA-Key „passwd.key“ erzeugt und alle Kennwörter mit HELIOS Standardverschlüsselung werden in RSA-verschlüsselte Kennwörter gewandelt. Wir raten Ihnen dringend zur RSA-Verschlüsselung von Kennwörtern, die folgende Vorteile aufweist:

Hinweis:

Wenn der RSA-Key „passwd.key“ fehlt, können sich Anwender nicht mehr an die HELIOS Dienste anmelden und es gibt auch keine Wiederherstellungsoption. Die einzige Möglichkeit besteht darin, zunächst alle Kennwörter zurückzusetzen und dann den Befehl „rsainit“ zum Erstellen eines neuen privaten RSA-Keys aufzurufen.

Die private RSA-Keydatei „passwd.key“ ist kein Bestandteil der automatischen Sicherung der Konfiguration (siehe Abschnitt 4.9.1 „Automatische Sicherung der Konfiguration“).

Die neuen RSA-basierten HELIOS Kennwörter haben weder auf Active Directory (AD/PDC) noch auf OS X Server Open Directory Einfluss, da diese ihre eigene Methode zum Speichern von Kennwörtern und deren Autorisierung haben. Um HELIOS RSA-Kennwörter auf einem NIS-Server nutzen zu können, muss HELIOS UB64 mit aktiviertem RSA (Option „rsainit“) auf dem NIS-Server installiert sein. Wird HELIOS mit einem normalen LDAP-Server verwendet, muss das HELIOS-Kennwort in das entsprechende Feld der LDAP-Konfiguration (HeliosPassword) eingetragen sein. Das Tool zur Verwaltung von LDAP-Benutzern muss das RSA-verschlüsselte HELIOS-Kennwort in diesem Feld speichern. Zu diesem Zweck lässt sich das RSA-Kennwort mit dem Programm „authutil“ ausgeben. Der Abschnitt 10.2.7 „rsainit“ erläutert die Möglichkeiten zur Umwandlung von RSA-verschlüsselten Kennwörtern. Abschnitt 10.2.8 „Beispiele für die Migration des RSA-Kennworts“ zeigt anhand verschiedener Beispiele, wie sich RSA-Kennwörter aktivieren lassen.

Hinweis:

Technisch gesehen enthält die Keydatei „passwd.key“ nur den Anwenderteil des Kennworts. Sie allein genügt nicht zum Entschlüsseln kodierter Kennwörter.

10.1.12 Support

SE004 Autorisierungsserver-Supportvereinbarung

Eine Autorisierungsumgebung kann recht komplex sein und manchmal wünschen sich unsere Kunden direkten Support von HELIOS was die Planung, Konfiguration, Problemanalyse und Integration des HELIOS Autorisierungsservers in bestehende NIS-, LDAP- und AD/PDC-Installationen betrifft. Aus diesem Grund bieten wir eine technische Supportvereinbarung (SE004) über Ihren HELIOS Partner an.

Legen Sie der Bestellung das vom Kunden unterzeichnetes Formular „SE004.pdf“ bei.

10.2 authutil

„authutil“ ist ein Tool zum Testen der Konfiguration von Benutzern und Gruppen sowie der Verwaltung von Kennwörtern. Sie können Benutzer- und Gruppeneinträge ansehen, Anmeldedaten überprüfen oder Kennwörter für lokale Host-Benutzer setzen und ändern. Das Tool kann Kennwörter für AFP-Volumes oder MD5-Kennwörter für virtuelle WebShare Benutzer erzeugen (siehe WebShare Benutzerhandbuch). Darüber hinaus erlaubt es die Ausgabe von UNIX- oder HELIOS-verschlüsselten Kennwörtern für den späteren Import in eine LDAP-Datenbank. „authutil“ wurde für den Einsatz in Skripten oder Stapelverarbeitungen, z. B. dem Anlegen von Kennwörtern für lokale Host-Benutzer entwickelt.

Folgende Befehle können mit „authutil“ aufgerufen werden:

authutil { user | group | guest | login | passwd | batch | rsainit } ...
authutil -h       (for general help)
authutil <cmd> -h (for help on the command <cmd>)

10.2.1 user

Benutzerinformationen anzeigen. Es muss entweder der Name oder die ID des Benutzers angegeben werden.

Verwendung:

authutil user [-n <name>] [-i <uid>] [-r] [-q] [-t <timeout>]

Folgende Optionen stehen zur Verfügung:

-n <name>

Benutzername

-i <uid>

Benutzer-ID

-r

Aktualisierung der Benutzerdaten erzwingen statt Informationen aus dem Cache zu verwenden.

-q <quiet>

Keine Ausgabe, falls der Benutzer nicht existiert. Nur den Exit-Status zurückliefern.

-t <timeout>

Timeout (in Sekunden) bis zur Vollendung der Anfrage.

Beispiel 1:

Informationen über einen lokalen Benutzer anfragen:

$ authutil user -n demouser 
        user: demouser 
         uid: 500 
         gid: 503:demouser 
   long name: Example Demo User 
last refresh: Tue Feb 20 11:32:59 2007 
      origin: local UNIX (*) 
     homedir: /Users/demouser 
      groups: demouser:503, QueueAdm:502
Hinweis:

Die Zeile origin: enthält die verwendete Autorisierungsmethode. Das kann entweder “local UNIX”, “NIS/YP”, “LDAP” oder “PDC” sein.

10.2.2 group

Gruppeninformationen anzeigen. Es muss entweder der Name oder die ID der Gruppe angegeben werden.

Verwendung:

authutil group [-n <name>] [-i <gid>] [-r] [-q] [-t <timeout>]

Folgende Optionen stehen zur Verfügung:

-n <name>

Gruppenname

-i <gid>

Gruppen-ID

-r

Aktualisierung der Gruppendaten erzwingen statt Informationen aus dem Cache zu verwenden.

-q <quiet>

Keine Ausgabe, falls die Gruppe nicht existiert. Nur den Exit-Status setzen.

-t <timeout>

Timeout (in Sekunden) bis zur Vollendung der Anfrage.

10.2.3 guest

Gastbenutzer anzeigen.

Verwendung:

authutil guest [-q] [-t <timeout>]

Folgende Optionen stehen zur Verfügung:

-q <quiet>

Keine Ausgabe, falls der Benutzer nicht existiert. Nur den Exit-Status setzen

-t <timeout>

Timeout (in Sekunden) bis zur Vollendung der Anfrage.

10.2.4 login

Benutzerkennwort prüfen.

Verwendung:

authutil login -n <name> -p <passwd> [-s] [-q] [-t <timeout>]
               [-m <method>] [-d <domain>]
authutil login -N

Folgende Optionen stehen zur Verfügung:

-n <name>

Benutzername

-p <passwd>

Benutzerkennwort

-s

Benutzerinformationen anzeigen, falls die Anmeldung erfolgreich war.

-q <quiet>

Keine Ausgabe, falls das Kennwort falsch war. Nur den Exit-Status anzeigen.

-t <timeout>

Timeout (in Sekunden) bis zur Vollendung der Anfrage.

-m <method>

Kennwort vor Übermittlung zum Autorisierungsserver. verschlüsseln. Mögliche Verschlüsselungsarten sind: RSA, LM, NTLM, NTLMv2, HELPDC

-d <domain>

AD/PDC-Domainname

-N

CIFS/SMB-Challenge ausgeben.

10.2.5 passwd

HELIOS Kennwort und UNIX-Kennwort unter UNIX setzen. Unter Windows nur das HELIOS Kennwort setzen, aber prüfen, ob das angegebene Kennwort zu einer erfolgreichen Anmeldung führt.

Verwendung:

authutil passwd [name]
authutil passwd [-n <name>] [-o <oldpasswd>] [-p <passwd>]
                [-qCHMX] [-t <timeout>] [-m <method>]

Folgende Optionen stehen zur Verfügung:

-n <name>

Benutzername

-o <oldpasswd>

Altes Kennwort

-p <newpasswd>

Neues Kennwort

-q <quiet>

Keine Ausgabe, falls die Änderung des Kennworts fehlgeschlagen ist. Nur den Exit-Status ausgeben.

-C

Verschlüsseltes UNIX-Kennwort (crypt) ausgeben.

-H

Verschlüsseltes HELIOS Kennwort ausgeben.

Hinweis:

Vor der Umwandlung auf die RSA-Verschlüsselung wird das HELIOS Kennwort im alten Format ausgegeben, nach der Umwandlung im RSA-Format.

-M

MD5-Kodierungsverfahren des Kennworts ausgeben.

-X

Kennwort nicht ändern (wird mit der Option -C, -H oder -M aufgerufen).
Um diese Option ausführen zu können, müssen Sie root sein!

-m <method>

Kennwörter vor Übermittlung zum Autorisierungsserver. verschlüsseln. Die mögliche Verschlüsselung ist RSA.

-t <timeout>

Timeout (in Sekunden) bis zur Vollendung der Anfrage.

Wenn Sie die Optionen -C, -H und -M kombinieren, wird das Ergebnis in der Reihenfolge crypt, HELIOS, MD5 angezeigt.

Hinweis:

„root“ kann Kennwörter auch ohne Kenntnis des alten Kennworts setzen:

authutil passwd -n username -p newpassword
Beispiele:

MD5-Kennwort für virtuelle WebShare-Benutzer ausgeben:

$ authutil passwd -M -X -p WSpassword

HELIOS „hex“-verschlüsseltes Kennwort ausgeben:

$ authutil passwd -H -X -p newpassword

UNIX „crypt“-Kennwort ausgeben:

$ authutil passwd -C -X -p newpassword

Die Optionen -M, -H und -C lassen sich auch kombinieren, z. B.:

$ authutil passwd -C -H -M -X -p 123

Der Modus -X ist hilfreich, wenn Kennwörter in ein anderes System importiert werden sollen, z. B. in eine LDAP-Datenbank.

Hinweis:

Das MD5-Kennwort muss in die Benutzerdatei „var/​conf/​webshare.passwd“ eingefügt werden. Es ist viel einfacher, Kennwörter beispielsweise in WebShare über das Menü Benutzer verwalten einzugeben.

Gegenwärtig lässt sich ein Kennwort nur für lokale UNIX-Benutzer oder NIS-Benutzer auf einem NIS-Masterserver setzen. AD/PDC-Benutzer müssen ihre Kennwortänderungen mit den dafür vorgesehenen AD/PDC-Programmen vornehmen.

Wird das HELIOS Kennwort mit „authutil“ unter Windows gesetzt, ändert sich lediglich die Datei „HELIOSDIR\​var\​conf\​passwd“. Das Windows-Kennwort wird auf diese Weise NICHT geändert. Dies ist beispielsweise für virtuelle WebShare-Benutzer erforderlich oder falls ein Benutzer für Script Server Skripte oder Tool Server Tools angegeben wird.

10.2.6 batch

Befehle aus der Datei <batchfile> lesen. Falls <batchfile> „-“ ist, werden die Befehle von „stdin“ gelesen. Wenn ein Befehl fehlschlägt, macht „authutil“ mit dem nächsten Befehl aus der Datei <batchfile> weiter, es sei denn, die Option -e wurde angegeben.

Verwendung:

authutil batch [-e] <batchfile>

Folgende Optionen stehen zur Verfügung:

-e

Sofort beenden, wenn ein Befehl fehlschlägt.

Beispiel:
$ authutil batch cmd.txt

Der Exit-Code von „authutil“ ist im Erfolgsfall immer 0 bzw. ≠0 bei fehlgeschlagenen Aktionen.

10.2.7 rsainit

Alle bestehenden HELIOS-Kennwörter in das hochsichere Public-Key-Verschlüsselungsverfahren RSA umwandeln.

Sowohl „authsrv“ als auch „authutil“ prüfen beim Start, ob die Keydatei „passwd.key“ vorhanden ist (siehe 6.6.1 „HELIOSDIR/var/conf“) und verwenden sie für die RSA-Verschlüsselung von HELIOS Kennwörtern. Existiert diese Keydatei nicht, wird zwar ein Fehler in die Systemmeldungen geschrieben, der Autorisierungsserver startet jedoch normal (und bleibt so mit der alten Kennwortverschlüsselung kompatibel).

Wichtig:

Vor der Umwandlung müssen sämtliche HELIOS Dienste beendet werden!

Die Eingabe des Befehls authutil rsainit erzeugt einen RSA-Key und wandelt mit Hilfe dieses Keys sämtliche Einträge in der Datei „passwd“ in das neue RSA-Format um. Jeder Eintrag, der die RSA-Verschlüsselung verwendet, erhält das Präfix „rsa_“, z. B.:
demouser:rsa_33e4a5c037a533685c96db3b8a218c1312caa4a1f963...

Bei jedem weiteren Aufruf des Befehls authutil rsainit wird der zuvor erzeugte Key verwendet, wobei nur „alte“ Einträge gewandelt werden. Für die erste Umwandlung kann der Benutzer auch einen zuvor erzeugten Key in „passwd.key“ verwenden.

Der Befehl „authutil rsainit“ erlaubt es Ihnen auch, bereits RSA-verschlüsselte Kennwörter mit einem neuen RSA-Key neu zu kodieren. Beim Aufruf von authutil rsainit -O wird dann der alte Key („passwd.key“) zum Entschlüsseln aller existierenden Einträge verwendet, die dann mit dem neuen Key verschlüsselt werden. Abschließend speichert „authutil“ eine neue „passwd.key“-Datei und Anwender können ihr bestehendes Kennwort zur Autorisierung nutzen.

Mit „authutil“ lassen sich nur lokale Einträge umwandeln. Für RSA-Einträge von NIS-Benutzern müssen alle Kennwörter zuerst auf dem NIS-Masterserver konvertiert werden, indem die umgewandelte Datei in das entsprechende NIS-Verzeichnis und anschließend der RSA-Key „passwd.key“ auf jeden einzelnen NIS-Slave kopiert wird, auf dem auch alle lokalen Benutzer mit „authutil“ und demselben Key umgewandelt werden.

Die RSA-Keydatei wird nur benötigt, wenn die HELIOS Dienste („authsrv“) gestartet werden. Der Zugriff auf diese Datei kann – wenn dies aus Sicherheitsgründen erwünscht ist – unterbunden werden, sobald alle HELIOS Dienste laufen. Dies lässt sich beispielsweise durch einen symbolischen Link auf einen gemounteten USB-Stick oder jedes andere externe Speichermedium, auf dem die Keydatei gespeichert ist, bewerkstelligen.

Verwendung:

authutil rsainit [-O] [-b <bits>]

Folgende Optionen stehen zur Verfügung:

-O

Einen neuen RSA-Key erzeugen und bestehende Einträge neu kodieren.

Hinweis:

Falls Sie einen symbolischen Link von „passwd.key“ auf den tatsächlichen Speicherort Ihrer Keydatei angelegt haben, müssen Sie diesen Link neu erstellen, da er durch die neue Keydatei „passwd.key“ überschrieben wurde.

-b <bits>

Anzahl der Bits für den RSA-Key. Mögliche Werte sind 1024, 2048 und 4096. Die Vorgabe ist 1024.

10.2.8 Beispiele für die Migration des RSA-Kennworts

Dieser Abschnitt erläutert die Befehle zur Aktivierung von RSA-Kennwörtern für verschiedene Umgebungen.

a) Einzelner Server mit lokalen Host-Benutzern

# stop-helios now
# authutil rsainit
# start-helios

Mit diesem Befehl wird die Datei „var/conf/passwd.key“ angelegt und die Einträge in „var/conv/passwd“ werden in RSA-verschlüsselte Kennwörter umgewandelt.

b) Mehrere Server mit lokalen Host-Benutzern

Falls der Anwender eine einzelne „passwd.key“-Datei, die auf all seinen Servern genutzt werden soll, bevorzugt, ist die Vorgehensweise:

hsymInstruction

Geben Sie auf dem ersten Server folgende Befehle ein:

# stop-helios now
# authutil rsainit
# start-helios
hsymInstruction

Übertragen Sie nun die Datei „var/conf/passwd.key“ auf alle weiteren Server. Geben Sie dann auf diesen Servern folgende Befehle ein:

# stop-helios now
# authutil rsainit
# start-helios

c) RSA-Key auf einem Server mit lokalen Host-Benutzern neu anlegen

Auch wenn der Server bereits RSA-verschlüsselte Kennwörter verwenden sollte, kann es aus Sicherheitsgründen erforderlich sein, einen neuen RSA-Key zu erstellen und bereits bestehende Kennwörter mit dem neuen Key zu verschlüsseln. Dieses Vorgehen bietet sich an, falls der RSA-Key entwendet wurde und ab sofort ein komplett anderer Key verwendet werden soll.

# stop-helios now
# authutil rsainit -O
# start-helios

Mit diesem Befehl wird ein neuer Key erzeugt und alle Kennwörter mit Hilfe der alten sowie der neuen Keydatei umgewandelt. Als Ergebnis erhalten Sie die neue Keydatei „passwd.key“ (welche die alte Keydatei überschreibt) mit deren Hilfe sämtliche Kennwörter verschlüsselt werden.

d) Alle Kennwörter mit Hilfe einer vordefinierten RSA-Keydatei neu erstellen

Dies ist ein Sonderfall von b), bei dem weitere Server einen vorhandenen RSA-Key mit Hilfe eines neuen RSA-Keys zur Umwandlung bestehender RSA-Kennwörter in neue Kennwörter verwenden sollen.

# stop-helios now
# cp my-new-key-file var/conf/passwd.key.new
# authutil rsainit -O
# mv var/conf/passwd.key.new var/conf/passwd.key
# start-helios

Dadurch werden sämtliche Kennwörter mit Hilfe der Datei „passwd.key“ für vorhandene Kennwörter umgewandelt und mit dem neuen RSA-Key „passwd.key.new“ neu kodiert. Zusätzlich wird die Datei „var/conf/passwd“ mit den neuen verschlüsselten Kennwörtern aktualisiert. Abschließend muss die neue Keydatei in die Standard-Keydatei von Hand umbenannt werden.

10.3 Konfiguration über NIS

Der Autorisierungsserver wurde dahingehend entwickelt, UNIX NIS (Network Information Service) zu unterstützen. Dieses System kann in einem Netzwerk mehrerer UNIX-Hosts Benutzer- und Gruppennamen, Kennwörter sowie weitere Konfigurationsdetails zentral auf dem NIS-Master-Host (früher „Yellow Pages“ genannt) ablegen. Dies vereinfacht die Einrichtung neuer Benutzer erheblich, insbesondere, wenn diese Zugriff auf mehr als einen Host benötigen. Beachten Sie bitte, dass die Daten der Benutzerkonfiguration unter NIS ausschließlich auf dem Master-NIS-Host gesichert sind. Sie können diese nur dann über HELIOS Admin bearbeiten, wenn der HELIOS Host auch der NIS-Master-Host ist und nicht einer der NIS-Slaves.

Sie können die NIS-Kennwort- und -Gruppendateien zur Einrichtung von NIS-Benutzern mit den üblichen UNIX NIS-Tools in konventioneller Weise bearbeiten. Wir möchten Sie jedoch daran erinnern, dass, wenn der HELIOS Host der Master-NIS-Host ist, die Einrichtung von NIS-Benutzern und -Gruppen über HELIOS Admin viel einfacher ist als mit den üblichen UNIX-Tools. Mit HELIOS Admin lassen sich sowohl HELIOS Benutzer als auch normale UNIX-Benutzer einrichten.

Die Benutzerdatei „HELIOSDIR/var/conf/passwd“ lässt sich auch mit dem NIS-System verwenden, wenn auf dem Master-Host eine zweite Kennwortdatei („afppasswd“) eingerichtet wird, die die Namen aller Benutzer auf dem Master-Host und ihrer verbundenen NIS-Slaves enthält. Diese zusätzliche Kennwortdatei liegt im selben Verzeichnis wie die NIS-Kennwort- und -Gruppendateien, z. B.: „/var/yp/afppasswd“.

Die Benutzerdatei „HELIOSDIR/var/conf/passwd“ eines jeden Hosts im NIS-System (Master und Slaves) lässt sich an der Stelle, an der NIS-Benutzer und -Gruppe eingebunden sein sollten, optional um eine Zeile, die nur aus einem „+:“ besteht, erweitern. Das ist für gewöhnlich die Zeile direkt nach dem Eintrag für „root“ und den Systembenutzern, wodurch gewährleistet ist, dass eine Anmeldung an den Host auch dann noch möglich ist, wenn die Netzwerkverbindung zum Master-NIS ausgefallen ist:

root:rsa_6c81d86b8876d75e87ecba9cead8a605022903bc3e7f9c2413c89h70rtnz...
+:

Während der Installation wird auch das Skript „HELIOSDIR/etc/ypMakefile“ angelegt, welches die erforderlichen Änderungen für die HELIOS Benutzerdatei unter NIS enthält. Geben Sie die gruppen- und kennwortrelevanten Daten gemäß „HELIOSDIR/etc/​ypMakefile“ in die Datei „/​var/​yp/​Makefile“ ein.

Hinweis:

Damit eine reibungslose Funktion der NIS-Administration gewährleistet ist, sollten Sie über fundierte Kenntnisse in der Bearbeitung solcher Dateien verfügen.

Wird das NIS-System verwendet, startet der HELIOS Administrationsserver bei jeder Änderung an Benutzern oder Gruppen automatisch „HELIOSDIR/​sbin/​yp-update“, um die NIS-Dateien zu aktualisieren.

10.3.1 Konfiguration von HELIOS Diensten auf einem NIS-Master

Die HELIOS Dienste unterstützen NIS. Für die Konfiguration auf einem NIS-Master bedarf es allerdings einer peniblen Einrichtung. Dieser Abschnitt beschreibt die erfoderlichen Schritte für die Einrichtung von NIS mit HELIOS Diensten. NIS kann mit oder ohne separate „passwd“- und „group“-Dateien eingerichtet werden. In beiden Fällen ist eine zusätzliche NIS-Map zum Ablegen der HELIOS Kennwörter erforderlich.

Falls Ihr YP-Verzeichnis nicht „/var/yp“ ist, geben Sie mit Hilfe der Präferenz ypdir das von Ihnen gewünschte Verzeichnis an.

NIS-Konfiguration mit separaten „passwd“-/​„group“-Dateien

Mit dieser Konfiguration enthält das YP-Verzeichnis separate Dateien („passwd“ und „group“), die für die NIS „passwd“- und „group“-Maps genutzt werden. Dies bedeutet, dass sich die NIS-Benutzer und -Gruppen von den lokalen Host-Benutzern und -Gruppen in „/etc/passwd“ und „/etc/group“ unterscheiden.

Konfiguration der zusätzlichen NIS-Map „afppasswd“:

hsymInstruction

Bearbeiten Sie „/var/yp/Makefile“ und fügen Sie Regeln für die „afppasswd“-Map hinzu. In der Datei „HELIOSDIR/etc/ypMakefile“ finden Sie ein Beispiel für ein Makefile.

hsymInstruction

Führen Sie ein „touch“ auf die Datei „/var/yp/afppasswd“ aus um eine anfänglich leere Map anzulegen.

hsymInstruction

Führen Sie ein „make“ im Verzeichnis „/var/yp“ aus, starten Sie NIS neu und danach die HELIOS Dienste.

Alle Änderungen an Benutzern bzw. Gruppen auf dem NIS-Master-Server, die in HELIOS Admin vorgenommen wurden, werden in „/var/yp/passwd“, „/var/yp/group“ und „/var/yp/afppasswd“ gespeichert.

NIS-Konfiguration ohne separate „passwd“-/​„group“-Dateien

Hier verwendet NIS die Dateien „/etc/passwd“ und „/etc/group“ zum Mappen von „passwd“- und „group“. Dies bedeutet, dass sämtliche Benutzer und Gruppen auf dem Host auch NIS-Benutzer bzw. Gruppen im Netzwerk sind.

Konfiguration der zusätzlichen NIS-Map „afppasswd“:

hsymInstruction

Bearbeiten Sie „/var/yp/Makefile“ und fügen Sie die Regeln zum Mappen von „afppasswd“ hinzu. In der Datei „HELIOSDIR/etc/ypMakefile“ finden Sie ein Beispiel für ein Makefile. Ersetzen Sie im Makefile „$(DIR)/afppasswd“ durch „HELIOSDIR/var/conf/passwd“, wobei Sie HELIOSDIR durch Ihren HELIOS Installationspfad ersetzen müssen.

hsymInstruction

Setzen Sie die Präferenz ypmapdir auf „/etc“:

prefvalue -k Programs/authsrv/ypmapdir -t str "/etc"
hsymInstruction

Führen Sie ein „make“ im Verzeichnis „/var/yp“ aus, starten Sie NIS neu und danach die HELIOS Dienste.

Alle Änderungen an Benutzern bzw. Gruppen auf dem NIS-Master-Server, die in HELIOS Admin vorgenommen wurden, werden in „/etc/passwd“, „/etc/group“ und „HELIOSDIR/var/conf/passwd“ gespeichert.

NIS überprüfen
hsymInstruction

Überprüfen Sie die NIS-Einträge auf Ihre Richtigkeit:

ypcat passwd 
ypcat group 
ypcat afppasswd

Wenn Sie den Befehl authutil login -n nisuser -p password -s eingeben, sollten Sie statt einer Fehlermeldung einen Benutzereintrag angezeigt bekommen:

        user: nisuser 
         uid: 124 
         gid: 30:helios 
   long name: HELIOS Software Support 
last refresh: Fri Oct 26 15:30:43 2014 
      origin: NIS/YP (*) 
     homedir: /home/nisuser 
      groups: helios:30, usr:100

Beachten Sie bitte, dass unter „origin“ ein NIS-Benutzer angezeigt wird.


HELIOS Website © 2015 HELIOS Software GmbH  
HELIOS Handbücher 6. Februar 2019