SWL Network (V): Debian Wheezy at ClearOS. Ang pagpapatotoo ng SSSD laban sa katutubong LDAP.

Kumusta Mga Kaibigan!. Mangyaring, ulitin ko, basahin bago «Panimula sa isang Network na may Libreng Software (I): Paglalahad ng ClearOS»At i-download ang ClearOS Hakbang sa Hakbang na pakete ng mga imahe (1,1 mega), upang magkaroon ng kamalayan sa kung ano ang pinag-uusapan natin. Kung wala ang pagbabasa na ito ay magiging mahirap na sundin kami.

System Security Service Daemon

Ang programa SSSD o Daemon para sa System Security Service, ay isang proyekto ng Fedora, na ipinanganak mula sa ibang proyekto -also mula sa Fedora- tinatawag LibrengIPA. Ayon sa sarili nitong mga tagalikha, ang isang maikli at malayang naisalin na kahulugan ay:

Ang SSSD ay isang serbisyo na nagbibigay ng pag-access sa iba't ibang mga tagapagbigay ng pagkakakilanlan at Pagpapatotoo. Maaari itong mai-configure para sa isang katutubong domain ng LDAP (tagapagbigay ng pagkakakilanlan na nakabatay sa LDAP na may pagpapatunay ng LDAP), o para sa isang nagbibigay ng pagkakakilanlan ng LDAP na may pagpapatunay ng Kerberos. SSSD ay nagbibigay ng interface sa system sa pamamagitan ng NSS y WFP, at isang ipinasok na Back End upang kumonekta sa maraming at magkakaibang mga pinagmulan ng account.

Naniniwala kami na nahaharap kami sa isang mas komprehensibo at matatag na solusyon para sa pagkilala at pagpapatotoo ng mga nakarehistrong gumagamit sa isang OpenLDAP, kaysa sa mga hinarap sa naunang artikulo, isang aspeto na naiwan sa paghuhusga ng bawat isa at kanilang sariling mga karanasan.

Ang solusyon na iminungkahi sa artikulong ito ay ang pinaka-inirerekumenda para sa mga mobile computer at laptop, dahil pinapayagan kaming gumana na nakakabit, dahil iniimbak ng SSSD ang mga kredensyal sa lokal na computer.

Halimbawa ng network

  • Domain Controller, DNS, DHCP: ClearOS Enterprise 5.2sp1.
  • Pangalan ng Controller: centos
  • Pangalan ng Domain: mga kaibigan.cu
  • Controller IP: 10.10.10.60
  • ---------------
  • Bersyon ng Debian: humihingal.
  • Pangalan ng koponan: debian7
  • IP address: Paggamit ng DHCP

Sinusuri namin na gumagana ang server ng LDAP

Binabago namin ang file /etc/ldap/ldap.conf at i-install ang package ldap-utils:

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

Sa huling dalawang utos, suriin namin ang pagkakaroon ng OpenLDAP server ng aming ClearOS. Tingnan natin nang mabuti ang mga output ng nakaraang mga utos.

Mahalaga: na-verify din namin na ang Serbisyo ng Pagkakakilanlan sa aming OpenLDAP server ay gumagana nang tama.

network-swl-04-mga gumagamit

I-install namin ang sssd package

Inirerekumenda rin na i-install ang package daliri upang mas maiinom ang mga tseke kaysa sa ldapsearch:

: ~ # aptitude i-install ang sssd daliri

Sa pagkumpleto ng pag-install, ang serbisyo ssd ay hindi nagsisimula dahil sa nawawalang file /etc/sssd/sssd.conf. Ang output ng pag-install ay sumasalamin nito. Samakatuwid, dapat nating likhain ang file na iyon at iwanan ito sa susunod na minimum na nilalaman:

: ~ # nano /etc/sssd/sssd.conf
[sssd] config_file_version = 2 mga serbisyo = nss, hindi magsisimula ang pam # SSSD kung hindi ka nag-configure ng anumang mga domain. # Magdagdag ng mga bagong pagsasaayos ng domain bilang [domain / ] mga seksyon, at # pagkatapos ay idagdag ang listahan ng mga domain (sa pagkakasunud-sunod na nais mong ang mga ito ay # queried) sa katangiang "mga domain" sa ibaba at iakma ito. mga domain = amigos.cu [nss] filter_groups = root filter_users = root reconnection_retries = 3 [pam] reconnection_retries = 3 # domain ng LDAP [domain / amigos.cu] id_provider = ldap
auth_provider = ldap
Ang chpass_provider = ldap # ldap_schema ay maaaring itakda sa "rfc2307", na nag-iimbak ng mga pangalan ng miyembro ng pangkat sa katangiang # "memberuid", o sa "rfc2307bis", na nag-iimbak ng mga DN ng kasapi ng pangkat sa katangiang "kasapi". Kung hindi mo alam ang halagang ito, tanungin ang iyong administrator ng LDAP #. # gumagana sa ClearOS ldap_schema = rfc2307
ldap_uri = ldap: //centos.amigos.cu
ldap_search_base = dc = mga kaibigan, dc = cu # Tandaan na ang pagpapagana ng pag-enumerate ay magkakaroon ng katamtamang epekto sa pagganap. # Dahil dito, ang default na halaga para sa pagpapatala ay MALI. # Sumangguni sa pahina ng sssd.conf man para sa buong detalye. enumerate = false # Payagan ang mga offline na pag-login sa pamamagitan ng lokal na pagtatago ng mga hash ng password (default: false). cache_credentials = totoo
ldap_tls_reqcert = payagan
ldap_tls_cacert = /etc/ssl/certs/ca-certandum.crt

