Kerberos: conceitos, melhores práticas e particularidades

Slides:



Advertisements
Apresentações semelhantes
«Forte do Bom Sucesso (Lisboa) – Lápides 1, 2, 3» «nomes gravados, 21 de Agosto de 2008» «Ultramar.TerraWeb»
Advertisements

IFTO ESTRUTURA DE DADOS AULA 05 Prof. Manoel Campos da Silva Filho
Instalação e Configuração
INFORMAÇÕES COMPLEMENTARES
Palestras, oficinas e outras atividades
A busca das mulheres para alcançar seu espaço dentro das organizações
Material pedagógico Multiplicar x 5 Clica!
Vamos contar D U De 10 até 69 Professor Vaz Nunes 1999 (Ovar-Portugal). Nenhuns direitos reservados, excepto para fins comerciais. Por favor, não coloque.
Operadores e Funções do LINGO
Exercício do Tangram Tangram é um quebra-cabeças chinês no qual, usando 7 peças deve-se construir formas geométricas.
BD em.NET: Passo a passo conexão com SQL Server 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.
Pesquisa Bibliográfica Disciplina de Metodologia da Pesquisa Profª Tereza Yoshiko Kakehashi 1.
Nome : Resolve estas operações começando no centro de cada espiral. Nos rectângulos põe o resultado de cada operação. Comprova se no final.
Análise de Casos de Uso.
Bruno Rafael de Oliveira Rodrigues
1 INQUÉRITOS PEDAGÓGICOS 2º Semestre 2003/2004 ANÁLISE GERAL DOS RESULTADOS OBTIDOS 1.Nº de RESPOSTAS ao inquérito 2003/2004 = (42,8%) 2.Comparação.
SECRETARIA MUNICIPAL DE EDUCAÇÃO
Campus Curitiba Departamento Acadêmico de Matemática Angela Olandoski Barboza UTFPR – Damat.
Curso de ADMINISTRAÇÃO
Relações Adriano Joaquim de O Cruz ©2002 NCE/UFRJ
1 MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) BREVE HISTÓRICO CARACTERÍSTICAS CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS MODELAGEM DE ANÁLISE E DE.
EXPRESSÕES ARITMÉTICAS
DNS Introdução.
Aula 4 Nomes, Vinculações, Tipos e Escopos
GERENCIAMENTO DE REDES
HellermannTyton Brasil Sistema de Gerenciamento Integrado HellermannTyton Brasil Sistema de Gerenciamento Integrado Alexandre Martins Consultor de Negócios.
EXEMPLOS DE ESTRUTURAS PROTENDIDAS
Provas de Concursos Anteriores
Análise de Casos de Uso Alexandre Motnteiro.
Renda até 2 SM.
Hamburgo, Alemanha Definir o caminho que irá permitir a Lions Clubs International alcançar o seu potencial pleno como organização.
Utilitários de Redes Prof. Andréa Chicri Torga Adaptações
Módulo III.
Diagnósticos Educativos = Diagnósticos Preenchidos 100% = 1.539
PESQUISA SOBRE PRAZO MÉDIO DA ASSISTÊNCIA NA SAÚDE SUPLEMENTAR
Criação de objetos da AD 1Luis Rodrigues e Claudia Luz.
(CESPE/ Técnico Judiciário do TRT 17ª Região/ES) O Superior Tribunal de Justiça entende que o candidato aprovado em concurso público dentro do limite.
MECÂNICA - DINÂMICA Exercícios Cap. 13, 14 e 17. TC027 - Mecânica Geral III - Dinâmica © 2013 Curotto, C.L. - UFPR 2 Problema
Aula 9 - Camada de aplicação
Jéssica Vieira Jonathan Fried Públio Lima Graduandos Engenharia de Controle e Automação UFRJ – Escola Politécnica.
Introdução ao Desenvolvimento Web
1 CENTRO DE DESENVOLVIMENTO E PLANEJAMENTO REGIONAL – 2006 P Ó S-GRADUA Ç ÃO EM ECONOMIA Microeconomia I Prof.: Edson Domingues Cap í tulo II: Escolha.
CATÁLOGO GÉIA PÁG. 1 GÉIA PÁG. 2 HESTIA PÁG. 3.
PROCESSOS PRINCIPAIS Alunos - Grau de Satisfação 4971 avaliações * Questões que entraram em vigor em 2011 ** N.A. = Não Aplicável Versão: 07/02/2012 INDICADORES.
Trabalho sobre Cor Thiago Marques Toledo.
FISCALIZAÇÃO DIRECIONADA CONDUTA - AUXILIAR ANO III – Nº 05.
Coordenação Geral de Ensino da Faculdade
Plataforma Brasil – Submissão de pesquisa
Tributação da Exportação nas Empresas optantes pelo Simples Nacional
Projeto Marcas que Eu Gosto 1 PROJETO MARCAS QUE EU GOSTO Estudos Quantitativo de Consumidores Janeiro / 2005.
1/40 COMANDO DA 11ª REGIÃO MILITAR PALESTRA AOS MILITARES DA RESERVA, REFORMADOS E PENSIONISTAS - Mar 06 -
Projeto Medindo minha escola.
GERENCIAMENTO DE REDES UTILIZANDO O PROTOCOLO SNMP
Linhas de Pesquisa FRAMESEC
Módulo III.
DIEGO RICARDO DE ARAUJO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO INSTITUTO DE CIÊNCIA EXATAS UNIVERSIDADE FEDERAL DE JUIZ DE FORA Seleção de Características.
1 Aplicações do Fecho Regular. 2 A interseção de uma linguagem livre de contexto e uma linguagem regular é uma linguagem livre de contexto livre de contexto.
CONCEITOS FUNDAMENTAIS
Olhe fixamente para a Bruxa Nariguda
Máquina de Turing Universal
Equipe Bárbara Régis Lissa Lourenço Lucas Hakim Ricardo Spada Coordenador: Gabriel Pascutti.
Protocolos e Conceitos de Roteamento – Capítulo 7
Segurança e Auditoria de Sistemas
Módulo Compras Relatórios e Relações 1. Objetivo 2 Conhecer os relatórios e as relações do sistema disponibilizadas no módulo Compras.
AM020C A interface entre Meio Ambiente, Sociedade e Economia Indicadores de produtividade e empregabilidade da agricultura do Brasil. Aluna Andressa Santos.
1 DADOS PARA CONTATO Nilson Nicolau Nossa Caixa – Nosso Banco Fone: (0xx11)
Controle de Acesso Kerberos
Introdução Identificação x Autenticação; Identificação não requer autenticação; Autenticação requer identificação; Usar hash para senhas. Ex. SHA-2;
Microsoft SQL Server 2008 Como instalar a versão Express Edition.
Transcrição da apresentação:

