SSSD-IPA(5)

NAME
sssd-ipa - Provedor IPA do SSSD

DESCRIÇÃO

Este manual descreve a configuração do provedor IPA sssd(8). Para uma referência detalhada da sintaxe, consulte a secção “FORMATO DE FICHEIRO” do manual sssd.conf(5).

O provedor IPA é um backend usado para ligar a um servidor IPA. (Consulte o sitio web freeipa.org para informação sobre servidores IPA.) Este provedor requer que a máquina se junte ao domínio IPA; a configuração é quase inteiramente auto-descoberta e obtida directamente a partir do servidor.

O provedor IPA permite ao SSSD usar o provedor de identidade sssd-ldap(5) e o provedor de autenticação sssd-krb5(5) com optimizações para ambientes IPA. O provedor IPA aceita as mesmas opções usadas pelos provedores sssd-ldap e sssd-krb5 com algumas excepções. No entanto, não é necessário nem recomendado definir estas opções.

O provedor IPA primariamente copia as opções predefinidas dos provedores ldap e krb5 tradicionais com algumas excepções, as diferenças são listadas na secção “OPÇÕES PREDEFINIDAS MODIFICADAS”.

Como um provedor de acesso, o provedor IPA tem uma configuração mínima (veja “ipa_access_order”) pois principalmente usa regras HBAC (controle de acesso baseado em máquina). Por favor consulte freeipa.org para mais informação acerca de HBAC.

Se “auth_provider=ipa” ou “access_provider=ipa” estiverem configurados no sssd.conf então o id_provider tem também de ser definido para “ipa”.

O provedor IPA irá usar o respondedor PAC se os bilhetes Kerberos de utilizadores de reinos de confiança conterem um PAC. Para facilitar a configuração o respondedor PAC é arrancado automaticamente se o provedor ID do IPA estiver configurado.

OPÇÕES DE CONFIGURAÇÃO

Consulte a secção “SECÇÕES DE DOMÍNIO” do manual sssd.conf(5) para detalhes da configuração de um domínio SSSD.

ipa_domain (string)
    Especifica o nome do domínio IPA. Isto é opcional. Se não for fornecido, é usado o nome de domínio da configuração.

ipa_server, ipa_backup_server (string)
    A lista separada por vírgulas de endereços IP e nomes de máquinas dos servidores IPA aos quais o SSSD deve ligar por ordem de preferência. Para mais informação sobre failover e redundância de servidores. veja a secção “FAILOVER”. Isto é opcional se a auto-descoberta estiver activa. Para mais informação sobre descoberta de serviços, consulte a secção “DESCOBERTA DE SERVIÇOS”.

ipa_hostname (string)
    Opcional. Pode ser definido em máquinas onde os nomes-de-máquinas(5) não refletem o nome totalmente qualificado usado no domínio IPA para identificar esta máquina. O nome de máquina tem de ser totalmente qualificado.

dyndns_update (booleano)
    Opcional. Esta opção diz ao SSSD para actualizar automaticamente o servidor DNS embutido FreeIPA com o endereço IP deste cliente. A actualização é segura usando GSS-TSIG. O endereço IP da ligação LDAP IPA é usado para as actualizações, se não for caso contrário especificado ao se usar a opção “dyndns_iface”.

    NOTA: Em sistemas antigos (como o RHEL 5), para este comportamento poder ter fiabilidade de funcionamento, o reino Kerberos predefinido tem de ser definido apropriadamente em /etc/krb5.conf

    Predefinição: false

dyndns_ttl (inteiro)
    O TTL a aplicar ao registo de cliente DNS quando o actualiza. Se dyndns_update for false isto não tem efeito. Isto irá sobrepor o TTL do lado servidor se definido por um administrador.

    Predefinição: 1200 (segundos)

dyndns_iface (string)
    Optional. Applicable only when dyndns_update is true. Choose the interface or a list of interfaces whose IP addresses should be used for dynamic DNS updates. The name of interface can be a wildcard pattern prefixed with ! for interface excluding. First match stops the evaluation. For example list !eth1, * instruct SSSD to use all interfaces except eth1. See man 7 glob for details about patterns.

    Predefinição: Usa o endereço IP da interface que é usada para ligação IPA LDAP

    Example: dyndns_iface = em[12], !vnet1, vnet*

