Kerberos é usado para autenticar os usuários através de uma rede não segura . Para fazer isso , o servidor eo cliente devem compartilhar uma chave comum usada para criptografar e descriptografar senhas. A distribuição de chaves é realizada por um Centro de Distribuição de Chave Mestra (KDC) . A redundância é incorporado ao sistema através da criação de um ou mais KDCs escravos. Configurando o Mestre
Antes de começar a configurar o Kerberos em seu sistema , você deve saber o nome do seu Kerberos, o nome do host dos Centros de Distribuição chave mestre e escravo (KDC) e como você está indo para mapear os nomes de máquinas no domínio Kerberos. Você vai precisar para determinar as portas que os KDCs e o acesso ao banco ( kadmin ) serviços vai usar. Você também terá que saber a freqüência com que os KDCs master e slave irá preencher o banco de dados .
Você vai usar as informações acima para configurar o mestre KDC . Os arquivos de configuração KDC mestre será encontrado em "/etc/krb5.conf " e "/usr/local/var/krb5kdc/kdc.conf " e pode ser editado em qualquer editor de texto. O arquivo " krb5.conf " contém informações sobre onde encontrar os KDCs e servidores de administração , bem como as informações de mapeamento nome do host. O arquivo " kdc.conf " contém as informações padrão usado na emissão de bilhetes Kerberos . Abra o " /etc/krb5.conf " e editar o "login ", " reinos " e "valores domain_realm " de modo que eles estão corretos para seu sistema. Mude o "/usr/local/var/krb5kdc/kdc.conf " para que ele reflita as informações corretas para o servidor KDC .
O próximo passo é criar o banco de dados. Abra um terminal e digite o comando " kdb5_util ". Você será solicitado a fornecer uma chave mestra . Esta deve ser uma seqüência de letras , números e caracteres especiais semelhantes a uma senha. Esta chave será armazenada em um arquivo stash no disco rígido do KDC . Se você preferir ser solicitado para a chave quando Kerberos começa , você pode optar por não criar o arquivo stash .
Finalmente, você irá criar a lista de controle de acesso (ACL) e adicione pelo menos um administrador para ele. O ACL é um arquivo de texto criado pelo usuário que é chamado de " /usr/local/var/krb5kdc/kadm5.acl ". Este arquivo deve ter o administrador listado no formulário: permissões Kerberos_principal [ target_principal ] [ restrições ] Uma vez que a lista ACL é criada , execute o comando " kadmin.local " e adicionar cada principal para o banco de dados. Inicie os daemons Kerberos com o comando " /usr/local/sbin/krb5kdc ; . /Usr /local /sbin /kadmin "
Criando o Arquivo Keytab
A arquivo keytab é usada para descriptografar os bilhetes Kerberos e determinar se o usuário deve ter acesso ao banco de dados . Para criar esse arquivo , digite o comando " kadmin.local " novamente. Isto irá fornecer-lhe com um prompt onde você vai digitar o comando : " ktadd -k /usr/local/var/krb5kdc/kadm5.keytab kadmin /admin kadmin /changepw " para criar o arquivo keytab . Substitua a seção " /usr/local/var/krb5kdc/kadm5.keytab " com a localização keytab que foi especificado no arquivo " /usr/local/var/krb5kdc/kdc.conf " . Digite "quit" para sair do " kadmin " utilidade .
Configurando o Slave KDCs
Para criar os KDCs escravos , você irá emitir o " kadmin . " comando local pela terceira vez. No prompt, execute o comando "host addprinc - randkey /example.com " para o mestre e cada escravo. Use o nome do host de cada KDC no lugar de " example.conf ". Isto irá criar chaves de host para cada um dos KDCs . Em seguida, extrair as chaves em cada um dos KDCs escravos , iniciando a utilidade " kadmin " em cada um dos escravos e emitindo o comando " ktadd host /MasterKDC.com ". Substituir " MasterKDC.com " com o nome do host do KDC mestre .
Para o banco de dados a ser propagada a partir do KDC mestre aos KDCs escravos você terá que criar um arquivo chamado "/usr /local /var /krb5kdc/kpropd.acl . " Este arquivo deve conter os princípios de cada um dos KDCs na forma " host /example.com ". Cada diretor deve ser colocado em sua própria linha
Em seguida , edite o arquivo "/etc /inetd.conf " em cada um dos KDCs e adicione as seguintes linhas: . Krb5_prop fluxo tcp nowait root /usr /local /sbin /kpropd kpropdeklogin stream tcp nowait root /usr /local /sbin /klogind klogind -k- c -e
editar o arquivo " /etc /services " em cada um dos KDCs e adicione as seguintes linhas: kerberos 88/udp kdc autenticação Kerberos # (UDP) kerberos 88/tcp kdc autenticação Kerberos # ( tcp) krb5_prop 754/tcp # Kerberos escravo propagationkerberos - adm 749/tcp # Kerberos 5 Ma /changepw ( tcp) kerberos - adm 749/udp # criptografado Kerberos 5 Ma /changepw (UDP) eklogin 2105/tcp # Kerberos rlogin
Propagando o banco de dados
Propagando o banco de dados é feita a partir do Mestre KDC . Emita o comando "/usr/local/sbin/kdb5_util despejo /usr/local/var/krb5kdc/slave_datatrans " para criar um dump do banco de dados. Em seguida, execute o comando "/usr /local /sbin /kprop -f /usr/local/var/krb5kdc/slave_datatrans Slave - 1.example.com " para propagar manualmente o banco de dados em cada um dos escravos .
Estas medidas terão de ser concluído em uma base regular. A maneira mais fácil de fazer isso é criar o script e executar o script como uma tarefa cron . O script deve ser semelhante a : # /bin /sh
kdclist = " slave- 1.example.com escravo 2.example.com "
/usr/local/sbin/kdb5_util "dump => /usr/local/var/krb5kdc/slave_datatrans "
para kdc em kdclistdo $ /usr /local /sbin /kprop -f /usr/local/var/krb5kdc/slave_datatrans $ kdcdone
claro, mudar os nomes de host para refletir os valores para o seu sistema .
Criar arquivos Stash sobre os Escravos
O passo final para a criação de Kerberos é criar arquivos Stash nas KDCs escravos. Em cada um dos KDCs escravos emitir o comando " esconderijo kdb5_util " e fornecer a chave mestra , quando solicitado. Uma vez que isso for concluído, você pode começar a " krb5kdc " daemon em cada escravo com o comando " /usr/local/sbin/krb5kdc /. "