บริการไดเรกทอรีกับ LDAP [4]: ​​OpenLDAP (I)

สวัสดีเพื่อน!. มาดูเรื่องนี้กันและตามที่เราแนะนำให้อ่านบทความก่อนหน้าสามบทความในซีรีส์:

DNS, DHCP และ NTP เป็นบริการที่จำเป็นขั้นต่ำสำหรับไดเร็กทอรีอย่างง่ายของเราโดยยึดตามไฟล์ OpenLDAP เนทีฟทำงานได้อย่างถูกต้องบนไฟล์ Debian 6.0 "บีบ"หรือใน Ubuntu 12.04 LTS "Precise Pangolin"

ตัวอย่างเครือข่าย:

Lan: 10.10.10.0/24
Dominio: amigos.cu
Servidor: mildap.amigos.cu
Sistema Operativo Servidor: Debian 6 "Squeeze
Dirección IP del servidor: 10.10.10.15
Cliente 1: debian7.amigos.cu
Cliente 2: raring.amigos.cu
Cliente 3: suse13.amigos.cu
Cliente 4: seven.amigos.cu

ในส่วนที่หนึ่งเราจะเห็น:

  • การติดตั้ง OpenLDAP (ตบ 2.4.23-7.3)
  • ตรวจสอบหลังการติดตั้ง
  • ดัชนีที่ต้องคำนึงถึง
  • กฎการควบคุมการเข้าถึงข้อมูล
  • การสร้างใบรับรอง TLS ใน Squeeze

ในส่วนที่สองเราจะดำเนินการต่อด้วย:

  • การตรวจสอบผู้ใช้ภายใน
  • เติมฐานข้อมูล
  • จัดการฐานข้อมูลโดยใช้ยูทิลิตี้คอนโซล
  • สรุปจนถึงตอนนี้ ...

การติดตั้ง OpenLDAP (ตบ 2.4.23-7.3)

เซิร์ฟเวอร์ OpenLDAP ถูกติดตั้งโดยใช้แพ็คเกจ ตบ. เราต้องติดตั้งแพคเกจด้วย ldap-utilsซึ่งให้เครื่องมือฝั่งไคลเอ็นต์แก่เราตลอดจนยูทิลิตี้ของ OpenLDAP เอง

: ~ # aptitude ติดตั้ง sldap-utils

ในระหว่างกระบวนการติดตั้งไฟล์ ดีเบตคอนเฟอเรนซ์ มันจะถามเราสำหรับรหัสผ่านผู้ดูแลระบบหรือผู้ใช้«ผู้ดูแลระบบ«. นอกจากนี้ยังมีการติดตั้งการอ้างอิงจำนวนหนึ่ง ผู้ใช้ถูกสร้างขึ้น openldap; การกำหนดค่าเซิร์ฟเวอร์เริ่มต้นถูกสร้างขึ้นเช่นเดียวกับไดเร็กทอรี LDAP

ใน OpenLDAP เวอร์ชันก่อนหน้านี้การกำหนดค่า daemon ตบ ทำทั้งหมดผ่านไฟล์ /etc/ldap/slapd.conf. ในเวอร์ชันที่เราใช้และใหม่กว่าการกำหนดค่าจะทำในแบบเดียวกัน ตบและเพื่อจุดประสงค์นี้ก DIT «แผนผังข้อมูลไดเรกทอรี»หรือแผนผังข้อมูลไดเรกทอรีแยกกัน

วิธีการกำหนดค่าที่เรียกว่า RTC «การกำหนดค่าตามเวลาจริง»การกำหนดค่าตามเวลาจริงหรือเป็นวิธีการ cn = configช่วยให้เรากำหนดค่าไฟล์ ตบ โดยไม่ต้องเริ่มบริการใหม่

ฐานข้อมูลคอนฟิกูเรชันประกอบด้วยชุดของไฟล์ข้อความในรูปแบบ แอลดีไอเอฟ «รูปแบบการแลกเปลี่ยนข้อมูล LDAP»รูปแบบ LDAP สำหรับการแลกเปลี่ยนข้อมูลซึ่งอยู่ในโฟลเดอร์ /etc/ldap/slapd.d.

เพื่อให้ทราบถึงการจัดระเบียบโฟลเดอร์ ตบ dเริ่มกันเลย:

: ~ # ls -lR /etc/ldap/slapd.d/
/etc/ldap/slapd.d/: ทั้งหมด 8 drwxr-x --- 3 openldap openldap 4096 16 กุมภาพันธ์ 11:08 cn = config -rw ------- 1 openldap openldap 407 ก.พ. 16 11:08 cn = config.ldif /etc/ldap/slapd.d/cn=config: ทั้งหมด 28 -rw ------- 1 openldap openldap 383 ก.พ. 16 11:08 cn = module {0} .ldif drwxr-x --- 2 openldap openldap 4096 16 ก.พ. 11 08:1 cn = schema -rw ------- 325 openldap openldap 16 ก.พ. 11 08:1 cn = schema.ldif -rw ------- 343 openldap openldap 16 ก.พ. 11 08:0 olcBackend = {1} hdb.ldif -rw ------- 472 openldap openldap 16 11 ก.พ. 08:0 olcDatabase = {1} config.ldif -rw ------- 586 openldap openldap 16 11 ก.พ. 08:1 olcDatabase = {- 1} frontend.ldif -rw ------- 1012 openldap openldap 16 11 ก.พ. 08:1 olcDatabase = {40} hdb.ldif /etc/ldap/slapd.d/cn = config / cn = schema: total 1 -rw ------- 15474 openldap openldap 16 11 ก.พ. 08:0 cn = {1} core.ldif -rw ------- 11308 openldap openldap 16 11 ก.พ. 08:1 cn = {1} cosine.ldif -rw ------- 6438 openldap openldap 16 11 กุมภาพันธ์ 08:2 cn = {1} nis.ldif -rw ------- 2802 openldap openldap 16 11 ก.พ. 08:3 cn = {XNUMX} inetorgperson.ldif