Kerberos: conceitos, melhores práticas e particularidades Vladimir Michel Bacurau Magalhães twitter | Blog | LinkedIn Instrutor | Consultor | Administrador de Bancos de Dados  MCT | MCITP | MOS | MCTS | MMI | ITIL V3 | COBIT V4.1 | ISO 27002

Sobre PASS: PASS Chapter & Virtual Chapter Mais de 260 Organizações no nível Mundial + 20 Organizações Virtuais SQLSaturday ~200 Eventos no Mundo, um dia inteiro de treinamento livre sobre SQL Server 24 Hours of PASS Eventos online, gratuítos. Existem edições locais (Português, Espanhol, Russo, … ) SQLRally Eventos regionais, pagos. (European Nordic, Rússia, …) PASS Summit Evento pago de 3 dias + 2 dias de Workshops, conta com as equipas da Microsoft e dos melhores Profissionais. Por favor, refere as organizações existentes no Brazil e Em Portugal

Agenda Formas de Autenticação NTLM x Kerberos Vantagens do Kerberos Implementação Troubleshooting e Ferramentas

Formas de autenticação SQL (Mixed-Mode) Windows (Trusted)

Formas de autenticação

Formas de autenticação SQL (Mixed-Mode) Windows (Trusted) Controle de acessos extra Envia senha pela rede Usuário admin (SA) conhecido Acessos de domínios não confiáveis Acesso customizado em aplicações web Controle unificado de acessos na rede Não envia senha pela rede Permite o controle por grupos Acessa apenas domínios com confiança Maior número de políticas de controle (ex: não permitir alterar senha)

Formas de autenticação Autenticação Windows, (Windows 2000 em diante): Utiliza algoritmo Negotiate (SPNEGO) SPNEGO permite que cliente e servidor negociem protocolo de autenticação que será utilizado Tenta por padrão Kerberos Caso não consiga, utiliza NTLM (NTLM fallback) http://blogs.msdn.com/b/sql_protocols/archive/2006/12/02/understanding-kerberos-and-ntlm-authentication-in-sql-server-connections.aspx

