Sunteți pe pagina 1din 86

LEONARDO DE BRITO JORDO

USO DO PROTOCOLO DE AUTENTICAO


KERBEROS EM REDES LINUX
Monografia apresentada ao Departamento de Cincia
da Computao da Universidade Federal de Lavras,
como parte das exigncias do curso de Ps!raduao
Lato Sensu em "dministrao de #edes Linux $"#L%
para o&teno do t'tulo de (specialista em
"dministrao de #edes Linux)
*rientador
Professor +oa,uim -uinteiro Uc./a
Lavras
Minas !erais 0 1rasil
2334
LEONARDO DE BRITO JORDO
USO DO PROTOCOLO DE AUTENTICAO
KERBEROS EM REDES LINUX
Monografia apresentada ao Departamento de Cincia
da Computao da Universidade Federal de Lavras,
como parte das exigncias do curso de Ps!raduao
Lato Sensu em "dministrao de #edes Linux $"#L%
para o&teno do t'tulo de (specialista em
"dministrao de #edes Linux)
"provada em 16 de Abril de 2005
Professor 5erlon "6res Camargo
Professor #icardo Martins de "&reu 7ilva
Professor +oa,uim -uinteiro Uc./a
$*rientador%
Lavras
Minas !erais 0 1rasil
minha esposa Lucineide e aos meus filhos,
Lucas e Mariana, pelo apoio e compreenso .
v
vi
Agradeciment!
"gradeo a Deus, acima de tudo, e a meus pais, por tudo ,ue me
deram e proporcionaram)
"gradeo a meus amigos e a todos ,ue, direta ou indiretamente,
contri&u'ram para ,ue eu pudesse concluir esse curso)
vii
viii
Re!"m
* protocolo 8er&eros 9 um sistema de autenticao segura para
aplica:es cliente;servidor ,ue utili<a criptografia de c.ave sim9trica
para autenticar usu=rios e servidores, eliminando o tr=fego de sen.as
pela rede e garantindo segurana a sistemas de informao) *
8er&eros 9 um sistema de loon >nico, onde a sen.a 9 informada uma
>nica ve< e o 8er&eros efetua a autenticao e criptografia de forma
transparente entre usu=rios e servios) (ste documento descreve o
protocolo de autenticao 8er&eros e apresenta os passos para
instalao e configurao de servidores de autenticao 8er&eros em
uma rede Linux)
ix
x
S"m#ri
$ Intrd"%& $
' O Prtc( Ker)er! *
2)? @iso geral))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) A
2)2 #a<:es para a utili<ao do 8er&eros)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) B
2)A Funcionamento &=sico do 8er&eros))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 4
2)B Cnfraestrutura do 8er&eros))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) D
* O Prtc( Ker)er! n +NU,Lin"- .
A)? (lementos do 8er&eros)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) ?3
A)?)? #eino 8er&eros))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) ?3
A)?)2 Principal do 8er&eros))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) ?3
A)?)A " &ase de dados 8er&eros)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))??
A)?)B * ar,uivo Ee6ta&)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))?2
A)?)4 FicEets 8er&eros))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) ?2
A)2 Cnterao entre o usu=rio e o 8er&eros))))))))))))))))))))))))))))))))))))))))))))))))))))))))) ?A
A)2)? "cessando o 8DC)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))?A
A)2)2 "cessando um servidor))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) ?B
/ In!ta(a%& e Cn0ig"ra%& $1
B)? PlaneGamento da instalao do 8er&eros))))))))))))))))))))))))))))))))))))))))))))))))))))))?H
B)?)? Definio do nome do reino))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))?I
B)?)2 Portas para acesso ao 8DC e aos servios administrativos)))))))))))))))?I
B)?)A 7ervidores 8DC escravos))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) ?I
B)?)B #eplicao da &ase de dados)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))?J
B)?)4 Usando o DK7 na configurao))))))))))))))))))))))))))))))))))))))))))))))))))))))) 23
B)?)D 7incroni<ao de 5or=rio))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))22
B)2 Cnstalao do servidor 8er&eros))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 2A
B)2)? 5ardLare dos servidores)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))2B
B)2)2 Pacotes do 8er&eros))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))24
B)A Configurao do servidor 8DC))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 24
B)A)? * ar,uivo Er&4)conf)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 2D
B)A)2 * ar,uivo Edc)conf))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 2H
B)A)A Criao da &ase de dados do 8er&eros))))))))))))))))))))))))))))))))))))))))))))) 2I
xi
B)A)B Criao do ar,uivo de controle de acesso))))))))))))))))))))))))))))))))))))))))) 2J
B)A)4 Cniciando os servios do 8DC mestre))))))))))))))))))))))))))))))))))))))))))))))) A3
B)A)D "dio de administradores M &ase de dados)))))))))))))))))))))))))))))))))))))) A3
B)A)H Criao do principal para o servidor))))))))))))))))))))))))))))))))))))))))))))))))) A?
B)A)I Criao do ar,uivo de c.ave para o 8DC $Ee6ta&%)))))))))))))))))))))))))) A2
B)A)J Criando as contas dos principais )))))))))))))))))))))))))))))))))))))))))))))))))))))) AA
B)A)?3 Festando a funcionalidade do servidor 8DC)))))))))))))))))))))))))))))))))))) AA
B)B) Cnstalao e configurao de m=,uinas clientes))))))))))))))))))))))))))))))))))))))))))) AB
B)B)? Programas clientes)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) AB
B)B)2 Criao do principal e da c.ave para o cliente))))))))))))))))))))))))))))))))))A4
B)4) 7ervidores de aplicao)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) AD
B)4)? Programas de servidor)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) AH
B)4)2 Criao do principal e da c.ave para o servidor e servios)))))))))))))) AH
B)D (xemplo de uso de aplicao))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) AJ
2 Admini!tra%& d Ker)er! /$
4)? Controle de acesso))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) B?
4)2 * programa Eadmin))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) B2
4)A Pol'ticas))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))BA
4)A)? Criao e alterao de pol'ticas)))))))))))))))))))))))))))))))))))))))))))))))))))))))))BA
4)A)2 Listando as pol'ticas))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))BB
4)A)A *&tendo a configurao de uma pol'tica)))))))))))))))))))))))))))))))))))))))))))B4
4)A)B #emoo de pol'ticas)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) B4
4)B "dministrao de Principais)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) BD
4)B)? Criao e modificao de principais))))))))))))))))))))))))))))))))))))))))))))))))) BD
4)B)2 Listando principais))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))BH
4)B)A *&tendo informa:es de um principal)))))))))))))))))))))))))))))))))))))))))))))) BI
4)B)B #emoo de principais)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) BI
4)B)4 "lterao de sen.a)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) BJ
4)B)D Principais para m=,uinas)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 43
4)4 *pera:es administrativas so&re a &ase de dados do 8er&eros))))))))))))))))))))4?
4)4)? Copiando a &ase de dados para um ar,uivo)))))))))))))))))))))))))))))))))))))) 42
4)4)2 #estaurando a &ase de dados de um ar,uivo)))))))))))))))))))))))))))))))))))))4A
4)4)A Criao do ar,uivo para a sen.amestra))))))))))))))))))))))))))))))))))))))))))) 4A
4)4)B Criao e remoo da &ase de dados)))))))))))))))))))))))))))))))))))))))))))))))))4B
4)D "dministrao do lado cliente))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))4B
4)D)? "lterao de sen.a)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 44
4)D)2 *&teno de ticEets))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 44
xii
4)D)A @isuali<ao dos ticEets)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 4D
4)D)B Destruio dos ticEets))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 4D
3 Cn!idera%4e! 5inai! 21
D)? "ta,ues M infraestrutura 8er&eros)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 4H
D)2 7egurana do protocolo))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))4J
D)A "ta,ues gen9ricos)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) D?
D)B 7olu:es de segurana))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) D2
D)4 Desvantagens do 8er&eros))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) DA
D)D @antagens do 8er&eros)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) DB
D)H Propostas para futuros tra&al.os)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) D4
xiii
xiv
Li!ta de 5ig"ra!
Figura B)?N (xemplo de <ona DK7))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 2?
Figura B)2N (xemplo do ar,uivo ntp)conf))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 2A
Figura B)AN (xemplo do ar,uivo Er&4)conf))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 2H
Figura B)BN (xemplo do ar,uivo Edc)conf)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))2I
Figura B)4N Criando a &ase de dados 8er&eros))))))))))))))))))))))))))))))))))))))))))))))))))))))))))2J
Figura B)DN (xemplo do ar,uivo Eadm4)acl)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) A3
Figura B)HN Logs de iniciali<ao do 8DC)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) A3
Figura B)IN Criao do principal OadminP))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) A?
Figura B)JN Criao do principal para o 8DC))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) A?
Figura B)?3N Criao da c.ave para o 8DC)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) A2
Figura B)??N Listando o ar,uivo Er&4)Ee6ta&)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) AA
Figura B)?2N Criao de principal para usu=rio))))))))))))))))))))))))))))))))))))))))))))))))))))))))) AA
Figura B)?AN Listando o ar,uivo de credenciais)))))))))))))))))))))))))))))))))))))))))))))))))))))))) AB
Figura B)?BN Criao de principal de m=,uina cliente)))))))))))))))))))))))))))))))))))))))))))))))A4
Figura B)?4N Criao da c.ave para m=,uina cliente)))))))))))))))))))))))))))))))))))))))))))))))))AD
Figura B)?DN Configurao do inetd)conf para servios)))))))))))))))))))))))))))))))))))))))))))) AH
Figura B)?HN Criao de principais para servidor de aplicao))))))))))))))))))))))))))))))))))AI
Figura B)?IN Criao de c.aves para servios))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) AI
Figura B)?JN "cesso a servio com autenticao 8er&eros))))))))))))))))))))))))))))))))))))))) AJ
Figura B)23N Listando os ticEets do usu=rio)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))B3
Figura 4)?N (xemplo do ar,uivo Eadm4)acl)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) B2
Figura 4)2N Criando uma pol'tica)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) BB
Figura 4)AN Listando pol'ticas))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))B4
Figura 4)BN Listando a configurao de uma pol'tica)))))))))))))))))))))))))))))))))))))))))))))))) B4
Figura 4)4N (xcluso de uma pol'tica)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) BD
Figura 4)DN Uso do comando addQprincipal)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) BH
Figura 4)HN Listando principais))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) BI
Figura 4)IN Listando informa:es de um principal))))))))))))))))))))))))))))))))))))))))))))))))))))BJ
Figura 4)JN (xcluso de um principal))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) BJ
Figura 4)?3N "lterao de sen.a de um principal pelo administrador))))))))))))))))))))))) 43
Figura 4)??N Criando e listando o ar,uivo de c.aves)))))))))))))))))))))))))))))))))))))))))))))))) 4?
Figura 4)?2N Copiando a &ase de dados)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))42
xv
Figura 4)?AN #estaurando a &ase de dados)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 4A
Figura 4)?BN Criando o ar,uivo de sen.amestra)))))))))))))))))))))))))))))))))))))))))))))))))))))) 4B
Figura 4)?4N #emovendo a &ase de dados))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 4B
Figura 4)?DN "lterando a sen.a do principal em uso))))))))))))))))))))))))))))))))))))))))))))))))) 44
Figura 4)?HN *&tendo um ticEet)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 4D
Figura 4)?IN Listando o ar,uivo de credenciais)))))))))))))))))))))))))))))))))))))))))))))))))))))))) 4D
xvi
Li!ta de Ta)e(a!
Fa&ela B)?N #egistros 7#@ para o 8er&eros))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 22
Fa&ela 4)?N Permiss:es de controle de acesso M &ase de dados)))))))))))))))))))))))))))))))))B2
Fa&ela 4)2N *p:es do Eadmin))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))BA
Fa&ela 4)AN *p:es para os comandos addQpolic6 e modif6Qpolic6))))))))))))))))))))))) BB
Fa&ela 4)BN *p:es dos comandos addQprincipal e modif6Qprincipal))))))))))))))))))))) BH
Fa&ela 4)4N *p:es para o comandos c.angeQpassLord)))))))))))))))))))))))))))))))))))))))))) 43
Fa&ela 4)DN *p:es do Etadd)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))4?
Fa&ela 4)HN *p:es do programa Ed&4Qutil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 42
xvii
xviii
Ca67t"( $
Intrd"%&
Muitos dos sistemas computacionais utili<am es,uemas de autenticao &aseados
em sen.as, onde um usu=rio precisa se identificar para o servidor ,ue deseGa utili<ar
fornecendo um cdigo de usu=rio e uma sen.a) Para muitos servios, a transmisso
das informa:es de autenticao se d= sem o uso de criptografia) Para se ter
segurana nessas condi:es, a rede deveria ser inacess'vel externamente e todos os
computadores e usu=rios da rede interna deveriam ser confi=veis)
Uma alternativa para um sistema de autenticao segura 9 a utili<ao do
protocolo 8er&eros
?
) * o&Getivo prim=rio pelo ,ual o 8er&eros foi proGetado 9 a
eliminao da transmisso de sen.as descriptografadas pela rede) 7e implantado e
utili<ado ade,uadamente o 8er&eros acrescenta um novo n'vel de segurana M rede)
Keste documento so apresentados os conceitos e terminologia do 8er&eros,
al9m dos passos para instalao e configurao de servidores de autenticao
&aseada em 8er&eros na plataforma !KU;Linux)
* Cap'tulo 2 apresenta o protocolo 8er&eros em lin.as gerais, seu
funcionamento &=sico e elementos principais)
* Cap'tulo A mostra o 8er&eros dentro de um am&iente !KU;Linux, os servios
&=sicos para fornecimento de credenciais de autenticao e como interagem os
diversos componentes do 8er&eros numa rede Linux)
* Cap'tulo B trata do planeGamento da instalao e a configurao dos
? 8er&eros vem do grego Cer&erus e, na mitologia grega, era o nome do co de trs ca&eas ,ue
guardava a entrada do mundo inferior)
?
servidores 8er&eros, servidores de aplicao e clientes numa rede ,ue utili<a o
8er&eros para autenticao)
* Cap'tulo 4 apresenta os principais comandos para administrao do am&iente
8er&eros e, finalmente, o Cap'tulo D apresenta aspectos relativos a poss'veis fal.as
de segurana e formas de ata,ue os ,uais o 8er&eros se prop:e a redu<irR vantagens
e desvantagens de sua utili<ao)
2
Ca67t"( '
O Prtc( Ker)er!
'8$ 9i!& gera(
8er&eros 9 um protocolo de autenticao de rede criado pelo Massachusetts
!nstitute of "echnolo# $MCF
2
% e ,ue utili<a criptografia de c.ave sim9trica para
autenticar usu=rios no acesso a servios de rede 0 eliminando o envio de sen.as
atrav9s da rede 0 provendo um sistema de autenticao segura para aplica:es
cliente;servidor) * 8er&eros suporta diversos tipos de criptografia de c.ave
sim9trica, entre eles D(7, AD(7, "(7?2I, "(724D e #CB) Mais so&re
criptografia pode ser visto em SF(#!U7*KR 7C5K(C(# $233A%T)
* 8er&eros 9 um sistema de loon >nico, onde a sen.a 9 informada uma >nica
ve< e o 8er&eros efetua a autenticao e criptografia de forma transparente) -uando
um usu=rio efetua loon, o 8er&eros o autentica utili<ando a sen.a desse usu=rio e
fornece um mecanismo pelo ,ual o mesmo pode provar sua identidade a servidores e
servios sem fornecer a sen.a novamente)
" instalao do 8er&eros e dos programas ,ue o utili<am redu< a possi&ilidade
de captura de sen.as por usu=rios malintencionados ou de falsificao de
identidade, onde um usu=rio tenta se passar por outro) (m suma, o 8er&eros 9 uma
soluo ,ue prov ferramentas de autenticao e criptografia forte so&re a rede para
garantir segurana a sistemas de informao)
* 8er&eros foi desenvolvido pelo MCF em um proGeto c.amado Athena e uma
2 .ttpN;;Le&)mit)edu;Eer&eros;LLL
A
implementao livre desse protocolo est= dispon'vel pelo MCF so& licenciamento
semel.ante aos utili<ados pelo 17D e UVindoL) * MCF disponi&ili<a o 8er&eros
em cdigofonte, de modo ,ue seu conte>do pode ser revisto e analisado por ,uem
deseGa implement=lo, como forma de certificao do conte>do, aumentando a
confia&ilidade na instalao) Para os ,ue preferem produtos com suporte
profissional, .= vers:es do 8er&eros disponi&ili<adas por diversos fornecedores,
al9m de implementa:es do 8er&eros em v=rios produtos comerciais)
Diversos programas servidores e clientes em Linux foram modificados para
suportar o uso do 8er&eros, incluindose telnet, rlogin, rsh, rcp e ftp) 5=
tam&9m &i&liotecas e "PCs para permitir a adio de segurana &aseada em
8er&eros nos aplicativos)
5= duas vers:es do 8er&eros atualmente em usoN a verso B e a verso 4) "s
vers:es de ? a A foram vers:es de desenvolvimento e nunca foram disponi&ili<adas)
" verso B possui diversas vulnera&ilidades e seu uso deve ser evitado) * pacote do
8er&eros @4 foi proGetado para ser de f=cil uso) (ste documento trata da verso 4 do
8er&eros, definido na #FC ?4?3 S8*5LR K(UM"K $?JJA%T)
'8' Ra:4e! 6ara a "ti(i:a%& d Ker)er!
"s redes so inseguras e grande parte dos protocolos utili<ados no prov
segurana) "plica:es ,ue enviam sen.as a&ertas atrav9s de uma rede esto
vulner=veis a, por exemplo, ferramentas para captura de sen.as) Muitas aplica:es
cliente;servidor confiam nos programas clientes ,uanto M identidade do usu=rio sem
nen.um outro reforo de segurana por parte do servidor)
"lguns am&ientes utili<am fire$alls para solucionar pro&lemas de segurana nas
redes) Cnfeli<mente, essa opo considera ,ue os Omaus elementosP esto do lado de
fora da empresa, o ,ue nem sempre 9 verdade G= ,ue .= ata,ues tam&9m por parte de
usu=rios internos de uma rede)
Uma ve< ,ue o 8er&eros negocia comunicao autenticada e, opcionalmente,
criptografada, entre dois pontos numa rede, ele prov uma camada de segurana ,ue
B
no depende, por exemplo, de ,ual lado de um fire$all o usu=rio est=, tornando a
implantao do 8er&eros de grande importWncia dentro de uma rede corporativa)
* protocolo 8er&eros foi criado como uma soluo para pro&lemas de
segurana de autenticao em redes) Com o 8er&eros um cliente pode provar sua
identidade a um servidor $e viceversa% numa conexo de rede insegura) Depois de
autenticados pelo 8er&eros, cliente e servidor podem tam&9m criptografar toda a sua
comunicao de modo a garantir privacidade e integridade dos dados trafegados)
*u seGa, o 8er&eros 9 um sistema ,ue auxilia a solucionar algumas ,uest:es de
seguranaN redu<ir o n>mero de sen.as ,ue o usu=rio necessita para acessar diversos
servios a apenas uma sen.a no 8er&eros e acrescentar criptografia aos dados
trafegados, assegurando ,ue dados sens'veis no trafeguem de forma a&erta na rede)
'8* 5"ncinament )#!ic d Ker)er!
* 8er&eros difere de outros m9todos de autenticao) "o inv9s de autenticar cada
usu=rio em cada servio de rede, o 8er&eros utili<a uma c.ave secreta comum e um
OmediadorP confi=vel para validao da identidade dos clientes frente a um conGunto
de servios de rede) * OmediadorP confi=vel 9 um servidor con.ecido como KDC
$%e# &istribution 'enter 0 Centro de Distri&uio de C.aves% ,ue executa os
deamons do 8er&eros) " c.ave secreta comum 9 a sen.a do usu=rio convertida
numa c.ave para criptografia) Ko caso de servidores ou aplica:es a c.ave,
comumente, 9 gerada de forma aleatria)
Ko 8er&eros, os clientes podem ser usu=rios, servidores ou programas, e so
con.ecidos como principals $ou O6rinci6ai!P%) * 8DC arma<ena a &ase de dados
de principais e suas c.aves, ,ue so utili<adas para autenticao)
Para o 8er&eros, o con.ecimento da c.ave secreta 9 considerado suficiente
como prova de identidade) "ssim, o servidor 8er&eros 9 confiado para autenticar
,ual,uer cliente para ,ual,uer outro cliente) " autenticao 9 feita de forma ,ue no
.= o envio de sen.as atrav9s da rede em momento algum)
* funcionamento do 8er&eros se d=, &asicamente, da seguinte formaN um cliente
envia uma solicitao ao 8DC e o 8DC procura esse principal na sua &ase de dados)
4
7e 9 encontrado, o 8DC cria um T+T $"ic(et)*rantin "ic(et 0 tic(et para o&ter
tic(et% para o cliente, criptografa o F!F usando a sen.a do cliente como c.ave e
envia o F!F criptografado para o cliente)
* cliente tenta descriptografar o F!F, usando sua prpria c.ave $computada a
partir da sua sen.a%) 7e o cliente consegue descriptografar o F!F, este 9 mantido
em cache na m=,uina do cliente para futuras provas de identidade perante ,ual,uer
servio OEer&eri<adoP, uma ve< ,ue, o&tido o F!F, no 9 mais necess=rio informar a
sen.a novamente at9 ,ue o F!F expire ou ,ue o usu=rio efetue novo loon) * F!F
9 marcado para expirar depois de certo tempo $geralmente, I .oras%) * tempo de
expirao 9 utili<ado para ,ue, caso um F!F seGa capturado por um invasor, este o
ten.a apenas por um per'odo de tempo)
* F!F permite ao cliente o&ter tic(ets adicionais para acesso a servios) "
solicitao e o&teno desses tic(ets adicionais 9 transparente ao usu=rio) 7empre
,ue o usu=rio precisar acessar um servio de rede, o softLare cliente usa o F!F para
solicitar ao 8DC um novo tic(et espec'fico para a,uele servio, no sendo
necess=ria nova autenticao utili<ando uma sen.a) (sta 9 apenas uma viso geral
de como a autenticao 8er&eros funciona numa rede) Maiores detal.es so
apresentados no Cap'tulo A)
'8/ In0rae!tr"t"ra d Ker)er!
* termo infraestrutura do 8er&eros referese aos programas, servidores, clientes e
configura:es ,ue permitem a utili<ao do protocolo 8er&eros em uma rede)
(ssa infraestrutura consiste do softLare do 8er&eros, servidores de autenticao
redundantes e seguros, um arma<enamento centrali<ado de contas e sen.as, e
sistemas configurados para utili<ar a autenticao atrav9s do protocolo 8er&eros)
"l9m da infraestrutura inerente ao prprio 8er&eros, este depende de certos
servios de rede para seu correto funcionamento) (m primeiro lugar, o 8er&eros
re,uer ,ue os .or=rios das m=,uinas da rede esteGam sincroni<ados entre si) Para
isso, um programa de sincroni<ao de .or=rio deve existir na rede) * +et$or(
"ime ,rotocol -KFP%, definido na #FC ?A34 SMCLL7 $?JJ2%T, 9 o protocolo mais
D
indicado e o mais utili<ado para essa finalidade) Ko Linux, o KFP 9 implementado
pelo ntpd) Mais so&re o KFP pode ser visto no Cap'tulo B)
*utro servio importante no funcionamento do 8er&eros 9 o &omain +ame
Ser.ice $DK7%, definido nas #FC ?3AB SM*C8"P(F#C7 $?JIH% $?%T e #FC ?3A4
SM*C8"P(F#C7 $?JIH% $2%T) Certos aspectos do 8er&eros dependem de ,ue o
DK7 e m=,uinas da rede esteGam devidamente configurados) "lgumas
considera:es so&re DK7 no 8er&eros so mostradas no Cap'tulo B)
H
I
Ca67t"( *
O Prtc( Ker)er! n +NU,Lin"-
Como G= exposto no Cap'tulo 2, o 8er&eros efetua a autenticao dos usu=rios sem
,ue a sen.a seGa transmitida pela rede) * 8er&eros &aseia sua autenticao em
tic(ets eletr/nicos ,ue so enviados criptografados pela rede) Um servidor central
c.amado 8DC autentica o usu=rio e o fornece um tic(et ,ue o permite acessar
m=,uinas e servios)
Para o 8er&eros, cada usu=rio, m=,uina ou servio 9 c.amado de 6rinci6a( e
cada principal possui uma c.ave) Para usu=rios, a c.ave 9 criada a partir da sen.a
individual e para m=,uinas e servios, a partir de um n>mero aleatrio) " c.aves,
assim como as sen.as, so mantidas secretas e so con.ecidas apenas pelo principal
ao ,ual a c.ave pertence e pelo 8DC)
"s c.aves so utili<adas para autenticao e envio seguro de mensagens atrav9s
da criptografia de c.ave sim9trica, o ,ue significa ,ue se uma mensagem 9
criptografada com uma c.ave, ela s pode ser descriptografada com a mesma c.ave)
Uma ve< ,ue a c.ave s 9 con.ecida por duas partes, o seu principal e o 8DC, isso
permite uma troca segura de mensagens entre eles)
* servidor 8DC executa dois importantes deamons do 8er&eros @4, o
kadmind e o krb5kdc, ,ue so executados como superusu=rio $root%) *
kadmind 9 o deamon administrativo do servidor 8er&eros e 9 utili<ado pelo
programa kadmin para manuteno da &ase de dados de principais e configurao
de pol'ticas) * kadmin permite a administrao remota do 8er&eros, mesmo se no
.ouverem programas de acesso remoto ao servidor 8er&eros) * krb5kdc 9 o
J
principal programa do 8er&eros, sendo respons=vel por reali<ar o papel de
OmediadorP na autenticao 8er&eros, ou seGa, 9 o programa ,ue executa o 8DC)
Ko Cap'tulo 2 foi apresentado o funcionamento do 8er&eros em lin.as gerais)
Keste Cap'tulo 9 mostrado com maiores detal.es o processo de fornecimento de
tic(ets e autenticao)
*8$ E(ement! d Ker)er!
*8$8$ Rein Ker)er!
Um reino $realm% 8er&eros 9 um dom'nio administrativo ,ue consiste de um
conGunto de m=,uinas ,ue compartil.am informa:es contidas numa &ase de dados
8er&eros em comum e confiam nos mesmos servidores 8DC)
X poss'vel efetuar autenticao entre usu=rios e servios de reinos diferentes
atrav9s de rela:es de confiana entre dois reinos, c.amadas Oautenticao entre
reinosP $cross)realm authentication%) Para isso os administradores dos dois reinos
compartil.am c.aves, de modo ,ue um reino consegue tratar tic(ets do outro reino)
Com isso, principais de um reino conseguem se autenticar em outro reino)
* reino possui um nome ,ue o identifica e, geralmente, 9 o mesmo nome do
dom'nio DK7, por9m em letras mai>sculas) "pesar dessa caracter'stica no ser
o&rigatria, ela tem sido comumente usada nas implementa:es do 8er&eros)
*8$8' Princi6a( d Ker)er!
Um principal do 8er&eros 9 ,ual,uer entidade ,ue deva ser autenticada) Csso inclui
usu=rios, m=,uinas e servios) Cada principal possui uma c.ave secreta associada, a
,ual s 9 con.ecida pelo prprio principal e pelo 8DC)
Fradicionalmente, um principal 9 formado por trs partesN
prim=rio 0 9 a primeira parte do principal) Pode ser o nome de um usu=rio ou
servio) Para um servidor 9 a palavra host)
instWncia 0 serve para ,ualificar o prim=rio) X uma strin separada do
prim=rio por uma &arra $;%) Pode ser va<ia ou indicar caracter'sticas especiaisN
?3
no caso de um usu=rio descreve poss'veis credenciaisR no caso de uma
m=,uina 9 o seu nome DK7 completo)
reino $realm% 0 parte do nome do principal ,ue indica a ,ual reino o principal
pertence) Um reino 9 a estrutura lgica da rede atendida pelo 8er&eros)
* formato t'pico de um principal 9 prim/rio0inst1ncia234!+5) Para um
principal de usu=rio podese terN
GosexYMZV"#()K(F
Gosex;adminYMZV"#()K(F
onde a instWncia admin 9 t'pica para indicar ,ue o principal tem privil9gios
administrativos no 8er&eros) *s dois principais acima so entidades diferentes,
possuindo sen.as e permiss:es distintas)
Ko caso de principais de m=,uinas ou servios, a parte prim=ria indica o tipo de
servio, por exemplo host ou ftp) " instWncia indica a m=,uina na ,ual o servio est=
dispon'vel, por exemploN
.ost;server?)m6Lare)netYMZV"#()K(F
ftp;ftp)df)m6Lare)netYMZV"#()K(F
7e o nome do reino no for informado no principal, ser= assumido ,ue o
principal est= no reino padro do contexto utili<ado, informado nos ar,uivos de
configurao do 8er&eros)
*8$8* A )a!e de dad! Ker)er!
Cada reino 8er&eros possui pelo menos um servidor 8DC ,ue arma<ena a &ase de
dados mestre do 8er&eros para a,uele reino) Um reino 8er&eros pode ter servidores
8DC escravos, ,ue possuem cpias de leitura da &ase de dados 8er&eros, a ,ual 9
replicada periodicamente do 8DC mestre para os escravos) Mais informa:es so&re
servidores 8DC escravos so apresentadas no Cap'tulo B)
* 8er&eros s fornece credenciais M,uelas entradas existentes na &ase de dados
do 8er&eros) Cada usu=rio, servio ou m=,uina no am&iente 8er&eros deve possuir
uma entrada na &ase de dados) " &ase de dados do 8er&eros possui os principais e
suas respectivas sen.as)
??
*8$8/ O ar;"i< keytab
Cada principal na &ase de dados possui uma sen.a) *s usu=rios rece&em sua sen.a
do administrador e a arma<enam de alguma forma $memria, agenda etc)%) Da
mesma forma, cada servio possui uma c.ave, con.ecida apenas pelo 8DC e pelo
prprio servio)
Ko servidor 8DC, a c.ave dos servios fica arma<enada na &ase de dados do
8er&eros) Ko servidor ,ue executa o servio, por9m, as c.aves so arma<enadas
localmente em ta&elas de c.aves, ,ue so ar,uivos con.ecidos como (e#tabs,
geralmente arma<enados no ar,uivo /etc/krb5.keytab)
* servio utili<a o ar,uivo (e#tab da mesma forma ,ue um usu=rio usa sua
sen.a, ou seGa, ,uando .= necessidade de autenticao, o servidor utili<a as c.aves
arma<enadas no ar,uivo (e#tab e as apresenta ao 8DC para se identificar) *
Cap'tulo B apresenta mais detal.es so&re a configurao de servios e a necessidade
das c.aves arma<enadas no ar,uivo (e#tab)
*8$82 Tickets Ker)er!
"s credenciais do 8er&eros, ou tic(ets, so um conGunto de informa:es eletr/nicas
,ue podem ser usadas para verificar a identidade de um usu=rio, servidor ou servio)
*s tic(ets so arma<enados num cache de credenciais, geralmente em ar,uivos
tempor=rios no /tmp) X atrav9s de um programa cliente ,ue as credenciais para
identificar um usu=rio so automaticamente o&tidas a partir de um servidor 8DC na
rede)
* primeiro tic(et a ser o&tido 9 o "ic(et)*rantin "ic(et $F!F%, o ,ual permite
o&ter tic(ets adicionais para acesso a servios 8er&eros) " solicitao e o&teno
desses tic(ets adicionais acontecem de forma transparente) Um exemplo de
solicitao do F!F 9 atrav9s do comando kinit) Uma ve< executado, o kinit
solicita a sen.a do usu=rio, ,ue, se informada corretamente, ir= o&ter do 8DC um
F!F e uma c.ave de sesso para permitir o uso correto do F!F) (ssa com&inao
de F!F mais c.ave de sesso 9 con.ecida como credencial)
Uma ve< o&tida a credencial, os programas clientes executados pelo usu=rio
podem fa<er uso dessa credencial para o&ter do 8DC tic(ets espec'ficos para acesso
?2
a outros servios na rede 8er&eros) De posse desses tic(ets o programa cliente pode
provar a identidade do usu=rio e o&ter acesso ao servio)
Um exemplo 9 o deamon klogind ,ue, executando num servidor, permite
acesso remoto a esse servidor) * programa rlogin, executado na m=,uina do
usu=rio, apresenta ao 8DC as credenciais desse usu=rio e o&t9m um tic(et espec'fico
para provar sua identidade e o&ter acesso remoto ao servidor)
*8' Intera%& entre "!"#ri e Ker)er!
*8'8$ Ace!!and KDC
" autenticao do 8er&eros 9 normalmente iniciada pelo usu=rio executando um
programa de solicitao de autenticao do 8er&eros) Um exemplo de programa
desse tipo 9 o kinit) * kinit envia uma mensagem ao 8DC solicitando um
F!F $,ue permitir= solicitar novos tic(ets no futuro% para o usu=rio) (ssa mensagem
9 enviada a&erta e no cont9m informa:es sens'veis, apenas a solicitao)
(m sistemas com o 8er&eros @4 a utili<ao do programa login do 8er&eros
permite ,ue esse processo acontea no processo de loon do usu=rio, sem a
necessidade de execuo de um programa separado para solicitar o F!F) "ps a
solicitao do F!F, o seguinte processo aconteceN
?) * 8DC $krb5kdc% rece&e a solicitao e &usca pelo principal do usu=rio na
&ase de dados 8er&eros) 7e o principal existe, o 8DC o&t9m a c.ave secreta
do principal $8p% e gera duas coisasN uma c.ave de sesso $8s?% e o F!F, ,ue
cont9m uma cpia da c.ave de sesso)
2) * 8DC criptografa o F!F com outra c.ave con.ecida apenas pelo prprio
8DC $8Edc% e criptografa a c.ave de sesso e o F!F com a c.ave secreta do
usu=rio, enviandoos para o cliente)
?A
user1@MYWARE.NET