หากเราดูผลลัพธ์ก่อนหน้าเล็กน้อยเราจะเห็นว่าไฟล์ แบ็กเอนด์ ที่ใช้ใน Squeeze คือประเภทฐานข้อมูล เอชดีบีซึ่งเป็นตัวแปรของ บีดีบี "ฐานข้อมูล Berkeley" และเป็นแบบลำดับชั้นอย่างสมบูรณ์และสนับสนุนการเปลี่ยนชื่อต้นไม้ย่อย หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับสิ่งที่เป็นไปได้ แบ็กเอนด์ ที่รองรับ OpenLDAP โปรดไปที่ http://es.wikipedia.org/wiki/OpenLDAP.

นอกจากนี้เรายังเห็นว่ามีการใช้ฐานข้อมูลที่แยกจากกันสามฐานนั่นคือฐานข้อมูลที่อุทิศให้กับการกำหนดค่าอีกฐาน ส่วนหน้าและอันสุดท้ายคือฐานข้อมูล เอชดีบี ต่อ se.

นอกจากนี้ ตบ ได้รับการติดตั้งตามค่าเริ่มต้นด้วยแผนผัง แกน, โคไซน์, NIS e คนเล่นเน็ต.

ตรวจสอบหลังการติดตั้ง

ในเทอร์มินัลเราดำเนินการและอ่านผลลัพธ์อย่างใจเย็น เราจะตรวจสอบโดยเฉพาะอย่างยิ่งกับคำสั่งที่สองการกำหนดค่าที่อนุมานจากการแสดงรายการโฟลเดอร์ ตบ d.

: ~ # ldapsearch -Q -LLL -Y ภายนอก -H ldapi: /// -b cn = config | เพิ่มเติม: ~ # ldapsearch -Q -LLL -Y EXTERNAL -H ldapi: /// -b cn = config dn
dn: cn = config dn: cn = module {0}, cn = config dn: cn = schema, cn = config dn: cn = {0} core, cn = schema, cn = config dn: cn = {1} โคไซน์ , cn = schema, cn = config dn: cn = {2} nis, cn = schema, cn = config dn: cn = {3} inetorgperson, cn = schema, cn = config dn: olcBackend = {0} hdb, cn = config dn: olcDatabase = {- 1} frontend, cn = config dn: olcDatabase = {0} config, cn = config dn: olcDatabase = {1} hdb, cn = config

คำอธิบายของแต่ละเอาต์พุต:

  • cn = config: พารามิเตอร์ส่วนกลาง
  • cn = โมดูล {0}, cn = config: โมดูลโหลดแบบไดนามิก
  • cn = schema, cn = config: ประกอบด้วยไฟล์ ฮาร์ดโค้ด ในระดับของแผนผังระบบ
  • cn = {0} core, cn = schema, cn = config: ฮาร์ดโค้ด ของแผนผังเคอร์เนล
  • cn = {1} โคไซน์, cn = สคีมา, cn = config: โครงการ โคไซน์.
  • cn = {2} nis, cn = schema, cn = config: โครงการ นิส
  • cn = {3} inetorgperson, cn = schema, cn = config: โครงการ คนเล่นเน็ต.
  • olcBackend = {0} hdb, cn = config: แบ็กเอนด์ ประเภทการจัดเก็บข้อมูล เอชดีบี.
  • olcDatabase = {- 1} frontend, cn = config: ส่วนหน้า ของฐานข้อมูลและพารามิเตอร์เริ่มต้นสำหรับฐานข้อมูลอื่น
  • olcDatabase = {0} config, cn = config: ฐานข้อมูลการกำหนดค่าของ ตบ (cn = config).
  • olcDatabase = {1} hdb, cn = config: อินสแตนซ์ของฐานข้อมูล (dc = เพื่อน, dc = cu)
: ~ # ldapsearch -x -LLL -H ldap: /// -b dc = ตัวอย่าง dc = com dn
dn: dc = friends, dc = cu dn: cn = admin, dc = friends, dc = cu
  • dc = เพื่อน, dc = cu: โครงสร้างข้อมูลไดเรกทอรีฐาน DIT
  • cn = admin, dc = friends, dc = cu: Administrator (rootDN) ของ DIT ที่ประกาศระหว่างการติดตั้ง

หมายเหตุ: ส่วนต่อท้ายฐาน dc = เพื่อน, dc = cuเอามัน ดีเบตคอนเฟอเรนซ์ ระหว่างการติดตั้งจาก เอฟคิวดีเอ็น ของเซิร์ฟเวอร์ Mildap.amigos.cu.

ดัชนีที่ต้องคำนึงถึง