NTLM x Kerberos NTLM Cliente envia nome de usuário para o servidor Servidor gera e envia um “desafio” para o cliente Cliente encripta o “desafio” utilizando a senha do usuário Cliente envia o “desafio” encriptado para o servidor Servidor envia resposta do cliente para o Controlador de domínio Controlador de domínio valida resposta e envia resultado para servidor

http://msdn.microsoft.com/en-us/library/cc224019(v=prot.20).aspx

NTLM x Kerberos Kerberos Usuário se autentica com o KDC O Authentication Service (AS), um componente do KDC, recebe requisição de autenticação e a valida KDC envia um ticket para o cliente Cliente recebe o ticket e o coloca em cache Ao tentar utilizar um recurso da rede o cliente envia o ticket recebido ao componente TGS do KDC KDC retorna um ticket de sessão para o cliente Cliente envia ticket de sessão para recurso de rede que deseja acessar Servidor avalia o ticket Servidor libera ou bloqueia acesso do cliente

http://msdn.microsoft.com/en-us/library/ff649429.aspx

NTLM x Kerberos Cérbero/Cerberus Mitologia Grega Cão que guardava a entrada do Hades, reino subterrâneo dos mortos As 3 cabeças do Kerberos representam o cliente, servidor e o KDC .

Vantagens do Kerberos Problemas do NTLM Vantagens do Kerberos Permite “ataques de replay” Assume que o servidor é confiável Requer mais tráfego de autenticação do que o Kerberos Autenticação Mutua – cliente autentica o serviço e o serviço autentica o cliente Padrão aberto Permite delegação http://www.windowsitpro.com/article/kerberos/comparing-windows-kerberos-and-ntlm-authentication-protocols

Vantagens do Kerberos Pré-autenticação http://redmondmag.com/Articles/2012/02/01/Understanding-the-Essentials-of-the-Kerberos-Protocol.aspx?Page=2

Vantagens do Kerberos Evitando ataques de replay Se pré-autenticação estiver habilitada: Time stamp encriptado utilizando o hash da senha do usuário KDC desencripta o time stamp e o valida Cuidado com o horário de verão! http://technet.microsoft.com/en-us/library/bb742516.aspx

Implementação Security Support Provider Interface (SSPI) Permite que uma aplicação use vários modelos de segurança disponíveis sem alterar a interface para o sistema de segurança. Provê uma camada de abstração entre protocolos de nível de aplicação e protocolos de segurança.

Implementação http://technet.microsoft.com/en-us/library/cc780455(v=ws.10).aspx

Implementação

Implementação

Implementação Pré-requisitos: Cliente e servidor devem fazer parte do mesmo domínio do windows ou domínios com confiança entre eles O SPN deve estar registrado no Active Directory Cliente deve conectar ao servidor utilizando TCP/IP (ou seja, named pipes, shared memory não permitem utilizar o Kerberos!)

Implementação O que é um SPN? Service Principal Name informa o cliente sobre o serviço Formado de 3 ou 4 das partes abaixo (porta do serviço é opcional) Tipo/Classe do serviço Database Engine (MSSQLSvc) Analysis Services (MSOLAPSvc.3) SQL Browser (MSOLAPDisco.3) Nome do servidor A porta (se necessária) A conta com a qual o serviço está executando Precisaremos de TODOS estes itens corretos

Implementação Como configuro o SPN? Administrador do domínio, conta de sistema do computador ou uma conta como a Network Service. Como normalmente não configuramos (boas práticas!) o SQL Server com nenhum desses tipos de contas o mesmo não será capaz de configurar o SPN por conta própria.

Implementação SQL Server até tentará registrar o SPN automaticamente se o protocolo TCP/IP estiver ativo Irá gerar mensagens no log como a seguinte: The SQL Network Interface library could not register the Service Principal Name (SPN) for the SQL Server service. Error: 0×2098. Failure to register an SPN may cause integrated authentication to fall back to NTLM instead of Kerberos. This is an informational message. Further action is only required if Kerberos authentication is required by authentication policies.

Implementação

Implementação SETSPN -? Classe/<Nome do Servidor>:<porta> <Conta de Serviço> Onde “?” pode ser: A – adiciona o SPN S – adiciona o SPN, após verificar se ele já não existe* X – Pesquisa por duplicidade F – Pesquisa por duplicidade, em toda a floresta Q – Consulta a existência de um SPN D – remove SPN R – resetar SPN L – Listar SPN

