Kerberos wird verwendet, um Benutzer über ein nicht sicheres Netzwerk zu authentifizieren . Um dies zu tun , muss der Server und der Client einen gemeinsamen Schlüssel , der zum Verschlüsseln und Entschlüsseln von Passwörtern. Die Verteilung der Schlüssel wird von einem Master Key Distribution Center ( KDC ) durchgeführt . Die Redundanz wird in das System , indem Sie einen oder mehrere Slave-KDCs gebaut . Konfigurieren des Master-
Bevor Sie Kerberos einrichten auf Ihrem System beginnen, sollten Sie wissen, den Namen Ihres Kerberos , den Hostnamen des Master -und Slave- Key Distribution Centers ( KDC ) und wie Sie zu gehen Karte Ihre Hostnamen in der Kerberos-Realm . Sie müssen die Ports, die die KDCs und die Zugriff auf die Datenbank ( kadmin ) Dienste verwenden, fest. Sie müssen auch wissen, wie häufig die Master-und Slave- KDC wird die Datenbank zu füllen.
Sie die oben genannten Informationen benutzen, um die Master-KDC konfigurieren. Die Master- KDC Konfigurationsdateien unter "/etc/krb5.conf " und "/usr/local/var/krb5kdc/kdc.conf " gefunden werden und kann in einem beliebigen Texteditor bearbeitet werden. Die " krb5.conf " -Datei enthält Informationen darüber, wo die KDC -und Admin- Server sowie den Host-Namen -Mapping Informationen zu finden. Die " kdc.conf " -Datei enthält die Standard-Informationen , die beim Absetzen Kerberos-Tickets . Öffnen Sie den " /etc/krb5.conf " und bearbeiten Sie die "login ", " Reiche " und " domain_realm " Werte so , dass sie richtig für Ihr System . Ändern Sie den " /usr/local/var/krb5kdc/kdc.conf ", so dass es die richtigen Informationen für Ihre KDC-Server spiegelt .
Der nächste Schritt ist , um die Datenbank zu erstellen. Öffnen Sie ein Terminal und geben Sie den Befehl " kdb5_util . " Sie werden aufgefordert, einen Master-Schlüssel zur Verfügung zu stellen . Dies sollte eine Zeichenfolge aus Buchstaben , Zahlen und Sonderzeichen ähnlich einem Passwort sein. Dieser Schlüssel wird in einem Stash-Datei auf der Festplatte des KDC gespeichert werden. Wenn Sie lieber nach dem Schlüssel gefragt werden, wenn Kerberos beginnt , können Sie wählen, um nicht den Stash-Datei .
Schließlich finden Sie die Access Control List ( ACL) erstellen und mindestens einen Administrator , um es . Die ACL ist ein Benutzer erstellt Textdatei, die heißt " /usr/local/var/krb5kdc/kadm5.acl . " Diese Datei sollte der Administrator in Form aufgelistet: Kerberos_principal Berechtigungen [ target_principal ] [ Einschränkungen ] Sobald der ACL-Liste erstellt wird , geben Sie den Befehl " kadmin.local " und fügen Sie jeden Auftraggeber in der Datenbank. Starten Sie die Kerberos -Dämonen mit dem Befehl " /usr/local/sbin/krb5kdc ; . /Usr /local /sbin /kadmin "
Erstellen Sie die Chiffrierschlüsseldatei
Chiffrierschlüsseldatei wird zum Entschlüsseln der Kerberos-Tickets verwendet und festzustellen, ob der Benutzer Zugriff auf die Datenbank haben . Um diese Datei zu erstellen , geben Sie den Befehl " kadmin.local " wieder . Dadurch werden Sie mit einer Eingabeaufforderung geben , wo Sie den Befehl eingeben: " ktadd -k /usr/local/var/krb5kdc/kadm5.keytab kadmin /admin kadmin /changepw ", um die Chiffrierschlüsseldatei erstellen. Ersetzen Sie den Abschnitt " /usr/local/var/krb5kdc/kadm5.keytab " mit dem keytab Lage , die in der " /usr/local/var/krb5kdc/kdc.conf "-Datei angegeben wurde. Geben Sie " quit" , um die " kadmin " Dienstprogramm zu beenden .
Konfigurieren des Slave-KDCs
Um die Slave- KDC erstellen, müssen Sie den Befehl " kadmin . local " -Befehl ein drittes Mal . An der Eingabeaufforderung geben Sie den Befehl " addprinc - randkey host /example.com" für den Master und jedem Slave . Verwenden Sie den Hostnamen jedes KDC anstelle von " example.conf . " Dies wird Host-Schlüssel für jede der KDC erstellen. Anschließend entpacken Sie die Tasten auf jeder der Slave- KDC , indem Sie den " kadmin " Dienstprogramm auf jedem der Sklaven und den Befehl " ktadd host /MasterKDC.com . " Ersetzen Sie " MasterKDC.com " mit dem Host-Namen des Master-KDC .
Für die Datenbank vom Master an die Slave- KDC KDC müssen Sie eine Datei namens " /usr /local /var schaffen wird propagiert werden /krb5kdc/kpropd.acl . " Diese Datei muss die Prinzipien für jede der KDC enthalten in der Form " host /example.com . " . Jeder Auftraggeber in einer eigenen Zeile platziert werden soll
nächstes bearbeiten Sie die Datei "/etc /inetd.conf "-Datei auf jedem der KDCS und fügen Sie die folgenden Zeilen : krb5_prop stream tcp nowait root /usr /local /sbin /kpropd kpropdeklogin stream tcp nowait root /usr /local /sbin /klogind klogind -k -c -e
bearbeiten Sie die Datei "/etc /services "-Datei auf jedem der KDCs und fügen Sie die folgenden Zeilen : kerberos 88/udp kdc # Kerberos-Authentifizierung (UDP) kerberos 88/tcp kdc # Kerberos-Authentifizierung (TCP) krb5_prop 754/tcp # Kerberos Slave propagationkerberos - adm 749/tcp # Kerberos 5 admin /changepw (TCP) Kerberos - adm 749/udp # Kerberos 5 admin /changepw (UDP) eklogin 2105/tcp # Kerberos verschlüsselte rlogin
Vermehrung der Datenbank
Vermehrung der Datenbank wird von der Master- KDC getan . Geben Sie den Befehl "/usr/local/sbin/kdb5_util dump /usr/local/var/krb5kdc/slave_datatrans ", um eine Sicherung der Datenbank erstellen. Weiter , geben Sie den Befehl "/usr /local /sbin /kprop -f /usr/local/var/krb5kdc/slave_datatrans Slave - 1.example.com " manuell propagieren die Datenbank auf jedem der Slaves.
< P > Diese Schritte müssen in regelmäßigen Abständen durchgeführt werden. Der einfachste Weg dies zu tun ist, um als Skript zu erstellen und das Skript als Cron-Job . Das Skript sollte wie folgt aussehen : # /bin /sh
kdclist = " Slave - Slave - 1.example.com 2.example.com "
/usr/local/sbin/kdb5_util "dump => /usr/local/var/krb5kdc/slave_datatrans "
für kdc in $ kdclistdo /usr /local /sbin /kprop -f /usr/local/var/krb5kdc/slave_datatrans $ kdcdone
natürlich verändern die Host-Namen , um die Werte für Ihr System anzupassen.
erstellen Stash -Dateien auf der Slaves
der letzte Schritt zum Einrichten Kerberos ist Stash -Dateien auf den Slave- KDC erstellen. Auf jeder der Slave- KDC den Befehl " kdb5_util Stash " und geben Sie den Master-Schlüssel , wenn Sie dazu aufgefordert werden . Sobald dies abgeschlossen ist, können Sie die " krb5kdc " Daemon auf jedem Slave beginnen mit dem Befehl "/usr/local/sbin/krb5kdc /. "