SWL Network (IV): Tiyak na Ubuntu at ClearOS. Ang pagpapatotoo ng SSSD laban sa katutubong LDAP.

Kumusta Mga Kaibigan!. Straight to the point, hindi bago basahin ang artikulo «Panimula sa isang Network na may Libreng Software (I): Paglalahad ng ClearOS»At i-download ang ClearOS Hakbang-hakbang na pakete ng mga imahe ng pag-install (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. Sige? Buhay na desperado.

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 Ubuntu: Ganap na tumpak ang Ubuntu Desktop 12.04.2.
  • Pangalan ng koponan: tumpak
  • IP address: Paggamit ng DHCP

Inihahanda namin ang aming Ubuntu

Binabago namin ang file /etc/lightdm/lightdm.conf upang tanggapin ang manu-manong pag-login, at iiwan ka namin ng sumusunod na nilalaman:

[SeatDefaults] pagbati-session = pagkakaisa-salubong user-session = ubuntu pagbati-ipakita-manual-pag-login = tunay na pagbati-tagong-mga gumagamit = tunay na payagan-panauhin = hindi totoo

Matapos i-save ang mga pagbabago, i-restart namin ang lightdm sa isang console na tinawag ni Ctrl+Alt+F1 at dito namin isinasagawa, pagkatapos ng pag-log in, sudo service lightdm restart.

Inirerekumenda rin na i-edit ang file / Etc / host at iwanan ito sa sumusunod na nilalaman:

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

Sa ganitong paraan nakakakuha kami ng naaangkop na mga tugon sa mga utos hostname y hostname –fqdn.

Sinusuri namin na gumagana ang server ng LDAP

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

: ~ $ sudo nano /etc/ldap/ldap.conf
[----] BASE dc = mga kaibigan, dc = cu URI ldap: //centos.amigos.cu [----]
: ~ $ sudo 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:

: ~ $ sudo 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:

: ~ $ sudo 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:

: ~ $ sudo chmod 0600 /etc/sssd/sssd.conf
: ~ $ sudo 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 mapadalhan ang aming sarili upang tumakbo at subukang patunayan bilang isang gumagamit sa server ng LDAP. 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) [----]

Ngayon kung i-restart namin:

: ~ $ sudo 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, kinakailangan upang magsimula ng isang session kahit na isang beses habang online ang OpenLDAP, 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.

Kung ang kagamitan ay hindi nais na patayin applet kaukulang, pagkatapos ay tumakbo sa isang console sudo power off upang patayin, at sudo reboot upang muling simulan. Nananatili ito upang malaman kung bakit nangyayari ang nasa itaas minsan.

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!

strides-disconnect


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.   masigla dijo

    Isa pang artikulo sa Mga Bookmark 😀

    1.    Federico dijo

      Salamat sa puna at Pagbati !!!

  2.   Joel dijo

    Hi Sinusubukan kong gawin itong gumana sa isang ubuntu server at isa pang ubuntu bilang kliyente, at mahusay na kumonekta ang lahat, ngunit kapag pinahinto ko ang server o idiskonekta ang network, hindi ito tumatanggap ng mga password ng mga gumagamit. Wala akong ideya kung ano ang maaaring ginagawa ko mali. Maaaring ito ay dahil wala akong naka-configure na ldap server upang magamit ang seguridad (ssl)?

    1.    braybaut dijo

      Iyon mismo ang dahilan kung bakit, dahil wala kang isang naka-encrypt na channel, hindi nito tatanggapin ang iyong password.