Réseau SWL (V): Debian Wheezy et ClearOS. Authentification SSSD par rapport au LDAP natif.

Salut les amis!. S'il vous plaît, je le répète, lisez avant «Introduction à un réseau avec des logiciels libres (I): Présentation de ClearOS»Et téléchargez le package d'images d'installation ClearOS Step-by-Step (1,1 méga), pour être conscient de ce dont nous parlons. Sans cette lecture, il sera difficile de nous suivre.

Démon du service de sécurité du système

Le programme SSSD o Démon pour le service de sécurité du système, est un projet de Fedora, qui est né d'un autre projet - également de Fedora - appelé GratuitIPA. Selon ses propres créateurs, une définition courte et librement traduite serait:

SSSD est un service qui permet d'accéder à différents fournisseurs d'identité et d'authentification. Il peut être configuré pour un domaine LDAP natif (fournisseur d'identité basé sur LDAP avec authentification LDAP) ou pour un fournisseur d'identité LDAP avec authentification Kerberos. SSSD fournit l'interface avec le système via NSS y PAM et Bastionet un back-end insérable pour se connecter à des origines de compte multiples et différentes.

Nous pensons que nous sommes confrontés à une solution plus complète et robuste pour l'identification et l'authentification des utilisateurs enregistrés dans un OpenLDAP, que celles abordées dans les articles précédents, un aspect laissé à la discrétion de chacun et de ses propres expériences.

La solution proposée dans cet article est la plus recommandée pour les ordinateurs portables et les ordinateurs portables, car elle nous permet de travailler déconnecté, puisque le SSSD stocke les informations d'identification sur l'ordinateur local.

Exemple de réseau

  • Contrôleur de domaine, DNS, DHCP: ClearOS Entreprise 5.2sp1.
  • Nom du contrôleur: centos
  • Nom de domaine: friends.cu
  • IP du contrôleur: 10.10.10.60
  • ---------------
  • Version Debian: Asthmatique.
  • Nom de l'équipe: debian7
  • Adresse IP: Utilisation de DHCP

Nous vérifions que le serveur LDAP fonctionne

Nous modifions le fichier /etc/ldap/ldap.conf et installez le package utilitaires ldap:

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

Avec les deux dernières commandes, nous vérifions la disponibilité du serveur OpenLDAP de notre ClearOS. Jetons un bon coup d'œil aux sorties des commandes précédentes.

Important: nous avons également vérifié que le service d'identification de notre serveur OpenLDAP fonctionne correctement.

network-swl-04-utilisateurs

Nous installons le package sssd

Il est également recommandé d'installer le package doigt rendre les chèques plus buvables que le ldapsearch:

: ~ # aptitude installer le doigt sssd

À la fin de l'installation, le service ssd ne démarre pas en raison d'un fichier manquant /etc/sssd/sssd.conf. La sortie de l'installation reflète cela. Par conséquent, nous devons créer ce fichier et le laisser avec le contenu minimum suivant:

: ~ # nano /etc/sssd/sssd.conf
[sssd] config_file_version = 2 services = nss, pam # SSSD ne démarrera pas si vous ne configurez aucun domaine. # Ajouter de nouvelles configurations de domaine en tant que [domaine / ], puis # ajoutez la liste des domaines (dans l'ordre dans lequel vous # voulez qu'ils soient interrogés) à l'attribut "domaines" ci-dessous et décommentez-la. domain = amigos.cu [nss] filter_groups = root filter_users = root reconnection_retries = 3 [pam] reconnection_retries = 3 # domaine LDAP [domaine / amigos.cu] id_provider = ldap
auth_provider = ldap
chpass_provider = ldap # ldap_schema peut être défini sur "rfc2307", qui stocke les noms des membres du groupe dans l'attribut # "memberuid", ou sur "rfc2307bis", qui stocke les DN des membres du groupe dans # l'attribut "member". Si vous ne connaissez pas cette valeur, demandez à votre administrateur LDAP #. # fonctionne avec ClearOS ldap_schema = rfc2307
ldap_uri = ldap: //centos.amigos.cu
ldap_search_base = dc = friends, dc = cu # Notez que l'activation de l'énumération aura un impact modéré sur les performances. # Par conséquent, la valeur par défaut de l'énumération est FALSE. # Reportez-vous à la page de manuel sssd.conf pour plus de détails. enumerate = false # Autorise les connexions hors ligne en stockant localement les hachages de mot de passe (par défaut: false). cache_credentials = true
ldap_tls_reqcert = autoriser
ldap_tls_cacert = /etc/ssl/certs/ca-certificates.crt

