Handbok för Sun Enterprise Authentication Mechanism

Konfigurera DNS-servrar

Efter att programvaran för SEAM installerats måste du konfigurera KDC-servrarna. Genom att konfigurera en huvud-KDC och minst en slav-KDC erhålls tjänsten som utfärdar referenser. Dessa referenser utgör grunden för SEAM varför KDC-servrarna måste installeras innan andra uppgifter utförs.

Den mest relevanta skillnaden mellan en huvud-KDC och en slav-KDC är att endast huvudservern kan hantera databasadministration. Att byta lösenord eller lägga till en ny principal måste till exempel göras på huvud-KDC-servern. Dessa ändringar kan sedan överföras till slav-servrarna. Både slav- och huvud-KDC-servrarna genererar referenser, vilket ger redundans i de fall huvud-KDC-servern inte kan svara.

Så här konfigurerar du en huvud-KDC

Ett fullständigt exempel får vi om vi antar att du inte kört förkonfigureringsproceduren. Om du använde förkonfigureringsproceduren när du installerade programvaran, behöver många av filerna i den här proceduren inte redigeras. Du bör dock kontrollera filernas innehåll.

I den här proceduren används följande konfigureringsparametrar:

  1. Förutsättningar för konfigurering av en huvud-KDC.

    Den här proceduren förutsätter att programvaran för huvud-KDC:n är installerad. Dessutom måste DNS-tjänsten köra. Se även namngivningsinstruktionerna i "Växla huvud- och slav-KDC:er" om huvudservern ska vara växlingsbar.

  2. Bli superanvändare på huvud-KDC:n.

  3. Redigera konfigurationsfilen för Kerberos(krb5.conf).

    Du måste byta namn på användarkategorierna och servrarna. En fullständig beskrivning av denna fil finns i direkthjälpsavsnittet krb5.conf(4). Om du installerade programvaran för SEAM med hjälp av konfigurationsfilerna verifierar du innehållet i filen istället för att redigera den.


    kdc1 # cat /etc/krb5/krb5.conf
    [libdefaults]
            default_realm = ACME.COM
    
    [realms]
                    ACME.COM = {
                    kdc = kdc1.acme.com
                    kdc = kdc2.acme.com
                    admin_server = kdc1.acme.com
            }
    
    [domain_realm]
            .acme.com = ACME.COM
    #
    # om domänen och användarkategorin har samma namn, 
    # behövs inte den här posten
    #
    [logging]
            default = FILE:/var/krb5/kdc.log
            kdc = FILE:/var/krb5/kdc.log
    
    [appdefaults]
        gkadmin = {
            help_url = http://denver:8888/ab2/coll.384.1/SEAM/@AB2PageView/6956
            }

    I det här exemplet ändrades raderna för posternadefault_realm, kdc, admin_server, och alla domain_realm. Raden för default_realm har inkluderats för att göra exemplet fullständigt, men denna post skapas inte under installationen om namnen för användarkategori och domän är samma. Dessutom har raden med definitionen av help_url redigerats.

  4. Redigera KDC-konfigurationsfilen (kdc.conf).

    Du måste byta namn på användarkategorin. En fullständig beskrivning av denna fil finns i direkthjälpsavsnittet kdc.conf(4). Om du installerade programvaran för SEAM med hjälp av konfigurationsfilerna verifierar du innehållet i filen istället för att redigera den.


    kdc1 # cat /etc/krb5/kdc.conf
    [kdcdefaults]
            kdc_ports = 88,750
    
    [realms]
            ACME.COM = {
                    profile = /etc/krb5/krb5.conf
                    database_name = /var/krb5/principal
                    admin_keytab = /var/krb5/kadm5.keytab
                    acl_file = /var/krb5/kadm5.acl
                    kadmind_port = 749
                    max_life = 8h 0m 0s
                    max_renewable_life = 7d 0h 0m 0s
            }

    I det här exemplet ändrades definitionen av användarkategorinamnet i avsnittet realms.

  5. Skapa KDC-databasen med kdb5_util.

    Kommandot kdb5_util skapar KDC-databasen och, tillsammans med alternativet -s, även en lagringsfil som används för att verifiera KDC:n till sig själv innan bakgrundsprogrammen kadmind och krb5kdc startas.


    kdc1 # /usr/krb5/sbin/kdb5_util create -r ACME.COM -s
    Initierar databasen "/var/krb5/principal" för användarkategorin "ACME.COM"
    med huvudnyckeln "K/M@ACME.COM".
    Du kommer att uppmanas att ange huvudlösenordet för databasen.
    Det är viktigt att du INTE GLÖMMER detta lösenord.
    Ange huvudnyckeln för KDC-databasen: <skriv nyckeln>
    	Ange huvudnyckeln för KDC-databasen en gång till för verifiering: <skriv det igen>
    

    Alternativet -r följt av användarkategorinamnet behövs inte om namnet på användarkategorin är samma som domännamnet för serverns namnutrymme.

  6. Redigera filen med behörighetslistan för Kerberos (kadm5.acl).

    När den är fylld innehåller /etc/krb5/kadm5.acl namnen på alla principaler som tillåts administrera KDC:n. Den först tillagda posten kan se ut så här:


    kws/admin@ACME.COM   *

    Den här posten ger principalen kws/admin i användarkategorin ACME.COM möjlighet att ändra principaler eller policies i KDC-databasen. Vid standardinstallationen läggs en "*" till för att matcha alla admin -principaler. Detta kan innebära en säkerhetsrisk och det är säkrare att istället lägga till en lista med alla admin-principaler.

  7. Starta kadmin.local.

    Följande steg skapar de principaler som används av SEAM.


    kdc1 # /usr/krb5/sbin/kadmin.local
    kadmin.local: 
    1. Lägg till administrationsprincipaler till databasen med kadmin.local.

      Du kan lägga till så många admin-principaler som du behöver. Du måste lägga till åtminstone en admin-principal för att slutföra KDC-konfigureringen. I det här exemplet läggs en kws/admin-principal till. Du kan använda valfritt principalnamn istället för "kws".


      kadmin.local: addprinc kws/admin
      Ange lösenord för principalen kws/admin@ACME.COM: <skriv lösenordet>
      Ange lösenord för principalen kws/admin@ACME.COM en gång till: <skriv det igen>
      Principalen "kws/admin@ACME.COM" har skapats.
      kadmin.local: 
    2. Skapa en keytab-fil för kadmin genom att använda kadmin.local.

      Den här kommandosekvensen skapar en särskild keytab-fil med principalposter för kadmin och changepw. Dessa principaler behövs för tjänsten kadmind.


      kadmin.local: ktadd -k /etc/krb5/kadm5.keytab kadmin/kdc1.acme.com
      En post för principalen kadmin/kdc1.acme.com med kvno 3, krypteringstyp DES-CBC-CRC
                har lagts till i keytab-filen WRFILE:/etc/krb5/kadm5.keytab.
      kadmin.local: ktadd -k /etc/krb5/kadm5.keytab changepw/kdc1.acme.com    
      En post för principalen changepw/kdc1.acme.com med kvno 3, krypteringstyp DES-CBC-CRC
                har lagts till i keytab-filen WRFILE:/etc/krb5/kadm5.keytab.
      kadmin.local: 
    3. Avsluta kadmin.local

      Du har lagt till de principaler som behövs för nästa steg.


      kadmin.local: avsluta
      
  8. Starta bakgrundsprogrammen för Kerberos.


    kdc1 # /etc/init.d/kdc start
    kdc1 # /etc/init.d/kdc.master start
    
  9. Starta kadmin.

    Nu kan du lägga till principaler med Administrationsverktyget för SEAM. Kommandoradsexemplet visas för enkelhets skull. Du måste logga in med ett av de principalnamn för admin som du skapade tidigare i denna procedur.


    kdc1 # /usr/krb5/sbin/kadmin -p kws/admin
    Ange lösenord: <Skriv lösenord för kws/admin>
    kadmin: 
    1. Skapa värdprincipalen för huvud-KDC:n med kadmin.

      Värdprincipalen används av Kerberos-anpassade program (som till exempel klist och kprop) och Kerberos-anpassade tjänster (som till exempel ftp och telnet).


      kadmin: addprinc -randkey host/kdc1.acme.com
      Principalen "host/kdc1.acme.com@ACME.COM" har skapats.
      kadmin: 
    2. Valfritt: Skapa principalen för root på huvud-KDC:n med kadmin.

      Den här principalen används för verifierad NFS-montering och behövs eventuellt inte på en huvud-KDC.


      kadmin: addprinc root/kdc1.acme.com
      Ange lösenord för principalen root/kdc1.acme.com@ACME.COM: <skriv lösenordet>
      Ange lösenord för principalen root/kdc1.acme.com@ACME.COM på nytt: <skriv det igen>
      Principalen "root/kdc1.acme.com@ACME.COM" har skapats.
      kadmin: 
    3. Lägg till huvud-KDC:ns värdprincipal till keytab-filen för huvud-KDC:n.

      Genom att lägga till värdprincipalen i keytab-filen kan den sedan användas automatiskt.


      kadmin: ktadd host/kdc1.acme.com
      kadmin: En post för principalen host/kdc1.acme.com med
        kvno 3, krypteringstyp DES-CBC-CRC har lagts till i keytab-filen
        WRFILE:/etc/krb5/krb5.keytab
      kadmin: avsluta
      
    4. Avsluta kadmin


      kadmin: avsluta
      
  10. Lägg till en post för varje KDC i överföringskonfigureringsfilen (kpropd.acl).

    En fullständig beskrivning av denna fil finns i direkthjälpsavsnittet kprop(1M). Om du installerade programvaran för SEAM med hjälp av konfigurationsfilerna verifierar du innehållet i filen istället för att redigera den.


    kdc1 # cat /etc/krb5/kpropd.acl
    host/kdc1.acme.com@ACME.COM
    host/kdc2.acme.com@ACME.COM
  11. Valfritt: Synkronisera huvud-KDC:ns klocka med hjälp av NTP eller annan klocksynkroniseringsmekanism.

    Det är inte nödvändigt att installera och använda NTP, men tiden hos varje klocka måste ligga inom den standardtid som definierats i avsnittet libdefaults i filen krb5.conf för att verifieringen ska lyckas. Mer information om NTP finns i "Synkronisera klockor mellan KDC:er och SEAM-klienter"