การจัดทำดัชนีของรายการจะดำเนินการเพื่อปรับปรุงประสิทธิภาพของการค้นหาในไฟล์ DITด้วยเกณฑ์การกรอง ดัชนีที่เราจะพิจารณาเป็นค่าต่ำสุดที่แนะนำตามแอตทริบิวต์ที่ประกาศในสคีมาเริ่มต้น

ในการแก้ไขดัชนีในฐานข้อมูลแบบไดนามิกเราสร้างไฟล์ข้อความในรูปแบบ แอลดีไอเอฟและต่อมาเราจะเพิ่มลงในฐานข้อมูล เราสร้างไฟล์ olcDbIndex.ldif และเราปล่อยให้มันมีเนื้อหาต่อไปนี้:

: ~ # นาโน olcDbIndex.ldif
dn: olcDatabase = {1} hdb, cn = config changetype: modified add: olcDbIndex olcDbIndex: uidNumber eq - เพิ่ม: olcDbIndex olcDbIndex: gidNumber eq - เพิ่ม: olcDbIndex olcDbIndex: memberUid eq login, olc เข้าสู่ระบบ olc, olcDbIndex: memberUid eq เข้าสู่ระบบ olc : loginShell eq, olcDbIndex: เข้าสู่ระบบ - เพิ่ม: olcDbIndex olcDbIndex: uid pres, sub, eq - เพิ่ม: olcDbIndex olcDbIndex: cn pres, sub, eq - เพิ่ม: olcDbIndex olcDbIndex: sn pres, sub, olcDbnd - add: sn pres, sub, olcDbnd - add: , ou pres, eq, sub - add: olcDbIndex olcDbIndex: displayName pres, sub, eq - add: olcDbIndex olcDbIndex: default sub - add: olcDbIndex olcDbIndex: mail eq, subinitial - add: olcDbIndex olcDbInd

เราเพิ่มดัชนีลงในฐานข้อมูลและตรวจสอบการแก้ไข:

: ~ # ldapmodify -Y ภายนอก -H ldapi: /// -f ./olcDbIndex.ldif

: ~ # ldapsearch -Q -LLL -Y ภายนอก -H ldapi: /// -b \ cn = config '(olcDatabase = {1} hdb)' olcDbIndex

dn: olcDatabase = {1} hdb, cn = config olcDbIndex: objectClass eq olcDbIndex: uidNumber, gidNumber eq olcDbIndex: memberUid eq, pres, sub olcDbIndex: loginShell eq olcDbIndex: uid presq olc: old presnd e cn presq olcDbIndex: sn pres, sub, eq olcDbIndex: givenName, ou pres, eq, sub olcDbIndex: displayName pres, sub, eq olcDbIndex: default sub olcDbIndex: mail eq, subinitial olcDbIndex: dc eq

กฎการควบคุมการเข้าถึงข้อมูล

Access Control เรียกว่ากฎที่กำหนดขึ้นเพื่อให้ผู้ใช้สามารถอ่านแก้ไขเพิ่มและลบข้อมูลในฐานข้อมูล Directory ได้ในขณะที่เราจะเรียก Access Control Lists หรือ«รายการควบคุมการเข้าถึง ACL»ไปยังนโยบายที่กำหนดค่ากฎ

หากต้องการทราบว่า ACL ถูกประกาศตามค่าเริ่มต้นในระหว่างกระบวนการติดตั้งไฟล์ ตบเราดำเนินการ:

: ~ # ldapsearch -Q -LLL -Y ภายนอก -H ldapi: /// -b \
cn = config '(olcDatabase = {1} hdb)' olcAccess

: ~ # ldapsearch -Q -LLL -Y ภายนอก -H ldapi: /// -b \
cn = config '(olcDatabase = {- 1} ส่วนหน้า)' olcAccess

: ~ # ldapsearch -Q -LLL -Y ภายนอก -H ldapi: /// -b \
cn = config '(olcDatabase = {0} config)' olcAccess

: ~ # ldapsearch -Q -LLL -Y ภายนอก -H ldapi: /// -b \
cn = config '(olcAccess = *)' olcAccess olcSuffix

แต่ละคำสั่งข้างต้นจะแสดงไฟล์ ACL จนถึงตอนนี้เราได้ประกาศไว้ในไดเรกทอรีของเรา โดยเฉพาะคำสั่งสุดท้ายจะแสดงทั้งหมดในขณะที่คำสั่งสามข้อแรกให้กฎการควบคุมการเข้าถึงสำหรับทั้งสาม DIT มีส่วนร่วมใน ตบ.

ในเรื่องของ ACL และเพื่อไม่ให้บทความยาวมากเราขอแนะนำให้อ่านหน้าคู่มือ คนตบการเข้าถึง.

เพื่อรับประกันการเข้าถึงของผู้ใช้และผู้ดูแลระบบเพื่ออัปเดตรายการของพวกเขา เข้าสู่ระบบShell y ตุ๊กแกเราจะเพิ่ม ACL ต่อไปนี้:

## เราสร้างไฟล์ olcAccess.ldif และปล่อยให้มีเนื้อหาต่อไปนี้: ~ # nano olcAccess.ldif
dn: olcDatabase = {1} hdb, cn = config changetype: modified add: olcAccess olcAccess: {1} to attrs = loginShell, gecos by dn = "cn = admin, dc = friends, dc = cu" เขียนด้วยตนเองเขียนโดย * อ่าน