Sa sandaling nalikha ang file, nagtatalaga kami ng kaukulang mga pahintulot at i-restart ang serbisyo:

: ~ # chmod 0600 /etc/sssd/sssd.conf
: ~ # service sssd restart

Kung nais naming pagyamanin ang nilalaman ng nakaraang file, inirerekumenda namin ang pagpapatupad tao sssd.conf at / o kumunsulta sa mayroon nang dokumentasyon sa Internet, nagsisimula sa mga link sa simula ng post. Kumunsulta din tao sssd-ldap. Ang package ssd may kasamang isang halimbawa sa /usr/share/doc/sssd/examples/sssd-example.conf, na maaaring magamit upang patunayan laban sa isang Microsoft Active Directory.

Ngayon ay maaari naming gamitin ang pinaka maiinom na mga utos daliri y mabait:

: ~ $ mga hakbang sa daliri
Pag-login: pangalan ng strides: Direktoryo ng Strides El Rey: / home / strides Shell: / bin / bash Never login. Walang mail. Walang plano.

: ~ $ sudo getent passwd legolas
legolas: *: 1004: 63000: Legolas The Elf: / home / legolas: / bin / bash

Hindi pa rin namin mapatunayan bilang isang gumagamit ng LDAP server. Bago namin dapat baguhin ang file /etc/pam.d/common-session, upang ang folder ng gumagamit ay awtomatikong nilikha kapag sinimulan mo ang iyong session, kung wala ito, at pagkatapos ay i-reboot ang system:

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

### Dapat isama ang linya sa itaas BAGO
# narito ang mga module na per-package (ang "Pangunahin" na bloke) [----]

I-restart namin ang aming Wheezy:

: ~ # reboot

Pagkatapos ng pag-log in, idiskonekta ang network gamit ang Connection Manager at mag-log out at bumalik. Mas mabilis wala. Tumakbo sa isang terminal ifconfig at makikita nila na ang eth0 hindi naman ito naka-configure.

Isaaktibo ang network. Mangyaring mag-log out at mag-log in muli. Suriin muli sa ifconfig.

Siyempre, upang gumana offline, kinakailangang mag-log in kahit isang beses habang ang OpenLDAP ay online, upang ang mga kredensyal ay nai-save sa aming computer.

Huwag kalimutan na gawing kasapi ang panlabas na gumagamit sa OpenLDAP bilang isang kasapi ng mga kinakailangang pangkat, palaging binibigyang pansin ang nilikha ng gumagamit sa panahon ng pag-install.

Nota:

Ideklara ang pagpipilian ldap_tls_reqcert = hindi kailanman, sa File /etc/sssd/sssd.conf, bumubuo ng isang panganib sa seguridad tulad ng nakasaad sa pahina SSSD - FAQ. Ang default na halaga ay «pangangailangan«. Tingnan mo tao sssd-ldap. Gayunpaman, sa kabanata 8.2.5 Pag-configure ng Mga Domain Mula sa dokumentasyon ng Fedora, ang sumusunod ay nakasaad:

Hindi sinusuportahan ng SSSD ang pagpapatotoo sa isang hindi naka-encrypt na channel. Dahil dito, kung nais mong patunayan laban sa isang server ng LDAP, alinman TLS/SSL or LDAPS ay kinakailangan.

SSSD hindi nito sinusuportahan ang pagpapatotoo sa isang hindi naka-encrypt na channel. Samakatuwid, kung nais mong patunayan laban sa isang server ng LDAP, kakailanganin ito TLS / SLL o LDAP.

Personal naming iniisip na ang solusyon na tinugunan ito ay sapat na para sa isang Enterprise LAN, mula sa isang security point of view. Sa pamamagitan ng WWW Village, inirerekumenda namin ang pagpapatupad ng isang naka-encrypt na channel gamit ang TLS o "Layer ng Security Security », sa pagitan ng computer ng client at ng server.