KDC
TGT

K
p
K
s1
A) "o rece&er essa resposta, o cliente $kinit ou login% solicita a sen.a ao
usu=rio e aps a digitao da sen.a ela 9 convertida na c.ave secreta do
usu=rio $8p%) (ssa c.ave 9, ento, utili<ada para descriptografar a mensagem
rece&ida do 8DC, ,ue cont9m a c.ave de sesso $8s?% e o F!F
$criptografado pela c.ave do 8DC%)
B) " c.ave de sesso e o F!F so arma<enados no cache de credenciais ,ue 9
um ar,uivo tempor=rio na m=,uina local)
" partir de ento o usu=rio est= apto a solicitar novos tic(ets para acesso a
servios na rede 8er&eros usando o seu F!F) Para isso ele apresenta o F!F ao
8DC ,ue ir= gerar um novo tic(et para o usu=rio, de modo ,ue ele possa acessar o
servio solicitado) X poss'vel perce&er ,ue a sen.a no foi transmitida pela rede em
nen.um momento)
*8'8' Ace!!and "m !er<idr
Dada a suposio ,ue o usu=rio deseGa efetuar um loon remoto usando o 8er&eros,
executando o programa 8er&eros rlogin para acessar uma m=,uina na rede, d=se
in'cio aos seguintes passosN
?) * usu=rio executa o clienteN rlogin nome_do_host
2) * programa rlogin verifica no cache de credenciais se .= um tic(et para
acesso ao servidor solicitado) 7e no .=, envia ao 8DC uma solicitao de
acesso ao servidor deseGado, ,ue cont9m, al9m da solicitao em si, o F!F
?B
TGT