dyndns_address (string)
    Optional. Applicable only when dyndns_update is true. A list of IP addresses or IP networks to be used for dynamic DNS updates. Network addresses must be in CIDR format. An entry can be prefixed with ! to indicate exclusion. The best match is used to determine whether an address is included or excluded (i.e., a longer prefix takes precedence).

    Default: No filtering of IP addresses.

    Example: dyndns_address = 10.0.0.0/16, !10.0.1.0/24

dyndns_auth (string)
    Se o utilitário nsupdate deve usar autenticação GSS-TSIG para actualizações de segurança com o servidor DNS, actualizações não seguras podem ser enviadas ao definir esta opção para 'none'.

    Predefinição: GSS-TSIG

dyndns_auth_ptr (string)
    Se o utilitário nsupdate deve usar autenticação GSS-TSIG para actualizações PTR de segurança com o servidor DNS, actualizações não seguras podem ser enviadas ao definir esta opção para 'none'.

    Predefinição: O mesmo que dyndns_auth

dyndns_refresh_interval (inteiro)
    Quão frequente deve o backend executar a actualização DNS periódica em adição à actualização automática executada quando o backend fica online. Esta opção é opcional e aplicável apenas quando dyndns_update é true.

    Predefinição: 0 (desactivado)

dyndns_update_ptr (booleano)
    Se o registo PTR também deve ser explicitamente actualizado quando se actualiza os registos de DNS dos clientes. Aplicável apenas quando dyndns_update é true.

    Esta opção deve ser False na maioria de desenvolvimentos IPA pois o servidor IPA gera os registos PTR automaticamente quando os registos da frente são modificados.

    Note que o parâmetro dyndns_update_per_family não se aplica para atualizações de registo PTR Essas atualizações são sempre enviadas em separado.

    Predefinição: False (desactivado)

dyndns_force_tcp (booleano)
    Se o utilitário nsupdate deve por predefinição usar TCP para comunicar com o servidor DNS.

    Predefinição: False (deixa o nsupdate escolher o protocolo)

dyndns_server (string)
    O servidor DNS a usar quando executa uma actualização de DNS. Na maioria das configurações, é recomendado deixar esta opção por definir.

    Definir esta opção faz sentido em ambientes onde o servidor DNS é diferente do servidor de identidade ou quando usamos DNS encriptado.

    O parâmetro ode ser uma string simples que contém um nome DNS ou um endereço IP. Também pode ser um URI. O URI pode parecer-se com dns://servername/ ou dns+tls://1.2.3.4:853#servername/.

    O segundo exemplo ativa protocolo DNS-sobrer-TLS para atualizações de DNS. O utilitário nsupdate tem de suportar DoT - verifique o manual do nsupdate antes de o ativar no SSSD.

    Por favor note que esta opção só será usada em tentativas de recurso quando a tentativa anterior que usa definições se auto-detecção falhe ou quando DNS-sobre-TLS estiver ativo.

    Predefinição: None (deixa o nsupdate escolher o servidor)

dyndns_update_per_family (booleano)
    A actualização DNS é por predefinição feita em dois passos - actualização IPv4 e depois actualização IPv6. Nalguns casos pode ser desejável executar a actualização IPv4 e IPv6 num único passo.

    Predefinição: true

dyndns_dot_cacert (string)
    Esta opção especifica o ficheiro do certificado da autoridade de certificados (em formato PEM) de modo a verificar o certificado TLS do servidor remoto quando se usa DoT.

    Predefinição: Nenhum (usa o armazém de certificados global)

dyndns_dot_cert (string)
    Esta opção define o ficheiro de certificado(s) para autenticação para o transporte DoT para o servidor remoto. É esperado que o ficheiro de cadeia de certificados esteja em formato PEM.

    As opções dyndns_dot_cert e dyndns_dot_key têm de ser ambas definidas para se conseguir autenticação TLS mútua.

    Predefinição: Nenhuma (Não usa autenticação TLS)