Sinusubukan naming makamit ito mula sa tamang pagbuo ng mga sertipiko na Self Signed o «Pag-sign ng Sarili "Sa server ng ClearOS, ngunit hindi namin magawa. Sa katunayan ito ay isang nakabinbing isyu. Kung ang sinumang mambabasa na alam kung paano ito gawin, maligayang ipaliwanag ito!

debian7.amigos.cu


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   eliotime3000 dijo

    Magaling.

    1.    Federico dijo

      Pagbati ElioTime3000 at salamat sa puna !!!

    2.    Federico dijo

      Pagbati eliotime3000 at salamat sa papuri ng artikulo !!!

  2.   kurayi dijo

    Napakahusay! Nais kong magbigay ng isang malaking pagbati sa may-akda ng publication para sa pagbabahagi ng kanyang malawak na kaalaman at sa blog para sa pagpapahintulot sa paglalathala nito.

    Salamat!

    1.    Federico dijo

      Maraming salamat sa iyong papuri at komento !!! Lakas na binibigay mo sa akin upang ipagpatuloy ang pagbabahagi ng kaalaman sa komunidad, kung saan natututo tayong lahat.

  3.   phenobarbital dijo

    Magandang artikulo! Tandaan na patungkol sa paggamit ng mga sertipiko, kapag nabuo mo ang sertipiko dapat mong idagdag sa ldap config (cn = config):

    olcLocalSSF: 71
    olcTLSCACert CertificateFile: / path / to / ca / ​​cert
    olcTLSCert CertificateFile: / path / sa / pampubliko / sertipiko
    olcTLSCert CertificateKeyFile: / path / sa / pribado / key
    olcTLSVerifyClient: subukan
    olcTLSCipherSuite: + RSA: + AES-256-CBC: + SHA1

    Sa pamamagitan nito (at pagbuo ng mga sertipiko) magkakaroon ka ng suporta sa SSL.

    Pagbati!

    1.    Federico dijo

      Maraming salamat sa iyong kontribusyon !!! Gayunpaman, naglathala ako ng 7 mga artikulo tungkol sa OpenLDAP sa:
      http://humanos.uci.cu/2014/01/servicio-de-directorio-con-ldap-introduccion/
      https://blog.desdelinux.net/ldap-introduccion/
      Sa kanila binibigyang diin ko ang paggamit ng Start TLS bago ang SSL, na inirekomenda ng openldap.org. Pagbati @phenobarbital, at maraming salamat sa iyong puna.
      Ang aking email ay federico@dch.ch.gob.cu, kung sakaling nais mong makipagpalitan pa. Ang pag-access sa Internet ay napakabagal para sa akin.

    2.    phenobarbital dijo

      Para sa TLS ang pagsasaayos ay pareho, na naaalala na sa SSL ang transportasyon ay ginawang transparent sa isang naka-encrypt na channel, habang sa TLS isang two-way na pag-encrypt ang nakipag-ayos para sa pagdadala ng data; na may TLS ang handshake ay maaaring makipag-ayos sa parehong port (389) habang sa SSL ang negosasyon ay ginagawa sa isang alternatibong port.
      Baguhin ang sumusunod:
      olcLocalSSF: 128
      olcTLSVerifyClient: payagan
      olcTLSCipherSuite: NORMAL
      (kung paranoid ka tungkol sa seguridad na ginagamit mo:
      olcTLSCipherSuite: SECURE256:!AES-128-CBC:!ARCFOUR-128:!CAMELLIA-128-CBC:!3DES-CBC:!CAMELLIA-128-CBC)

      at muling simulan, makikita mo mamaya kasama ang:
      gnutls -jam-debug -p 636 ldap.ipm.org.gt

      Paglutas ng 'ldap.ipm.org.gt'…
      Sinusuri ang suporta sa SSL 3.0… oo
      Sinusuri kung kinakailangan ang% COMPAT ... hindi
      Sinusuri ang suporta ng TLS 1.0… oo
      Sinusuri ang suporta ng TLS 1.1… oo
      Sinusuri ang fallback mula sa TLS 1.1 hanggang… N / A
      Sinusuri ang suporta ng TLS 1.2… oo
      Sinusuri kung ligtas ang suporta sa muling pagsasaayos… oo
      Sinusuri kung ligtas ang suporta sa muling pagsasaayos (SCSV) ... oo

      Kung saan pinagana din ang suporta ng TLS, gumamit ka ng 389 (o 636) para sa TLS at 636 (ldaps) para sa SSL; sila ay ganap na malaya sa bawat isa at hindi mo kailangang magkaroon ng isang hindi pinagana upang magamit ang isa pa.

      Pagbati!