Rede SWL (IV): Ubuntu Precise e ClearOS. Autenticação SSSD contra LDAP nativo.

Olá amigos!. Direto ao assunto, não antes de ler o artigo «Introdução a uma Rede com Software Livre (I): Apresentação do ClearOS»E baixe o pacote de imagens de instalação do ClearOS Step by Step (1,1 mega), para ficar atento do que estamos falando. Sem essa leitura será difícil nos acompanhar. OK? Desesperado habitual.

Daemon de serviço de segurança do sistema

O programa SSSD o Daemon para o serviço de segurança do sistema, é um projeto de Fedora, que nasceu de outro projeto -também do Fedora- chamado IPA grátis. Segundo seus próprios criadores, uma definição curta e traduzida livremente seria:

SSSD é um serviço que fornece acesso a diferentes provedores de identidade e autenticação. Ele pode ser configurado para um domínio LDAP nativo (provedor de identidade baseado em LDAP com autenticação LDAP) ou para um provedor de identidade LDAP com autenticação Kerberos. SSSD fornece a interface para o sistema por meio de NSS y PAMe um back-end inserível para conectar a origens de contas múltiplas e diferentes.

Acreditamos estar diante de uma solução mais abrangente e robusta para a identificação e autenticação de usuários registrados em um OpenLDAP, do que as abordadas nos artigos anteriores, aspecto que fica ao critério de todos e de suas próprias experiências.

A solução proposta neste artigo é a mais recomendada para computadores móveis e laptops, pois nos permite trabalhar desconectados, já que o SSSD armazena as credenciais no computador local.

Rede de exemplo

  • Controlador de domínio, DNS, DHCP: ClearOS Enterprise 5.2sp1.
  • Nome do controlador: centos
  • Nome do domínio: friends.cu
  • IP do controlador: 10.10.10.60
  • ---------------
  • Versão Ubuntu: Ubuntu Desktop 12.04.2 Preciso.
  • Nome da equipe: preciso
  • Direção IP: Usando DHCP

Nós preparamos nosso Ubuntu

Nós modificamos o arquivo /etc/lightdm/lightdm.conf para aceitar o login manual, e deixamos você com o seguinte conteúdo:

[SeatDefaults] greeter-session = unit-greeter user-session = ubuntu greeter-show-manual-login = true greeter-hide-users = true allow-guest = false

Depois de salvar as alterações, reiniciamos o lightdm em um console invocado por Ctrl + Alt + F1 e nele executamos, após o login, sudo serviço lightdm reiniciar.

Também é recomendado editar o arquivo / Etc / hosts e deixe-o com o seguinte conteúdo:

127.0.0.1 localhost 127.0.1.1 precise.amigos.cu precise [----]

Desta forma, obtemos as respostas adequadas aos comandos hostname y nome do host –fqdn.

Verificamos se o servidor LDAP está funcionando

Nós modificamos o arquivo /etc/ldap/ldap.conf e instale o pacote LDAP-utils:

: ~ $ sudo nano /etc/ldap/ldap.conf
[----] BASE dc = amigos, dc = cu URI ldap: //centos.amigos.cu [----]
: ~ $ sudo aptitude install ldap-utils: ~ $ ldapsearch -x -b 'dc = amigos, dc = cu' '(objectclass = *)': ~ $ ldapsearch -x -b dc = amigos, dc = cu 'uid = passos '
: ~ $ ldapsearch -x -b dc = amigos, dc = cu 'uid = legolas' cn gidNumber

Com os dois últimos comandos, verificamos a disponibilidade do servidor OpenLDAP do nosso ClearOS. Vamos dar uma boa olhada nas saídas dos comandos anteriores.

Importante: também verificamos se o Serviço de Identificação em nosso servidor OpenLDAP funciona corretamente.

network-swl-04-users

Nós instalamos o pacote sssd

Também é recomendado instalar o pacote dedo para tornar os cheques mais bebíveis do que o ldapsearch:

: ~ $ sudo aptitude install sssd finger

Após a conclusão da instalação, o serviço ssd não começa devido ao arquivo ausente /etc/sssd/sssd.conf. A saída da instalação reflete isso. Portanto, devemos criar esse arquivo e deixá-lo com o próximo conteúdo mínimo:

: ~ $ sudo nano /etc/sssd/sssd.conf
[sssd] config_file_version = 2 services = nss, pam # SSSD não será iniciado se você não configurar nenhum domínio. # Adicione novas configurações de domínio como [domínio / ] e # adicione a lista de domínios (na ordem em que você deseja que sejam # consultados) ao atributo "domínios" abaixo e descomente-o. domínios = amigos.cu [nss] filter_groups = root filter_users = root reconnection_retries = 3 [pam] reconnection_retries = 3 # domínio LDAP [domain / amigos.cu] id_provider = ldap
auth_provider=ldap
chpass_provider = ldap # ldap_schema pode ser definido como "rfc2307", que armazena os nomes dos membros do grupo no atributo # "memberuid", ou como "rfc2307bis", que armazena DNs dos membros do grupo # no atributo "membro". Se você não souber esse valor, pergunte ao administrador do LDAP #. # funciona com ClearOS ldap_schema = rfc2307
ldap_uri = ldap: //centos.amigos.cu
ldap_search_base = dc = friends, dc = cu # Observe que a ativação da enumeração terá um impacto moderado no desempenho. # Consequentemente, o valor padrão para enumeração é FALSE. # Consulte a página do manual sssd.conf para obter detalhes completos. enumerate = false # Permitir logins offline armazenando localmente hashes de senha (padrão: false). cache_credentials = true
ldap_tls_reqcert = permitir
ldap_tls_cacert = /etc/ssl/certs/ca-certificates.crt

