kerberos - universidade federal do maranhãogeraldo/soii/7.kerberos.pdf · socks (desde socks5)...

31
Kerberos

Upload: others

Post on 21-Nov-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Kerberos

Page 2: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Introdução O que é Kerberos?

Origem do nome

2

Page 3: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Motivação Problemas ao implementar um sistema de

segurança em uma organização é a parte interna da rede.

Teoricamente trabalha-se com pessoas confiáveis Uma pessoa pode instalar por descuido um software

malicioso

3

Page 4: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Descrição Sistema de autenticação distribuído.

Formado por 3 servidores (sistema de confiança tripla): Servidor de Autenticação (AS) Servidor de Concessão de Ticket (TGS) Servidor de Serviços (SS)

Outros conceitos: Chave de sessão Ticket Principal Base de Dados do Kerberos

4

Page 5: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Servidor de Autenticação (AS) Authentication Server

Responsável pela autenticação em si do usuário

a partir de um pedido a este servidor, ele receberá um ticket e uma chave de sessão, podendo assim continuar tentando se conectar com o sistema.

5

Page 6: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Servidor de Concessão de Ticket(TGS)

Ticket Granting Server

Como o nome já diz, é o responsável pela concessão dos tickets para os serviços que utilizam o Kerberos.

6

Page 7: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Servidor de Serviços (SS) Service Server

Realiza o serviço pretendido propriamente dito

7

Page 8: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Chave de sessão É uma chave gerada pelo Kerberos

objetivo autenticar a conexão feita por um par de usuários autenticados

Essa chave atende ao pedido de um desses usuários, e só é conhecida por esses usuários, durando um tempo determinado

8

Page 9: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Ticket Ele é um certificado distribuído pelo

Kerberos

Criptografado com a chave secreta do usuário destino Finalidade será informar com segurança:

a identidade do usuário para quem o ticket foi originalmente concedido

chave de sessão a ser utilizada no intercâmbio.

O ticket também contém dados que garantirão que o usuário que está utilizando esse ticket é o mesmo que solicitou a sua concessão.

9

Page 10: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Principal É um termo do Kerberos que define uma

entidade por meio de um endereço◦ um usuário ◦ um serviço.

Este endereço é comumente dividido em três partes: ◦ a primeira parte contém o nome do usuário ou

do serviço;◦ a segunda parte contém o nome do host ou

nada, quando se trata de um usuário◦ e a terceira parte contém o nome do realm.◦ Ex:

host/[email protected]

10

Page 11: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Base de Dados do Kerberos Associado a cada principal existe um

nome, uma senha e algumas outras informações. Estes dados são armazenados na base de dados do Kerberos.◦ Local onde estão cadastrados os dados dos

clientes e servidores (“principals”).

◦ Esta base de dados é criptografada com uma chave mestra do Kerberos, e pode ser replicada para servidores escravos.

◦ Ela não pode ser examinada por qualquer um.

11

Page 12: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Funcionamento – de modo Geral

O cliente se autentica no AS, então demonstra para o TGS que está autorizado a receber um Ticket para utilizar em um serviço (e o recebe), então demonstra ao Servidor de Serviço (SS) que ele está aprovado para receber um serviço.

12

Page 13: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Funcionamento

13

Ticket granting ticket (TGT) = Ticket de Concessão (ID do cliente, endereço

de rede do cliente, validade do ticket e a Chave de sessão Cliente/TGS)

criptografado utilizando a chave secreta do TGS

Page 14: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Funcionamento1. O usuário coloca o “login” e “senha” no

cliente

A. O cliente aplica uma criptografia de mão única na senha digitada, e isso se torna a chave secreta do cliente.

B. O cliente envia uma solicitação de serviço, através de uma mensagem em texto-plano, ao AS. Exemplo de mensagem: “O usuário XYZ gostaria de receber um serviço”. Nota: Nem a chave secreta, nem a senha são enviadas ao AS

14

Page 15: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Funcionamento2. O AS verifica se o cliente está em sua base

de dados. Se estiver, ele manda as seguintes duas mensagens ao cliente:

A. Mensagem A: Chave de sessão Cliente/TGScriptografada usando a chave secreta do usuário.

B. Mensagem B: Ticket de Concessão (Que inclui a ID do cliente, endereço de rede do cliente, validade do ticket e a Chave de sessão Cliente/TGS) criptografado utilizando a chave secreta do TGS. Este ticket é chamado de

ticket granting ticket (TGT).

15

Page 16: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Funcionamento2. Somente após o cliente receber a

mensagem A e B, ele descriptografa a mensagem A e obtém a Chave de sessão Cliente/TGS.

A. Essa chave de sessão é utilizada em comunicações futuras com o TGS. (Nota: O cliente não consegue descriptografar a mensagem B, pois essa é criptografada utilizando a chave secreta do TGS). A

B. A partir desse momento, o cliente tem informações o suficiente para se autenticar no TGS.

16

Page 17: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Funcionamento

17

Ticket = (ID do cliente, endereço de rede do cliente, período válido, e

uma chave de sessão Cliente/Servidor) criptografado utilizando a chave

secreta do serviço

Page 18: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Funcionamento3. Após requisitar o serviço, o cliente envia

as seguintes duas mensagens ao TGS:

C. Mensagem C: Composta pelo TGT vinda da mensagem B e o ID do serviço requisitado.

D. Mensagem D: O Autenticador (que é composto do ID do cliente e o “timestamp”), criptografado utilizando a Chave de sessão Cliente/TGS.

18