dyndns_dot_key (string)
    Esta opção define o ficheiro chave para encriptação autenticada para o transporte DoT ao servidor remoto. É esperado que o ficheiro da chave privada esteja em formato PEM.

    Predefinição: Nenhuma (Não usa autenticação TLS)

ipa_access_order (string)
    Lista separada por vírgulas de opções de controlo de acesso. Os valores permitidos são:

    expire: usa política de expiração de conta do IPA.

    pwd_expire_policy_reject, pwd_expire_policy_warn, pwd_expire_policy_renew: Estas opções são úteis se os utilizadores estiverem interessados em serem avisados que a palavra passe está prestes a expirar e a autenticação é baseada em se usar um método diferente que palavras passe - por exemplo chaves SSH.

    A diferença entre estas opções é a acção tomada se a palavra passe do utilizador estiver expirada:

        • pwd_expire_policy_reject - é negado o login ao utilizador,

        • pwd_expire_policy_warn - o utilizador ainda é capaz de fazer login,

        • pwd_expire_policy_renew - o utilizador é incitado a mudar a sua palavra passe imediatamente.

    Por favor note que 'access_provider = ipa' tem de estar definido para esta funcionalidade funcionar.

ipa_deskprofile_search_base (string)
    Opcional. Usa a string dada como base de busca para objectos relacionados com Desktop Profile.

    Predefinição: Usa base DN

ipa_subid_ranges_search_base (string)
    Deprecated. Use ldap_subid_ranges_search_base instead.

ipa_hbac_search_base (string)
    Opcional. Usa a string dada como base de busca para objectos relacionados com HBAC.

    Predefinição: Usa base DN

ipa_host_search_base (string)
    Descontinuado. Use ldap_host_search_base em vez disto.

ipa_selinux_search_base (string)
    Opcional. Usa a string fornecida como base de busca para mapas de utilizador SELinux.

    Veja “ldap_search_base” para informação acerca de configurar múltiplas bases de busca.

    Predefinição: o valor de ldap_search_base

ipa_subdomains_search_base (string)
    Opcional. Usa a string fornecida como base de busca para domínios de confiança.

    Veja “ldap_search_base” para informação acerca de configurar múltiplas bases de busca.

    Predefinição: o valor de cn=trusts,%basedn

ipa_master_domain_search_base (string)
    Opcional. Usa a string fornecida como base de busca para objecto de domínio mestre.

    Veja “ldap_search_base” para informação acerca de configurar múltiplas bases de busca.

    Predefinição: o valor de cn=ad,cn=etc,%basedn

ipa_views_search_base (string)
    Opcional. Usa a string fornecida como base de busca para recipientes de visualizações.

    Veja “ldap_search_base” para informação acerca de configurar múltiplas bases de busca.

    Predefinição: o valor de cn=views,cn=accounts,%basedn

krb5_realm (string)
    O nome do reino Kerberos. Isto é opcional e predefinido para o valor de “ipa_domain”.

    O nome do reino Kerberos tem um significado especial em IPA - é convertido num DN base a usar para executar operações de LDAP.

krb5_confd_path (string)
    Caminho absoluto de um directório onde o SSSD deve colocar trechos de configuração do Kerberos.

    Para desactivar a criação de trechos de configuração defina o parâmetro para 'none'.

    Predefinição: não definida (sub-directório krb5.include.d do directório pubconf do SSSD)

ipa_deskprofile_refresh (inteiro)
    A quantidade de tempo entre procuras das regras Desktop Profile contra o servidor IPA. Isto irá reduzir a latência e carga no servidor IPA se existirem muitos pedidos de perfil de desktop feitos num curto período.

    Predefinição: 5 (segundos)

ipa_deskprofile_request_interval (inteiro)
    A quantidade de tempo entre procuras das regras Desktop Profile contra o servidor IPA no caso do último pedido não ter retornado nenhuma regra.

    Predefinição: 60 (minutos)