Une fois le fichier créé, nous attribuons les autorisations correspondantes et redémarrons le service:

: ~ # chmod 0600 /etc/sssd/sssd.conf
: ~ # redémarrage du service sssd

Si nous voulons enrichir le contenu du fichier précédent, nous vous recommandons d'exécuter homme sssd.conf et / ou consulter la documentation existante sur Internet, en commençant par les liens au début de l'article. Consultez également homme sssd-ldap. Le paquet ssd inclut un exemple dans /usr/share/doc/sssd/examples/sssd-example.conf, qui peut être utilisé pour s'authentifier auprès d'un Microsoft Active Directory.

Maintenant, nous pouvons utiliser les commandes les plus buvables doigt y obtenir:

: ~ $ foulées avec les doigts
Login: strides Nom: Strides El Rey Répertoire: / home / strides Shell: / bin / bash Jamais connecté. Pas de courrier. Pas d'idée.

: ~ $ sudo getent passwd legolas
legolas: *: 1004: 63000: Legolas l'elfe: / home / legolas: / bin / bash

Nous ne pouvons toujours pas nous authentifier en tant qu'utilisateur du serveur LDAP. Avant de devoir modifier le fichier /etc/pam.d/common-session, afin que le dossier de l'utilisateur soit automatiquement créé au démarrage de sa session, s'il n'existe pas, puis redémarrez le système:

[----]
session requise pam_mkhomedir.so skel = / etc / skel / umask = 0022

### La ligne ci-dessus doit être incluse AVANT
# voici les modules par paquet (le bloc "Principal") [----]

Nous redémarrons notre Wheezy:

: ~ # redémarrer

Une fois connecté, déconnectez le réseau à l'aide du Gestionnaire de connexion et déconnectez-vous et reconnectez-vous. Rien de plus rapide. Exécuter dans un terminal i et ils verront que le eth0 il n'est pas du tout configuré.

Activez le réseau. Veuillez vous déconnecter et vous reconnecter. Vérifiez à nouveau avec i.

Bien sûr, pour travailler hors ligne, il est nécessaire de se connecter au moins une fois pendant qu'OpenLDAP est en ligne, afin que les identifiants soient enregistrés sur notre ordinateur.

N'oublions pas de faire de l'utilisateur externe enregistré dans OpenLDAP un membre des groupes nécessaires, en faisant toujours attention à l'utilisateur créé lors de l'installation.

Note:

Déclarer l'option ldap_tls_reqcert = jamais, dans le fichier /etc/sssd/sssd.conf, constitue un risque de sécurité tel qu'indiqué sur la page SSSD - FAQ. La valeur par défaut est "demande«. Voir homme sssd-ldap. Cependant, dans le chapitre 8.2.5 Configuration des domaines À partir de la documentation Fedora, ce qui suit est indiqué:

SSSD ne prend pas en charge l'authentification sur un canal non chiffré. Par conséquent, si vous souhaitez vous authentifier auprès d'un serveur LDAP, TLS/SSL or LDAPS est nécessaire.

SSSD il ne prend pas en charge l'authentification sur un canal non chiffré. Par conséquent, si vous souhaitez vous authentifier auprès d'un serveur LDAP, il sera nécessaire TLS / SLL o LDAP.

Nous pensons personnellement que la solution adressait c'est suffisant pour un LAN d'entreprise, du point de vue de la sécurité. Par le biais du village WWW, nous vous recommandons de mettre en œuvre un canal crypté utilisant TLS ou «Couche de sécurité du transport », entre l'ordinateur client et le serveur.