K
kdc



TGT







$ainda criptografado pela c.ave do 8DC% e uma mensagem com informa:es
de .or=rio $timestamp%, criptografada com a c.ave de sesso)
A) * 8DC descriptografa o F!F rece&ido usando sua prpria c.ave secreta
$8Edc% e, usando a c.ave de sesso contida no F!F $8s?%, descriptografa a
mensagem de timestamp rece&ida para validar o usu=rio) "ssim, como foi
poss'vel ler a mensagem com a respectiva c.ave de sesso, o 8DC sa&e ,ue
o usu=rio 9 ,uem di< ser)
B) * 8DC, ento, gera uma nova c.ave de sesso $8s2%,ue ser= compartil.ada
entre o usu=rio e o servidor ,ue ele pretende utili<ar) (le cria um novo tic(et
$F!7% contendo essa nova c.ave de sesso e a identificao do usu=rio e
criptografao com a c.ave do servidor $8srv%) * 8DC tam&9m criptografa
uma cpia da nova c.ave de sesso com a c.ave de sesso ,ue ele rece&eu
no F!F do usu=rio $8s?S8s2T%)
4) * novo tic(et $criptografado com a sen.a do servidor% e a nova c.ave de
sesso $criptografada com a c.ave de sesso do usu=rio% so enviados ao
usu=rio)
D) * cliente rlogin rece&e o tic(et $F!7% e a c.ave de sesso $8s2% enviados
pelo 8DC, descriptografa a c.ave de sesso $pois ele possui a c.ave 8s?% e
arma<ena am&os no cache de credenciais) (le usa a nova c.ave de sesso
para criptografar uma mensagem $M?%, efetua a conexo ao servidor
?4
De: user1@MYWARE.NET
Acesso a: srv.myware.ne@MYWARE.NET
TGT

dd;mm;aaaa
..NmmNss

K
srv
user1@MYWARE.NET
K
s!




pretendido e envia a ele essa mensagem e o tic(et do servidor $F!7% ainda
criptografado $rece&ido do 8DC e ,ue est= em cache% )
H) * deamon do rlogin no servidor $klogind% o&t9m a sua prpria c.ave
secreta $8srv 0 a ,ual est= segura no disco local, no ar,uivo keytab% e a usa
para descriptografar o tic(et $F!7% rece&ido do usu=rio, tendo acesso,
portanto, M identidade do usu=rio e M c.ave de sesso $8s2% ) Com essa c.ave
de sesso o servidor a&re a mensagem $M?% rece&ida do cliente, isso serve
para autenticar o usu=rio pois foi poss'vel usar a c.ave para a&rir a
mensagem)
I) 7e o usu=rio tem permisso para efetuar loon $a CD do usu=rio est= no
/etc/passwd ou o principal est= no ar,uivo .k5login%, o klogind
efetua o loon do usu=rio) " partir da', tanto o servidor como o usu=rio
con.ecem a nova c.ave de sesso $8s2%, podendo utili<=la para criptografar
o tr=fego entre eles)
Uma ve< ,ue apenas o servidor e o 8DC sa&em a c.ave do servidor, o deamon
do rlogin tem a certe<a de ,ue o tic(et foi criptografado pelo 8DC $apesar de t
lo rece&ido do usu=rio% e pode confiar na informao so&re a identidade do usu=rio
contida no tic(et)
" informao do tempo de expirao tam&9m 9 inclu'da nos tic(ets para
prevenir contra ata,ues de reenvio, ,ue 9 a apresentao fraudulenta de um tic(et
capturado na rede, na inteno de se o&ter uma autenticao) "trav9s do uso de
tic(ets criptografados, os ,uais s podem ser descriptografados se o cliente con.ece
a c.ave secreta, a autenticao segura acontece)
?D
Ca67t"( /
In!ta(a%& e Cn0ig"ra%&
" implantao do 8er&eros numa rede 9 um processo ,ue envolve defini:es
diversas) * 8er&eros utili<a &ases de dados centrali<adas, servidores de
autenticao, servidores de aplicao e, principalmente, tem relao com a
segurana lgica de todo o am&iente da rede) Por isso, sua instalao e
configurao, re,uerem an=lise e planeGamento pr9vio de todos os elementos a ele
relacionados, de forma direta ou indireta)
Keste Cap'tulo ser= visto o planeGamento do am&iente 8er&eros e os passos para
instalar e configurar um servidor 8DC, al9m de servidores de aplicao e clientes
para utili<ar o 8er&eros para autenticao) " maioria das distri&ui:es possuem
suporte ao 8er&eros) " t'tulo de informao, este documento encontrase &aseado na
distri&uio #ed 5at Linux
A
)
/8$ P(ane=ament da in!ta(a%& d Ker)er!
"ntes de iniciar a instalao propriamente dita, 9 necess=rio considerar diversos
aspectos, entre elesN
o nome do reinoR
as portas utili<adas pelo 8DC e pelo servio de administrao da &ase de
dadosR
A .ttpN;;LLL)red.at)com
?H
,uantidade de servidores 8DC $mestre e escravos% necess=riosR
os nomes dos servidores 8DCR
como ser= feita a propagao da &ase de dados)
Maiores detal.es so&re a instalao e configurao tam&9m podem ser
encontrados em S1#(KK(K $233B%T, SF(##(C#" $233A%T, SMCF $2332% $?%T, S#ed
5at $233A%T, S7F"K!(#R L"K( $2332%T e SFUK! $?JJD%T)
/8$8$ De0ini%& d nme d rein
* nome do reino 8er&eros pode ser ,ual,uer conGunto de caracteres "7CCC) Por9m,
por conveno e simplicidade, 9 sugerido ,ue o reino ten.a o mesmo nome do
dom'nio DK7, por9m em letras mai>sculas) Por exemplo, se seu dom'nio DK7 9
Osuaempresa)com)&rP, o nome do reino 8er&eros pode ser
7U"(MP#(7")C*M)1#)
* nome do reino 9 sens'vel ao formato, ou seGa, mai>sculas e min>sculas so
tratadas de forma diferente) "l9m disso, deve ser >nico na rede)
/8$8' Prta! 6ara ace!! a KDC e a! !er<i%! admini!trati<!
"s portas utili<adas pelo 8er&eros para acesso ao 8DC e para uso do programa de
administrao kadmin so, por padro, as portas II e HBJ, respectivamente) Para o
uso de portas diferentes 9 necess=rio alterar os ar,uivos /etc/services e
krb5.conf em cada m=,uina e o ar,uivo kdc.conf em cada servidor 8DC)
Mais detal.es so&re a configurao e uso dos ar,uivos krb5.conf e
kdc.conf sero apresentados mais adiante)
/8$8* Ser<idre! KDC e!cra<!
Um servidor 8DC escravo 9 um servidor 8DC ,ue possui uma cpia de leitura da
&ase de dados e ,ue executa a autenticao de principais da mesma forma ,ue o
8DC mestre) *s servidores 8DC escravos no permitem altera:es na &ase de
dados 0 isto s pode ser feito no 8DC mestre) Caso o 8DC mestre fi,ue
indispon'vel por um longo tempo, 9 poss'vel alterar o papel de um 8DC escravo, de
modo ,ue ele passe a ser o 8DC mestre)
?I
* uso de servidores 8DC escravos acrescenta redundWncia para os servios de
fornecimento de tic(ets e autenticao de principais, al9m de permitir uma diviso
das demandas para esses servios entre os servidores 8DC) Ko caso de fal.as ou
impossi&ilidade de acesso ao servidor 8DC mestre, o servio de autenticao no
fica interrompido) Para ,ue a autenticao 8er&eros possa acontecer 9 necess=rio
,ue os clientes ten.am acesso a pelo menos um servidor 8DC, seGa mestre ou
escravo)
"lgumas sugest:es so&re servidores 8DC incluemN
ter pelo menos um 8DC escravo, como uma forma de bac(up e tolerWncia a
fal.as) "ssim, o servio de autenticao no 9 interrompido em casos de
parada do 8DC mestre, seGa por pro&lemas f'sicos, atuali<a:es de hard$are
ou soft$are etc), G= ,ue os principais continuam sendo autenticados pelo
servidor 8DC escravoR
ter um 8DC escravo em pr9dio diferente do 8DC mestre, para os casos mais
graves de indisponi&ilidade como ,uedas de energia ou incndios)
" definio do n>mero de servidores 8DC, &em como sua locali<ao, deve
fa<er parte do planeGamento da instalao do 8er&eros e depende de fatores
espec'ficos da rede como largura de &anda e o n>mero de usu=rios da rede)
/8$8/ Re6(ica%& da )a!e de dad!
" &ase de dados do 8er&eros reside no servidor 8DC mestre e deve ser replicada
para os servidores 8DC escravos ,ue existirem $geralmente atrav9s do cron% de
modo a manter as informa:es de autenticao atuali<adas entre esses servidores)
"ssim, 9 necess=rio planeGar com ,ue fre,[ncia essa propagao deve ocorrer)
Caso a propagao tome muito tempo para ser conclu'da at9 todos os servidores
8DC, seGa devido a uma &ase de dados muito grande ou um n>mero elevado de
servidores escravos ou mesmo retardos na rede, 9 poss'vel efetuar a cpia em
paralelo, ou seGa, replicar a &ase de dados para um conGunto de servidores escravos e
destes para outros conGuntos, redu<indo o tempo total de propagao)
?J
/8$82 U!and DNS na cn0ig"ra%&
Kuma instalao onde .= um grande n>mero de m=,uinas a configurar, em ,ue seria
&astante tra&al.osa a distri&uio e manuteno dos ar,uivos de configurao do
8er&eros, uma opo 9 utili<ar o DK7 para fornecer as informa:es so&re os
servios 8er&eros, no mais colocando essas informa:es nos ar,uivos de
configurao locais)
Mesmo em instala:es de pe,ueno porte essa opo tornase v=lida como
preparao do am&iente para futuros crescimentos)
Mesmo ,ue no se use o DK7 para fornecer configura:es do 8er&eros, ele 9
fundamental para a resoluo de nomes e funcionamento do 8er&eros) Por isso, 9
importante ,ue o DK7 da rede esteGa corretamente configurando e com as
informa:es sempre atuali<adas, incluindose os registros da <ona reversa)
Ma6eament entre m#;"ina! e rein Ker)er!
* mapeamento de nomes de m=,uinas para o reino 8er&eros pode ocorrer de
duas maneiras) " primeira 9 a forma tradicional, ,ue utili<a o ar,uivo de
configurao krb5.conf) "trav9s de regras espec'ficas contidas nesse ar,uivo 9
poss'vel mapear um dom'nio DK7 para o reino 8er&eros)
" segunda forma 9 efetuando uma &usca por um registro especial do tipo TXT
no DK7) 7e o cliente est= .a&ilitado para essa forma de &usca, ele tenta encontrar
esse registro no DK7 adicionando o prefixo _kerberos no nome da m=,uina)
Caso no encontre, o cliente continua a &usca adicionando esse prefixo com as
diversas possi&ilidades de dom'nios existentes no nome at9 encontrar um registro
coincidente, ,ue ser= ento considerada o nome do reino) "ssim, um m=,uina
c.amada ftp.df.myware.net ir= procurar pelos seguintes registros FUF no
DK7N
_kerberos.ftp.df.myware.net
_kerberos.df.myware.net
_kerberos.myware.net
_kerberos.net
_kerberos
Mesmo ,ue a opo de uso do DK7 para configurao do 8er&eros no seGa
23
utili<ada, 9 recomendado ,ue a configurao do DK7 seGa feita, visando crescimento
futuro e interao com outros reinos 8er&eros)
De0ini%& de nme! de m#;"ina 6ara ! !er<idre! KDC
X recomendado ,ue os servidores 8DC ten.am nomes definidos como registros
CK"M( no DK7) Um CK"M( 9 um apelido para um nome de m=,uina) Por
exemplo o 8DC mestre poderia se c.amar kerberos e os servidores 8DC
escravos, kerberos1, kerberos2, etc) " vantagem de utili<ar registros
CK"M( 9 ,ue, caso seGa necess=rio uma troca de m=,uina $por exemplo, instalar
um servidor 8DC mais potente% apenas a entrada CK"M( precisaria ser alterada
sem a necessidade de troca de nomes de m=,uinas) Dessa forma, o nome do servidor
8er&eros fica independente do nome f'sico da m=,uina)
*utra forma de locali<ar os servidores 8DC de um reino 9 atrav9s do uso de
registros S! no DK7) (sse tipo de registro 9 suportado pelo 8er&eros @4 e por
vers:es mais recentes do DK7) (sses registros indicam o nome da m=,uina e a porta
do servio) Mais detal.es so&re registros S! podem ser vistos na #FC 2HI2
S!UL1#"KD7(KR @CUC(R (7C1*@ $2333%T)
"#$%$& myware.net.
_kerberos TXT '()*+,.&,T'
kerberos -&+(, cascao.myware.net
kerberos1 -&+(, cebola.myware.net
kerberos2 -&+(, monica.myware.net
_kerberos._.dp S! / / 00 cascao
S! / / 00 cebola
S! / / 00 monica
_kerberos1master._.dp S! / / 00 cascao
_kerberos1adm._tcp S! / / 234 cascao
_kpasswd._.dp S! / / 353 cascao
5ig"ra /8$> (xemplo de <ona DK7
" Figura B)? mostra um exemplo de ar,uivo de <ona DK7 com entradas S!
para o 8er&eros) X importante o&servar ,ue nos registros S! devem ser usados os
nomes das m=,uinas e no seus apelidos)
" Fa&ela B)? explica os registros S! para o 8er&eros utili<ados na Figura B)?)
Ko decorrer deste documento ser= utili<ada a forma tradicional de configurao,
2?
ou seGa, atrav9s dos ar,uivos do prprio 8er&eros) * DK7 ser= utili<ado unicamente
para resoluo de nomes)
Ta)e(a /8$> #egistros S! para o 8er&eros
Regi!tr De!cri%&
_kerberos._.dp Define a conexo aos 8DCs via UDP) X a conexo mais
usada e, geralmente, 9 definida para porta II)
_kerberos1
master._.dp
Cndica o 8DC mestre para os casos de troca de sen.a
recente e o usu=rio ter acessado um 8DC ,ue ainda no
est= atuali<ado, aparentando sen.a incorreta) Kessa
situao o 8DC mestre 9 contactado e a mesma sen.a 9
utili<ada para verificao) 7e .= apenas um 8DC, essa
entrada no 9 necess=ria)
_kerberos1
adm._tcp
Cndica a porta para conexo do programa kadmin,
geralmente a porta HBJ no 8DC mestre) Ko 8er&eros do
MCF 9 necess=rio configurar a entrada c.amada
admin_server no ar,uivo krb5.conf)
_kpasswd._.dp Deve listar a porta BDB do 8DC mestre) X a porta usada
para troca de sen.a pelo usu=rio)
Maiores detal.es so&re o uso do DK7 no 8er&eros podem ser vistos no \!uia
do "dministrador do 8er&eros @4\, do MCF SMCF $2332% $2%T)
/8$83 Sincrni:a%& de ?r#ri
Parte do processo de autenticao do 8er&eros 9 &aseada no tempo de expirao dos
tic(ets, tornando a preciso dos relgios dos servidores e esta:es um ponto cr'tico
da infraestrutura) Por isso, o sincronismo dos .or=rios entre as m=,uinas ,ue
utili<am o 8er&eros deve estar configurado corretamente ou o 8er&eros no ir=
funcionar) Clientes ,ue tentem se autenticar a partir de uma m=,uina com relgio
fora de sincronismo iro fal.ar na tentativa de autenticao com o servidor 8DC)
Uma forma de manter os relgios das m=,uinas sincroni<ados 9 utili<ar um
protocolo como o +et$or( "ime ,rotocol $KFP% )
* KFP 9 um protocolo para sincronismo de .or=rios entre m=,uinas) (xistem
diversos servidores p>&licos de KFP dispon'veis) (sses servidores so divididos em
n'veis) *s servidores de n'vel ? no devem ser usados para sincronismo de clientes
pois so em pe,ueno n>mero e o acesso 9 restrito aos servidores ,ue comp:em a
.ierar,uia do servio) *s servidores de n'vel 2 sincroni<am seus relgios com os
22
servidores do n'vel ? e esto dispon'veis para uso de sincroni<ao pelos clientes)
Uma lista de servidores p>&licos de KFP de n'vel 2 pode ser o&tida no site da #KP
B
)
Ko !KU;Linux, a ativao do KFP se d= pela instalao do pacote KFP e
edio do ar,uivo de configurao, geralmente o /etc/ntp.conf) *s valores
padro podem ser mantidos, devendose apenas informar os servidores de KFP ,ue
sero utili<ados para sincronismo do relgio local) " Figura B)2 mostra um exemplo
do ar,uivo /etc/ntp.conf)
server ntps211.gn.d.ie
server ntps212.gn.d.ie
driftfile /etc/ntp/drift
broadcastdelay /.//0
a.thenticate no
5ig"ra /8'> (xemplo do ar,uivo ntp.conf
* comando de atuali<ao do KFP pode ser adicionado ao cron para ,ue seGa
executado periodicamente, por exemploN
6/ 7 7 7 7 /.sr/sbin/ntpdate 1s
X poss'vel ter uns poucos servidores na rede interna atuali<ando seus relgios
com os servidores p>&licos de KFP) *s clientes e demais servidores podem ser
configurados para atuali<arse a partir desses servidores internos, mesmo ,ue no
usem o 8er&eros) Mais informa:es so&re o protocolo KFP e configurao de
servidores KFP podem ser o&tidas no site do +et$or( "ime ,rotocol ,ro6ect
4
)
/8' In!ta(a%& d !er<idr Ker)er!
"o se configurar o 8er&eros, o primeiro passo 9 a instalao do servidor)
Considerando ,ue os servidores so dedicados ao servio de autenticao, al9m da
instalao dos pacotes necess=rios ao funcionamento do 8er&eros, 9 recomend=vel
seguir alguns passos para manter o servidor o mais seguro poss'velN
B .ttpN;;LLL)rnp)&r;ntp;ntpstratum2).tml
4 .ttpN;;LLL)ntp)org
2A
instalar o sistema operacional e patches de seguranaR
no instalar interfaces ou pacotes gr=ficosR
opcionalmente, instalar o 775 para administrao remota do servidorR
verificar as portas em uso, desa&ilitando ,ual,uer porta desnecess=riaR
restringir o acesso ao servidor apenas Ms m=,uinas ,ue necessitam
autenticao) Csso pode ser feito pela edio dos ar,uivos
/etc/hosts.allow e /etc/hosts.deny ou com iptables)
Keste documento no ser= a&ordada a configurao de servidores 8DC escravos
&em como a replicao da &ase de dados) 7e for necess=rio implementar servidores
escravos, detal.es de como configurar os relacionamentos entre o servidor mestre e
os escravos podem se encontrados em S1#(KK(K $233B%T e no \!uia de Cnstalao
do 8er&eros @4\, do MCF SMCF $2332% $?%T)
/8'8$ ?ard@are d! !er<idre!
* servio do 8er&eros no re,uer muito do hard$are do servidor 8DC) 7egundo
consta em S1#(KK(K $233B%T, um servidor monoprocessado $um PCCC433% com
discos redundantes ,ue possuam capacidade suficiente para arma<enamento da &ase
de dados 8er&eros e ?2I M1 de memria #"M, 9 suficiente para atender cerca de
,uarenta a cem mil autentica:es por dia) "l9m disso, .= a vantagem da utili<ao
de servidores secund=rios, o ,ue permite a distri&uio da carga pela diviso das
demandas de autenticao entre o servidor 8DC mestre e os escravos)
Uma das recomenda:es a considerar 9 ,ue os servidores seGam dedicados ao
servio de autenticao 8er&eros, com permisso de loon local apenas ao
administrador do 8er&eros) Csso implica em desativar todos os servios
desnecess=rios) "pesar do servio de shell remoto $775% ser um servio ,ue pode
permanecer ativo para administrao remota do servidor, a administrao da &ase de
dados do 8er&eros, por9m, pode ser feita M distWncia atrav9s do programa kadmin)
"l9m das restri:es de acesso lgico, 9 tam&9m fundamental implementar
restri:es de acesso f'sico ao servidor) Devido Ms informa:es ,ue arma<ena, a
segurana dos servidores 8DC 9 de suma importWncia para a segurana da prpria
2B
rede, ou seGa, devem ser tomadas todas as precau:es para evitar ,ue ,ual,uer
servidor 8DC seGa comprometido)
/8'8' Pacte! d Ker)er!
*s seguintes pacotes so necess=rios para instalar o servidor 8er&eros nas
distri&ui:es !KU;LinuxN
krb51libs
krb51client
krb51server
5= tam&9m pacotes de documentao e desenvolvimento, krb51doc e krb51
devel, respectivamente, por9m 9 recomendado ,ue no seGam instalados nos
servidores 8DC, mas em outras m=,uinas) Fam&9m 9 poss'vel o&ter os ar,uivos
para instalao no site do MCF
D
)
/8* Cn0ig"ra%& d !er<idr KDC
Conforme visto no Cap'tulo A, os servidores 8DC arma<enam uma cpia da &ase de
dados do 8er&eros e so respons=veis pela distri&uio de tic(ets) * 8DC mestre
possui a cpia principal da &ase de dados, na ,ual so feitas as altera:es, e propaga
essa &ase aos servidores 8DC escravos em intervalos regulares)
*s servidores 8DC escravos tam&9m efetuam a distri&uio de tic(ets, mas
neles a &ase de dados 9 apenas de leitura, no sendo poss'vel a administrao da
&ase de dados a partir de um servidor 8DC escravo) Dessa forma, 9 poss'vel aos
clientes continuar efetuando loon mesmo ,ue o 8DC mestre esteGa indispon'vel)
Lem&rese ,ue s .= um 8DC mestre, podendo .aver diversos servidores 8DC
escravos)
"o se configurar o servidor 8er&eros, os seguintes passos devem seguidosN
?) "ssegurarse de ,ue a sincroni<ao de .or=rio est= funcionando no seu
servidor e tam&9m entre os clientes) 7e .ouver diferenas de .or=rio superior
a cinco minutos entre eles, os clientes no sero capa<es de se autenticar com
D .ttpN;;Le&)mit)edu;Eer&eros;dist;index).tml
24
o servidor) (sse valor padro 9 configur=vel e pode ser alterado) *
sincronismo de .or=rio 9 necess=rio para prevenir ata,ues com tic(ets
antigos capturados na rede) "l9m disso, o DK7 deve estar funcionando
ade,uadamente para permitir a correta resoluo de nomes)
2) Cnstalar os pacotes krb51libs, krb51server, e krb51client na
m=,uina ,ue executar= o servio de 8DC) (ssa m=,uina deve estar segura e,
se poss'vel, no deve executar mais nen.um servio al9m do 8DC)
A) (ditar os ar,uivos de configurao do 8er&eros /etc/krb5.conf e
/var/kerberos/krb5kdc/kdc.conf de modo a refletir os nomes
de reinos e dom'nios planeGados para o seu am&iente) Por conveno, os
nomes de reino so escritos em mai>sculas e os de dom'nios DK7 e nomes
de m=,uinas em min>sculas)
B) Criar a &ase de dados do 8er&eros e as contas dos principais)
*s passos ? e 2 acima foram citados nas sess:es B)? e B)2) *s passos A e B sero
mel.or detal.ados no decorrer deste Cap'tulo)
/8*8$ O ar;"i< Ar)28cn0
* ar,uivo krb5.conf $geralmente locali<ado no diretrio /etc% cont9m as
informa:es de configurao do 8er&eros, entre elas a definio dos servidores
8DC para o reino e o mapeamento de nomes de dom'nio para nomes de reinos
8er&eros) * ar,uivo 9 dividido em se:es ,ue cont9m diversos parWmetros de
configurao) " Figura B)A apresenta um exemplo do ar,uivo /etc/krb5.conf)
Ko ar,uivo de exemplo, a seo 8libdefa.lts9 define ,ue o reino
MZV"#()K(F 9 o reino padro e ,ue o DK7 no ser= utili<ado para &usca das
configura:es do 8er&eros) Ka seo 8realms9 esto definidos, para o reino
MZV"#()K(F, os nomes dos servidores 8DC, ,ual deles 9 o 8DC mestre e ,uais
as portas de acesso) " seo 8domain_realm9 fa< o mapeamento entre dom'nios
DK7 e reinos 8er&eros e a seo 8logging9 determina a locali<ao dos ar,uivos
de log do 8er&eros) Para mais detal.es so&re o formato e se:es do ar,uivo
2D
/etc/krb5.conf consulte as suas respectivas p=ginas do man
H
ou o \!uia do
"dministrador do 8er&eros @4\, do MCF SMCF $2332% $2%T)
8libdefa.lts9
defa.lt_realm : ()*+,.&,T
dns_look.p_kdc : false
dns_look.p_realm : false
8realms9
()*+,.&,T : ;
kdc : kerberos.myware.net<00
kdc : kerberos1.myware.net<00
admin_server : kerberos.myware.net<234
defa.lt_domain : myware.net
=
8domain_realm9
.myware.net : ()*+,.&,T
myware.net : ()*+,.&,T
8logging9
kdc : >$?,</var/log/krb5kdc.log
admin_server : >$?,</var/log/kadmin.log
defa.lt : >$?,</var/log/krb5lib.log
5ig"ra /8*> (xemplo do ar,uivo krb5.conf
/8*8' O ar;"i< Adc8cn0
* ar,uivo kdc.conf cont9m informa:es de configurao prprias do servidor
8DC, entre elas os padr:es usados ao fornecer tic(ets) !eralmente fica locali<ado
no diretrio ;var/kerberos/krb5kdc/kdc.conf e possui formato
semel.ante ao do ar,uivo krb5.conf, com parWmetros de configurao
distri&u'dos em se:es) Um exemplo do ar,uivo kdc.conf 9 mostrado na Figura
B)B)
Ko ar,uivo kdc.conf podem ser definidos diversos parWmetros, como as
portas de acesso ao 8DC, a locali<ao dos ar,uivos da &ase dados, de configurao
e de logs, como tam&9m os tipos de criptografia suportados) Para mais detal.es
so&re o formato e se:es do ar,uivo kdc.conf consulte as suas respectivas
2 man krb5.conf
2H
p=ginas do man
I
ou o \!uia do "dministrador do 8er&eros @4\, do MCF SMCF
$2332% $2%T)
8kdcdefa.lts9
kdc_ports : 00
acl_file : /var/kerberos/krb5kdc/kadm5.acl
admin_keytab : /var/kerberos/krb5kdc/kadm5.keytab
8realms9
()*+,.&,T : ;
kdc_ports : 00
kadmind_port : 234
key_stash_file : /var/kerberos/krb5kdc/.k5stash
master_key_type : des61hmac1sha1
s.pported_enctypes : des61hmac1sha1<normal des1cbc1
crc<normal des1cbc1crc<v3 des1cbc1crc<afs6
=
8logging9
kdc : >$?,</.sr/local/var/krb5kdc/kdc.log
admin_server : >$?,</.sr/local/var/krb5kdc/kadmin.log
5ig"ra /8/> (xemplo do ar,uivo kdc.conf
/8*8* Cria%& da )a!e de dad! d Ker)er!
* prximo passo na configurao do 8DC 9 a criao da &ase de dados do
8er&eros) Csso 9 feito atrav9s do comando kdb5_.til executado no servidor 8DC
mestre) Para iniciali<ar e, ao mesmo tempo, criar a &ase de dados do 8er&eros, o
comando kdb5_.til deve ser executado da seguinte formaN
/.sr/sbin/kdb5_.til create 1s
" opo create cria a &ase de dados para arma<enamento dos principais e das
c.aves de autenticao para o reino 8er&eros) *pcionalmente, podese criar um
ar,uivo oculto $c.amado stash file% ,ue arma<ena, localmente e de forma
criptografada, a sen.amestra do 8DC utili<ada para autenticao autom=tica na
iniciali<ao dos deamons do 8DC, o kadmind e o krb5kdc)
* parWmetro 1s indica ,ue o 8er&eros deve criar o stash file no ,ual a sen.a
mestre ser= arma<enada) 7em esse ar,uivo presente para a leitura da c.ave, o
servidor 8er&eros ir= solicitar a sen.a sempre ,ue for iniciado) Por ser um ponto de
0 man kdc.conf
2I
ata,ue caso seGa comprometido, o stash file deve ser mantido localmente no disco do
8DC e protegido com permisso de leitura apenas para o usu=rio root)
Ko momento da criao, o 8er&eros ir= solicitar uma sen.a ,ue ser= a sen.a
mestra da &ase de dados) (ssa sen.a pode ser ,ual,uer cadeia de caracteres, mas
deve seguir as regras para composio de sen.as seguras) "o mesmo tempo, no
pode ser es,uecida, so& pena de no ser mais poss'vel iniciar e administrar o
servidor)
" Figura B)4 mostra um exemplo de criao de uma &ase de dados 8er&eros)
"ps a execuo so criados 4 ar,uivos no diretrio especificado no kdc.conf $o
diretrio padro 9 o ;var/kerberos/krb5kdc%N principal,
principal.ok, principal.kadm5, principal.kadm5.lock e o stash
file, .k5stash)
# /usr/local/sbin/kdb5_util create -s
$nitiali@ing database A/var/kerberos/krb5kdc/principalA for
realm A()*+,.&,TAB
master key name AC/(D()*+,.&,TA
)o. will be prompted for the database (aster Eassword.
$t is important that yo. &#T >#%,T this password.
,nter CF- database master key<
e1enter CF- database master key to verify<
#
5ig"ra /82> Criando a &ase de dados 8er&eros
/8*8/ Cria%& d ar;"i< de cntr(e de ace!!
* ar,uivo de controle de acesso deve ser editado para especificar pol'ticas de
controle de acesso M &ase de dados) Deve existir, pelo menos, a pol'tica de acesso
relativa aos administradores do 8er&eros) * ar,uivo de controle de acesso,
geralmente, 9 o /var/kerberos/krb5kdc/kadm5.acl mas sua locali<ao
pode ser alterada no ar,uivo /var/kerberos/krb5kdc/kdc.conf)
* kadm5.acl 9 usado pelo kadmind para determinar ,uais principais tm
acesso administrativo M &ase de dados do 8er&eros e ,ual o n'vel de acesso) *
formato do conte>do do kadm5.acl 9N
principal permissGes 8principais_afetados9
2J
"s permiss:es so &astante variadas e sua composio pode permitir ou negar
uma s9rie de tarefas como a criao de entradas na &ase de dados, listagem dos
principais ou troca de sen.as de principais) " permisso O]P d= acesso completo M
&ase de dados do 8er&eros)
Um exemplo do kadm5.acl pode ser visto na Figura B)D) De acordo com a
figura, o ar,uivo especifica ,ue todo principal cuGa instWncia termine com 0admin no
reino ()*+,.&,T ter= privil9gios de acesso completo)
7/adminD()*+,.&,T 7
5ig"ra /83> (xemplo do ar,uivo kadm5.acl
Mais detal.es so&re as permiss:es no ar,uivo kadm5.acl podem ser vistas no
Cap'tulo 4)
/8*82 Iniciand ! !er<i%! d KDC me!tre
Finalmente devese iniciar os servios necess=rios M execuo do 8DC) (sses
servios so o krb5kdc e o kadmindN
/.sr/sbin/krb5kdc
/.sr/sbin/kadmind
7ua iniciali<ao autom=tica tam&9m pode ser configurada, de acordo com a
distri&uio utili<ada) Para ,ue a iniciali<ao autom=tica seGa poss'vel 9 necess=rio
,ue o ar,uivo local com a sen.amestre $stash file% ten.a sido criado)
*s ar,uivos de log especificados no ar,uivo /etc/krb5.conf podem ser
lidos para verificao da iniciali<ao dos servios, conforme mostra a Figura B)H)
/var/log/krb5kdc.log <
>eb /2 1/<64</2 cascao.myware.net krb5kdc812229HinfoI<
commencing operation
/var/log/kadmin.log <
>eb /2 1/<64<10 cascao.myware.net kadmind812339HinfoI< starting
5ig"ra /81> Logs de iniciali<ao do 8DC
A3
/8*83 Adi%& de admini!tradre! B )a!e de dad!
* utilit=rio kadmin comunicase com o kadmind atrav9s da rede e usa o
8er&eros para autenticao) Por9m, 9 necess=rio criar o primeiro principal antes de
utili<ar os programas de administrao) Para isso, utili<ase o comando
kadmin.local, ,ue 9 espec'fico para utili<ao no prprio servidor 8DC mestre
e no utili<a o 8er&eros para autenticao) " Figura B)I apresenta um exemplo de
criao do usu=rio admin como administrador do 8DC)
J /.sr/sbin/kadmin.local 1K 'addprinc admin/admin'
5ig"ra /8C> Criao do principal OadminP
Mais detal.es so&re as op:es do comando kadmin.local podem ser vistas
no Cap'tulo 4)
/8*81 Cria%& d 6rinci6a( 6ara !er<idr
Cada servidor 8DC necessita de um principal do tipo host na &ase de dados do
8er&eros) 7upondo a configurao do ar,uivo /etc/krb5.conf da Figura B)A,
mostrada anteriormente, .= um 8DC mestre e um 8DC escravo) Conforme
mostrado na Figura B)J, para criar as c.aves desses servidores podese utili<ar o
programa kadmin acessando o 8DC mestre, ,ue est= executando o deamon
kadmind)
# /usr/sbin/kadmin -p admin/admin
+.thenticating as principal admin/admin with password.
,nter password<
kadmin: addprinc -randkey host/kerberos.myware.net
*+&$&%< no policy specified for
'host/kerberos.myware.netD()*+,.&,T'L defa.lting to no policy
Erincipal 'host/kerberos.myware.netD()*+,.&,T' created.
kadmin: addprinc -randkey host/kerberos1.myware.net
&#T$-,< no policy specified for
'host/kerberos1.myware.netD()*+,.&,T'L defa.lting to no policy
Erincipal 'host/kerberos1.myware.netD()*+,.&,T' created.
kadmin:
5ig"ra /8.> Criao do principal para o 8DC
A?
X poss'vel associar uma pol'tica de sen.as ,uando um principal 9 criado) Uma
pol'tica de sen.as define aspectos para as sen.as dos principais como taman.o
m'nimo da sen.a, tempo de expirao da sen.a, etc) Caso no seGa especificado, o
8er&eros procura a pol'tica padro) Caso no existam pol'ticas definidas, o 8er&eros
no poder= associar o principal a nen.uma pol'tica) Ko exemplo da Figura B)J, no
.= pol'ticas definidas na &ase de dados do 8er&eros) Mais so&re pol'ticas de sen.as
pode ser visto no Cap'tulo 4)
/8*8C Cria%& d ar;"i< de cDa<e 6ara KDC EkeytabF
Cada servidor 8DC $mestre ou escravo% precisa de uma c.ave para descriptografar
tic(ets $vide seo A)2)2, 'tem H%) Csso 9 feito atrav9s do programa kadmin
executado no pr7prio ser.idor para o ,ual se ,uer gerar a c.ave) " c.ave 9 lida da
&ase de dados do 8er&eros e arma<enada localmente no ar,uivo
/etc/krb5.keytab, conforme ilustrado na Figura B)?3)
kadmin: ktadd host/kerberos.myware.net
,ntry for principal host/kerberos.myware.net with kvno 6B
encryption type Triple F,S cbc mode with M(+-/sha1 added to
keytab *>$?,</etc/krb5.keytab.
kadmin: quit
#
5ig"ra /8$G> Criao da c.ave para o 8DC
Para ,ue seGa poss'vel a criao do ar,uivo de c.ave deve existir um principal
para o servidor na &ase de dados do 8er&eros) *s passos da Figura B)?3 teriam ,ue
ser executados localmente nos demais servidores 8DC, se .ouverem)
* ar,uivo de c.ave 9 um ar,uivo criptografado, arma<enado localmente e ,ue
cont9m a lista de c.aves da m=,uina ,ue funcionam de forma semel.ante M sen.a de
um usu=rio) Do mesmo modo ,ue um usu=rio deve manter a sen.a em segurana, 9
importante manter segura a lista de c.aves de uma m=,uina) "ssim como o stash
file, o ar,uivo (e#tab deve ter permisso de leitura apenas para o usu=rio root e deve
existir unicamente no disco local)
A2
Li!tand cnteHd d ar;"i< keytab
X poss'vel listar as c.aves contidas no ar,uivo (e#tab utili<ando o comando
klist, como mostrado na Figura B)??, onde 9 poss'vel visuali<ar a c.ave criada
anteriormente)
# klist -k
Ceytab name< /etc/krb5.keytab
C!&# Erincipal
1111 111111111111111111111111111111111111111111111
6 host/kerberos.myware.netD()*+,.&,T
#
5ig"ra /8$$> Listando o ar,uivo krb5.keytab
/8*8. Criand a! cnta! d! 6rinci6ai!
Uma ve< ,ue o servidor 8DC est= operacional 9 poss'vel utili<ar o kadmin para
criar as entradas para principais de usu=rios, m=,uinas e servios na &ase de dados
do 8er&eros) " Figura B)?2 mostra a criao do usu=rio user1)
Mais detal.es so&re a criao e manuteno de principais sero apresentados no
Cap'tulo 4)
# kadmin -q addprinc user1 -p admin/admin
+.thenticating as principal admin/admin with password.
,nter password<
*+&$&%< no policy specified for '.ser1D()*+,.&,T'L defa.lting
to no policy
,nter password for principal '.ser1D()*+,.&,T'<
e1enter password for principal '.ser1D()*+,.&,T'<
Erincipal '.ser1D()*+,.&,T' created.
#
5ig"ra /8$'> Criao de principal para usu=rio
/8*8$G Te!tand a 0"ncina(idade d !er<idr KDC
" partir de ento 9 poss'vel verificar se o servidor 8DC consegue distri&uir tic(ets)
1asta executar o comando kinit para o&ter um tic(et e arma<en=lo no cache de
credenciais)
AA
Por padro, o kinit tenta se autenticar utili<ando o usu=rio logado) Como,
nestes exemplos, o usu=rio logado no 9 o mesmo principal ,ue foi cadastrado na
seo B)A)D, 9 necess=rio informar ao kinit o nome do principal, da seguinte
formaN
kinit admin/admin
X poss'vel, ento, utili<ar o comando klist para visuali<ar a lista de
credenciais arma<enadas no cache, conforme Figura B)?A, e o comando kdestroy
caso se deseGe apagar o cache de credenciais)
# klist
Ticket cache< >$?,</tmp/krb5cc_/
Fefa.lt principal< admin/adminD()*+,.&,T
!alid starting ,Npires Service principal
/2//2//5 13<32<55 /2//0//5 //<32<55 krbtgt/()*+,.&,TD()*+,.&,T
#
5ig"ra /8$*> Listando o ar,uivo de credenciais
/8/8 In!ta(a%& e cn0ig"ra%& de m#;"ina! c(iente!
" configurao de clientes para uso do 8er&eros 9 mais simples ,ue configurar um
servidor 8DC) 1asicamente, 9 necess=rio instalar os pacotes de cliente, ,ue so o
krb51libs, o krb51client e o krb51apps1clients, e configurar o
8er&eros atrav9s do ar,uivo /etc/krb5.conf ,ue pode ser o mesmo usado no
servidor 8DC)
"l9m disso, 9 necess=rio assegurarse ,ue a sincroni<ao de .or=rio e a
resoluo de nomes atrav9s do DK7 esto funcionando ade,uadamente na m=,uina
cliente)
/8/8$ Prgrama! c(iente!
"lguns dos programas OEer&eri<adosP instalados pelos pacotes so krlogin,
ktelnet, kftp, krcp, krsh, ks., kinit, klist, kdestroy e kpasswd,
AB
locali<ados em /.sr/bin, e o login.krb5 locali<ado no diretrio
/.sr/sbin)
Pode ser necess=rio alterar configura:es nos clientes para ,ue esses programas
seGam utili<ados no lugar das vers:es padro, por exemplo, alterando a vari=vel
^P"F5 ou criando alias ou lin(s) X recomend=vel ,ue o login.krb5 seGa
utili<ado no lugar do /bin/login de modo ,ue os usu=rios no precisem executar
o programa kinit para o&ter o F!F)
Caso no seGam usados lin(s ou alteradas vari=veis de am&iente 9 necess=rio
educar os usu=rios a utili<ar os programas OEer&eri<adosP como, por exemplo, kftp
e kpasswd no lugar do ftp e passwd, respectivamente) "l9m disso, os usu=rios
precisam se .a&ituar a utili<ar programas de gerenciamento de tic(ets como kinit,
klist e kdestroy)
"s vers:es OEer&eri<adasP mantm as caracter'sticas dos programas originais
correspondentes, adicionando a caracter'stica de autenticao transparente, pelo uso
dos tic(ets, e a opo de uso de criptografia na comunicao com o servidor remoto)
Ka maioria das ve<es a >nica caracter'stica vis'vel 9 ,ue a sen.a no 9 solicitada
,uando .= a conexo ao servio remoto uma ve< ,ue a autenticao 9 feita pelo
8er&eros) Mais so&re as op:es de uso das vers:es dos programas podem ser vistos
no \!uia do usu=rio do 8er&eros @4\, do MCF SMCF $2332% $A%T)
/8/8' Cria%& d 6rinci6a( e da cDa<e 6ara c(iente
"ntes ,ue uma m=,uina cliente possa o&ter tic(ets e utili<ar servios remotos 9
necess=rio criar um principal para essa m=,uina atrav9s do programa kadmin) *
prim=rio do principal 9 a palavra host e a instWncia 9 o nome da m=,uina) " Figura
B)?B mostra a criao do principal para a m=,uina cliente1)
# kadmin -q addprinc -randkey host/cliente1.myware.net
*+&$&%< no policy specified for
'host/servidor1.myware.netD()*+,.&,T'L
defa.lting to no policy
Erincipal 'host/cliente1.myware.netD()*+,.&,T' created.
#
5ig"ra /8$/> Criao de principal de m=,uina cliente
A4
Depois de criado o principal na &ase de dados do 8er&eros, 9 necess=rio
arma<enar localmente a c.ave da m=,uina cliente, executando, na pr7pria m/8uina
cliente, o programa kadmin, com o comando ktadd, como apresentado na Figura
B)?4)
# kadmin -q ktadd host/cliente1.myware.net
,ntry for principal telnet/servidor1.myware.net with kvno 6B
encryption type Triple F,S cbc mode with M(+-/sha1 added to
keytab *>$?,</etc/krb5.keytab.
J
5ig"ra /8$2> Criao da c.ave para m=,uina cliente
Por padro, o ar,uivo de c.ave 9 o /etc/krb5.keytab e deve ser mantido
seguro, da mesma forma ,ue para o servidor 8DC $vide seo B)A)I%)
/828 Ser<idre! de a6(ica%&
Um servidor de aplicao 9 uma m=,uina ,ue prov servios para a rede) Kum
am&iente 8er&eros 9 poss'vel ter os servidores executando os deamons dos servios
OEer&eri<adosP, autenticando no servidor 8DC os usu=rios ,ue tentem utili<ar seus
servios) Caso existam clientes sem o 8er&eros instalado 9 poss'vel ainda utili<ar o
8er&eros para loon na rede, por9m os servios tero ,ue aceitar conex:es
an/nimas ou autentica:es locais)
" instalao de um servidor de aplicao com 8er&eros re,uer a instalao dos
pacotes krb51libs, krb51client e krb51apps1servers, e a
configurao do 8er&eros atrav9s do ar,uivo /etc/krb5.conf, de modo
semel.ante M configurao do cliente)
Da mesma forma, 9 necess=rio assegurarse ,ue a sincroni<ao de .or=rio e a
resoluo de nomes atrav9s do DK7 esto funcionando ade,uadamente na m=,uina
servidora)
"l9m disso, 9 necess=rio adicionar o servidor e seus servios M &ase de dados do
AD
8er&eros e gerar o ar,uivo com as c.aves $(e#tab% para o servidor e para os
servios)
/828$ Prgrama! de !er<idr
"ssim como .= os programas para clientes, o 8er&eros possui vers:es
OEer&eri<adasP de programas para o servidor, entre eles, kftpd, klogind, kshd
J
,
e ktelnetd) (sse programas so instalados no diretrio /.sr/sbin)
7upondo um servidor ,ue ir= prover os servios ftp e telnet &aseados no
8er&eros, e utili<ando o inetd, a Figura B)?D mostra as altera:es necess=rias no
ar,uivo /etc/inetd.conf, para aceitar conex:es autenticadas pelo 8er&eros)
"s lin.as para os servios ftp e telnet existentes no ar,uivo
/etc/inetd.conf devem ser comentadas e as lin.as da Figura B)?D
adicionadas)
ftp stream tcp nowait root /.sr/sbin/kftpd kftpd 1a
telnet stream tcp nowait root /.sr/sbin/ktelnetd ktelnetd 1a
valid
5ig"ra /8$3> Configurao do inetd.conf para servios
"ssim, so desa&ilitados os servios padro ftp e telnet, e passam a ser
usados os programas do 8er&eros) Mais so&re as op:es para as vers:es dos
programas de servidor podem ser vistas no \!uia do "dministrador do 8er&eros
@4\, do MCF SMCF $2332% $2%T)
/828' Cria%& d 6rinci6a( e da cDa<e 6ara !er<idr e !er<i%!
Fodo servidor de aplica:es 8er&eros precisa de uma c.ave para o servidor e para
os seus servios) Para isso 9 necess=rio criar o ar,uivo de c.ave
/etc/krb5.keytab para permitir a autenticao do servidor e dos servios no
8DC) Para ,ue o ar,uivo seGa criado 9 necess=rio ,ue existam os principais do
servidor e dos servios na &ase de dados do 8er&eros)
J *s programas klogind e kshd so as vers:es OEer&eri<adasP do servidor de loin remoto e
o servidor de shell remoto, respectivamente)
AH
* ar,uivo de c.ave deve ser mantido seguro, da mesma forma ,ue para o
servidor 8DC $vide seo B)A)I%)
" criao dos principais da m=,uina e dos servios 9 feita atrav9s do programa
kadmin) " Figura B)?H apresenta a criao do principal para a m=,uina ser.idor1
e para os servios ftp e telnet no mesmo servidor)
# kadmin -q addprinc -randkey host/seridor1.myware.net
*+&$&%< no policy specified for
'host/servidor1.myware.netD()*+,.&,T'L
defa.lting to no policy
Erincipal 'host/servidor1.myware.netD()*+,.&,T' created.
# kadmin -q addprinc -randkey !tp/seridor1.myware.net
*+&$&%< no policy specified for
'ftp/servidor1.myware.netD()*+,.&,T'L
defa.lting to no policy
Erincipal 'ftp/servidor1.myware.netD()*+,.&,T' created.
# kadmin -q addprinc -randkey telnet/seridor1.myware.net
*+&$&%< no policy specified for
'telnet/servidor1.myware.netD()*+,.&,T'L
defa.lting to no policy
Erincipal 'telnet/servidor1.myware.netD()*+,.&,T' created.
#
5ig"ra /8$1> Criao de principais para servidor de aplicao
Depois de criados os principais na &ase de dados do 8er&eros, 9 necess=rio criar
o ar,uivo com as c.aves) Csso 9 feito no pr7prio ser.idor de aplicao com o
programa kadmin utili<ando o comando ktadd) " Figura B)?I apresenta a criao
do ar,uivo de c.aves para os principais da Figura B)?H)
# kadmin -q ktadd host/seridor1.myware.net
!tp/seridor1.myware.net telnet/seridor1.myware.net
,ntry for principal host/servidor1.myware.net with kvno 6B
encryption type Triple F,S cbc mode with M(+-/sha1 added to
keytab *>$?,</etc/krb5.keytab.
,ntry for principal ftp/servidor1.myware.net with kvno 6B
encryption type Triple F,S cbc mode with M(+-/sha1 added to
keytab *>$?,</etc/krb5.keytab.
,ntry for principal telnet/servidor1.myware.net with kvno 6B
encryption type Triple F,S cbc mode with M(+-/sha1 added to
keytab *>$?,</etc/krb5.keytab.
#
5ig"ra /8$C> Criao de c.aves para servios
AI
/83 E-em6( de "! de a6(ica%&
7upondo o principal user12M9:A34.+4" criado na seo B)A)J efetuando loon
na estao cliente1.m#$are.net e acessando o servio de ftp no servidor
ser.idor1.m#$are.net, podese apresentar situao semel.ante M apresentada na
Figura B)?J)
cliente1 login< .ser1
Eassword for .ser1<
?in.N 2.3.2/.
user1"cliente1:#$ /usr/bin/k!tp seridor1.myware.net
-onnected to servidor1.myware.net.
22/ servidor1 >TE server ready.
663 Osing a.thentication type %SS+E$L +F+T m.st follow
%SS+E$ accepted as a.thentication type
%SS+E$ a.thentication s.cceeded
&ame Hservidor1.myware.net<.ser1I<
262 %SS+E$ .ser .ser1D()*+,.&,T is a.thori@ed as .ser1
emote system type is O&$X.
Osing binary mode to transfer files.
ftpP
5ig"ra /8$.> "cesso a servio com autenticao 8er&eros
Kesse exemplo 9 tam&9m suposto ,ue o programa
/.sr/sbin/login.krb5 est= sendo executado no lugar do /bin/login
padro) Desse modo, o usu=rio no necessita executar o comando kinit para o&ter
seus tic(ets)
" Figura B)23 apresenta o resultado da execuo do comando klist para
exi&ir os tic(ets do usu=rio) * usu=rio possui B tic(etsN o seu F!F e o tic(et de
acesso M estao cliente1.m#$are.net, o&tidos aps o loon, o tic(et de acesso ao
ser.idor1.m#$are.net, o&tido aps a conexo ao servidor, e o tic(et de acesso ao
servio ftp, o&tido aps a autenticao no servio) " opo 15 especifica ,ue
apenas os tic(ets da verso 4 do 8er&eros devem ser listados)
X importante ressaltar ,ue o 8er&eros arma<ena apenas as informa:es para
autenticao dos principais) "ssim, a conta local do usu=rio continua sendo
necess=ria para ,ue o usu=rio efetue loon, uma ve< ,ue o Linux precisa o&ter
outras informa:es do usu=rio como grupos, n>mero do CD para configurao das
permiss:es locais de acesso a ar,uivos, shell padro, diretrio home etc)
AJ
user1"cliente1:#$ klist -5
Ticket cache< >$?,</tmp/krb5cc_p663
Fefa.lt principal< .ser1D()*+,.&,T
!alid starting ,Npires Service principal
/2//0//5 10<26</5 /2//4//5 /3<26 krbtgt/()*+,.&,TD()*+,.&,T
renew .ntil /2//4//5 10<22<55
/2//0//5 10<26</5 /2//0//5 10<20 host/cliente1.myware.netD()*+,.&,T
renew .ntil /2//4//5 10<22<55
/2//0//5 10<23<64 /2//0//5 10<24 host/servidor1.myware.netD()*+,.&,T
renew .ntil /2//4//5 10<22<55
/2//0//5 10<23<33 /2//4//5 /3<26 ftp/servidor1.myware.netD()*+,.&,T
renew .ntil /2//4//5 10<22<55
user1"cliente1:#$
5ig"ra /8'G> Listando os tic(ets do usu=rio
*u seGa, o 8er&eros permite a autenticao centrali<ada, mas o Linux precisa de
outras informa:es para permitir o acesso local) (ssas informa:es, ,ue
normalmente so arma<enadas no ar,uivo /etc/passwd de cada m=,uina, podem
tam&9m ser centrali<adas) Uma opo para ter essas informa:es de forma
centrali<ada 9 o uso de servios como o +ame Ser.ice S$itch $K77%)
Com o K77, o administrador pode centrali<ar as informa:es de loon do
usu=rio e manter o servio de autenticao no 8er&eros, com o ,ual 9 poss'vel o
loon >nico, ou seGa, o usu=rio digita a sen.a uma >nica ve< e tem acesso aos
servios OEer&eri<adosP sem necessidade de redigitar sen.as ou ter sen.as diferentes
para os v=rios servios)
B3
Ca67t"( 2
Admini!tra%& d Ker)er!
" &ase de dados do 8er&eros cont9m os principais, suas sen.as e outras informa:es
administrativas necess=rias para funcionamento de um reino) !rande parte das
altera:es das informa:es contidas na &ase de dados do 8er&eros 9 feita atrav9s do
programa kadmin, com o ,ual 9 efetuada a manuteno dos principais, gerenciadas
as pol'ticas e ar,uivos de c.aves) *utro programa ,ue altera informa:es da &ase de
dados 9 o kpasswd, utili<ado pelos usu=rios para troca de sen.a)
Para administrao da &ase de dados do 8er&eros 9 utili<ado o programa
kdb5_.til, ,ue manipula a &ase de dados como um todo, por exemplo para
criao, remoo ou cpia dos ar,uivos ,ue comp:em a &ase de dados do 8er&eros)
Do ponto de vista do usu=rio, o gerenciamento dos tic(ets e sen.as dos usu=rios
9 outro fator importante na administrao) (ste Cap'tulo apresenta op:es de
comando e exemplos de uso dos programas para gerenciamento da &ase de dados,
por parte do administrador, e do gerenciamento de tic(ets e sen.as, por parte dos
usu=rios)
28$ Cntr(e de ace!!
* controle de acesso e permiss:es administrativas M &ase de dados do 8er&eros 9
feito atrav9s de entradas no ar,uivo kadm5.acl) Como mostrado na seo B)A)B,
o formato do conte>do do kadm5.acl 9N
principal permissGes 8principais_afetados9
B?
*s campos principal e principais_afetados podem incluir um
asterisco $]%, de modo a generali<ar a permisso dada) " permisso 9 dada de acordo
com a primeira entrada ,ue for coincidente) " Figura 4)? apresenta um exemplo de
um ar,uivo de permiss:es e a Fa&ela 4)? as permiss:es poss'veis) "s permiss:es so
representadas por letras min>sculas) Letras mai>sculas indicam negao de
permisso)
7/adminD()*+,.&,T 7
rootD()*+,.&,T +F(-$?
5ig"ra 28$> (xemplo do ar,uivo kadm5.acl
Ta)e(a 28$> Permiss:es de controle de acesso M &ase de dados
O6%& De!cri%&
a ; " Permite ; impede a adio de principais ou pol'ticas)
d ; D Permite ; impede a remoo de principais ou pol'ticas)
m ; M Permite ; impede a modificao de principais ou pol'ticas)
c ; C Permite ; impede a modificao de sen.as de principais)
i ; C Permite ; impede consultar a &ase de dados)
l ; L Permite ; impede listar principais ou pol'ticas)
] ou x Fodos os privil9gios $admcil%)
Ko exemplo da Figura 4)?, ,ual,uer principal com a instWncia admin tem acesso
completo M &ase de dados) * principal root no tem privil9gios) Mais informa:es
so&re o ar,uivo kadm5.acl podem ser vistas no \!uia do "dministrador do
8er&eros @4\, do MCF SMCF $2332% $2%T)
28' O 6rgrama kadmin
* programa kadmin 9 utili<ado para administrao remota do 8DC mestre e
gerao do ar,uivo de c.aves $(e#tab% e existe tanto no servidor 8er&eros como nos
clientes e servidores de aplica:es) 5= tam&9m uma verso local do programa,
c.amado kadmin.local ,ue 9 usado diretamente no 8DC, principalmente para
B2
as configura:es iniciais de preparao e startup dos servios, aps as ,uais 9
poss'vel efetuar a administrao de forma remota) " Fa&ela 4)2 apresenta as
principais op:es para o kadmin)
Ta)e(a 28'> *p:es do kadmin
O6%& De!cri%&
r #(CK* Utili<a o reino especificado como reino padro)
Fam&9m pode ser usado com o kadmin.local)
p principal Usa o principal especificado para autenticao)
Fam&9m pode ser usado com o kadmin.local)
, comando Passa comandos diretamente ao programa) Fam&9m
pode ser usado com o kadmin.local)
L sen.a Utili<a a sen.a especificada ao inv9s de solicitar a
entrada pelo teclado)
s servidorSNportaT (specifica o servidor e a porta para conexo)
m Utili<ado apenas com o kadmin.local) 7olicita a
sen.amestra da &ase de dados)
Mais detal.es so&re os programas kadmin e kadmin.local e as suas
op:es de comando podem ser vistas no \!uia do "dministrador do 8er&eros @4\,
do MCF SMCF $2332% $2%T)
28* P(7tica!
Uma pol'tica 9 um conGunto de regras so&re sen.as) Pol'ticas podem determinar o
tempo m=ximo e m'nimo de durao de sen.as, o taman.o m'nimo e tipo de
caracteres ,ue uma sen.a deve conter, al9m do taman.o do .istrico de sen.as de
um principal na &ase de dados)
28*8$ Cria%& e a(tera%& de 6(7tica!
Para criar uma pol'tica 9 utili<ado o comando add_policy $ou addpol% do
programa kadmin) (sse comando necessita da permisso de adio $OaP% e sua
sintaxe 9
add_policy 8opQGes9 polRtica
BA
" alterao de configurao de uma pol'tica re,uer a permisso de modificao
$OmP% e 9 feita com o comando modify_policy $ou modpol% do programa
kadmin) " sintaxe 9 idntica M do comando add_policy)
"s op:es mais comuns para os dois comandos esto listadas na Fa&ela 4)A) "
Figura 4)2 mostra um exemplo de criao de uma pol'tica)
Ta)e(a 28*> *p:es para os comandos add_policy e modify_policy
O6%& De!cri%&
maxlife tempo Configura o tempo de vida m=ximo para sen.as)
minlife tempo Configura o tempo de vida m'nimo para sen.as)
minlengt. tam (specifica o comprimento m'nimo de caracteres de
uma sen.a)
minclasses num #e,uer, no m'nimo, num classes de caracteres na
sen.a)
.istor6 num (specifica o n>mero de sen.as antigas a serem
mantidas como .istrico para um principal)
# kadmin
+.thenticating as principal root/adminD()*+,.&,T with
password.
Eassword for root/adminD()*+,.&,T<
kadmin: addpol -ma%li!e &1' day& -minlen(th ) -history 5 adm-
pol
kadmin:
5ig"ra 28'> Criando uma pol'tica
28*8' Li!tand a! 6(7tica!
Para listar as pol'ticas existentes na &ase de dados 9 usado o comando
list_policies do programa kadmin, ,ue re,uer o privil9gio administrativo de
listar a &ase de dados $OlP%) 7ua sintaxe 9
list_policies 8eNpressSo9
onde eNpressSo pode conter caracteres para limitar a pes,uisa, de modo
semel.ante a alguns comandos do shell do Linux) *utras formas do comando so
BB
listpols, get_policies e getpols) " Figura 4)A apresenta um exemplo de
uso do comando)
kadmin: listpols
adm1pol
polcom.m
.ser1pol
kadmin:
5ig"ra 28*> Listando pol'ticas
28*8* O)tend a cn0ig"ra%& de "ma 6(7tica
Para ver a configurao de uma pol'tica espec'fica utili<ase o comando
get_policy $ou getpol% ,ue necessita do privil9gio de consulta M &ase de
dados $OiP%) " sua sintaxe 9
get_policy polRtica
e a Figura 4)B mostra a configurao de uma das pol'ticas listadas na Figura 4)A)
" informao reference count representa o n>mero de principais ,ue esto
utili<ando essa pol'tica)
kadmin: (etpol adm-pol
Eolicy< adm1pol
(aNim.m password life< 053///
(inim.m password life< /
(inim.m password length< 2
(inim.m n.mber of password character classes< 1
&.mber of old keys kept< 5
eference co.nt< /
kadmin:
5ig"ra 28/> Listando a configurao de uma pol'tica
28*8/ Rem%& de 6(7tica!
" remoo de uma pol'tica 9 feita com o comando delete_policy $ou
delpol% do programa kadmin, o ,ual re,uer a permisso administrativa de
remoo $OdP% na &ase de dados)
B4
"ntes de remover uma pol'tica 9 necess=rio ,ue no exista nen.um principal
associado a ela) " sintaxe do comando 9
delete_policy 81force9 polRtica
onde a opo 1force remove a pol'tica sem solicitar confirmao) " Figura
4)4 mostra a remoo de uma pol'tica)
kadmin: delpol polcomum
+re yo. s.re yo. want to delete the policy 'polcom.m'T
Hyes/noI< yes
kadmin:
5ig"ra 282> (xcluso de uma pol'tica
28/ Admini!tra%& de Princi6ai!
" administrao de principais 9 um processo simples, por9m, &astante comum
dentro da &ase de dados e, provavelmente, a atividade ,ue mais tomar= tempo do
administrador) (ntre as tarefas de administrao esto a adio, alterao e remoo
de principais e a alterao de sen.a de um principal)
28/8$ Cria%& e mdi0ica%& de 6rinci6ai!
Para adicionar um principal ao 8er&eros utili<ase o comando add_principal
$ou addprinc% do programa kadmin) (sse comando necessita da permisso de
adio $OaP% e sua sintaxe 9
add_principal 8opQGes9 principal
"o ser executado ele solicita uma sen.a para o novo principal)
" alterao de atri&utos de um principal re,uer a permisso de modificao
$OmP% e 9 feita com o comando modify_principal $ou modprinc% do
programa kadmin) " sintaxe 9 idntica M do comando add_principal)
"s op:es mais comuns para os dois comandos esto listadas na Fa&ela 4)B) "
Figura 4)D apresenta um exemplo de uso do comando add_principal)
BD
Ta)e(a 28/> *p:es dos comandos add_principal e modify_principal
O6%& De!cri%&
expire data Configura a data de expirao do principal para data)
pLexpire data Configura a data de expirao da sen.a para data)
maxlife ma; Configura o tempo de expirao do tic(et para ma;)
maxreneLlife ma; Configura o tempo de renovao do tic(et para ma;)
polic6 pol (specifica uma pol'tica para o principal)
clearpolic6 #emove a pol'tica existente ou cria um principal sem
pol'tica associada)
_`abneedc.ange \aneedc.ange\ fora o usu=rio a trocar a sen.a ao
efetuar loon) \needc.ange\ retira essa o&rigao) *
padro 9 \needc.ange\)
randEe6 Cria uma c.ave aleatria para o principal $usado
apenas com o comando add_principal%) X
recomendada na criao de principais de m=,uinas
$principal do tipo host<)
pL senha Configura a sen.a para o principal sendo criado e,
assim, no solicita a sen.a no momento da criao)
kadmin: addprinc -policy user-pol user*
,nter password for principal '.ser6D()*+,.&,T'<
e1enter password for principal '.ser6D()*+,.&,T'<
Erincipal '.ser6D()*+,.&,T' created.
kadmin:
5ig"ra 283> Uso do comando add_principal
28/8' Li!tand 6rinci6ai!
X poss'vel listar os principais cadastrados no 8er&eros com o comando
list_principals do programa kadmin) 7ua sintaxe 9
list_principals 8eNpressSo9
onde eNpressSo pode conter caracteres para limitar a pes,uisa, de modo
semel.ante a alguns comandos do shell do Linux) 7e nen.uma expresso for
passada todos os principais so listados) * mesmo comando possui outros nomes
,ue podem ser usados no seu lugarN listprincs, get_principals e
BH
getprincs) Para ser utili<ado 9 necess=ria permisso para listar $OlP% a &ase de
dados) " Figura 4)H apresenta um exemplo de uso do comando)
kadmin: listprincs
C/(D()*+,.&,T
admin/adminD()*+,.&,T
ftp/servidor1.myware.netD()*+,.&,T
host/kerberos.myware.netD()*+,.&,T
host/cliente1.myware.netD()*+,.&,T
host/servidor1.myware.netD()*+,.&,T
kadmin/adminD()*+,.&,T
kadmin/changepwD()*+,.&,T
kadmin/historyD()*+,.&,T
krbtgt/()*+,.&,TD()*+,.&,T
root/adminD()*+,.&,T
rootD()*+,.&,T
telnet/servidor1.myware.netD()*+,.&,T
.ser1D()*+,.&,T
.ser2D()*+,.&,T
.ser6D()*+,.&,T
kadmin:
5ig"ra 281> Listando principais
28/8* O)tend in0rma%4e! de "m 6rinci6a(
Para o&ter informa:es so&re determinado principal cadastrado na &ase de dados do
8er&eros 9 necess=ria a permisso de consultar a &ase de dados $OiP% e utili<ase o
comando get_principal do programa kadmin) " Figura 4)I apresenta um
exemplo do uso do comando)
28/8/ Rem%& de 6rinci6ai!
" excluso de principais 9 feita com o comando delete_principal $ou
delprinc% do programa kadmin, o ,ual re,uer a permisso de remoo $OdP% na
&ase de dados)
" sintaxe do comando 9
delete_principal 81force9 principal
onde a opo 1force remove o principal sem solicitar confirmao) " Figura
4)J mostra a remoo de um principal)
BI
kadmin: (etprinc user*
Erincipal< .ser6D()*+,.&,T
,Npiration date< 8never9
?ast password change< *ed >eb /4 /2<34<33 UST 2//5
Eassword eNpiration date< >ri (ar 11 /1<34<33 UT 2//5
(aNim.m ticket life< / days 1/<//<//
(aNim.m renewable life< 2 days //<//<//
?ast modified< *ed >eb /4 /2<34<33 UST 2//5
Hroot/adminD()*+,.&,TI
?ast s.ccessf.l a.thentication< 8never9
?ast failed a.thentication< 8never9
>ailed password attempts< /
&.mber of keys< 5
Cey< vno 1B Triple F,S cbc mode with M(+-/sha1B no salt
Cey< vno 1B F,S cbc mode with --162B no salt
Cey< vno 1B F,S cbc mode with S+1(F5B !ersion 3
Cey< vno 1B F,S cbc mode with S+1(F5B !ersion 5 1 &o ealm
Cey< vno 1B F,S cbc mode with S+1(F5B +>S version 6
+ttrib.tes<
Eolicy< .ser1pol
kadmin:
5ig"ra 28C> Listando informa:es de um principal
kadmin: delprinc user*
+re yo. s.re yo. want to delete the principal
'.ser6D()*+,.&,T'T Hyes/noI< yes
Erincipal '.ser6D()*+,.&,T' deleted.
(ake s.re that yo. have removed this principal from all +-?s
before re.sing.
kadmin:
5ig"ra 28.> (xcluso de um principal
28/82 A(tera%& de !enDa
* administrador do 8er&eros pode alterar a sen.a de um principal ,ual,uer, o ,ue
re,uer a permisso de modificao $OmP%) Caso a alterao seGa da sen.a do seu
prprio principal o privil9gio de alterao de sen.a $OcP% 9 suficiente) " alterao de
sen.a de principais 9 feita com o comando change_password $ou cpw% do
programa kadmin, e a sintaxe do comando 9
change_password 8opQGes9 principal
" Fa&ela 4)4 apresenta as op:es do comando change_password e a Figura
4)?3 um exemplo de uso do mesmo)
BJ
Ta)e(a 282> *p:es para o comandos change_password
O6%& De!cri%&
randEe6 "tri&ui um valor aleatrio M sen.a do principal)
pL senha "tri&ui diretamente a cadeia de caracteres senha ao
principal)
kadmin: cpw user+
,nter password for principal .ser2D()*+,.&,T<
e1enter password for principal .ser2D()*+,.&,T<
Eassword for .ser2D()*+,.&,T changed.
kadmin:
5ig"ra 28$G> "lterao de sen.a de um principal pelo administrador
28/83 Princi6ai! 6ara m#;"ina!
-uando se instalam programas do 8er&eros em um servidor de aplica:es 9
necess=rio criar um principal do tipo host na &ase de dados do 8er&eros para esse
servidor e um principal para cada servio) "l9m disso, devese criar um ar,uivo
local no servidor ,ue cont9m a lista de c.aves da m=,uina) (sse ar,uivo local 9
c.amado (e#tab e funciona para a autenticao do servidor no 8DC, de modo
semel.ante M sen.a de um usu=rio $vide seo B)4%)
" criao do ar,uivo de c.aves 9 feita com o kadmin e deve ser executado
localmente na prpria m=,uina onde residir=) Caso isso no seGa poss'vel, pode ser
gerado em outra m=,uina e copiado, de forma segura, para o local correto)
Para criao do ar,uivo de c.aves, ou adio de um principal ao mesmo, utili<a
se o comando ktadd do programa kadmin, o ,ual re,uer a permisso de consulta
$OiP% na &ase de dados) " sintaxe do comando 9
ktadd 81k8eytab9 keytab9 8principal V
1glob princ_exp9 8...9
" Fa&ela 4)D apresenta as principais op:es do comando ktadd) Um exemplo
de criao e listagem do conte>do do ar,uivo de c.aves pode ser visto na Figura
4)??)
43
Ta)e(a 283> *p:es do ktadd
O6%& De!cri%&
ESe6ta&T (e#tab Usa (e#tab como ar,uivo de c.aves) 7e no for
especificado, ser= usado o ar,uivo padro
$/etc/krb5.keytab%)
principal ` glo&
princ=e;p
"diciona ao ar,uivo de c.aves o principal principal,
ou todos a,ueles ,ue casam com a expresso
princ=e;p) " opo glo& princ=e;p re,uer o
privil9gio de listar a &ase de dados $OlP%)
kadmin: ktadd host/kerberos.myware.net
,ntry for principal host/kerberos.myware.net with kvno 6B
encryption type Triple F,S cbc mode with M(+-/sha1 added to
keytab *>$?,</etc/krb5.keytab.
kadmin: quit
#
# klist -k
Ceytab name< /etc/krb5.keytab
C!&# Erincipal
1111 111111111111111111111111111111111111111111111
6 host/kerberos.myware.netD()*+,.&,T
#
5ig"ra 28$$> Criando e listando o ar,uivo de c.aves
282 O6era%4e! admini!trati<a! !)re a )a!e de dad! d
Ker)er!
"l9m das atividades administrativas referentes aos principais de um reino 8er&eros,
o administrador tam&9m executa atividades so&re os ar,uivos ,ue comp:em a &ase
de dados como um todo em um servidor 8DC) Dentre essas atividades esto a
criao dos ar,uivos do 8er&eros, o bac(up e recuperao da &ase de dados)
* programa kdb5_.til 9 a principal ferramenta para administrar a &ase de
dados e sua sintaxe 9
kdb5_.til comando 8opQGes_kdb5_.til98opQGes_comando9
" Fa&ela 4)H mostra as principais op:es do programa) 7e utili<adas, as op:es
so&rep:em ,ual,uer padro especificado nos ar,uivos de configurao)
4?
Ta)e(a 281> *p:es do programa kdb5_.til
O6%& De!cri%&
r reino (specifica o reino da &ase de dados)
d nome=ar8 (specifica o nome do ar,uivo da &ase de dados de
principais)
m (specifica ,ue a sen.amestra deve ser lida do
terminal e no de um ar,uivo em disco)
sf ar8 (specifica o ar,uivo da sen.amestra $stash file%
2828$ C6iand a )a!e de dad! 6ara "m ar;"i<
Para copiar o conte>do da &ase de dados para um ar,uivo, o administrador deve
utili<ar o comando d.mp do kdb5_.til, executado no servidor 8DC) " Figura
4)?2 mostra um exemplo de execuo)
# kdb5_util dump -r ,-./01.213 -erbose arqdump
C/(D()*+,.&,T
admin/adminD()*+,.&,T
ftp/servidor1.myware.netD()*+,.&,T
host/kerberos.myware.netD()*+,.&,T
host/cliente1.myware.netD()*+,.&,T
host/servidor1.myware.netD()*+,.&,T
kadmin/adminD()*+,.&,T
kadmin/changepwD()*+,.&,T
kadmin/historyD()*+,.&,T
krbtgt/()*+,.&,TD()*+,.&,T
root/adminD()*+,.&,T
rootD()*+,.&,T
telnet/servidor1.myware.netD()*+,.&,T
.ser1D()*+,.&,T
.ser2D()*+,.&,T
.ser6D()*+,.&,T
#
5ig"ra 28$'> Copiando a &ase de dados
" opo 1verbose mostra os principais na tela, M medida ,ue so gravados no
ar,uivo) * comando d.mp 9 utili<ado para efetuar cpias de segurana da &ase
dados e para gerar o ar,uivo de replicao da &ase de dados para servidores 8DC
escravos) Mais detal.es so&re replicao da &ase de dados do 8er&eros podem ser
vistos em S1#(KK(K $233B%T e no \!uia de Cnstalao do 8er&eros @4\, do MCF
SMCF $2332% $?%T)
42
2828' Re!ta"rand a )a!e de dad! de "m ar;"i<
Para recuperar o conte>do da &ase de dados do 8er&eros existente em um ar,uivo, o
administrador deve executar o programa kdb5_.til com o comando load no
8DC ,ue ir= ser atuali<ado) " Figura 4)?A mostra um exemplo de execuo)
# kdb5_util load -update -erbose arqdump
C/(D()*+,.&,T
admin/adminD()*+,.&,T
ftp/servidor1.myware.netD()*+,.&,T
host/kerberos.myware.netD()*+,.&,T
host/cliente1.myware.netD()*+,.&,T
host/servidor1.myware.netD()*+,.&,T
kadmin/adminD()*+,.&,T
kadmin/changepwD()*+,.&,T
kadmin/historyD()*+,.&,T
krbtgt/()*+,.&,TD()*+,.&,T
root/adminD()*+,.&,T
rootD()*+,.&,T
telnet/servidor1.myware.netD()*+,.&,T
.ser1D()*+,.&,T
.ser2D()*+,.&,T
.ser6D()*+,.&,T
created policy adm1pol
created policy .ser1pol
#
5ig"ra 28$*> #estaurando a &ase de dados
" opo 1.pdate fa< com ,ue se atuali<em principais existentes na &ase de
dados, al9m de adicionar novos principais contidos no ar,uivo) 7e essa opo no
for utili<ada o comando ir= so&repor a &ase existente com os principais do ar,uivo
lido)
2828* Cria%& d ar;"i< 6ara a !enDaIme!tra
Conforme visto na seo B)A)A, ao se criar a &ase de dados do 8er&eros, podese,
opcionalmente, criar um ar,uivo oculto $c.amado stash file% ,ue arma<ena,
localmente e de forma criptografada, a sen.amestra do 8DC de modo ,ue este
autenti,ue a si mesmo perante os programas kadmind, krb5kdc, kadmin e
kdb5_.til) 7em esse ar,uivo presente para a leitura da c.ave, o servidor
4A
8er&eros ir= solicitar a sen.amestra sempre ,ue for necess=rio acessar a &ase de
dados)
Caso no seGa criado Gunto com os ar,uivos da &ase dados, 9 poss'vel cri=lo
posteriormente com o comando stash do programa kdb5_.til, conforme
mostra a Figura 4)?B)
X poss'vel especificar o ar,uivo para gravao da sen.amestra, com a opo 1f
arK.ivo) Caso no seGa especificado ser= usada a locali<ao existente no ar,uivo
kdc.conf)
# kdb5_util stash
,nter CF- database master key<
#
5ig"ra 28$/> Criando o ar,uivo de sen.amestra
2828/ Cria%& e rem%& da )a!e de dad!
" criao dos ar,uivos da &ase de dados do 8er&eros foi apresentada na seo B)A)A)
Para remover a &ase dados utili<ase o comando destroy do kdb5_.til,
conforme mostra a Figura 4)?4) "ntes de remover os ar,uivos, o comando
so&rescreve os setores do disco onde esto os ar,uivos)
# kdb5_util destroy
Feleting CF- database stored in
A/var/kerberos/krb5kdc/principalAB are yo. s.reT
Htype yes to confirmIT yes
#CB deleting database A/var/kerberos/krb5kdc/principalA...
#
5ig"ra 28$2> #emovendo a &ase de dados
283 Admini!tra%& d (ad c(iente
Como mostrado na seo B)B)?, a instalao dos programas clientes numa estao
4B
inclui programas para troca de sen.a e administrao de tic(ets) Uma ve< instalados,
os usu=rios devem se .a&ituar a utili<=los de modo a poder trocar a sen.a do
principal do 8er&eros, al9m de o&ter, remover e verificar tic(ets)
2838$ A(tera%& de !enDa
" troca de sen.a do principal do 8er&eros 9 feita com o comando kpasswd e sua
utili<ao 9 semel.ante ao comando passwd do Linux) " Figura 4)?D mostra a
troca de sen.a com o comando kpasswd)
user1"cliente1:#$ kpasswd
Eassword for .ser1D()*+,.&,T<
,nter new password<
,nter it again<
Eassword changed.
user1"cliente1:#$
5ig"ra 28$3> "lterando a sen.a do principal em uso
2838' O)ten%& de tickets
Para o&ter tic(ets de acesso a m=,uinas e servios 9 necess=rio ,ue se ten.a o&tido
um F!F) " o&teno de um F!F se d= automaticamente no momento do loon,
caso o programa de loin do 8er&eros $/.sr/sbin/login.krb5% esteGa sendo
executado no lugar do programa de loin padro do Linux)
Caso contr=rio, o usu=rio necessita o&ter o F!F explicitamente atrav9s do
programa kinit) * programa kinit tam&9m 9 necess=rio para o&ter novos
tic(ets aps sua expirao) "o c.amar o programa ser= solicitada a sen.a do
8er&eros e, caso esteGa correta, o tic(et ser= arma<enado no cache de credenciais)
Fam&9m 9 poss'vel o&ter tic(ets para um principal ,ue no 9 o mesmo ,ue
efetuou loon) Por exemplo, para um usu=rio comum o&ter um tic(et para seu
principal de administrador, &asta executar o comando passando o principal
administrativo como parWmetro)
" Figura 4)?H mostra a execuo do kinit para o&ter um tic(et para um
principal diferente do atualmente logado)
44
user1"cliente1:#$ kinit admin/admin
Eassword for admin/adminD()*+,.&,T<
user1"cliente1:#$
5ig"ra 28$1> *&tendo um tic(et
Mais detal.es so&re a o&teno de tic(ets, &em como suas propriedades, podem
ser vistos no \!uia do usu=rio do 8er&eros @4\, do MCF SMCF $2332% $A%T)
2838* 9i!"a(i:a%& d! tickets
Para visuali<ar os tic(ets ,ue esto em cache utili<ase o comando klist) Logo
aps o loon o >nico tic(et existente 9 o F!F) "ps acessar outras m=,uinas e
servios, outros tic(ets estaro em cache e podem ser visuali<ados)
" Figura 4)?I mostra um exemplo de listagem de credenciais)
# klist
Ticket cache< >$?,</tmp/krb5cc_/
Fefa.lt principal< admin/adminD()*+,.&,T
!alid starting ,Npires Service principal
/2//2//5 13<32<55 /2//0//5 //<32<55 krbtgt/()*+,.&,TD()*+,.&,T
#
5ig"ra 28$C> Listando o ar,uivo de credenciais
2838/ De!tr"i%& d! tickets
" destruio dos tic(ets 9 importante e deve ser executada sempre ,ue o usu=rio se
ausentar da m=,uina ou efetuar looff) Csso por,ue um invasor pode capturar tic(ets
e se passar pelo usu=rio at9 ,ue o tic(et expire) Para destruir todos os tic(ets ,ue
esto em cache utili<ase o comando kdestroy)
X recomendado ,ue o comando seGa colocado no ar,uivo .logo.t dos
usu=rios para ,ue seGa executado sempre ,ue um usu=rio efetuar looff)
4D
Ca67t"( 3
Cn!idera%4e! 5inai!
X importante frisar ,ue implementar o 8er&eros na rede no 9 garantia de total
segurana) Feoricamente, o 8er&eros 9 extremamente seguro) Por9m, pelo lado
pr=tico, .= diversos aspectos de segurana ,ue precisam ser considerados) "lguns
cuidados de segurana devem ser tomados de modo a no comprometer a
infraestrutura do 8er&eros, como dedicar servidores exclusivos para o 8DC e
desativar ,ual,uer servio desnecess=rio nesses servidores)
* 8er&eros prov apenas o servio de autenticao e criptografiaR ele no pode
prevenir fal.as causadas por pro&lemas em soft$are de servidores e servios,
administradores relapsos ,ue passam sua sen.a a outros, uma pol'tica de sen.as mal
ela&orada, etc) " seguir so apresentados e discutidos diversos aspectos relativos a
poss'veis fal.as de segurana e formas de ata,ue contra um sistema de autenticao
8er&eros, seguidos de poss'veis solu:es para preveno desses ata,ues)
38$ Ata;"e! B in0rae!tr"t"ra Ker)er!
" primeira forma pela ,ual um invasor pode comprometer um am&iente 8er&eros 9
diretamente so&re os servidores 8er&eros) Por9m, mesmo sem o acesso f'sico ao
8DC, onde seria poss'vel, por exemplo, deslig=lo, .= uma s9rie de ata,ues
eletr/nicos ,ue um invasor pode utili<ar na tentativa de comprometer o sistema
8er&erosN
4H
Ace!! root a !er<idr KDC
Conseguindo o acesso de root ao servidor 8DC $principal ou escravos% um
crac(er o&teria controle total so&re os servios e ar,uivos instalados no
servidor) "pesar do 8er&eros, por padro, no dar acesso aos &ancos de
dados para o usu=rio root, toda a &ase do 8er&eros pode ser considerada
comprometida caso um invasor consiga ter o acesso de root a ,ual,uer um
dos servidores 8DC da rede pois ele ter= acesso ao soft$are e ar,uivos de
configurao do 8er&eros podendo modific=los e danificar todo o sistema)
U! de !enDa de "m 6rinci6a( admini!tradr
*utra forma de ata,ue 9 com a o&teno da sen.a de um principal ,ue seGa
administrador do 8er&eros) Csso daria ao invasor acesso completo M &ase de
dados 8er&eros permitindo ,ue, mesmo remotamente, a,uele pudesse criar,
remover ou alterar ,ual,uer principal) Um n>mero redu<ido de
administradores, aliada a um conGunto de pol'ticas r'gidas para esses
usu=rios, 9 a mel.or forma de minimi<ar essa possi&ilidade de ata,ue)
Ace!! root a "m !er<idr
Para o funcionamento da autenticao m>tua no 8er&eros, os servios
devem ter um principal cadastrado) "s c.aves dos principais de servios
residem no ar,uivo (e#tab no servidor) 7e um invasor consegue a sen.a do
root de um servidor, todos os servios ,ue rodam nesse servidor ficam
comprometidos) "l9m de comprometer os servios, o invasor pode tentar
descriptografar o tr=fego entre os clientes e esse servidor) " segurana de
servios OEer&eri<adosP ,ue rodam em um servidor depende da segurana
individual desse servidorR portanto, todos os servidores devem ser seguros
em proporo ao valor dos recursos nele arma<enados)
Ace!! root a "ma m#;"ina c(iente
Kesse caso, um invasor teria acesso a todos os tic(ets gravados em cache
na,uela estao) Como os tic(ets possuem tempo de expirao, o invasor
teria pouco tempo para tentar reutili<ar algum deles) Por9m, o invasor pode
implantar um sniffer de teclado e o&ter as sen.as de usu=rios para uso
4I
malicioso posterior) "ssim, uma estao comprometida compromete as
sen.as de ,ual,uer usu=rio ,ue a ten.a utili<ado, devendo todos trocar a
sen.a imediatamente)
Cm6rmetiment da! credenciai! de "!"#ri
Como mostrado acima .= duas possi&ilidades nessa situaoN o tic(et ,ue
est= em cache 9 exposto ou a sen.a do usu=rio 9 o&tida) 7e um invasor
consegue acesso ao tic(et este 9 v=lido apenas por um per'odo de tempo)
Por outro lado, conseguindo a sen.a de um usu=rio, o invasor pode se fa<er
passar por esse usu=rio at9 ,ue este efetue uma troca de sen.a)
" partir da lista acima perce&ese a importWncia de manter todas as m=,uinas da
rede seguras) Mesmo a instalao do 8er&eros na rede no elimina a necessidade de
tomar os devidos cuidados para ,ue as m=,uinas, tanto servidores como esta:es de
usu=rios, esteGam seguras contra invas:es e ata,ues) * comprometimento de
,ual,uer m=,uina da rede ter=, de alguma forma, efeitos so&re a segurana do
sistema de autenticao 8er&eros)
38' Seg"ran%a d 6rtc(
* 8er&eros foi proGetado para evitar ,ue informa:es de autenticao passem
a&ertas pela rede e, dessa forma, no possam ser violadas mesmo ,ue capturadas)
"ssim, o 8er&eros criptografa todos os dados relativos a uma autenticao ,uando
esta ocorre atrav9s da rede) Ka seo anterior foram apresentadas formas de ata,ues
a uma rede com 8er&eros) ",ui so apresentadas algumas formas de ata,ues so&re o
protocolo 8er&eros em si)
Ata;"e! de dicin#ri e 0r%aI)r"ta
* ata,ue de fora&ruta num am&iente 8er&eros consiste em capturar um
tic(et e tentar descriptograf=lo) 7e o invasor o&t9m a c.ave usada para
criptografar a mensagem ele ter= a sen.a do usu=rio e pode se passar por
este no futuro) Como no .= como descriptografar o tic(et diretamente, o
4J
invasor pode usar fora&ruta so&re o F!F utili<ando um ata,ue de
dicion=rio em off)line)
Durante o ata,ue de dicion=rio 9 utili<ado um programa, com uma lista
contendo sen.as comuns e possivelmente utili<adas por usu=rios
$dicion=rio%, ,ue tenta descriptografar a mensagem utili<ando cada uma das
sen.as) 7e uma coincidncia 9 encontrada o programa avisa o invasor so&re
a sen.a do usu=rio)
X muito prov=vel ,ue, depois da desco&erta da sen.a, o tic(et ten.a
expirado seu tempo de validade) Por9m, o crac(er tem agora uma
com&inao de usu=rio e sen.a v=lidos, podendo o&ter novos tic(ets
v=lidos)
Ata;"e! de reen<i
Um ata,ue de reenvio envolve interceptar um tic(et e ento reapresent=lo
na tentativa de o&ter uma autenticao) Como .= a troca de mensagens
eletr/nicas entre os computadores no momento da autenticao, um invasor
pode capturar mensagens e reapresent=las momentos depois) (le no
necessita desco&rir sen.as ou descriptografar mensagens) X um tipo de
ata,ue ativo, pois o invasor tem ,ue estar on)line, ouvindo a rede todo o
tempo e com a capacidade de reenviar as falsas mensagens na rede)
Ata;"e! Man-in-the-middle
Fam&9m 9 um tipo de ata,ue ativo, o ,ue significa ,ue o invasor precisa ser
capa< de ler todas a mensagens ,ue trafegam na rede, assim como enviar
falsas mensagens) X um ata,ue ,ue afeta protocolos ,ue tentam verificar a
identidade dos pontos finais de uma conexo, neste caso, o usu=rio e o
servidor ,ue esse usu=rio tenta acessar)
* o&Getivo do invasor 9 fa<er se passar pelo servidor, de modo ,ue o
usu=rio pense ,ue est= em conexo com o servidor real ,uando, na verdade,
est= trocando mensagens com o invasor) -uando intercepta e passa a
controlar a sesso, o invasor passa a ser parte da comunicao, atuando
como um repassador das mensagens entre o usu=rio e o servidor real,
D3
podendo adicionar novos pacotes, alterar ou remover mensagens, da' o
nome Man)in)the)middle)
* protocolo 8er&eros possui algumas prote:es contra esse tipo de ata,ue)
Como 9 feita autenticao m>tua, pela confirmao no s do cliente mas
tam&9m a identificao do servidor, um invasor teria ,ue capturar e
descriptografar as mensagens de am&os os lados da comunicao)
Um programa cliente pode detectar se o servidor 9 confi=vel solicitando a
autenticao do servidor, ,ue deve demonstrar sua identidade solicitando
um tic(et ao 8DC $autenticandose no 8er&eros% e apresentando essas
credenciais ao programa cliente) Caso essas credencias no seGam
apresentadas, o programa cliente perce&e ,ue no 9 um servidor real e
desconecta a sesso)
Um invasor tam&9m pode explorar produtos desatuali<ados) * 8er&eros @4,
apesar de ser um avano e corrigir diversos pro&lemas de segurana da verso B,
tam&9m G= apresentou alguns pontos de fal.a para os ,uais so lanadas corre:es
sempre ,ue desco&ertas) "lgumas da vulnera&ilidades G= con.ecidas podem ser
encontradas no site do MCF
?3
)
"l9m disso, os programas dos diversos servios tam&9m devem estar preparados
para usar 8er&eros) * uso de algum servio OnoEer&eri<adoP pode levar ao
trWnsito de sen.as a&ertas na rede podendo comprometer o sistema 8er&eros)
Portanto, o uso de servios ,ue no faam uso do 8er&eros no 9 aconsel.=vel) Para
tais casos, 9 poss'vel o uso de outros protocolos com criptografia, tais como 775 ou
77L;FL7)
38* Ata;"e! genJric!
*s seguintes ata,ues no so ata,ues diretos contra um sistema 8er&eros, mas so
pro&lemas relacionados a manter seguro e dispon'vel um sistema de autenticao)
(ssas t9cnicas podem ser utili<adas contra ,ual,uer sistema de autenticao)
?3 .ttpN;;Er&dev)mit)edu;rt;Ko"ut.;Er&4?)B;&ugs?)B).tml
D?
Nega%& de !er<i% EDenial of Service DSF
(sse tipo de ata,ue consiste em inundar os servidores do 8DC com
solicita:es de autenticao a ponto de tornar as respostas lentas e impedir
as autentica:es por timeout ou mesmo derru&ar o servio de autenticao)
* uso de fire$all e servidores 8DC adicionais podem minimi<ar esse tipo
de ata,ue)
Ma(e07ci! intern!
Ko .= como se proteger de um administrador ,ue resolva fa<er mal uso
dos seus privil9gios) Um usu=rio interno mal intencionado, ,ue possua
autori<ao administrativa, poderia alterar danosamente as informa:es na
&ase de dados 8er&eros)
EngenDaria !cia( e e-6!i%& de !enDa!
De modo igual, no .= proteo contra usu=rios ,ue resolvam divulgar sua
sen.a a outros, seGa intencionalmente ou no, como num ata,ue de
engen.aria social) Da' a importWncia de treinamento em segurana da
informao para o usu=rio final, incluindose como manter a sen.a segura e
em sigilo, no a revelando mesmo para ,uem se identifi,ue como sendo da
=rea de tecnologia da empresa) *utra forma onde a sen.a pode ser
capturada 9 o uso da mesma sen.a do 8er&eros em outros sistemas
inseguros)
38/ S("%4e! de !eg"ran%a
Fendo o con.ecimento dos aspectos relacionados Ms poss'veis vulnera&ilidades e
limita:es do 8er&eros, 9 poss'vel relacionar solu:es para diversos desses
pro&lemas e, assim, executar uma implementao de um sistema de autenticao o
mais seguro poss'vel)
Por exemplo, no se deve instalar servidores e am&ientes gr=ficos nem permitir
o loon para usu=rios comuns nos servidores ,ue executaro o 8DC) *utro fator
importante na segurana do servidor 8DC 9 a sua visi&ilidade na rede) X
D2
fundamental ,ue servios de rede ,ue no seGam do prprio 8DC esteGam
desa&ilitados) Um servidor ssh pode estar .a&ilitado para administrao remota do
servidor)
X de suma importWncia estar informado so&re corre:es de segurana do sistema
operacional, do 8er&eros e das vers:es de aplica:es ,ue dele fa<em uso e aplic=las
to logo seGa poss'vel, mantendose o am&iente sempre atuali<ado)
(m suma, a proteo dos servidores 8er&eros, a manuteno do produto
atuali<ado com relao Ms corre:es de segurana, aliados a uma pol'tica de
segurana e sen.as so grandes aliados para uma infraestrutura 8er&eros segura,
&em implementada e funcional)
382 De!<antagen! d Ker)er!
"pesar do 8er&eros eliminar diversas &rec.as de segurana, sua implementao
pode ser um pouco complexa) Uma dessas ra<:es 9 a migrao da &ase de dados de
usu=rios existente) Ko .= ferramentas para migrar as sen.as dos ar,uivos
/etc/passwd ou /etc/shadow para a &ase de dados do 8er&eros, tornando
essa tarefa &astante tediosa)
*utra desvantagem 9 a necessidade $ou recomendao, visto ,ue no 9
o&rigatrio% de servidores dedicados ao servio do 8er&eros)
* tempo de vida do tic(et 9 um outro ponto ,ue pode ser considerado como
pro&lem=tico) Um tempo de vida muito longo pode dar mais tempo a um invasor
caso um tic(et seGa capturado ou uma estao comprometida) Um tempo muito
pe,ueno imp:e ao usu=rio a necessidade de redigitar a sen.a aps a expirao)
Fam&9m 9 necess=rio um suporte especial para processos ,ue executam por longos
per'odos)
Finalmente, o 8er&eros pode ser considerado como uma soluo do tipo Otudo
ounadaP) Para ter segurana com o 8er&eros 9 necess=rio utili<ar vers:es
OEer&eri<adasP de todas as aplica:es cliente;servidor ,ue utili<am autenticao ou
no se ter= &enef'cios com o 8er&eros) "s aplica:es precisam estar ade,uadas para
utili<ar o 8er&eros, ou seGa, pode ser necess=rio modificar seu cdigo para utili<ar as
DA
c.amadas Ms &i&liotecas do 8er&eros) Dependendo da aplicao, tais altera:es
podem ser &astante complexas)
383 9antagen! d Ker)er!
Para a,ueles ,ue no o con.ecem totalmente, os &enef'cios de implantao do
8er&eros em uma rede podem no ser muito claros) Por9m, o 8er&eros foi proGetado
para solucionar diversos pro&lemas, como captura de informa:es atrav9s de escuta
da rede, rou&o de sen.as e ar,uivos de autenticao, trWnsito de sen.as a&ertas na
rede e a dificultosa tarefa administrativa de manuteno de m>ltiplas &ases de dados
de autenticao)
Uma infraestrutura 8er&eros &em implementada ir=, certamente, auxiliar na
resoluo desses pro&lemas, tornando a rede da empresa mais segura) * uso do
8er&eros previne ,ue sen.as a&ertas seGam transmitidas pela rede e permite
centrali<ar as informa:es de usu=rios e suas sen.as simplificando a administrao)
* 8er&eros tam&9m previne o arma<enamento local de sen.as, redu<indo as
possi&ilidades de danos M rede caso uma m=,uina em particular seGa comprometida
de alguma forma)
"l9m dos &enef'cios de um sistema de autenticao mais seguro, o 8er&eros
oferece outras caracter'sticas vantaGosas, como a possi&ilidade de criptografar todo o
tr=fego ,ue vai pela rede, redu<indo as c.ances de captura de informa:es por
invasores)
* 8er&eros tam&9m permite o uso de uma >nica sen.a para acesso aos servios
OEer&eri<adosP, permitindo ,ue, uma ve< autenticado, o usu=rio possa fa<er diversas
conex:es a diversos servidores sem ter ,ue redigitar sua sen.a)
(m suma, para grandes empresas, os &enef'cios do 8er&eros se tradu<em em
reduo dos custos administrativos, simplificao dos processos de gerenciamento
de usu=rios e sen.as, aliados ao aumento da segurana da rede) (m am&ientes
menores, a implantao de uma infraestrutura de autenticao escal=vel e uma rede
com maior n'vel de segurana so vantagens claras)
DB
381 Pr6!ta! 6ara 0"t"r! tra)a(D!
Um implantao completa do protocolo 8er&eros numa rede Linux envolve outras
a:es e vo al9m do propsito deste documento) 7eguem algumas sugest:es ,ue
podem ser utili<adas para desenvolvimento de outros tra&al.osN
configurao de servidores 8DC escravos e replicao da &ase de dadosR
autenticao entre reinosR
servios de rede com 8er&eros $V(1, 7MFP, P*P etc)%R
Uso de P"M, K77 e LD"P com 8er&erosR
Cntegrao com outros sistemas operacionais $VindoLs, Mac, Unix%)
D4
DD
Re0erKncia! Bi)(igr#0ica!
S1#(KK(K $233B%T 1#(KK(K, @) ") Ker)er! In0ra!tr"ct"re ?OLTO8 233B)
Dispon'vel emN c.ttpN;;LLL)linux)com;.oLtos;8er&erosCnfrastructure
5*VF*;index)s.tmld) "cesso emN 2I fev) 2334)
SF(#!U7*KR 7C5K(C(# $233A%T F(#!U7*K, K)R 7C5K(C(#, 1) Practica(
CrM6tgra6DM8 (U"N Vile6, 233A) BA2 p)
SF(##(C#" $233A%T F(##(C#", #) () LINUX N +"ia d Admini!tradr d
Si!tema8 7o PauloN Kovatec, 233A) 4?2 p)
S!UL1#"KD7(KR @CUC(R (7C1*@ $2333%T !UL1#"KD7(K, ")R @CUC(, P)R
(7C1*@, L) A DNS RR 0r !6eci0Ming tDe (catin 0 !er<ice! EDNS
SR9F) Cnternet (ngineering FasE Force $C(FF%, Fevereiro 2333) $#e,uest for
CommentsN 2HI2%) Dispon'vel emN c.ttpN;;LLL)ietf)org;rfc;rfc2HI2)txtd)
"cesso emN 3A mar) 2334)
S5*#K7F(CK $2333%T 5*#K7F(CK, 8) Ker)er! 5AOP <'8G8 2333) Dispon'vel
emN c.ttpN;;LLL)fa,s)org;fa,s;Eer&erosfa,;generald) "cesso emN 32 mar)
2334)
S8*5LR K(UM"K $?JJA%T 8*5L, +)R K(UM"K, C) TDe Ker)er! Net@rA
A"tDenticatin Ser<ice E92F8 Cnternet (ngineering FasE Force $C(FF%,
7etem&ro ?JJA) $#e,uest for CommentsN ?4?3%) Dispon'vel emN
c.ttpN;;LLL)ietf)org;rfc;rfc?4?3)txtd) "cesso emN 3A mar) 2334)
SL(CP*LD $?JJJ%T L(CP*LD, Cosimo) Ker)er!8 Lin"- J"rna(8 +an?JJJ)
Dispon'vel emN c.ttpN;;LLL)linuxGournal)com;article;AA2Jd) "cesso emN 3?
mar) 2334)
SMCLL7 $?JJ2%T MCLL7, D) L) Net@rA Time Prtc( E9er!in *F N
S6eci0icatinP Im6(ementatin and Ana(M!i!8 Cnternet (ngineering FasE
Force $C(FF%, Maro ?JJ2) $#e,uest for CommentsN ?A34%) Dispon'vel emN
c.ttpN;;LLL)ietf)org;rfc;rfc?A34)txtd) "cesso emN 3A mar) 2334)
DH
SMCF $2332% $?%T Massac.usetts Cnstitute of Fec.nolog6 0 MCF) Ker)er! 92
In!ta((atin +"ide I Ker)er! 2 Re(ea!e $8/8 ?JI42332) Dispon'vel emN
c.ttpN;;Le&)mit)edu;Eer&eros;LLL;Er&4?)B;Er&4?)B;doc;Er&4install).tmld)
"cesso emN 2I fev) 2334)
SMCF $2332% $2%T Massac.usetts Cnstitute of Fec.nolog6 0 MCF) Ker)er! 92
SM!tem Admini!tratrQ! +"ide I Ker)er! 2 Re(ea!e $8/8 ?JI42332)
Dispon'vel emN c.ttpN;;Le&)mit)edu;Eer&eros;LLL;Er&4?)B;Er&4
?)B;doc;Er&4admin).tmld) "cesso emN 2I fev) 2334)
SMCF $2332% $A%T Massac.usetts Cnstitute of Fec.nolog6 0 MCF) Ker)er! 92
U!erQ! +"ide I Ker)er! 2 Re(ea!e $8/8 ?JI42332 Dispon'vel emN
c.ttpN;;Le&)mit)edu;Eer&eros;LLL;Er&4?)B;Er&4?)B;doc;Er&4user).tmld)
"cesso emN 2I fev) 2334)
SM*C8"P(F#C7 $?JIH% $?%T M*C8"P(F#C7, P) Dmain Name! N Cnce6t!
and 5aci(itie!8 Cnternet (ngineering FasE Force $C(FF%, Kovem&ro ?JIH)
$#e,uest for CommentsN ?3AB%) Dispon'vel emN
c.ttpN;;LLL)ietf)org;rfc;rfc?3AB)txtd) "cesso emN 3A mar) 2334)
SM*C8"P(F#C7 $?JIH% $2%T M*C8"P(F#C7, P) Dmain Name! N
Im6(ementatin and S6eci0icatin8 Cnternet (ngineering FasE Force $C(FF%,
Kovem&ro ?JIH) $#e,uest for CommentsN ?3A4%) Dispon'vel emN
c.ttpN;;LLL)ietf)org;rfc;rfc?3A4)txtd) "cesso emN 3A mar) 2334)
SKC7" $2332%T Universit6 of Cllinois Kational Center for 7upercomputing
"pplications $KC7"%) NCSA Ker)er! In0rmatin8 233B) Dispon'vel emN
c.ttpN;;LLL)ncsa)uiuc)edu;UserCnfo;#esources;7oftLare;Eer&eros;index).tml
d) "cesso emN 32 mar) 2334)
S#ed 5at $233A%T #ed 5at, Cnc) Red ?at Lin"- . I Red ?at Lin"- Re0erence
+"ide I CDa6ter $1> Ker)er!8 233A) Dispon'vel emN
c.ttpN;;LLL)red.at)com;docs;manuals;linux;#5LJManual;refguide;c.
Eer&eros).tmld) "cesso emN 3? mar) 2334)
S7F"K!(#R L"K( $2332%T 7F"K!(#, +)R L"K(, P) F) Rede Seg"ra Lin"-8 #io
de +aneiroN "lta 1ooEs, 2332) D3H p)
SFUK! $?JJD%T FUK!, 1) TDe MrnQ! +"ide t Ker)er!8 ?JJD) Dispon'vel
emN c.ttpN;;LLL)isi)edu;gost;&rian;securit6;Eer&eros).tmld) "cesso emN 3?
mar) 2334)
DI

S-ar putea să vă placă și