Så här konfigurerar du en slav-KDC

I den här proceduren konfigureras en ny slav-KDC med namnet kdc3. För att göra exemplet fullständigt antar vi att du inte använde förkonfigureringsproceduren när du installerade programvaran eller att du inte definierade kdc3 som en slav när du körde förkonfigureringsproceduren. Om du använde förkonfigureringsproceduren och identifierade kdc3 som en slav, behöver många av filerna i den här proceduren inte redigeras. Du bör dock kontrollera filernas innehåll.

I den här proceduren används följande konfigureringsparametrar:

  1. Förutsättningar för konfigurering av en slav-KDC.

    Den här proceduren förutsätter att huvud-KDC:n har konfigurerats och att slav-KDC-programvaran för SEAM har installerats på kdc3. Se även instruktionerna i "Växla huvud- och slav-KDC:er" om den här slaven ska vara växlingsbar.

  2. På huvud-KDC:n: Bli superanvändare.

  3. På huvud-KDC:n: Starta kadmin.

    Du måste logga in med ett av de principalnamn för admin som du skapade när du konfigurerade huvud-KDC:n.


    kdc1 # /usr/krb5/sbin/kadmin -p kws/admin
    Ange lösenord: <Skriv lösenord för kws/admin>
    kadmin: 
    1. På huvud-KDC:n: Lägg till värdprincipaler för slavar till databasen med kadmin.local om det inte gjorts tidigare.

      För att slaven ska fungera måste den ha en värdprincipal.


      kadmin: addprinc -randkey host/kdc3.acme.com
      Principalen "host/kdc3@ACME.COM" har skapats.
      kadmin: 
    2. Valfritt: Skapa slav-KDC:ns principal för root på huvud-KDC:n med kadmin.

      Den här principalen behövs endast om slaven kommer att NFS-montera ett verifierat filsystem.


      kadmin: addprinc root/kdc3.acme.com
      Ange lösenord för principalen root/kdc3.acme.com@ACME.COM: <skriv lösenordet>
      Ange lösenord för principalen root/kdc3.acme.com@ACME.COM på nytt: <skriv det igen>
      Principalen "root/kdc3.acme.com@ACME.COM" har skapats.
      kadmin: 
    3. Avsluta kadmin


      kadmin: avsluta
      
  4. På huvud-KDC:n: Redigera konfigurationsfilen för Kerberos (krb5.conf).

    Du måste lägga till en post för varje slav. En fullständig beskrivning av denna fil finns i direkthjälpsavsnittet krb5.conf(4) . Om du definierade kdc3 som en slavserver vid förkonfigureringen verifierar du innehållet i filen istället för att redigera den.


    kdc1 # cat /etc/krb5/krb5.conf
    [libdefaults]
            default_realm = ACME.COM
    
    [realms]
                    ACME.COM = {
                    kdc = kdc1.acme.com
                    kdc = kdc2.acme.com
                    kdc = kdc3.acme.com
                    admin_server = kdc1.acme.com
            }
    
    [domain_realm]
            .acme.com = ACME.COM
    #
    # om domänen och användarkategorin har samma namn, 
    # behövs inte den här posten
    #        
    [logging]
            default = FILE:/var/krb5/kdc.log
            kdc = FILE:/var/krb5/kdc.log
    
    [appdefaults]
        gkadmin = {
            help_url = http://denver:8888/ab2/coll.384.1/SEAM/@AB2PageView/6956
    
  5. På huvud-KDC:n: Lägg till en post för varje slav-KDC i konfigureringsfilen för databasöverföringen (kpropd.acl).

    En fullständig beskrivning av denna fil finns i direkthjälpsavsnittet kprop(1M). Om du definierade kdc3 som en slavserver vid förkonfigureringen verifierar du innehållet i filen istället för att redigera den.


    kdc1 # cat /etc/krb5/kpropd.acl
    host/kdc1.acme.com@ACME.COM
    host/kdc2.acme.com@ACME.COM
    host/kdc3.acme.com@ACME.COM
    
  6. På alla slavservrar: Kopiera administrationsfilerna för KDC från huvud-KDC-servern.

    Det här steget måste genomföras på samtliga slav-KDC:er eftersom huvud-KDC-servern har uppdaterad information som behövs på varje KDC-server. Om du definierade kdc3 som en slavserver vid förkonfigureringen verifierar du innehållet i filerna istället för att redigera dem. Du kan använda ftp eller liknande överföringsmekanism för att hämta kopior av följande filer från huvudservern:

    • /etc/krb5/krb5.conf

    • /etc/krb5/kdc.conf

    • /etc/krb5/kpropd.acl

  7. På den nya slavservern: Lägg till slavens värdprincipal till dess keytab-fil med kadmin.

    Du måste logga in med ett av de principalnamn för admin som du skapade när du konfigurerade huvud-KDC:n. Den här sekvensen behövs för att kprop och andra Kerberos-anpassade program ska fungera.


    kdc3 # /usr/krb5/sbin/kadmin -p kws/admin
    Ange lösenord: <Skriv lösenord för kws/admin>
    kadmin: ktadd host/kdc3.acme.com
    kadmin: En post för principalen host/kdc3.acme.com med
      kvno 3, krypteringstyp DES-CBC-CRC har lagts till i keytab-filen
      WRFILE:/etc/krb5/krb5.keytab
    kadmin: avsluta
    
  8. På huvud-KDC:n: Lägg till slav-KDC-namn till det cron-jobb som automatiskt utför säkerhetskopiering, genom att köra crontab -e.

    Lägg till namnet på varje slav-KDC-server i slutet på kprop_script-raden. Om du definierade kdc3 som en slavserver vid förkonfigureringen verifierar du innehållet i filen istället för att redigera den.


    10 3 * * * /usr/krb5/lib/kprop_script kdc2.acme.com kdc3.acme.com
    

    Det kan också tänkas att du vill ändra tiden för säkerhetskopieringen. Med den här konfigurationen startar säkerhetskopieringen varje dag kl 03:10.

  9. På huvud-KDC:n: Säkerhetskopiera och överför databasen med kprop_script.

    Om det redan finns en säkerhetskopia av databasen är det inte nödvändigt att genomföra ytterligare en säkerhetskopiering. Mer information finns i "Så här överför du Kerberos-databasen till slav-KDC:erna manuellt".


    kdc1 # /usr/krb5/lib/kprop_script kdc3.acme.com
    Databasöverföring till kdc3.acme.com: LYCKADES
  10. På den nya slavservern: Skapa en lagringsfil med kdb5_util.


    kdc3 # /usr/krb5/sbin/kdb5_util stash
    kdb5_util: Det går inte att hitta/läsa den lagrade huvudnyckeln vid läsning av huvudnyckeln
    kdb5_util: Varning! Fortsätter utan huvudnyckeln
    
    Ange huvudnyckeln för KDC-databasen: <skriv nyckeln>
    
  11. På den nya slavservern: Starta bakgrundsprogrammet för KDC (krb5kdc).


    kdc3 # /etc/init.d/kdc start
    
  12. Valfritt: Synkronisera huvud-KDC:ns klocka från den nya slavservern med hjälp av NTP eller annan klocksynkroniseringsmekanism.

    Det är inte nödvändigt att installera och använda NTP, men tiden hos varje klocka måste ligga inom den standardtid som definierats i avsnittet libdefaults i filen krb5.conf för att verifieringen ska lyckas. Mer information om NTP finns i "Synkronisera klockor mellan KDC:er och SEAM-klienter"