Nous essayons d'y parvenir à partir de la génération correcte de certificats auto-signés ou «Auto signé «Sur le serveur ClearOS, mais nous n'avons pas pu. C'est en fait une question en suspens. Si un lecteur sait comment le faire, n'hésitez pas à l'expliquer!

debian7.amigos.cu


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   éliotime3000 dit

    Excellent.

    1.    federico dit

      Salutations ElioTime3000 et merci pour vos commentaires !!!

    2.    federico dit

      Salutations eliotime3000 et merci pour les éloges pour l'article !!!

  2.   Kurayi dit

    Excellent! Je tiens à féliciter énormément l'auteur de la publication pour avoir partagé ses vastes connaissances et le blog pour avoir autorisé sa publication.

    Je vous remercie!

    1.    federico dit

      Merci beaucoup pour vos éloges et vos commentaires !!! La force que vous me donnez pour continuer à partager des connaissances avec la communauté, dans laquelle nous apprenons tous.

  3.   phénobarbital dit

    Bon article! Notez qu'en ce qui concerne l'utilisation des certificats, lorsque vous générez le certificat vous devez ajouter à la configuration ldap (cn = config):

    olcLocalSSF : 71
    olcTLSCACertificateFile: / chemin / vers / ca / ​​cert
    olcTLSCertificateFile: / chemin / vers / public / cert
    olcTLSCertificateKeyFile: / chemin / vers / privé / clé
    olcTLSVerifyClient: essayez
    olcTLSCipherSuite: + RSA: + AES-256-CBC: + SHA1

    Avec cela (et en générant les certificats), vous bénéficierez du support SSL.

    Salutations!

    1.    federico dit

      Nous vous remercions de votre contribution !!! Cependant, je publie 7 articles sur OpenLDAP dans:
      http://humanos.uci.cu/2014/01/servicio-de-directorio-con-ldap-introduccion/
      https://blog.desdelinux.net/ldap-introduccion/
      En eux, je souligne l'utilisation de Start TLS avant SSL, ce qui est recommandé par openldap.org. Salutations @phenobarbital, et merci beaucoup pour vos commentaires.
      Mon email est federico@dch.ch.gob.cu, au cas où vous souhaiteriez en échanger davantage. L'accès à Internet est très lent pour moi.

    2.    phénobarbital dit

      Pour TLS, la configuration est la même, en gardant à l'esprit qu'avec SSL, le transport est rendu transparent sur un canal chiffré, tandis qu'en TLS un chiffrement bidirectionnel est négocié pour le transport des données; avec TLS, la négociation peut être négociée sur le même port (389) tandis qu'avec SSL la négociation se fait sur un autre port.
      Modifiez ce qui suit:
      olcLocalSSF : 128
      olcTLSVerifyClient: autoriser
      olcTLSCipherSuite : NORMAL
      (si vous êtes paranoïaque sur la sécurité, vous utilisez:
      olcTLSCipherSuite: SECURE256:!AES-128-CBC:!ARCFOUR-128:!CAMELLIA-128-CBC:!3DES-CBC:!CAMELLIA-128-CBC)

      et redémarrez, vous verrez plus tard avec:
      gnutls-cli-debug -p 636 ldap.ipm.org.gt

      Résolution de «ldap.ipm.org.gt»…
      Vérification de la prise en charge de SSL 3.0… oui
      Vérifier si% COMPAT est nécessaire… non
      Vérification de la prise en charge de TLS 1.0… oui
      Vérification de la prise en charge de TLS 1.1… oui
      Vérification du repli de TLS 1.1 vers… N / A
      Vérification de la prise en charge de TLS 1.2… oui
      Vérification de la prise en charge de la renégociation sécurisée… oui
      Vérification de la prise en charge de la renégociation sécurisée (SCSV)… oui

      Avec laquelle la prise en charge TLS est également activée, vous utilisez 389 (ou 636) pour TLS et 636 (ldaps) pour SSL; ils sont complètement indépendants les uns des autres et il n'est pas nécessaire d'en avoir un désactivé pour utiliser l'autre.

      Salutations!