diff --git a/source/pages/guides/instalando-kerberos.md b/source/pages/guides/instalando-kerberos.md deleted file mode 100644 index 8dcb470edf6106a3f6c84748df83acc5ae0a5e01..0000000000000000000000000000000000000000 --- a/source/pages/guides/instalando-kerberos.md +++ /dev/null @@ -1,220 +0,0 @@ ---- -myst: - html_meta: - origin: documentado por Carlos Iago em 2023-10-05 no repositório howtodothings ---- -# Instalando o Kerberos - -## Introdução - -Este howto é baseado na [documentação](https://web.mit.edu/kerberos/krb5-devel/doc/admin/install.html) oficial do MIT Kerberos: -Qualquer detalhe mais profundo pode e deve ser consultado na documentação -oficial. - -Este guia passa pelos tópicos que nos são importantes da documentação -para instalar e configurar o Kerberos no nosso ambiente. Eventualmente, -eu explico sucintamente como funcionam alguns conceitos. - - -## Instalando e configurando o KDC primário - -Primeiro, instalamos os pacotes necessários para o kerberos no debian. -Para não gerar um prompt interativo, mudamos o valor da variável de -ambiente DEBIAN\_FRONTEND antes de chamar o gerenciador de pacotes. - -```bash -DEBIAN_FRONTEND=noninteractive apt-get install krb5-{admin-server,kdc} -``` - -Neste documento, usaremos os seguintes nomes: - -asahi.c3sl.ufpr.br | KDC primário -C3SL.UFPR.BR | realm name -admin/admin | admin principal - -## Editando os arquivos de configuração - -### krb5.conf - -O krb5.conf é o arquivo de configurações do kerberos. Ele contém a localização -dos KDCs, admin server e realms. Após instalar os pacotes do kerberos, o -`krb5.conf` é gerado no diretório `/etc`. - -É importante mudarmos alguns valores para refletir as informações do nosso servidor. -Ressaltaremos as mais importantes a seguir. - -As sessões libdefaults, realms e domain\_realms precisam ser especÃficadas -com os nomes dos KDCs e realms apropriados. No nosso exemplo: - -``` -[libdefaults] - default_realm = C3SL.UFPR.BR - -[realms] - C3SL.UFPR.BR = { - kdc = asahi.c3sl.ufpr.br - admin_server = asahi.c3sl.ufpr.br - database_module = openldap_ldapconf -} - -[domain_realm] - .asahi.c3sl.ufpr.br = C3SL.UFPR.BR - asahi.c3sl.ufpr.br = C3SL.UFPR.BR - -``` - -E para solucinar alguns problemas de segurança, ainda na sessão [libdefaults] -precisamos acrescentar: - -``` - allow_weak_crypto = false -``` - -Este parâmetro evita que o kerberos use criptografias obsoletas. - -E na sessão [login] precisamos garantir que os seguintes parâmetros estão -com os valores a seguir: - -``` -[login] - krb4_convert = true - krb4_get_tickets = false -``` - -Isso impede que o kerberos use tickets da V4. - -### kdc.conf - -O `kdc.conf` é gerado em `/etc/krb5kdc/`. Este arquivo controla as portas usadas pelo -kdc e pelo kadmind e parâmetros de configuração dos reals, localização da database e log. - -Em nosso exemplo, nosso arquivo apresenta a seguinte forma: - -``` -[kdcdefaults] - kdc_ports = 750,88 - -[realms] - C3SL.UFPR.BR = { - database_name = /var/lib/krb5kdc/principal - admin_keytab = FILE:/etc/krb5kdc/kadm5.keytab - acl_file = /etc/krb5kdc/kadm5.acl - key_stash_file = /etc/krb5kdc/stash - kdc_ports = 750,88 - max_life = 10h 0m 0s - max_renewable_life = 7d 0h 0m 0s - master_key_type = aes256-cts-hmac-sha384-192 - #supported_enctypes = aes256-cts:normal aes128-cts:normal - default_principal_flags = +preauth - } - -[logging] - kdc = FILE:/var/log/krb5kdc.log - admin_server = FILE:/var/log/kadmin.log - default = FILE:/var/log/krb5lib.log -``` - -## Criando a database do KDC - - -Iremos usar o comando `kdb5_util` para criar a database do kerberos e o arquivo stash. - -``` -kdb5_util create -r C3SL.UFPR.BR -s -``` - -Um prompt será invocado para que você digite e confirme a senha da database. - -Isso criará cinco arquivos: - -- dois aqruivos de database do Kerberos: principal e principal.ok -- a database administrativa do Kerberos: principal.kadm5 -- o arquivo de lock da database administrativa: principal.kadm5.lock -- o arquivo de stash: stash - -Estes arquivos são gerados usualmente em /var ou /usr/local/var, a não ser que você -especifique um caminho diferente no `kdc.conf`. - -## Adicione administradores no arquivo ACL - -Precisamos criar um arquivo de Access Control List(ACL) \[`kadm5.acl`\] e colocar os principals. -Este arquivo é usado pelo kadmind daemon para controlar quais principals podem -ver e fazer alterações na database do kerberos. - -Geralmente este arquivo é gerado em /var/krb5kdc ou /usr/local/var/krb5kdc, a não ser -que você especifique um caminho diferente no `kdc.conf`, como é o nosso caso: -`/etc/krb5kdc/kadm5.acl`. - -O arquivo segue a seguinte sintaxe: -``` -principal permissions [target_principal [restrictions] ] -``` - -Em nosso exemplo, nosso arquivo kadm5.acl se parece com: - -``` -*/admin@.C3SL.UFPR.BR * -*/root@.C3SL.UFPR.BR * -``` - -## Adicione os administradores na Kerberos database - -Para adicionar os principals vamos usar o comando kadmin.local. Ele escreve na -database do kerberos sem precisar fazer autenticação. - -```bash -kadmin.local -``` - -Você entrará na interface interativa do kadmin.local. Lá, podemos usar o comando -addprinc para adicionar os principals que colocamos no arquivo de ACL. - -```bash -kadmin.local: addprinc admin/admin@C3SL.UFPR.BR -``` - -Você deverá digitar e confirmar a senha. - -Precisamos também colocar o principal KDC na database do kerberos: - -```bash -kadmin.local: addprinc -randkey host/asahi.c3sl.ufpr.br -``` - -E finalmente, adicionar o principal KDC no arquivo keytab: - -```bash -kadmin.local: ktadd host/asahi.c3sl.ufpr.br -``` - -E por fim, saia do kadmin.local: - -```bash -kadmin.local: quit -``` - -## Iniciando os daemons do KDC primário - - -Neste ponto, se tudo ocorreu bem, você pode iniciar o Kerberos KDC e o daemon administrativo: - -```bash -krb5kdc -kadmind -``` - -Você pode verificar o log no arquivo especÃficado no kdc.conf para saber se tudo ocorreu -conforme o esperado. - -## Service principals e keytabs - -Os principals são divididos em três componentes: primary/instance@REALM. - -- Para usuários, Primary é o username. Instance ou é omitida ou é um cargo(admin, por exemplo): -user@EXAMPLE.COM ou user/admin@EXAMPLE.COM. - -- Para hosts, Primary é "host", Instance é um domain name válido: -host/myserver.example.com@EXAMPLE.COM - -- Para serviços, Primary é a abreviação do serviço e Instance é um domÃnio válido: -nfs/myserver.example.com@EXAMPLE.COM diff --git a/source/pages/guides/integrando-kerberos-ldap.md b/source/pages/guides/integrando-kerberos-ldap.md deleted file mode 100644 index b3a35413ae01634f40a0766203b912ac7d2e469e..0000000000000000000000000000000000000000 --- a/source/pages/guides/integrando-kerberos-ldap.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -myst: - html_meta: - origin: documentado por Carlos Iago em 2023-10-05 no repositório howtodothings ---- -# Integrando Kerberos e LDAP - -Ao configurar o Kerberos com o LDAP como backend no Debian, geralmente é -recomendável configurar o LDAP primeiro antes de configurar o Kerberos. -O LDAP servirá como o serviço de diretório que armazenará informações de -usuário e de serviço principal que o Kerberos usará para autenticação. - -Aqui está uma visão geral das etapas que devemos seguir: - -## Instale e Configure o LDAP: - -- Instale e configure um servidor LDAP em seu sistema Debian. -- Defina a estrutura do diretório LDAP, incluindo unidades de organização -(OUs), usuários e grupos. -- Popule o diretório LDAP com entradas de usuário e de serviço principal. -É aqui que você armazenará informações de contas de usuário e de serviços -do Kerberos. - -## Configure o Kerberos: - -- Instale e configure o servidor Kerberos em seu sistema Debian. -- Na configuração do Kerberos, especifique que o LDAP será usado como o -backend para o banco de dados do Kerberos. Isso geralmente envolve a -configuração dos arquivos kdc.conf e kadm5.conf para apontar para o -servidor LDAP para o banco de dados do KDC. -- Configure os realms do Kerberos e as polÃticas do Kerberos conforme necessário. - -## Integre o Kerberos e o LDAP: - -- Configure o servidor Kerberos para autenticar usuários contra o LDAP. -Isso normalmente envolve a configuração do arquivo krb5.conf para usar -o LDAP como a fonte de identidade (via SASL ou GSSAPI). -- Certifique-se de que as contas de usuário e os princÃpios de serviço -criados no LDAP sejam reconhecidos pelo servidor Kerberos para fins de autenticação. - -## Teste a Configuração: - -- Teste a integração tentando autenticar usuários usando o Kerberos. -Você pode usar ferramentas como kinit para obter tÃquetes do Kerberos e -klist para visualizar os tÃquetes. - -## Configure os Clientes: - -- Configure as máquinas clientes para usar os serviços Kerberos e LDAP -para autenticação. Isso envolve a configuração do arquivo krb5.conf do cliente e as configurações do cliente LDAP. diff --git a/source/pages/guides/kerberos.md b/source/pages/guides/kerberos.md new file mode 100644 index 0000000000000000000000000000000000000000..73222c9e400f74c082f6ace82f4055d3a24d108a --- /dev/null +++ b/source/pages/guides/kerberos.md @@ -0,0 +1,345 @@ +# Kerberos DistribuÃdo + +## Introdução + +O objetivo deste guia é simular um ambiente de autenticação através Kerberos com LDAP de backend. +Este guia é baseado na documentação oficial do MIT, wiki do ArchLinux e um guia do Ubuntu. As referências estão no final do documento. + +## Arquitetura + +Utilizamos duas máquinas virtuais com imagem Debian Bookworm (v.12), uma para ser o servidor primário e outra para ser o servidor réplica. + +vms: +- dodrio -- servidor primário kerberos e servidor LDAP +- ditto -- servidor réplica kerberos + +Perceba que se for reproduzido em um sistema diferente do Debian, o diretório padrão dos arquivos vai ser alterado e o nome dos pacotes. + +## Kerberos + +### Distribuição do serviço + +Uma instalação ideal do kerberos é distribuÃda. Assim, caso o servidor primário não esteja disponÃvel, um servidor réplica pode assumir e manter a disponibilidade do sistema de autenticação. + +É importante ressaltar que, no kerberos, cada servidor contém uma cópia da database mas apenas o servidor primário pode escrever nela. Então, os servidores secundários apenas auxiliam na distribuição de tickets de autenticação. Mas queremos que um servidor réplica possa rapidamente se tornar o principal em caso de eventuais manutenções, quedas, ataques e/ou falhas. + +### Nomes e Conceitos + +Neste guia, utilizaremos os seguintes nomes: + +- dodrio.c3sl.ufpr.br -- servidor primário +- ditto.c3sl.ufpr.br -- servidor réplica +- C3SL.UFPR.BR -- realm name +- .k5.C3SL.UFPR.BR - stash file +- admin/admin - admin principal + +Na hora de reproduzir este guia, ajuste os nomes conforme necessário. + +Alguns conceitos importantes: + +- principal: Principals são usuários, hosts ou serviços do kerberos. Um principal Kerberos possui três componentes: +`primary / instance @ REALM` +- Para usuários principais, o principal é seu nome de usuário e a instância é omitida ou é uma função (por exemplo, "admin"): `myuser@EXAMPLE.COM` ou `myuser/admin@EXAMPLE.COM`. +- Para hosts, o primário é "host" e a instância é o FQDN do servidor: `host/myserver.example.com@EXAMPLE.COM`. +- Para serviços, o principal é a abreviatura do serviço e a instância é o FQDN: `nfs/myserver.example.com@EXAMPLE.COM`. O domÃnio muitas vezes pode ser omitido; o domÃnio padrão do computador local geralmente é assumido. + +### Instalando e configurando o KDC primário + +Na `dodrio`, instalamos os pacotes necessários para o servidor adminstrativo do Kerberos (krb5-admin-server) e o distribuidor de chaves do kerberos. + +```bash +DEBIAN_FRONTEND=noninteractive # Não gera um prompt interativo +apt-get install krb5-{admin-server,kdc} +``` + +### Arquivos de configuração + +- `krb5.conf`: arquivo de configurações do kerberos. Contém a localização dos KDCs e permite a que os servidores réplica com o kadmin server. O caminho padrão no debian é `/etc/krb5.conf`. + +```bash +[libdefaults] + default_realm = C3SL.UFPR.BR + allow_weak_crypto = false + kdc_timesync = 1 + ccache_type = 4 + forwardable = true + proxiable = true + rdns = false + permitted_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 + +[realms] + C3SL.UFPR.BR = { + primary_kdc = dodrio.c3sl.ufpr.br + admin_server = dodrio.c3sl.ufpr.br + kdc = dodrio.c3sl.ufpr.br + kdc = ditto.c3sl.ufpr.br + database_module = openldap_ldapconf + master_key_type = aes256-cts + supported_enctypes = aes256-cts-hmac-sha1-96:normal aes128-cts-hmac-sha1-96:normal +} + +[domain_realm] + .dodrio.c3sl.ufpr.br = C3SL.UFPR.BR + dodrio.c3sl.ufpr.br = C3SL.UFPR.BR + +[login] + krb4_convert = true + krb4_get_tickets = false +``` + +**NOTA:** se estiver reproduzindo este howto, vale a pena checar se os tipos de encriptação disponÃveis são atuais e bons o suficiente. Isto é extremamente importante pois se não as chaves não serão criadas e/ou você terá problemas para replicar a database. Neste momento, 2024, usamos estes tipos: + +```bash +permitted_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 # Todos os clientes Kerberos +master_key_type = aes256-cts # Servidor Kerberos +supported_enctypes = aes256-cts-hmac-sha1-96:normal aes128-cts-hmac-sha1-96:normal # Servidor Kerberos +``` + +- `kdc.conf`: O arquivo kdc.conf complementa krb5.conf para programas que normalmente são usados ​​apenas em um KDC, como os daemons krb5kdc e kadmind e o programa kdb5_util. Você pode mudar as portas default, caminho padrão de arquivos como a stash, log, etc. O caminho default do `kdc.conf` é `/etc/krb5kdc/kdc.conf`. + +```bash +[kdcdefaults] + kdc_ports = 750,88 + +[realms] + C3SL.UFPR.BR = { + kadmind_port = 749 + acl_file = /etc/krb5kdc/kadm5.acl + key_stash_file = /etc/krb5kdc/stash + max_life = 12h 0m 0s + max_renewable_life = 7d 0h 0m 0s + master_key_type = aes256-cts + supported_enctypes = aes256-cts:normal aes128-cts:normal + default_principal_flags = +preauth + #iprop_enable = true + } +``` + +### Criando a database do KDC + +Iremos usar o comando `kdb5_util` para criar a database do kerberos e o arquivo stash. Um prompt será invocado para que você digite e confirme a senha da database. +```bash +kdb5_util create -r C3SL.UFPR.BR -s + +Initializing database '/usr/local/var/krb5kdc/principal' for realm 'C3SL.UFPR.BR', +master key name 'K/M@C3SL.UFPR.BR' +You will be prompted for the database Master Password. +It is important that you NOT FORGET this password. +Enter KDC database master key: <= Type the master password. +Re-enter KDC database master key to verify: <= Type it again. +shell% +``` + +Isso criará cinco arquivos: +- dois aqruivos de database do Kerberos: `principal` e `principal.ok` +- a database administrativa do Kerberos: `principal.kadm5` +- o arquivo de lock da database administrativa: `principal.kadm5.lock` +- o arquivo de stash: `stash` + +No Debian, estes arquivos são gerados usualmente em `/var/lib/krb5kdc/`, a não ser que você especifique um caminho diferente no `kdc.conf`. No nosso caso, `stash` foi criado em `/etc/krb5kdc/stash`. + +### Colocando administradores na ACL + +Precisamos criar um arquivo de controle de acesso. O Path deste arquivo também pode ser especificado no `krb5kdc.conf`. Em nosso caso, `/etc/krb5kdc/kadm5.acl`. O arquivo segue a seguinte sintaxe: +```bash +principal permissions [target_principal [restrictions] +``` +Nosso arquivo: +```bash +*/admin@C3SL.UFPR.BR * +*/root@C3SL.UFPR.BR * +``` +O que significa que qualquer principal em C3SL.UFPR.BR com uma instância de admin ou root tem todos os privilégios administrativos. Veja [kadm5.acl](https://web.mit.edu/kerberos/krb5-latest/doc/admin/conf_files/kadm5_acl.html) para mais detalhes. + +### Adicionando administradores à database do Kerberos + +Agora, utilize a local admintrative tool do kerberos para adicionar os principals administrativos à database. Perceba, a razão de não utilizarmos a `kadmin` e sim a `kadmin.local` é que a `kadmin` utiliza autenticação e os administradores ainda não estão na database para serem autenticados. +```bash +kadmin.local + +Authenticating as principal root/admin@EXAMPLE.COM with password. +kadmin.local: +``` +Você entrará na interface interativa do `kadmin.local`. Através do comando `addprinc`, adicione os principal `admin/admin`. Entre com a senha e confirme. +```bash +addprinc admin/admin@C3SL.UFPR.BR + +WARNING: no policy specified for admin/admin@EXAMPLE.COM; defaulting to no policy +Enter password for principal "admin/admin@EXAMPLE.COM": +Re-enter password for principal "admin/admin@EXAMPLE.COM": +Principal "admin/admin@EXAMPLE.COM" created. +``` + +Faça o mesmo para o principal `root/admin` e saia do `kadmin.local`. +```bash +addprinc root/admin +# ... output omitido ... +quit +``` + +### Iniciando o daemon do Kerberos no KDC Principal + +> No servidor primário, use os seguintes comandos na shell: +```bash +krb5kdc +kadmind +``` + +### Testando Ticket + +Podemos testar o novo principal administrativo através do comando `kinit` e `klist`: +> No servidor primário, use os seguintes comandos na shell: +```bash +kinit +Password for root@C3SL.UFPR.BR: + +klist + +Ticket cache: FILE:/tmp/krb5cc_0 +Default principal: root@C3SL.UFPR.BR +Valid starting Expires Service principal +05/08/24 14:22:08 05/09/24 00:22:08 krbtgt/C3SL.UFPR.BR@C3SL.UFPR.BR + renew until 05/09/24 14:22:06 +``` + +### Sincronia de relógio + +Por fim, instale o serviço do systemd que garante a sincronia dos relógios para evitar bugs no kerberos: +```bash +apt install systemd-timesyncd +``` + +### Configurando Servidor Réplica + +Vamos configurar o servidor réplica de forma que ele possa se tornar o servidor primário. +No servidor secundário, instale os pacotes do Kerberos e o de sincronia de relógio do systemd: + +```bash +DEBIAN_FRONTEND=noninteractive +apt-get install krb5-{admin-server,kdc} systemd-timesyncd +``` + +### Configurando as réplicas + +Copie os seguintes arquivos e deixa nos respectivos diretórios: +- `/etc/krb5.conf` +- `/etc/krb5kdc/krb5kdc.conf` +- `/etc/krb5kdc/kadm5.acl` +- `/etc/krb5kdc/stash` + +Crie um arquivo para controlar a propagação da database em `/etc/krb5kdc/kpropd.acl`: +> arquivo kpropd.acl No servidor réplica +```bash +host/dodrio.c3sl.ufpr.br@C3SL.UFPR.BR +host/ditto.c3sl.ufpr.br@C3SL.UFPR.BR +``` + +### Criando keytabs + +Todo KDC precisa de uma host key na database do kerberos. Elas são utilizadas para autenticação na propagação da database. No servidor primário, abra a interface administrativa e adicione os host do servidor primário e os réplicas: + + +> No servidor primário, acesse o kadmin e o comando addprinc: +```bash +kadmin +kadmin: addprinc -randkey host/dodrio.c3sl.ufpr.br +No policy specified for "host/dodrio.c3sl.ufpr.br@C3SL.UFPR.BR"; assigning "default" +Principal "host/dodrio.c3sl.ufpr.br@C3SL.UFPR.BR" created. + +# Ainda no Servidor primário +kadmin: addprinc -randkey host/ditto.c3sl.ufpr.br +No policy specified for "host/ditto.c3sl.ufpr.br@C3SL.UFPR.BR"; assigning "default" +Principal "host/ditto.c3sl.ufpr.br@C3SL.UFPR.BR" created. +``` + +Agora, cada host deverá extrair a sua própria chave. + +> No servidor primário, acesse o kadmin e o comando ktadd: +```bash +kadmin: ktadd host/dodrio.c3sl.ufpr.br +Entry for principal host/dodrio.c3sl.ufpr.br with kvno 2, encryption + type aes256-cts-hmac-sha1-96 added to keytab FILE:/etc/krb5.keytab. +Entry for principal host/dodrio.c3sl.ufpr.br with kvno 2, encryption + type aes128-cts-hmac-sha1-96 added to keytab FILE:/etc/krb5.keytab. +Entry for principal host/dodrio.c3sl.ufpr.br with kvno 2, encryption + type aes256-cts-hmac-sha384-192 added to keytab FILE:/etc/krb5.keytab. +Entry for principal host/dodrio.c3sl.ufpr.br with kvno 2, encryption + type arcfour-hmac added to keytab FILE:/etc/krb5.keytab. +``` + +> No servidor secundário, acesse o kadmin e o comando ktadd: +```bash +kadmin: ktadd host/ditto.c3sl.ufpr.br +Entry for principal host/ditto.c3sl.ufpr.br with kvno 2, encryption + type aes256-cts-hmac-sha1-96 added to keytab FILE:/etc/krb5.keytab. +Entry for principal host/ditto.c3sl.ufpr.br with kvno 2, encryption + type aes128-cts-hmac-sha1-96 added to keytab FILE:/etc/krb5.keytab. +Entry for principal host/ditto.c3sl.ufpr.br with kvno 2, encryption + type aes256-cts-hmac-sha384-192 added to keytab FILE:/etc/krb5.keytab. +Entry for principal host/ditto.c3sl.ufpr.br with kvno 2, encryption + type arcfour-hmac added to keytab FILE:/etc/krb5.keytab. +``` + +Você pode conferir, em cada um dos hosts, se deu certo através do comando `klist`: + +> No servidor primário, digite: +```bash +dodrio:~# klist -k +Keytab name: FILE:/etc/krb5.keytab +KVNO Principal +---- -------------------------------------------------------------------------- + 2 host/dodrio.c3sl.ufpr.br@C3SL.UFPR.BR + 2 host/dodrio.c3sl.ufpr.br@C3SL.UFPR.BR +``` + +> No servidor secundário, digite: +```bash +ditto:~# klist -k +Keytab name: FILE:/etc/krb5.keytab +KVNO Principal +---- -------------------------------------------------------------------------- + 3 host/ditto.c3sl.ufpr.br@C3SL.UFPR.BR + 3 host/ditto.c3sl.ufpr.br@C3SL.UFPR.BR +``` + +Caso algum erro seja cometido, [remova as chaves](https://web.mit.edu/kerberos/krb5-latest/doc/admin/admin_commands/kadmin_local.html#ktremove) e recomece. + + +### Propagando a database + +No **servidor secundário**, instale o `kpropd` daemon, que vai escutar tentativas de comunicação do `kprop` do servidor primário: + +``` +apt install krb5-kpropd +``` + +O serviço já irá funcionar. Você pode conferir da seguinte forma: +```bash +systemctl status krb5-kpropd +â— krb5-kpropd.service - Kerberos 5 slave KDC update server + Loaded: loaded (/lib/systemd/system/krb5-kpropd.service; enabled; preset: enabled) + Active: active (running) since Mon 2024-05-20 10:49:20 -03; 1 week 6 days ago +# .. +``` + +No **servidor primário**, faça o dump da database e chame o comando da réplica para o KDC secundário: +``` +kdb5_util dump /var/lib/krb5kdc/dump +kprop -r C3SL.UFPR.BR -f /var/lib/krb5kdc/dump ditto.c3sl.ufpr.br +``` +Há um script python que automatiza esta rotina, visto que deverá ser feita com frequência. + +Por fim, inicie o KDC secundário: +```bash +krb5kdc +``` + +## Ldap + +Para integrar o Kerberos com o LDAP, acesse a [parte 2] (https://gitlab.c3sl.ufpr.br/c3root/docs/-/blob/main/source/pages/guides/ldap.md) deste guia. + +## Referências + +- [Guia de instalação - MIT Kerberos Documentation:](https://web.mit.edu/kerberos/krb5-latest/doc/admin/install.html) guia mais detalhado. +- [Kerberos - ArchWiki:](https://wiki.archlinux.org/title/Kerberos#Service_principals_and_keytabs) guia com alguns exemplos interessantes e detalhes do NFS. +- [How to installl a Kerberos Server:](https://ubuntu.com/server/docs/how-to-install-a-kerberos-server) guia mais objetivo.