Kerberos é um protocolo de autenticação de rede que usa criptografia de chave simétrica e requer a autorização de um terceiro confiável para autenticar aplicativos cliente-servidor. Foi originalmente desenvolvido pelo Instituto de tecnologia de Massachusetts (MIT) para proteger os Serviços de rede fornecidos pelo projeto Athena.
no mundo moderno, Kerberos é frequentemente usado como um serviço de autenticação de terceiros. Isso significa que todos os clientes confiam no julgamento de Kerberos sobre a identidade de outros clientes.
neste tutorial, mostraremos como configurar a autenticação Kerberos entre dois servidores Ubuntu 18.04. Vamos instalar e configurar o servidor Kerberos no servidor Ubuntu e, em seguida, instalar o cliente Kerberos no outro. Finalmente, testaremos a autenticação do serviço SSH com o servidor Kerberos.
pré-Requisitos
- Ubuntu server 18.04
- 10.10.10.15 krb5.ahmad.io krb5
- 10.10.10.16 client1.ahmad.io client1
- privilégios de Root
o Que vamos fazer:
- Configuração FQDN do Arquivo
- Instalar o KDC Kerberos Server
- Configurar KDC Kerberos Server
- Instalar e Configurar o Cliente Kerberos
- Teste
Etapa 1 – Instalação FQDN
Primeiro de tudo, devemos configurar o FQDN do servidor Kerberos e, em seguida, edite o ‘/etc/hosts’ arquivo do servidor.
altere o FQDN do servidor Kerberos usando o seguinte comando.
hostnamectl set-hostname krb5.ahmad.io
depois disso, edite o arquivo ‘/ etc / hosts ‘ usando o editor vim.
vim /etc/hosts
altere o endereço IP e o FQDN com o seu e cole nele.
10.10.10.15 krb5.ahmad.io krb5
salvar e fechar.
agora teste usando o comando’ ping ‘ abaixo e verifique se o FQDN foi resolvido para o endereço IP certo.
ping -c 3 $(hostname -f)
Passo 2 – Instalar o KDC Kerberos Server
Agora vamos instalar o servidor Kerberos no ‘krb5’ servidor com o endereço IP ‘10.10.10.15’ e o FQDN é ‘krb5.ahmad.io’.
Instalar o servidor Kerberos usando o seguinte comando apt.
sudo apt install krb5-kdc krb5-admin-server krb5-config -y
durante a instalação, você será questionado sobre o Reino Kerberos, o servidor Kerberos do reino e o servidor Admin.
Por padrão, o Kerberos vai usar o Kerberos servidor de nome de domínio como um REINO, ‘AHMAD.IO’.
O servidor Kerberos é ‘krb5.ahmad.io’.
E a Administração do mesmo servidor como o servidor Kerberos ‘krb5.ahmad.io’.
quando a instalação estiver concluída, você será mostrado o serviço Kerberos é falha para executar. Tudo bem porque vamos configurar no próximo estágio.Etapa 3-Configure o servidor KDC Kerberos
agora gere uma nova senha mestra forte para o Reino Kerberos usando o seguinte comando.
sudo krb5_newrealm
digite sua senha forte e a senha REALM será gerada no arquivo ‘/etc/krb5kdc/stash’.
depois disso, precisamos criar o usuário admin (administrador principal) para o servidor KDC Kerberos, adicionar o nome de host do servidor Kerberos ao banco de dados e, em seguida, criar o keytab para o servidor Kerberos.
execute o ‘ kadmin.interface de linha de comando local para o comando de Administração Kerberos abaixo.
sudo kadmin.local
crie um novo principal de usuário admin chamado ‘root’.
addprinc root/admin
Digite a senha forte para o principal administrador ‘root’.
adicione o servidor KDC Kerberos ao banco de dados e crie o arquivo keytab para o host KDC.
addprinc -randkey host/krb5.ahmad.io
ktadd host/krb5.ahmad.io
em seguida, feche o ‘ kadmin.utilidade local.
quit
em seguida, precisamos adicionar o princípio de administrador ‘ root ‘à lista de controle de acesso editando o’ /etc/krb5kdc/kadm5.arquivo acl.
vim /etc/krb5kdc/kadm5.acl
adicione a seguinte configuração.
root/admin *
Salve e feche a configuração e reinicie o serviço Kerberos.
sudo systemctl restart krb5-admin-server.service
e a configuração do servidor KDC Kerberos foi concluída.
Etapa 4-Instale e Configure o cliente Kerberos
nesta etapa, vamos instalar o cliente Kerberos no servidor Ubuntu com o endereço IP ‘10.10.10.16’ e o nome do host ‘client1’.
– Configure o FQDN
Configure o FQDN na máquina cliente usando o seguinte comando.
hostnamectl set-hostname client1.ahmad.io
depois disso, edite o arquivo ‘/etc/hosts’ usando o editor vim.
vim /etc/hosts
cole o servidor KDC Kerberos e o cliente como abaixo.
10.10.10.15 krb5.ahmad.io krb5
10.10.10.16 client1.ahmad.io client1
salvar e fechar.
– Instale o cliente Kerberos
instale os pacotes do cliente Kerberos executando o seguinte comando apt.
sudo apt install -y krb5-user libpam-krb5 libpam-ccreds auth-client-config
durante a instalação, você será questionado sobre o Reino Kerberos, o servidor Kerberos do reino e o servidor Admin.
Por padrão, o Kerberos vai usar o Kerberos servidor de nome de domínio como um REINO, ‘AHMAD.IO’.
O servidor Kerberos é ‘krb5.ahmad.io’.
E a Administração do mesmo servidor como o servidor Kerberos ‘krb5.ahmad.io’.
e a instalação para o cliente Kerberos está concluída.
– Configure o cliente Kerberos
a partir da máquina cliente, conecte-se ao servidor KDC Kerberos usando o comando ‘kadmin’.
kadmin
e você será solicitado para a senha do princípio ‘root / admin’. Digite a senha e você será conectado ao sistema de administração KDC Kerberos.
Agora adicione o cliente FQDN ‘client1.ahmad.io’ para o banco de dados Kerberos e adicione o arquivo keytab para o cliente.
addprinc -randkey host/client1.ahmad.io
ktadd host/client1.ahmad.io
em seguida, feche a interface de administração kadmin Kerberos.
quit
e a configuração do cliente Kerberos está concluída.
Etapa 5-testando
para essa finalidade de teste, vamos configurar a autenticação SSH usando o Kerberos. A máquina cliente ‘client1.ahmad.io’ vai se conectar ao servidor ‘krb5.ahmad.io’ através do SSH com a autenticação Kerberos.
– configuração ‘krb5.ahmad.io’ Server
crie um novo usuário do sistema chamado ‘ammar’.
useradd -m -s /bin/bash ammar
faça Login na administração KDC Kerberos e adicione um novo usuário principal chamado ‘ammar’.
kadmin.local
addprinc ammar
feche a interface de administração do Kerberos e edite a configuração ssh ‘/etc/ssh/sshd_config’.
vim /etc/ssh/sshd_config
descomente o ‘GSSAPIAuthentication’ e habilite-o alterando o valor para “.
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
Salve e feche a configuração e reinicie o serviço ssh.
systemctl restart sshd
– Setup ‘client1.ahmad.io’ Machine
adicione o novo usuário do sistema ‘ammar’ na máquina cliente e faça login nela.
useradd -m -s /bin/bash ammar
su - ammar
depois disso, inicialize o principal do Usuário Kerberos ‘ammar’.
kinit ammar
Digite a senha do Usuário e depois verifique o Ticket disponível usando o seguinte comando.
klist
e você será mostrado o seguinte resultado.
agora você pode conectar o ‘krb5.ahmad.io’ servidor usando a autenticação SSH Kerberos.
ssh krb5.ahmad.io
e você estará conectado ao ‘krb5.ahmad.io’ servidor através do SSH com autenticação Kerberos.
abaixo está o Log SSH depois de logado no servidor.
finalmente, a instalação e configuração do servidor e cliente Kerberos no Ubuntu 18.04 foi concluída com sucesso.