Depois de criar o arquivo, atribuímos as permissões correspondentes e reiniciamos o serviço:

: ~ $ sudo chmod 0600 /etc/sssd/sssd.conf
: ~ $ sudo service sssd restart

Se quisermos enriquecer o conteúdo do arquivo anterior, recomendamos executar cara sssd.conf e / ou consulte a documentação existente na Internet, começando pelos links no início da postagem. Consulte também homem sssd-ldap. O pacote ssd inclui um exemplo em /usr/share/doc/sssd/examples/sssd-example.conf, que pode ser usado para autenticação em um Microsoft Active Directory.

Agora podemos usar os comandos mais bebíveis dedo y getent:

: ~ $ passos de dedo
Login: strides Nome: Strides El Rey Diretório: / home / strides Shell: / bin / bash Nunca conectado. Sem correio. Sem plano.

: ~ $ sudo getent passwd legolas
legolas: *: 1004: 63000: Legolas, o elfo: / home / legolas: / bin / bash

Ainda não podemos nos enviar para executar e tentar autenticar como um usuário no servidor LDAP. Antes devemos modificar o arquivo /etc/pam.d/common-session, para que a pasta do usuário seja criada automaticamente ao iniciar sua sessão, se ela não existir, e reinicie o sistema:

[----]
sessão necessária pam_mkhomedir.so skel = / etc / skel / umask = 0022

### A linha acima deve ser incluída ANTES
# aqui estão os módulos por pacote (o bloco "Primário") [----]

Agora, se reiniciarmos:

: ~ $ sudo reboot

Depois de fazer o login, desconecte a rede usando o Connection Manager e faça logout e login novamente. Nada mais rápido. Executar em um terminal ifconfig e eles verão que o eth0 não está configurado de forma alguma.

Ative a rede. Saia e faça login novamente. Verifique novamente com ifconfig.

Claro, para trabalhar offline, é necessário iniciar uma sessão pelo menos uma vez enquanto o OpenLDAP estiver online, para que as credenciais sejam salvas em nosso computador.

Não nos esqueçamos de tornar o usuário externo cadastrado no OpenLDAP membro dos grupos necessários, sempre atento ao usuário criado durante a instalação.

Se o equipamento não quiser ser desligado por applet correspondente, em seguida, execute em um console sudo power off desligar, e reiniciar reiniciar. Resta descobrir por que isso às vezes acontece.

Nota:

Declare opção ldap_tls_reqcert = nunca, no arquivo /etc/sssd/sssd.conf, constitui um risco de segurança, conforme indicado na página SSSD - FAQ. O valor padrão é "demanda«. Vejo homem sssd-ldap. No entanto, no capítulo 8.2.5 Configurando Domínios Na documentação do Fedora, afirma-se o seguinte:

O SSSD não oferece suporte à autenticação em um canal não criptografado. Consequentemente, se você deseja autenticar em um servidor LDAP, TLS/SSL or LDAPS É necessário.

SSSD ele não oferece suporte à autenticação em um canal não criptografado. Portanto, se você deseja autenticar em um servidor LDAP, será necessário TLS / SLL o LDAP.

Nós pessoalmente pensamos que a solução abordou é suficiente para uma LAN corporativa, do ponto de vista da segurança. Por meio da WWW Village, recomendamos a implementação de um canal criptografado usando TLS ou «Camada de segurança de transporte », entre o computador cliente e o servidor.

Tentamos alcançá-lo a partir da geração correta de certificados autoassinados ou «Autoassinado “No servidor ClearOS, mas não podíamos. Na verdade, é uma questão pendente. Se algum leitor souber como fazer, seja bem-vindo para explicar!

passos desconectados


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   elav. dito

    Outro artigo para Favoritos 😀

    1.    federico dito

      Obrigado por comentar e saudações !!!

  2.   joel dito

    Oi. Estou tentando fazer funcionar com um servidor ubuntu e outro ubuntu como cliente, e conectado tudo funciona muito bem, mas quando paro o servidor ou desconecto a rede, ele não aceita as senhas dos usuários. Não tenho ideia do que posso estar fazendo de errado. Pode ser porque eu não tenho o servidor ldap configurado para usar segurança (ssl)?

    1.    braybaut dito

      É exatamente por isso que, como você não tem um canal criptografado, ele não aceita sua senha.