Page 19: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Funcionamento4. Após receber as mensagens C e D, o TGS

descriptografa a mensagem D (O Autenticador) utilizando a Chave de sessão Cliente/TGS e envia as seguintes duas mensagens ao cliente:

A. Mensagem E: Ticket Cliente-para-servidor (que inclui o ID do cliente, endereço de rede do cliente, período válido, e uma chave de sessão Cliente/Servidor) criptografado utilizando a chave secreta do serviço.

B. Mensagem F: Chave de sessão Cliente/Servidor criptografado utilizando a chave de sessão Cliente/TGS.

19

Page 20: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Funcionamento

20

Page 21: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Funcionamento5. Após receber as mensagens E e F do

TGS, o cliente tem informações suficiente para se autenticar no SS. Assim, o cliente se conecta no SS e envia as seguintes mensagens:

A. Mensagem E do passo anterior (o Ticket Cliente-para-servidor, criptografado utilizando a chave secreta do serviço) .

B. Mensagem G: Um novo Autenticador, que inclui o ID do cliente, um “timestamp”, criptografados com chave de sessão Cliente/Servidor

21

Page 22: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Funcionamento6. O cliente descriptografa a confirmação

utilizando a chave compartilhada com o servidor e verifica se o “timestamp” está atualizado corretamente.

A. Se tiver, o cliente pode confiar no servidor e começa a pedir serviços ao mesmo.

B. O Servidor retorna os serviços solicitados pelo cliente.

22

Page 23: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Vantagens A vantagem é que enquanto senhas

usualmente são válidas por meses, o TGT é válido somente por um curto período de tempo, tipicamente 8 horas.

Depois deste tempo, o TGT não pode ser usado por ninguém, nem usuário nem invasor.

23

Page 24: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Exemplo Real Este mecanismo funciona de maneira

semelhante a um visitante num local de trabalho. ◦ Você mostra sua identificação (pode ser a

carteira de motorista) e recebe uma identificação de visitante.

◦ Agora quando quiser entrar numa das várias salas, ao invés de apresentar sua identificação oficial a cada sala (corre-se o risco de ter a identidade perdida ou roubada), basta mostrar a identidade de visitante.

◦ Se sua identidade de visitante for perdida ou roubada, você poderá torná-la inválida e substituí-la rapidamente e com facilidade, algo que não acontece com sua carteira de motorista.

24

Page 25: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Rede Kerberos O Alto número de requisições pode tornar um

único AS/TGS um gargalo no processo de autenticação.

Podemos dividir a rede em realms

Cross-realm authenticathion

25

TGS

Cliente

RTGS

Realm 1 Realm 2

Serviço

O TGS não pode enviar o

ticket do serviço porque está

em outro realm. Então

providencia um TGT para o

realm certo.

Envia o TGT para

requisitar um

serviço

Envia o TGT2

Recebe o ticket do

serviço

Envia o ticket do serviço e

recebe o serviço

Page 26: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Rede Kerberos Hierarquia de realms

26

Page 27: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Configuração do servidor Linux Inicializando o servidor Kerberos Instalar os arquivos binários

Editar o arquivo krb5.conf

Editar o arquivo /.k5login

Editar o arquivo /etc/services

Editar o arquivo /etc/inetd.conf

Editar o arquivo /etc/rc.<hostname>

Criar a base de dados

Adicionar entradas para usuários e serviços

Executar os servidores krb5kdc e kadmin em background.

27

Page 28: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Configuração do servidor Linux Registrando principals

Uma vez inicializada a base de dados, pode-se executar o kadmin para adicionar principals.

Kerberizando aplicações

Reconstruir uma aplicação para que ela passe a usar o Kerberos é chamado de kerberizar a aplicação.

28

Page 29: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Aplicações AFS

Apache (com o módulo mod_auth_kerb)

Apache 2 (usando libapache-mod-auth-kerb)

Roteadores e Switches Cisco utilizando IOS

Coda File System

Eudora

Mac OS X

Microsoft Windows (2000 e posteriores) utiliza como protocolo de autenticação padrão

Mulberry, um cliente de e-mail desenvolvido por Cyrusoft, Inc.

NFS (Desde NFSv3)

OpenSSH (with Kerberos v5 or higher)

PAM (com o módulo pam_krb5)

Samba Desde v3.x

SOCKS (Desde SOCKS5)

Netatalk

As implementações X Window System

OpenLDAP, Dovecot IMAP4 e servidores POP3, Servidor de e-mail Postfix

Rsh, FTP, and Telnet

Qualquer software baseado em Java (Desde 1.4.2) utilizando JAAS/JGSS pode utilizar o Kerberos para a sua segurança

29

Page 30: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Limitações Necessidade da disponibilidade contínua do

servidor Kerberos

Usuário/servidor e não ponto a ponto

Os relógios devem estar sincronizados devido ao timestamp

É vulnerável contra senhas fracas

30

Page 31: Kerberos - Universidade Federal do Maranhãogeraldo/soii/7.Kerberos.pdf · SOCKS (Desde SOCKS5) Netatalk As implementações X Window System OpenLDAP, Dovecot IMAP4 e servidores POP3,

Conclusão O sistema de autenticação Kerberos é uma

ferramenta que trata alguns itens de segurança em uma rede de computadores.

Para redes que necessitam de um grau de segurança mais elevado, a utilização de um sistema como o Kerberos juntamente com outros serviços de segurança, como firewalls e proxies, é imprescindível, pois não é só de fora que vem os ataques.

A maioria deles ocorrem de dentro da rede e estes são os mais difíceis de serem tratados.

31