ipa_hbac_refresh (inteiro)
    A quantidade de tempo entre procuras das regras HBAC contra o servidor IPA. Isto irá reduzir a latência e carga no servidor IPA se existirem muitos pedidos de controle de acesso feitos num curto período.

    Predefinição: 5 (segundos)

ipa_hbac_selinux (inteiro)
    A quantidade de tempo entre procuras de mapas SELinux contra o servidor IPA. Isto irá reduzir a latência e carga no servidor IPA se existirem muitos pedidos de login de utilizador feitos num curto período.

    Predefinição: 5 (segundos)

ipa_server_mode (booleano)
    Esta opção será definida automaticamente pelo instalador do IPA (ipa-server-install) e denota se o SSSD está a correr num servidor IPA ou não.

    Num servidor IPA o SSSD irá procurar utilizadores e grupos de domínios de confiança directamente enquanto que num cliente irá perguntar ao servidor IPA.

    NOTA: Existem actualmente algumas suposições que têm de ser respeitadas quando o SSSD corre num servidor IPA.

        • A opção “ipa_server” tem de ser configurada para apontar para o próprio servidor IPA. Esta é sempre a predefinição definida pelo instalador do IPA, portanto não é requerida nenhuma alteração manual.

        • A opção “full_name_format” não pode ser ajustada a apenas escrever nomes curtos para utilizadores de domínios de confiança.

    Predefinição: false

ipa_automount_location (string)
    A localização de automounter que este cliente IPA irá usar

    Predefinição: A localização chamada "default"

    Por favor note que o automounter apenas lê o mapa mestre no arranque, assim se quaisquer alterações relacionadas com autofs forem feitas no sssd.conf, tipicamente você também precisa de reiniciar o daemon automounter após reiniciar o SSSD.

  VISUALIZAÇÕES E SOBREPOSIÇÕES

O SSSD consegue lidar com vistas e sobreposições que são oferecidas pelo FreeIPA 4.1 e versões posteriores. Como todos os caminhos e objectclasses são fixados no lado do servidor, não há basicamente nenhuma necessidade de configurar nada. Para complemento as opções relacionadas estão listadas aqui com os seus valores predefinidos.

ipa_view_class (string)
    Objectclass do recipiente de vista.

    Predefinição: nsContainer

ipa_view_name (string)
    Nome do atributo que contém o nome da vista.

    Predefinição: NC

ipa_override_object_class (string)
    Objectclass dos objectos de sobreposição.

    Predefinição: ipaOverrideAnchor

ipa_anchor_uuid (string)
    Nome do atributo que contém a referência ao objecto original num domínio remoto.

    Predefinição: ipaAnchorUUID

ipa_user_override_object_class (string)
    Nome do objectclass para sobreposições do utilizador. É usado para determinar se o objecto de sobreposição encontrado está relacionado com um utilizador ou um grupo.

    As sobreposições de utilizador podem conter atributos dados por

        • ldap_user_name

        • ldap_user_uid_number

        • ldap_user_gid_number

        • ldap_user_gecos

        • ldap_user_home_directory

        • ldap_user_shell

        • ldap_user_ssh_public_key

    Predefinição: ipaUserOverride

ipa_group_override_object_class (string)
    Nome do objectclass para sobreposições do grupo. É usado para determinar se o objecto de sobreposição encontrado está relacionado com um utilizador ou um grupo.

    As sobreposições de grupo podem conter atributos dados por

        • ldap_group_name

        • ldap_group_gid_number

    Predefinição: ipaGroupOverride

OPÇÕES PREDEFINIDAS MODIFICADAS

Certas predefinições de opções não correspondem às suas predefinições de backend respectivos, estes nomes de opção e predefinições específicas de provedor IPA estão listadas em baixo:

  Provedor KRB5

    • krb5_validate = true

    • krb5_use_fast = try

    • krb5_canonicalize = true

  Fornecedor LDAP - Geral

    • ldap_schema = ipa_v1

    • ldap_force_upper_case_realm = true

    • ldap_sasl_mech = GSSAPI

    • ldap_sasl_minssf = 56

    • ldap_account_expire_policy = ipa

    • ldap_use_tokengroups = true

  Provedor LDAP - Opções de utilizador

    • ldap_user_member_of = memberOf

    • ldap_user_uuid = ipaUniqueID

    • ldap_user_ssh_public_key = ipaSshPubKey

    • ldap_user_auth_type = ipaUserAuthType

  Provedor LDAP - Opções de grupo

    • ldap_group_object_class = ipaUserGroup

    • ldap_group_object_class_alt = posixGroup

    • ldap_group_member = member

    • ldap_group_uuid = ipaUniqueID

    • ldap_group_objectsid = ipaNTSecurityIdentifier

    • ldap_group_external_member = ipaExternalMember