## เราเพิ่ม ACL
: ~ # ldapmodify -Y ภายนอก -H ldapi: /// -f ./olcAccess.ldif

# เราตรวจสอบการเปลี่ยนแปลง
ldapsearch -Q -LLL -Y ภายนอก -H ldapi: /// -b \
cn = config '(olcAccess = *)' olcAccess olcSuffix

การสร้างใบรับรอง TLS ใน Squeeze

ในการตรวจสอบความถูกต้องอย่างปลอดภัยกับเซิร์ฟเวอร์ OpenLDAP เราต้องดำเนินการผ่านเซสชันที่เข้ารหัสซึ่งเราสามารถทำได้โดยใช้ TLS « Transport Layer Security » o Secure Transport Layer

เซิร์ฟเวอร์ OpenLDAP และไคลเอนต์สามารถใช้ไฟล์ กรอบ TLS เพื่อให้ความคุ้มครองเกี่ยวกับความสมบูรณ์และการรักษาความลับตลอดจนการสนับสนุนการตรวจสอบความปลอดภัย LDAP ผ่านกลไก SASL «การรับรองความถูกต้องและเลเยอร์ความปลอดภัยอย่างง่าย« ภายนอก.

เซิร์ฟเวอร์ OpenLDAP สมัยใหม่นิยมใช้ */ StartTLS /* o เริ่ม Secure Transport Layer ไปที่ / protocolLDAPS: ///ซึ่งล้าสมัย มีคำถามโปรดไปที่ * เริ่ม TLS v. ldaps: // * en http://www.openldap.org/faq/data/cache/605.html

เพียงแค่ปล่อยไฟล์ที่ติดตั้งไว้ตามค่าเริ่มต้น / etc / default / Slapd ด้วยคำสั่ง SLAPD_SERVICES = » ldap: /// ldapi: /// »โดยมีจุดประสงค์เพื่อใช้แชนเนลที่เข้ารหัสระหว่างไคลเอนต์และเซิร์ฟเวอร์และแอ็พพลิเคชันเสริมเองเพื่อจัดการ OpenLDAP ที่ติดตั้งภายในเครื่อง

วิธีการที่อธิบายไว้ที่นี่ขึ้นอยู่กับแพ็คเกจ Gnutls-bin y ssl-ใบรับรอง ใช้ได้กับ Debian 6 "Squeeze" และสำหรับ Ubuntu Server 12.04 สำหรับ Debian 7 "Wheezy" อีกวิธีหนึ่งตาม OpenSSL.

การสร้างใบรับรองใน Squeeze จะดำเนินการดังนี้:

1.- เราติดตั้งแพ็คเกจที่จำเป็น
: ~ # aptitude ติดตั้ง gnutls-bin ssl-cert

2.- เราสร้างคีย์หลักสำหรับผู้ออกใบรับรอง
: ~ # sh -c "certtool --generate-privkey> /etc/ssl/private/cakey.pem"

3.- เราสร้างเทมเพลตเพื่อกำหนด CA (ผู้ออกใบรับรอง)
: ~ # nano /etc/ssl/ca.info cn = Cuban Friends ca cert_signing_key

4.- เราสร้าง CA Self Signed หรือ Self-Signed Certificate สำหรับลูกค้า
: ~ # certtool - สร้างการลงนามด้วยตนเอง \ --load-privkey /etc/ssl/private/cakey.pem \ --template /etc/ssl/ca.info \ --outfile / etc / ssl / certs / cacert.pem

5.- เราสร้างคีย์ส่วนตัวสำหรับเซิร์ฟเวอร์
: ~ # certtool --generate-privkey \ --bits 1024 \ --outfile /etc/ssl/private/mildap-key.pem

หมายเหตุ: แทนที่ "อ่อนโยน"ในชื่อไฟล์ด้านบนตามเซิร์ฟเวอร์ของคุณเองการตั้งชื่อใบรับรองและคีย์ทั้งสำหรับเซิร์ฟเวอร์และสำหรับบริการที่ใช้งานจะช่วยให้เราเก็บข้อมูลได้ชัดเจน

6.- เราสร้างไฟล์ /etc/ssl/mildap.info ด้วยเนื้อหาต่อไปนี้:
: ~ # nano /etc/ssl/mildap.info องค์กร = Cuban Friends cn = mildap.amigos.cu tls_www_server encryption_key Sign_key expiration_days = 3650

หมายเหตุ: ในเนื้อหาข้างต้นเราขอประกาศว่าใบรับรองมีอายุ 10 ปี ต้องปรับพารามิเตอร์ตามความสะดวกของเรา

7.- เราสร้างใบรับรองเซิร์ฟเวอร์
: ~ # certtool - สร้างใบรับรอง \ --load-privkey /etc/ssl/private/mildap-key.pem \ --load-ca-certificate /etc/ssl/certs/cacert.pem \ --load- ca-privkey /etc/ssl/private/cakey.pem \ --template /etc/ssl/mildap.info \ --outfile /etc/ssl/certs/mildap-cert.pem

จนถึงตอนนี้เราได้สร้างไฟล์ที่จำเป็นแล้วเราต้องเพิ่มตำแหน่งของใบรับรองที่ลงนามด้วยตนเองลงในไดเรกทอรีเท่านั้น cacert.pem; ของใบรับรองเซิร์ฟเวอร์ Mildap-cert.pem; และคีย์ส่วนตัวของเซิร์ฟเวอร์ Mildap-key.pem. เราต้องปรับการอนุญาตและเจ้าของไฟล์ที่สร้างขึ้นด้วย

: ~ # นาโน /etc/ssl/certinfo.ldif
dn: cn = config เพิ่ม: olcTLSCACertificateFile olcTLSCACertificateFile: /etc/ssl/certs/cacert.pem - เพิ่ม: olcTLSCertificateFile olcTLSCertificateFile: /etc/ssl/certificate/mildap-certificateCertificate ฯลฯ : ฯลฯ /mildap-key.pem

8.- เราเพิ่ม: ~ # ldapmodify -Y EXTERNAL -H ldapi: /// -f /etc/ssl/certinfo.ldif

9.- เราปรับเปลี่ยนเจ้าของและสิทธิ์
: ~ # adduser openldap ssl-cert: ~ # chgrp ssl-cert /etc/ssl/private/mildap-key.pem: ~ # chmod g + r /etc/ssl/private/mildap-key.pem: ~ # chmod หรือ /etc/ssl/private/mildap-key.pem

ใบรับรอง cacert.pem เป็นสิ่งที่เราต้องคัดลอกในไคลเอนต์แต่ละราย ในการใช้ใบรับรองนี้บนเซิร์ฟเวอร์เราจะต้องประกาศในไฟล์ /etc/ldap/ldap.conf. ในการดำเนินการนี้เราแก้ไขไฟล์และปล่อยให้มีเนื้อหาต่อไปนี้:

: ~ # นาโน /etc/ldap/ldap.conf
ฐาน dc = เพื่อน, dc = cu URI ldap: //mildap.amigos.cu TLS_CACERT /etc/ssl/certs/cacert.pem

สุดท้ายและเพื่อเป็นการตรวจสอบเราเริ่มบริการใหม่ ตบ และเราตรวจสอบผลลัพธ์ของไฟล์ syslog จากเซิร์ฟเวอร์เพื่อดูว่าบริการเริ่มต้นใหม่อย่างถูกต้องหรือไม่โดยใช้ใบรับรองที่ประกาศใหม่

: ~ # บริการตบเริ่มต้นใหม่
: ~ # หาง / var / log / syslog

หากบริการไม่เริ่มต้นใหม่อย่างถูกต้องหรือเราสังเกตเห็นข้อผิดพลาดร้ายแรงในไฟล์ syslogอย่าท้อถอย เราสามารถพยายามซ่อมแซมความเสียหายหรือเริ่มต้นใหม่ หากเราตัดสินใจที่จะเริ่มต้นจากศูนย์การติดตั้งไฟล์ ตบไม่จำเป็นต้องฟอร์แมตเซิร์ฟเวอร์ของเรา

ในการลบทุกอย่างที่เราทำไปแล้วไม่ว่าจะด้วยเหตุผลใดก็ตามเราต้องถอนการติดตั้งแพคเกจ ตบแล้วลบโฟลเดอร์ / var / lib / ldap. เราต้องทิ้งไฟล์ไว้ในเวอร์ชันดั้งเดิมด้วย /etc/ldap/ldap.conf.

เป็นเรื่องยากที่ทุกอย่างจะทำงานได้อย่างถูกต้องในครั้งแรก 🙂

โปรดจำไว้ว่าในงวดหน้าเราจะเห็น:

  • การตรวจสอบผู้ใช้ภายใน
  • เติมฐานข้อมูล
  • จัดการฐานข้อมูลโดยใช้ยูทิลิตี้คอนโซล
  • สรุปจนถึงตอนนี้ ...

เจอกันเร็ว ๆ นี้เพื่อน!.


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   ฮิวโก้ dijo

    ครู!!!
    มันเกิดขึ้นกับตู!
    เป็นเลิศ
    สิ่งที่ชอบทั้งหมดของโลกสำหรับคุณ
    ????

    1.    เฟเดริโก้ dijo

      ขอบคุณมากฮิวโก้ !!! รอติดตามบทความต่อไปเรื่อง

  2.   ชื่อนี้ dijo

    สวัสดี:

    น่าสนใจชุดบทความของคุณ

    ฉันประหลาดใจที่ได้อ่านข้อความนี้: "เซิร์ฟเวอร์ OpenLDAP สมัยใหม่ชอบใช้ StartTLS หรือ Start a Secure Transport Layer กับโปรโตคอล TLS / SSL เก่าซึ่งล้าสมัยแล้ว"

    คุณอ้างว่าในทุกกรณีแม้ว่าจะอยู่นอกขอบเขต LDAP ก็ตาม STARTTLS เป็นกลไกการป้องกันที่เหนือกว่า TSL / SSL หรือไม่?

    1.    เฟเดริโก้ dijo

      ขอบคุณสำหรับความคิดเห็น โปรดทราบว่าฉันหมายถึง OpenLDAP ฉันไม่เกินเลย ใน http://www.openldap.org/faq/data/cache/185.htmlคุณสามารถอ่านสิ่งต่อไปนี้:

      Transport Layer Security (TLS) เป็นชื่อมาตรฐานสำหรับ Secure Socket Layer (SSL) โดยทั่วไปข้อกำหนด (เว้นแต่จะได้รับการรับรองด้วยหมายเลขเวอร์ชันที่เฉพาะเจาะจง) โดยทั่วไปแล้วสามารถแลกเปลี่ยนกันได้

      StartTLS เป็นชื่อของการดำเนินการ LDAP มาตรฐานสำหรับการเริ่มต้น TLS / SSL TLS / SSL เริ่มต้นเมื่อการดำเนินการ LDAP นี้เสร็จสมบูรณ์ ไม่จำเป็นต้องมีพอร์ตสำรอง บางครั้งเรียกว่าการดำเนินการอัปเกรด TLS เนื่องจากอัปเกรดการเชื่อมต่อ LDAP แบบปกติเป็นแบบที่มีการป้องกันโดย TLS / SSL

      ldaps: // และ LDAPS หมายถึง "LDAP over TLS / SSL" หรือ "LDAP Secured" TLS / SSL เริ่มต้นเมื่อเชื่อมต่อกับพอร์ตอื่น (ปกติ 636) แม้ว่าพอร์ต LDAPS (636) จะถูกลงทะเบียนสำหรับการใช้งานนี้ แต่รายละเอียดของกลไกการเริ่มต้น TLS / SSL ก็ไม่ได้เป็นมาตรฐาน

      เมื่อเริ่มต้นแล้วจะไม่มีความแตกต่างระหว่าง ldaps: // และ StartTLS พวกเขาแชร์ตัวเลือกการกำหนดค่าเดียวกัน (ยกเว้น ldaps: // ต้องการการกำหนดค่าของตัวฟังแยกต่างหากดูตัวเลือก sld (8) s -h) และส่งผลให้เหมือนกับการสร้างบริการความปลอดภัย
      หมายเหตุ
      1) ldap: // + StartTLS ควรนำไปยังพอร์ต LDAP ปกติ (ปกติ 389) ไม่ใช่ ldaps: // พอร์ต
      2) ldaps: // ควรนำไปยังพอร์ต LDAPS (ปกติ 636) ไม่ใช่พอร์ต LDAP

      1.    ชื่อนี้ dijo

        ขออภัยฉันยังไม่แน่ใจว่าทำไมคุณถึงอ้างว่า: 1) เซิร์ฟเวอร์สมัยใหม่ชอบ STARTTLS เป็น SSL / TLS; 2) STARTTLS นั้นทันสมัยเทียบกับ SSL / TLS ที่ล้าสมัย

        ฉันต่อสู้มาครึ่งเดือนกับการกำหนดค่าไคลเอนต์เมลต่างๆที่เข้าถึงเซิร์ฟเวอร์ด้วย SSL (โดยใช้ไลบรารี openssl เหมือนกับซอฟต์แวร์ฟรีส่วนใหญ่) พร้อมใบรับรอง CA ใน / etc / ssl / certs / และอุปกรณ์อื่น ๆ และสิ่งที่ฉันได้เรียนรู้คือ 1) STARTTLS เข้ารหัสเฉพาะการรับรองความถูกต้องเซสชันเท่านั้น 2) SSL เข้ารหัสเนื้อหาทั้งหมดของเซสชันอย่างแน่นอน ดังนั้นจึงไม่มีทางเทคนิค STARTTLS เหนือกว่า SSL; ฉันค่อนข้างจะคิดตรงกันข้ามเนื่องจากเนื้อหาของเซสชันของคุณเดินทางโดยไม่ได้เข้ารหัสผ่านเครือข่าย

        สิ่งที่แตกต่างอีกประการหนึ่งคือขอแนะนำให้ใช้ STARTTLS ด้วยเหตุผลอื่นที่ฉันไม่ทราบ: เพื่อความเข้ากันได้กับ MSWindows เนื่องจากการใช้งานมีความเสถียรมากกว่าหรือได้รับการทดสอบที่ดีกว่า ... ฉันไม่รู้ นั่นคือเหตุผลที่ฉันถามคุณ

        จากคำพูดจากคู่มือที่คุณแนบมาให้ฉันในคำตอบของคุณฉันเห็นว่าความแตกต่างระหว่าง ldap: // และ ldaps: // เทียบเท่ากับความแตกต่างระหว่าง imap: // และ imaps: // หรือระหว่าง smtp : // และ smtps: //: มีการใช้พอร์ตอื่นมีการเพิ่มรายการเพิ่มเติมบางรายการในไฟล์การกำหนดค่า แต่พารามิเตอร์ที่เหลือจะถูกเก็บไว้ แต่นั่นไม่ได้บ่งบอกอะไรเกี่ยวกับการเลือกใช้ STARTTLS หรือไม่

        ทักทายและขออภัยสำหรับการตอบกลับ ฉันแค่พยายามเรียนรู้เพิ่มเติมเล็กน้อย

        1.    เฟเดริโก้ dijo

          ดูเป็นเรื่องยากมากที่ในบทความของฉันฉันอ้างสิทธิ์ในความสามารถนั้นโดยไม่ได้รับการสนับสนุนจากสิ่งพิมพ์ที่จริงจัง ในตอนท้ายของซีรีส์ฉันจะรวมลิงค์ทั้งหมดไปยังเอกสารที่ฉันคิดว่าจริงจังและฉันได้ปรึกษากันเพื่อเขียนโพสต์ ฉันเลื่อนลิงค์ต่อไปนี้ให้คุณ:

          https://wiki.debian.org/LDAP/OpenLDAPSetup
          คู่มือเซิร์ฟเวอร์ Ubuntu https://code.launchpad.net/serverguide
          OpenLDAP- ทางการ http://www.openldap.org/doc/admin24/index.html
          LDAP ผ่าน SSL / TLS และ StartTLS http://tt4cs.wordpress.com/2014/01/18/ldap-over-ssltls-and-starttls/

          นอกจากนี้ฉันได้ศึกษาเอกสารประกอบที่ติดตั้งมากับแต่ละแพ็คเกจ

          ปัญหาด้านความปลอดภัยโดยทั่วไปและความแตกต่างระหว่าง StartTLS และ TLS / SSL เป็นเรื่องทางเทคนิคมากและมีความลึกซึ้งมากจนฉันไม่คิดว่าตัวเองมีความรู้ที่จำเป็นในการให้คำอธิบายดังกล่าว ฉันคิดว่าเราสามารถพูดคุยกันต่อทางอีเมลได้

          นอกจากนี้ฉันระบุว่าไม่สามารถใช้ LDAPS: // ได้ที่ไหน ถ้าคิดว่าปลอดภัยกว่าก็ลุย !!!

          ฉันไม่สามารถช่วยคุณได้อีกต่อไปและขอขอบคุณสำหรับความคิดเห็นของคุณ

        2.    เฟเดริโก้ dijo

          ความชัดเจนอีกเล็กน้อยที่คุณจะได้รับ - เสมอเกี่ยวกับ OpenLDAP- ใน:
          http://www.openldap.org/faq/data/cache/605.html

          การดำเนินการเพิ่มเติม StartTLS [RFC 2830] เป็นกลไกมาตรฐานของ LDAPv3 สำหรับการเปิดใช้งานการป้องกันความลับของข้อมูล TLS (SSL) กลไกนี้ใช้การดำเนินการเสริม LDAPv3 เพื่อสร้างการเชื่อมต่อ SSL / TLS ที่เข้ารหัสภายในการเชื่อมต่อ LDAP ที่กำหนดไว้แล้ว แม้ว่ากลไกจะได้รับการออกแบบมาเพื่อใช้กับ TLSv1 แต่การใช้งานส่วนใหญ่จะเปลี่ยนกลับเป็น SSLv3 (และ SSLv2) หากจำเป็น

          ldaps: // เป็นกลไกในการสร้างการเชื่อมต่อ SSL / TLS ที่เข้ารหัสสำหรับ LDAP ต้องใช้พอร์ตแยกกันโดยทั่วไปคือ 636 แม้ว่าเดิมจะออกแบบมาเพื่อใช้กับ LDAPv2 และ SSLv2 การใช้งานจำนวนมากสนับสนุนการใช้งานกับ LDAPv3 และ TLSv1 แม้ว่าจะไม่มีข้อกำหนดทางเทคนิคสำหรับ ldaps: // แต่ก็ใช้กันอย่างแพร่หลาย

          ldaps: // เลิกใช้งานแล้วเนื่องจาก Start TLS [RFC2830] OpenLDAP 2.0 รองรับทั้งสองอย่าง
          ด้วยเหตุผลด้านความปลอดภัยควรกำหนดค่าเซิร์ฟเวอร์ไม่ให้ยอมรับ SSLv2

  3.   ฟรี dijo

    นี่จะเป็นหนึ่งในบทความที่ผู้ใช้จะไม่แสดงความคิดเห็นเนื่องจากพวกเขาดูสื่อลามกบนสถานี Linux เท่านั้นพวกเขาจึงไม่สนใจเกี่ยวกับ ldap ฉันมีบริการที่เกี่ยวข้องหลายอย่างภายในเครือข่ายที่แตกต่างกันสำหรับ บริษัท ที่ฉันทำงานให้ บทความดี !!

    1.    เฟเดริโก้ dijo

      ขอบคุณสำหรับความคิดเห็น !!!. และคำแถลงของคุณเป็นความจริงมากเกี่ยวกับความคิดเห็นบางส่วนในบทความของฉัน อย่างไรก็ตามฉันได้รับการติดต่อจากผู้อ่านที่สนใจหรือจากผู้อื่นที่ดาวน์โหลดบทความเพื่ออ่านและสมัครในภายหลัง

      การแสดงความคิดเห็นผ่านความคิดเห็นมีประโยชน์เสมอแม้ว่าจะเป็น: ฉันบันทึกไว้เพื่ออ่านในภายหลังน่าสนใจหรือความคิดเห็นอื่น

      ความนับถือ

  4.   เฟเดริโก้ dijo

    ฟรีเก้ !!! ขอบคุณสำหรับความคิดเห็น ฉันได้รับความคิดเห็นของคุณทางไปรษณีย์ แต่ไม่เห็นแม้ว่าฉันจะรีเฟรชหน้าเว็บหลายครั้ง เพื่อนคุณสามารถทดสอบสิ่งนี้และบทความก่อนหน้านี้ได้โดยไม่มีปัญหาใน Squeeze หรือ Ubuntu Server 12.04 ในใบรับรอง Wheezy ถูกสร้างขึ้นแตกต่างกันโดยใช้ OpenSSL แต่ไม่มีอะไร. ขอแสดงความนับถือพี่ชาย !!!.

  5.   เฟเดริโก้ dijo

    @thisnameisfalse: พนักงานที่ดีที่สุดจะเบลอ ขอบคุณสำหรับความคิดเห็นของคุณฉันคิดว่าย่อหน้าที่เป็นปัญหาควรเป็นดังนี้:

    เซิร์ฟเวอร์ OpenLDAP สมัยใหม่ชอบใช้ StartTLS หรือ Start a Secure Transport Layer ไปยังโปรโตคอล LDAPS: // ซึ่งล้าสมัย มีคำถามใด ๆ โปรดไปที่เริ่ม TLS v ldaps: // en http://www.openldap.org/faq/data/cache/605.html

    ความนับถือ

  6.   Jose Monge dijo

    พอดีตอนนี้มีการบ้านเรื่อง ldap

  7.   วอลเตอร์ dijo

    คุณไม่สามารถรวมทุกอย่างไว้ในไฟล์เดียวเพื่อให้คุณสามารถดาวน์โหลดบทช่วยสอนทั้งหมดได้

  8.   เคย dijo

    ฉันเป็นช่างเทคนิคคอมพิวเตอร์ที่มีประสบการณ์มากมายใน Linux แต่ฉันก็ยังหลงทางอยู่ตรงกลางของบทความ จากนั้นฉันจะอ่านซ้ำอย่างรอบคอบมากขึ้น ขอบคุณมากสำหรับการสอน
    แม้ว่าจะเป็นเรื่องจริงที่ช่วยให้เราเข้าใจมากขึ้นว่าทำไม ActiveDirectory จึงถูกเลือกสำหรับสิ่งเหล่านี้ มีจักรวาลแห่งความแตกต่างเมื่อพูดถึงความเรียบง่ายของการกำหนดค่าและการนำไปใช้งาน
    ความนับถือ

  9.   เฟเดริโก้ dijo

    ขอบคุณทุกท่านสำหรับการแสดงความคิดเห็น!
    @jose monge ฉันหวังว่ามันจะช่วยคุณได้
    @walter ในตอนท้ายของโพสต์ทั้งหมดฉันจะดูว่าฉันสามารถสร้างบทสรุปในรูปแบบ html หรือ pdf ได้หรือไม่
    @eVeR ในทางกลับกัน OpenLDAP นั้นง่ายกว่า - แม้ว่าจะดูเหมือนไม่ใช่ Active Directory ก็ตาม รอบทความถัดไปแล้วคุณจะเห็น

  10.   มาร์เซโล dijo

    คำถามฉันทำการติดตั้งทีละขั้นตอน แต่เมื่อรีสตาร์ทบริการ sld มันทำให้ฉันเกิดข้อผิดพลาดต่อไปนี้>

    30 ก.ค. 15:27:37 น. xxxx ตบ [1219]: @ (#) $ OpenLDAP: ตบ (Ubuntu) (17 มี.ค. 2014 21:20:08 น.) $ # 012 # 011buildd @ aatxe: /build/buildd/openldap-2.4.31 .XNUMX / เดเบียน / สร้าง / เซิร์ฟเวอร์ / ตบ
    30 ก.ค. 15:27:37 xxxxx ตบ [1219]: UNKNOWN attributeDescription "CHANGETYPE" แทรกแล้ว
    30 ก.ค. 15:27:37 xxxxx ตบ [1219]: UNKNOWN attributeDescription "ADD" แทรก
    30 ก.ค. 15:27:37 น. xxxxx [1219]: <= str2entry: Slap_str2undef_ad (-): empty Attribute
    30 ก.ค. 15:27:37 xxxxx ตบ [1219]: ตบหยุด
    30 ก.ค. 15:27:37 น. xxxxx [1219]: connections_destroy: nothing to destroy.

    1.    x11tete11x dijo

      คุณสามารถถามในฟอรัม😀 http://foro.desdelinux.net/

  11.   pedrop dijo

    สำหรับทุกคนที่เห็นโพสต์ที่ยอดเยี่ยมและอธิบายได้ดีและปัญหานี้เกิดขึ้นเมื่อสร้าง ACL:
    ldapmodify: รายการรูปแบบที่ไม่ถูกต้อง (บรรทัดที่ 5): "olcDatabase = {1} hdb, dc = config"

    หลังจากครุ่นคิดค้นหาอินเทอร์เน็ตปรากฎว่า ldapmodify เป็นประเภทที่แม่นยำที่สุดบนหน้าเว็บ เป็นเรื่องที่น่าตกใจกับการใส่อักขระผิดตำแหน่งและการเว้นวรรคต่อท้าย โดยไม่ต้องกังวลใจอีกต่อไปคำแนะนำคือให้เขียนตามเงื่อนไขติดกันหรือโดย X เขียนด้วยตนเองเขียนโดย * read หากยังใช้งานไม่ได้ให้ติดตั้ง Notepad ++> View> Show symbol และสุดท้ายตายไปยังอักขระที่มองไม่เห็น ฉันหวังว่าจะมีคนช่วย

  12.   pedrop dijo

    สร้างใบรับรองสำหรับ Debian Wheezy โดยใช้ OpenSSL ซึ่งสามารถให้บริการ:
    http://blog.phenobarbital.info/2014/10/openldap-tlsssl-configuracion-basica-y-aseguramiento/