SSSD-KRB5(5) Formatos de Ficheiros e Conven SSSD-KRB5(5) NAME sssd-krb5 - Provedor Kerberos do SSSD DESCRICAO Este manual descreve a configuracao do backend de autenticacao Kerberos 5 para sssd(8). Para uma referencia detalhada da sintaxe, consulte a seccao "FORMATO DE FICHEIRO" do manual sssd.conf(5). O backend de autenticacao Kerberos 5 contem provedores auth e chpass. Tem de ser pareado com um provedor de identidade de modo a funcionar correctamente (por exemplo, id_provider = ldap). Alguma informacao requerida pelo backend de autenticacao Kerberos 5 tem de ser fornecida pelo provedor de identidade, tal como o Kerberos Principal Name (UPN) do utilizador. A configuracao do provedor de identidade deve ter uma entrada para especificar o UPN. Por favor consulte o manual do provedor de identidade aplicado para detalhes sobre como configurar isto. Este backend tambem fornece controle de acesso baseado no ficheiro .k5login no directorio home do utilizador. Veja k5login(5) para mais detalhes. Por favor note que um ficheiro .k5login vazio ira negar todo o acesso a este utilizador. Para activar esta funcionalidade, use 'access_provider = krb5' na sua configuracao do SSSD. Em casos onde o UPN nao esta disponivel no backend de identidade, o sssd ira construir um UPN usando o formato nome-utilizador@krb5_realm. OPCOES DE CONFIGURACAO Se o auth-module krb5 for usado num dominio SSSD, as seguintes opcoes tem de ser usadas. Veja o manual sssd.conf(5), seccao "SECCOES DE DOMINIO", para detalhes sobre a configuracao de um dominio SSSD. krb5_server, krb5_backup_server (string) Especifica a lista separada por virgulas de enderecos IP ou nomes de maquinas dos servidores Kerberos aos quais o SSSD deve ligar, pela ordem de preferencia. Para mais informacao sobre failover e redundancia de servidores, veja a seccao "FAILOVER". Um numero de porto adicional (com dois pontos a preceder) pode ser acrescentado aos enderecos ou nomes de maquinas. Se vazia, e activada a descoberta de servicos; para mais informacao, consulte a seccao "DESCOBERTA DE SERVICOS". Quando se usa descoberta de servicos para servidores KDC ou kpasswd, o SSSD primeiro procura por entradas DNS que especifiquem _udp como o protocolo e regressa a _tcp se nenhuma for encontrada. Esta opcao tinha o nome "krb5_kdcip" em lancamentos anteriores do SSSD. Apesar do nome antigo ser reconhecido por agora, aconselha-se os utilizadores a migrarem os seus ficheiros de configuracao para usar "krb5_server" em vez disto. krb5_realm (string) O nome do reino Kerberos. Esta opcao e requerida e tem de ser especificada. krb5_kpasswd, krb5_backup_kpasswd (string) Se o servico de mudanca de palavra passe nao estiver a correr no KDC, podem ser definidos aqui servidores alternativos. Pode ser acrescentado um numero de porto opcional (precedido pelo caractere dois pontos) aos enderecos ou nomes de maquinas. Para mais informacao sobre failover e redundancia de servidores, veja a seccao "FAILOVER". NOTA: Mesmo que nao existam mais servidores kpasswd para tentar, o backend nao e comutado para operar offline se a autenticacao contra o KDC ainda for possivel. Predefinicao: Usar o KDC krb5_ccachedir (string) Directorio para guardar as caches de credenciais. Todas as sequencias de substituicao de krb5_ccname_template podem ser usadas aqui tambem, excepto %d e %P. O directorio e criado como privado e com o utilizador como dono, com as permissoes definidas para 0700. Predefinicao: /tmp krb5_ccname_template (string) Localizacao da cache de credenciais do utilizador. Actualmente sao suportados tres tipos de cache de credenciais: "FILE", "DIR" e "KEYRING:persistent". A cache pode ser especificada como TYPE:RESIDUAL, ou como um caminho absoluto, o que implica o tipo "FILE". No modelo, as seguintes sequencias sao substituidas: %u nome de login %U UID de login %p nome principal %r nome de reino %h directorio home %d valor de krb5_ccachedir %P o ID de processo do cliente SSSD %% um literal '%' Se o modelo terminar com 'XXXXXX' e usado o mkstemp(3) para criar um nome de ficheiro unico numa maneira segura. Quando se usam tipos KEYRING, o unico mecanismo suportado e "KEYRING:persistent:%U", o qual usa o chaveiro do kernel Linux para guardar as credenciais numa base por UID. Esta e tambem a escolha recomendada, pois e o metodo mas seguro e previsivel. O valor predefinido para o nome da cache de credenciais e obtido a partir do perfil guardado no ficheiro de configuracao krb5.conf de todo o sistema na seccao [libdefaults]. O nome da opcao e default_ccache_name. Veja o paragrafo EXPANSAO DE PARAMETROS em krb5.conf(5)'s para informacao adicional sobre o formato de expansao definido pelo krb5.conf. NOTA: Por favor tenha atencao que o modelo de expansao de cache libkrb5 de krb5.conf(5) usa sequencias de expansao diferentes do SSSD. Predefinicao: (de libkrb5) krb5_keytab (string) A localizacao da keytab a usar quando se valida credenciais obtidas a partir de KDCs. Predefinicao: Sistema keytab, normalmente /etc/krb5.keytab krb5_store_password_if_offline (booleano) Guarda a palavra passe do utilizador se o provedor estiver offline e usa-a para pedir um TGT quando o provedor ficar online de novo. NOTA: esta funcionalidade so esta disponivel em Linux. As palavras passe guardadas deste modo sao mantidas em texto simples no chaveiro do kernel e sao potencialmente acessiveis pelo utilizador root (com dificuldade). Predefinicao: false krb5_use_fast (string) Activa autenticacao segura flexivel em tunel (FAST) para a pre-autenticacao do Kerberos. As seguintes opcoes sao suportadas: never (nunca) usa FAST. Isto e equivalente a nao definir de todo esta opcao. try (tenta) usar FAST. Se o servidor nao suportar FAST, continua com a autenticacao sem isso. demand (obriga) a usar FAST. A autenticacao falha se o servidor nao requerer fast. Predefinicao: nao definida, isto e, FAST nao e usado. NOTA: e requerido uma keytab ou suporte a PKINIT anonimo para se usar FAST. NOTA: SSSD suporta FAST apenas com MIT Kerberos versao 1.8 e posterior. Se o SSSD for usado com uma versao antiga do MIT Kerberos, usar esta opcao e um erro de configuracao. krb5_fast_principal (string) Especifica o principal servidor a usar para FAST. krb5_fast_use_anonymous_pkinit (booleano) Se definido para true tenta usar PKINIT anonimo em vez de uma keytab para obter a credencial requerida para FAST. A opcao krb5_fast_principal e ignorada neste caso. Predefinicao: false krb5_use_kdcinfo (booleano) Especifica se o SSSD deve instruir as bibliotecas Kerberos qual reino e quais KDCs usar. Esta opcao esta ligada por predefinicao, se voce a desactivar, voce precisa de configurar a biblioteca Kerberos usando o ficheiro de configuracao krb5.conf(5). Veja o manual sssd_krb5_locator_plugin(8) para mais informacao no plugin locador. Predefinicao: true krb5_kdcinfo_lookahead (string) Quando krb5_use_kdcinfo e definida para true, voce pode limitar a quantidade de servidores lidados para sssd_krb5_locator_plugin(8). Isto pode ser util quando existem demasiados servidores descobertos usando o registo SRV. A opcao krb5_kdcinfo_lookahead contem dois numeros separados pelo caractere dois pontos. O primeiro numero representa o numero de servidores primarios usados e o segundo numero especifica o numero de servidores de backup. Por exemplo, 10:0 significa que ate 10 servidores primarios serao lidados para sssd_krb5_locator_plugin(8) mas nenhum servidor de recurso. Predefinicao: 3:1 krb5_use_enterprise_principal (booleano) Especifica se o principal de utilizador deve ser tratado como principal de empresa. Veja a seccao 5 de RFC 6806 para mais detalhes sobre principais de empresa. Predefinicao: false (fornecedor AD: true) O provedor IPA ira definir a opcao para 'true' se detectar que o servidor e capaz de lidar principais de empresa e a opcao nao esta definida explicitamente no ficheiro de configuracao. krb5_use_subdomain_realm (booleano) Especifica para se usar reinos de sub-dominios para a autenticacao de utilizadores de dominios de confianca. Esta opcao pode ser definida para 'true' se principais de empresa foram usadas com upnSuffixes que sao desconhecidos nos KDCs do dominio pai. Se a opcao for definida para 'true' o SSSD ira tentar enviar o pedido directamente para um KDC do dominio de confianca de onde o utilizador venha. Predefinicao: false krb5_map_user (string) A lista de mapeamentos e dada como uma lista separada por virgulas de pares "username:primary" onde "username" e um nome de utilizador UNIX e "primary" e uma parte utilizador de um principal kerberos. Este mapeamento e usado quando o utilizador e autenticado usando "auth_provider = krb5". exemplo: krb5_realm = REALM krb5_map_user = joe:juser,dick:richard "joe" e "dick" sao nomes de utilizador UNIX e "juser" e "richard" sao primarios de principais do kerberos. Para utilizador "joe" resp. "dick" o SSSD ira tentar fazer kinit como "juser@REALM" resp. "richard@REALM". Predefinicao: nao definida krb5_auth_timeout (inteiro) Tempo limite em segundos apos um pedido de autenticacao online ou pedido de mudanca de palavra passe abortado. Se possivel, o pedido de autenticacao e continuado em offline. Predefinicao: 6 krb5_validate (booleano) Verifica com a ajuda de krb5_keytab que o TGT obtido nao foi falsificado. A keytab e verificada por entradas sequencialmente, e a primeira entrada com um reino correspondente e usada para validacao. Se nenhuma entrada corresponder ao reino, e usada a ultima entrada na keytab, Este processo pode ser usado para validar ambientes que usam confianca de reino-cruzada ao colocar a entrada keytab apropriada como a ultima entrada ou a unica entrada no ficheiro keytab. Predefinicao: false (Provedor IPA e AD: true) Por favor note que a validacao do bilhete e o primeiro passo quando se verifica o PAC (veja 'pac_check' no manual sssd.conf(5) para detalhes). Se a validacao de bilhete estiver desativada as verificacoes de PAC serao tambem saltadas. krb5_renewable_lifetime (string) Requisita um bilhete renovavel com um tempo de vida total, dado como um inteiro imediatamente seguido de uma unidade de tempo: s para segundos m para minutos h para horas d para dias. Se nao existir nenhuma unidade dada, e assumido s. NOTA: Nao e possivel misturar unidades. Para definir um tempo de vida renovavel de uma hora e meia, use '90m' em vez de '1h30m'. Predefinicao: nao definido, ou seja, o TGT nao e renovavel krb5_lifetime (string) Requisita um bilhete com um tempo de vida, dado como um inteiro imediatamente seguido de uma unidade de tempo: s para segundos m para minutos h para horas d para dias. Se nao existir nenhuma unidade dada e assumido s. NOTA: Nao e possivel misturar unidades. Para definir um tempo de vida de uma hora e meia por favor use '90m' em vez de '1h30m'. Predefinicao: nao definida, isto e, o tempo de vida de bilhete predefinido configurado no KDC. krb5_renew_interval (string) O tempo em segundos entre duas verificacoes se o TGT deve ser renovado. Os TGTs sao renovados se cerca de metade do seu tempo de vida for excedido, dado como um inteiro imediatamente seguido por uma unidade de tempo: s para segundos m para minutos h para horas d para dias. Se nao existir nenhuma unidade dada, e assumido s. NOTA: Nao e possivel misturar unidades. Para definir um tempo de vida renovavel de uma hora e meia, use '90m' em vez de '1h30m'. Se esta opcao nao for definida ou for 0 a renovacao automatica e desactivada. Predefinicao: nao definida krb5_canonicalize (booleano) Especifica se a maquina e o principal utilizador devem ser canonizados. Esta funcionalidade esta disponivel com o MIT Kerberos 1.7 e versoes posteriores. Predefinicao: false FAILOVER A funcionalidade failover permite aos backends mudarem automaticamente para o servidor diferente se o servidor actual falhar. Sintaxe do Failover A lista de servidores e dada como uma lista separada por virgulas; e permitido qualquer numero de espacos em volta das virgulas. Os servidores sao listados pela ordem de preferencia. A lista pode conter qualquer numero de servidores. Para cada opcao de configuracao activa-failover, existem duas variantes: primary e backup. A ideia e que os servidores na lista primaria sao preferidos e os servidores backup sao apenas procurados se os servidores primarios nao puderem ser alcancados. Se um servidor backup for selecionado, e definido um tempo limite de 31 segundos. Apos este tempo limite o SSSD ira periodicamente tentar re-ligar a um dos servidores primarios. Se tiver sucesso, ira substituir o servidor actualmente activo (backup). O Mecanismo Failover O mecanismo failover distingue entre uma maquina e um servico. O backend primeiro tenta resolver o nome de maquina de uma dada maquina; se esta tentativa de resolucao falhar, a maquina e considerada offline. Nao sao feitas mais tentativas de ligar a esta maquina para qualquer outro servico. Se a tentativa de resolucao tiver sucesso, o backend tenta ligar a um servico nesta maquina. Se a tentativa de ligacao a servico falhar, entao este servico particular e considerado offline e o backend automaticamente muda para o proximo servico. A maquina continua a ser considerada online e pode ainda ser tentada para outro servico. Sao feitas mais tentativas de ligacao a maquinas ou servicos marcados como offline apos um periodo de tempo especificado; isto e actualmente duramente codificado a 30 segundos. Se nao existirem mais maquinas para tentar, o backend muda todos para modo offline, e depois tenta re-ligar a cada 30 segundos. Tempo limite e afinacao do Failover Resolver um servidor a onde ligar pode ser tao simples como correr uma unica consulta DNS ou pode invocar varios passos, tais como encontrar o sitio correto ou tentar multiplos nomes de maquinas no caso de alguns dos servidores configurados nao estarem alcancaveis. Os cenarios mais complexos podem durar algum tempo e o SSSD precisa de equilibrar entre disponibilizar tempo suficiente para terminar o processo de resolucao mas por outro lado, nao demorar muito tempo antes de regressar ao modo offline. Se os registos de depuracao do SSSD mostrarem que a resolucao do servidor atingiu o tempo limite antes de ser contactado um servidor vivo, voce pode considerar mudar os tempos limite. Esta seccao lista as afinacoes disponiveis. Por favor consulte as suas descricoes no manual sssd.conf(5). dns_resolver_server_timeout Tempo em milissegundos que define quanto tempo deve o SSSD falar com um unico servidor DNS antes de tentar o proximo. Predefinicao: 1000 dns_resolver_op_timeout Tempo em segundos que diz quanto tempo deve o SSSD tentar resolver uma unica consulta DNS (ex. resolucao de um nome de maquina ou dum registo SRV) antes de tentar o proximo nome de maquina ou dominio de descoberta. Predefinicao: 3 dns_resolver_timeout Quanto tempo deve o SSSD tentar resolver um servico failover. Esta resolucao de servico internamente pode incluir varios passos, tal como resolver consultas SRV de DNS ou localizar o sitio. Predefinicao: 6 Para provedores baseados em LDAP, a operacao de resolucao e executada como parte de uma operacao de ligacao LDAP. Assim, tambem o tempo limite "ldap_opt_timeout" deve ser definido para um valor maior que "dns_resolver_timeout" que por sua vez deve ser definido para um valor maior que "dns_resolver_op_timeout" o qual deve ser maior que "dns_resolver_server_timeout". DESCOBERTA DE SERVICOS A funcionalidade de descoberta de servicos permite aos backends encontrarem automaticamente os servidores apropriados para ligarem para usarem uma consulta DNS especial. Esta funcionalidade nao e suportada para servidores de salvaguarda (backup). Configuracao Se nenhum servidor for especificado, o backend automaticamente usa a descoberta de servicos para tentar encontrar um servidor. Opcionalmente, o utilizador pode escolher usar ambos enderecos de servidor fixos e a descoberta de servicos ao inserir uma palavra chave especial "_srv_", na lista de servidores. A ordem de preferencia e mantida. Esta funcionalidade e util se, por exemplo, o utilizador prefere usar descoberta de servicos sempre que possivel, e regressar a um servidor especifico quando nao se descobrem servidores usando DNS. O nome de dominio Por favor consulte o parametro "dns_discovery_domain" no manual sssd.conf(5) para mais detalhes. O protocolo As consultas geralmente especificam _tcp como o protocolo. As excepcoes estao documentadas na descricao da opcao respectiva. Veja tambem Para mais informacao sobre o mecanismo de descoberta de servicos, consulte RFC 2782. EXEMPLO O exemplo seguinte assume que o SSSD esta presentemente configurado e FOO e um dos dominios na seccao [sssd]. Este exemplo mostra apenas configuracao da autenticacao Kerberos; nao inclui nenhum provedor de identidade. [domain/FOO] auth_provider = krb5 krb5_server = 192.168.1.1 krb5_realm = EXAMPLE.COM VEJA TAMBEM sssd(8), sssd.conf(5), sssd-ldap(5), sssd-ldap-attributes(5), sssd- krb5(5), sssd-simple(5), sssd-ipa(5), sssd-ad(5), sssd-idp(5), sssd- sudo(5), sssd-session-recording(5), sss_cache(8), sss_debuglevel(8), sss_obfuscate(8), sss_seed(8), sssd_krb5_locator_plugin(8), sss_ssh_authorizedkeys(1), sss_ssh_knownhosts(1), sssd-ifp(5), pam_sss(8). sss_rpcidmapd(5) AUTHORS O autor do SSSD - https://github.com/SSSD/sssd/ SSSD 06/09/2026 SSSD-KRB5(5)