FORNECEDOR DE SUBDOMÍNIOS

O provedor de sub-domínios do IPA comporta-se de modo levemente diferente se for configurado explicitamente ou implicitamente.

Se a opção 'subdomains_provider = ipa' existir na secção domain do sssd.conf, o provedor de sub-domínios do IPA está configurado explicitamente, e todos os pedidos de sub-domínio são enviados para o servidor IPA se tal for necessário.

Se a opção 'subdomains_provider' não estiver definida na secção domain do sssd.conf mas existir a opção 'id_provider = ipa', o provedor de sub-domínios do IPA está configurado implicitamente. Neste caso, se um pedido de sub-domínio falhar e indicar que o servidor não suporta sub-domínios, isto é, não está configurado para confianças, o provedor de sub-domínios do IPA é desactivado. Após uma hora ou após o provedor IPA ir online, o provedor de sub-domínios é activado de novo.

CONFIGURAÇÃO DE DOMÍNIOS DE CONFIANÇA

Algumas opções de configuração também podem ser definidas para um domínio de confiança. Uma configuração de domínio de confiança pode ser definida usando a secção trusted domain como mostrado no exemplo em baixo. Em alternativa, a opção “subdomain_inherit” pode ser usada no domínio pai.

    [domain/ipa.domain.com/ad.domain.com]
    ad_server = dc.ad.domain.com

Para mais detalhes, veja o manual sssd.conf(5).

Opções de configuração diferentes são afinadas para um domínio de confiança dependendo de se você está a configurar o SSSD num servidor IPA ou num cliente IPA.

  OPÇÕES AFINÁVEIS EM MESTRES IPA

As seguinte opções podem ser definidas na secção subdomain dum mestre IPA:

    • ad_server

    • ad_backup_server

    • ad_site

    • ipa_server

    • ipa_backup_server

    • ldap_search_base

    • ldap_user_search_base

    • ldap_group_search_base

    • use_fully_qualified_names

Opções prefixadas com 'ad_' ou 'ipa_' apenas se aplicam nos seus tipos de sub-domínio respectivos.

  OPÇÕES AFINÁVEIS EM CLIENTES IPA

As seguinte opções podem ser definidas numa secção subdomain AD dum cliente IPA:

    • ad_server

    • ad_site

Note que se ambas opções estiverem definidas, apenas “ad_server” é avaliada.

Como qualquer pedido por identidade de utilizador ou grupo a partir de um domínio de confiança provocado por um cliente IPA é resolvido pelo servidor IPA, as opções “ad_server” e “ad_site” apenas afectam contra qual AD DC será a autenticação executada. Em particular, os endereços resolvidos a partir destas listas serão escritos em ficheiros “kdcinfo” lidos pelo plugin locador do Kerberos. Por favor consulte o manual sssd_krb5_locator_plugin(8) para mais detalhes sobre o plugin locador do Kerberos.

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 é dada como uma lista separada por vírgulas; é permitido qualquer número de espaços em volta das vírgulas. Os servidores são listados pela ordem de preferência. A lista pode conter qualquer número de servidores.

Para cada opção de configuração activa-failover, existem duas variantes: primary e backup. A ideia é que os servidores na lista primária são preferidos e os servidores backup são apenas procurados se os servidores primários não puderem ser alcançados. Se um servidor backup for selecionado, é definido um tempo limite de 31 segundos. Após este tempo limite o SSSD irá periodicamente tentar re-ligar a um dos servidores primários. Se tiver sucesso, irá substituir o servidor actualmente activo (backup).

  O Mecanismo Failover