Implementação SELECT FROM sys.dm_exec_sessions s s.session_id , c.connect_time , s.login_time , s.login_name , c.protocol_type , c.auth_scheme , s.HOST_NAME , s.program_name FROM sys.dm_exec_sessions s INNER JOIN sys.dm_exec_connections c ON s.session_id = c.session_id

Implementação

Implementação SETSPN –S MSSQLSvc/<servername.domainname> accountname SETSPN –D MSSQLSvc/<servername.domainname> accountname SETSPN –L domain\accountname SETSPN -X

Implementação Domínio: exemplo.local Servidor: banco01 Conta: exemplo\SQL SETSPN –S MSSQLSvc/banco01.exemplo.local exemplo\SQL SETSPN –S MSSQLSvc/banco01 exemplo\SQL SETSPN –S MSSQLSvc/banco01.exemplo.local:1433 exemplo\SQL SETSPN –S MSSQLSvc/banco01:1433 exemplo\SQL

Implementação Domínio: exemplo.local Servidor: banco01 Conta: exemplo\SSRS SETSPN -S http/banco01 exemplo\SSRS  SETSPN -S http/banco01.exemplo.local exemplo\SSRS Com host header SETSPN -S http/www.relatorios.com.br exemplo\SSRS

Implementação Domínio: exemplo.local Servidor: banco01 Conta: exemplo\SSAS | exemplo\browser SETSPN -S msolapsvc.3/banco01 Domain\SSAS -SQL Browser (pode ser necessário com instâncias nomeadas do SSAS!) SETSPN –S MSOLAPDisco.3/banco01 SETSPN –S MSOLAPDisco.3/banco01.exemplo.local SETSPN –S MSOLAPDisco.3/banco01 exemplo\browser SETSPN –S MSOLAPDisco.3/banco01.exemplo.local exemplo\browser

Implementação Domínio: exemplo.local Servidor: banco01 Conta: exemplo\SQL SETSPN –D MSSQLSvc/banco01.exemplo.local exemplo\SQL SETSPN –L exemplo\SQL SETSPN -X

Implementação Domínio: exemplo.local Servidor: banco01 Conta: exemplo\SQL SETSPN –F –S MSSQLSvc/banco01.exemplo.local exemplo\SQL

Troubleshooting e Ferramentas http://www.sqldbadiaries.com/2011/09/05/how-the-cannot-generate-sspi-context-error-was-fixed/

Troubleshooting e Ferramentas http://blogs.technet.com/b/rob/archive/2011/11/23/enabling-kerberos-authentication-for-reporting-services.aspx

Troubleshooting e Ferramentas

Troubleshooting e Ferramentas

Troubleshooting e Ferramentas

Troubleshooting e Ferramentas

Troubleshooting e Ferramentas

Troubleshooting e Ferramentas RSReportServer.config <Authentication> <AuthenticationTypes>           <RSWindowsNegotiate/> </AuthenticationTypes> <EnableAuthPersistence>true</EnableAuthPersistence> </Authentication>

Troubleshooting e Ferramentas Klist – lista os tickets do usuário cuidado com o UAC Mostrará apenas tickets daquela sessão Disponível no WS 2008 em diante Até o WS 2003 estava disponível no resource kit tools http://setspn.blogspot.com.br/2010/06/kerberos-basic-troubleshooting-tip-1.html

Troubleshooting e Ferramentas

Troubleshooting e Ferramentas Klist purge – remove todos os tickets do usuário atual

Troubleshooting e Ferramentas

Troubleshooting e Ferramentas klist –li 0x3e7 klist –li 0x3e7 purge 0x3e7 é a sessão da máquina (“Local System”) Com a opção purge você pode “reiniciar” o group membership sem ter de realizar um reboot

Troubleshooting e Ferramentas

Troubleshooting e Ferramentas Kerbtray – Lista tickets do usuário através de uma GUI Apenas exibe os tickets Disponível no resource kit tools do WS 2003 http://setspn.blogspot.com.br/2010/06/kerberos-basic-troubleshooting-tip-1.html

Troubleshooting e Ferramentas

Troubleshooting e Ferramentas Utilize portas estaticas para a database engine! Há programas que não permitem especificar a porta! Tente utilizar: SERVIDOR\INSTANCIA,PORTA SERVIDOR\INSTANCIA:PORTA http://setspn.blogspot.com.br/2010/06/kerberos-basic-troubleshooting-tip-2.html

Troubleshooting e Ferramentas

