Olá amigos!. Por favor, repito, leia antes «Introdução a uma Rede com Software Livre (I): Apresentação do ClearOS»E baixe o pacote de imagens de instalação Step-by-Step do ClearOS (1,1 mega), para saber do que estamos falando. Sem essa leitura será difícil nos acompanhar.
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 Debian: Chiado.
- Nome da equipe: debian7.
- Direção IP: Usando DHCP
Verificamos se o servidor LDAP está funcionando
Nós modificamos o arquivo /etc/ldap/ldap.conf e instale o pacote LDAP-utils:
: ~ # nano /etc/ldap/ldap.conf [----] BASE dc = amigos, dc = cu URI ldap: //centos.amigos.cu [----]
: ~ # aptitude install ldap-utils: ~ $ ldapsearch -x -b 'dc = amigos, dc = cu' '(objectclass = *)': ~ $ ldapsearch -x -b dc = amigos, dc = cu 'uid = passos largos : ~ $ 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.
Nós instalamos o pacote sssd
Também é recomendado instalar o pacote dedo para tornar os cheques mais bebíveis do que o ldapsearch:
: ~ # 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:
: ~ # 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:
: ~ # chmod 0600 /etc/sssd/sssd.conf : ~ # 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 autenticar como um usuário do 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") [----]
Reiniciamos nosso Wheezy:
: ~ # reinicializar
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 fazer o login 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.
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
orLDAPS
É 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!
Excelente.
Saudações ElioTime3000 e obrigado por comentar !!!
Saudações eliotime3000 e obrigado pelos elogios pelo artigo !!!
Excelente! Quero estender os meus enormes parabéns ao autor da publicação por compartilhar seu vasto conhecimento e ao blog por permitir sua publicação.
Obrigado!
Muito obrigado pelos elogios e comentários !!! Força que você me dá para continuar compartilhando conhecimento com a comunidade, na qual todos aprendemos.
Bom artigo! Observe que, em relação ao uso de certificados, ao gerar o certificado, você deve adicionar à configuração ldap (cn = config):
olcLocalSSF: 71
olcTLSCACertificateFile: / path / to / ca / cert
olcTLSCertificateFile: / path / to / public / cert
olcTLSCertificateKeyFile: / path / to / private / key
olcTLSVerifyClient: tente
olcTLSCipherSuite: + RSA: + AES-256-CBC: + SHA1
Com isso (e gerando os certificados) você terá suporte SSL.
Saudações!
Obrigado pela sua contribuição !!! No entanto, publico 7 artigos sobre OpenLDAP em:
http://humanos.uci.cu/2014/01/servicio-de-directorio-con-ldap-introduccion/
https://blog.desdelinux.net/ldap-introduccion/
Neles, enfatizo o uso de Start TLS before SSL, que é recomendado por openldap.org. Saudações @phenobarbital, e muito obrigado por comentar.
Meu e-mail é federico@dch.ch.gob.cu, caso queira trocar mais. O acesso à Internet é muito lento para mim.
Para o TLS a configuração é a mesma, lembrando que no SSL o transporte é transparente sobre um canal criptografado, enquanto no TLS uma criptografia bidirecional é negociada para o transporte de dados; com TLS, o handshake pode ser negociado na mesma porta (389), enquanto com SSL a negociação é feita em uma porta alternativa.
Altere o seguinte:
olcLocalSSF: 128
olcTLSVerifyClient: permitir
olcTLSCipherSuite: NORMAL
(se você é paranóico sobre a segurança que usa:
olcTLSCipherSuite: SECURE256:!AES-128-CBC:!ARCFOUR-128:!CAMELLIA-128-CBC:!3DES-CBC:!CAMELLIA-128-CBC)
e reinicie, você verá mais tarde com:
gnutls-cli-debug -p 636 ldap.ipm.org.gt
Resolvendo 'ldap.ipm.org.gt'…
Verificando o suporte SSL 3.0 ... sim
Verificando se% COMPAT é necessário ... não
Verificando o suporte TLS 1.0 ... sim
Verificando o suporte TLS 1.1 ... sim
Verificando fallback de TLS 1.1 para ... N / A
Verificando o suporte TLS 1.2 ... sim
Verificando o suporte de renegociação segura ... sim
Verificando o suporte para renegociação segura (SCSV) ... sim
Com o qual o suporte TLS também está ativado, você usa 389 (ou 636) para TLS e 636 (ldaps) para SSL; eles são completamente independentes um do outro e você não precisa desabilitar um para usar o outro.
Saudações!