O mecanismo failover distingue entre uma máquina e um serviço. O backend primeiro tenta resolver o nome de máquina de uma dada máquina; se esta tentativa de resolução falhar, a máquina é considerada offline. Não são feitas mais tentativas de ligar a esta máquina para qualquer outro serviço. Se a tentativa de resolução tiver sucesso, o backend tenta ligar a um serviço nesta máquina. Se a tentativa de ligação a serviço falhar, então este serviço particular é considerado offline e o backend automaticamente muda para o próximo serviço. A máquina continua a ser considerada online e pode ainda ser tentada para outro serviço.

São feitas mais tentativas de ligação a máquinas ou serviços marcados como offline após um período de tempo especificado; isto é actualmente duramente codificado a 30 segundos.

Se não existirem mais máquinas para tentar, o backend muda todos para modo offline, e depois tenta re-ligar a cada 30 segundos.

  Tempo limite e afinação do Failover

Resolver um servidor a onde ligar pode ser tão simples como correr uma única consulta DNS ou pode invocar vários passos, tais como encontrar o sítio correto ou tentar múltiplos nomes de máquinas no caso de alguns dos servidores configurados não estarem alcançáveis. Os cenários mais complexos podem durar algum tempo e o SSSD precisa de equilibrar entre disponibilizar tempo suficiente para terminar o processo de resolução mas por outro lado, não demorar muito tempo antes de regressar ao modo offline. Se os registos de depuração do SSSD mostrarem que a resolução do servidor atingiu o tempo limite antes de ser contactado um servidor vivo, você pode considerar mudar os tempos limite.

Esta secção lista as afinações disponíveis. Por favor consulte as suas descrições no manual sssd.conf(5).

dns_resolver_server_timeout
    Tempo em milissegundos que define quanto tempo deve o SSSD falar com um único servidor DNS antes de tentar o próximo.

    Predefinição: 1000

dns_resolver_op_timeout
    Tempo em segundos que diz quanto tempo deve o SSSD tentar resolver uma única consulta DNS (ex. resolução de um nome de máquina ou dum registo SRV) antes de tentar o próximo nome de máquina ou domínio de descoberta.

    Predefinição: 3

dns_resolver_timeout
    Quanto tempo deve o SSSD tentar resolver um serviço failover. Esta resolução de serviço internamente pode incluir vários passos, tal como resolver consultas SRV de DNS ou localizar o sítio.

    Predefinição: 6

Para provedores baseados em LDAP, a operação de resolução é executada como parte de uma operação de ligação LDAP. Assim, também 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 SERVIÇOS

A funcionalidade de descoberta de serviços permite aos backends encontrarem automaticamente os servidores apropriados para ligarem para usarem uma consulta DNS especial. Esta funcionalidade não é suportada para servidores de salvaguarda (backup).

  Configuração

Se nenhum servidor for especificado, o backend automaticamente usa a descoberta de serviços para tentar encontrar um servidor. Opcionalmente, o utilizador pode escolher usar ambos endereços de servidor fixos e a descoberta de serviços ao inserir uma palavra chave especial “_srv_”, na lista de servidores. A ordem de preferência é mantida. Esta funcionalidade é útil se, por exemplo, o utilizador prefere usar descoberta de serviços sempre que possível, e regressar a um servidor específico quando não se descobrem servidores usando DNS.

  O nome de domínio

Por favor consulte o parâmetro “dns_discovery_domain” no manual sssd.conf(5) para mais detalhes.

  O protocolo

As consultas geralmente especificam _tcp como o protocolo. As excepções estão documentadas na descrição da opção respectiva.

  Veja também

Para mais informação sobre o mecanismo de descoberta de serviços, consulte RFC 2782.

EXEMPLO

O seguinte exemplo assume que o SSSD está actualmente configurado e example.com é um dos domínios na secção [sssd]. Este exemplo mostra apenas as opções específicas do provedor ipa.

    [domain/example.com]
    id_provider = ipa
    ipa_server = ipaserver.example.com
    ipa_hostname = myhost.example.com

VEJA TAMBÉM

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/