Troubleshooting e Ferramentas SQL Native Client Permite especificar o SPN que será utilizado pelo cliente para autenticação

Troubleshooting e Ferramentas

Troubleshooting e Ferramentas Kerberos event logging Crie a chave: HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters Registry Value: LogLevel  Value Type: REG_DWORD  Value Data: 0x1 Para desabilitar, remova a chave de registro A partir do WS 2008 não requer reboot Utilize em conjunto: KerbDebugLevel e LogToFile (também em HKLM\...\Parameters) Cuidado com o impacto na performence http://setspn.blogspot.com.br/2010/06/kerberos-basic-troubleshooting-tip-4.html http://support.microsoft.com/kb/262177/en-us

Troubleshooting e Ferramentas Kerberos UDP Fragmentation Kerberos executa por padrão na porta UDP 88 até WS 2003 Pacotes podem ser perdidos por componentes da rede Realiza fallback para TCP em caso de Tickets muito grandes TCP a partir do WS 2008 Como forçar o Kerberos a utilizar TCP em vez de UDP no Windows http://blog.myitechnology.com/2008/09/troubleshooting-kerberos-issues.html

Troubleshooting e Ferramentas Problemas com navegadores IE6, IE7, IE8 ignoram portas digitadas na URL Alguns navegadores tentam Kerberos por padrão (IE) outros NTLM

Troubleshooting e Ferramentas CNAME x ANAME Resolução do nome ocorre erroneamente com CNAME Sempre utilize ANAMEs! http://technet.microsoft.com/pt-br/library/gg502606.aspx

Troubleshooting e Ferramentas http://setspn.blogspot.com.br/2010/06/kerberos-basic-troubleshooting-tip-3.html

Troubleshooting e Ferramentas Monitoramento de pacotes: Wireshark Netmon Message analyser “Uma ferramenta utilizada para visualizar o conteúdo de pacotes de rede que estão sendo enviados e recebidos em uma conexão de rede ativa ou de um arquivo de dados capturado previamente. Ela provê opções de filtro para análises complexas de dados de rede.”

Troubleshooting e Ferramentas

Troubleshooting e Ferramentas

Troubleshooting e Ferramentas

Troubleshooting e Ferramentas

Troubleshooting e Ferramentas

Troubleshooting e Ferramentas KDC_ERR_PREAUTH_REQUIRED  Em geral não é um erro, mas sim um “problema” na forma que algumas aplicações implementam o Kerberos Aplicações que não realizam a pré-autenticação Provavelmente a aplicação fará o processo correto em seguida http://blogs.technet.com/themes/blogs/generic/postlist.aspx?WeblogApp=askds&PageIndex=3

Troubleshooting e Ferramentas KDC_ERR_PRINCIPAL_UNKNOWN SPN não registrado Serviço está sendo consultado com o nome errado klist purge? http://setspn.blogspot.com.br/2010/06/kerberos-basic-troubleshooting-tip-4.html

Troubleshooting e Ferramentas KDC_ERR_PREAUTH_FAILED Em geral, usuário não existe ou a senha está errada/desatualizada

Troubleshooting e Ferramentas KRB_AP_ER_MODIFIED Ticket apresentando pelo serviço foi encriptado com conta diferente da que o serviço utiliza Autenticação falha e não há NTLM fallback

Troubleshooting e Ferramentas HOSTS/LMHOSTS Cuidado com dados inválidos!

Troubleshooting e Ferramentas http://blogs.msdn.com/b/psssql/archive/2012/07/12/sharepoint-adventures-the-connection-either-timed-out-or-was-lost-with-rs-datasource-to-ssas.aspx

Troubleshooting e Ferramentas Constrained Delegation Quando trabalhando em cluster, deve ser configurado em cada nó do cluster! http://blogs.msdn.com/b/psssql/archive/2012/09/07/bulk-insert-and-kerberos.aspx

Troubleshooting e Ferramentas Reboot Em várias situações um reboot não é necessário De qualquer forma, caso a solução não funcione, é sempre bom tentar um reboot! http://blogs.msdn.com/b/psssql/archive/2009/07/01/when-in-doubt-reboot.aspx

Material complementar Troubleshooting Kerberos Errors https://magalhaesv.wordpress.com/ http://blogs.msdn.com/b/psssql/ https://twitter.com/awsaxton Troubleshooting Kerberos Delegation Using DelegConfig Kerberos Authentication Tester

Perguntas?

Obrigado pela presença! Slides 42,60