LDAP ์„œ๋ฒ„ ReOpenLDAP 1.2.0 ์ถœ์‹œ

GitHub์—์„œ ์ €์žฅ์†Œ๋ฅผ ์ฐจ๋‹จํ•œ ํ›„ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ถ€ํ™œ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ LDAP ์„œ๋ฒ„ ReOpenLDAP 1.2.0์˜ ๊ณต์‹ ๋ฆด๋ฆฌ์Šค๊ฐ€ ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ง€๋‚œ XNUMX์›” GitHub๋Š” ReOpenLDAP ์ €์žฅ์†Œ๋ฅผ ํฌํ•จํ•˜์—ฌ ๋ฏธ๊ตญ ์ œ์žฌ ๋Œ€์ƒ ๊ธฐ์—…๊ณผ ๊ด€๋ จ๋œ ๋งŽ์€ ๋Ÿฌ์‹œ์•„ ๊ฐœ๋ฐœ์ž์˜ ๊ณ„์ •๊ณผ ์ €์žฅ์†Œ๋ฅผ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค. ReOpenLDAP์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž ๊ด€์‹ฌ์ด ๋‹ค์‹œ ๋†’์•„์ง์— ๋”ฐ๋ผ ํ”„๋กœ์ ํŠธ๋ฅผ ๋‹ค์‹œ ํ™œ์„ฑํ™”ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

ReOpenLDAP ํ”„๋กœ์ ํŠธ๋Š” PJSC MegaFon์˜ ์ธํ”„๋ผ์—์„œ OpenLDAP ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด 2014๋…„์— ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ LDAP ์„œ๋ฒ„๋Š” ์ธํ”„๋ผ ํ•˜์œ„ ์‹œ์Šคํ…œ(NGDR์€ UDR(์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ)) ์ค‘ ํ•˜๋‚˜์— ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. 3GPP 23.335 ํ‘œ์ค€์ด๋ฉฐ ํ†ต์‹  ์‚ฌ์—…์ž์˜ IT ์ธํ”„๋ผ์— ์žˆ๋Š” ๋ชจ๋“  ์œ ํ˜•์˜ ๊ฐ€์ž…์ž ์„œ๋น„์Šค์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ์ค‘์•™ ์ง‘์ค‘์‹ ๋…ธ๋“œ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๊ณ ๋ถ€ํ•˜ ์‹œ๋‚˜๋ฆฌ์˜ค(์ดˆ๋‹น 24K ์—…๋ฐ์ดํŠธ ๋ฐ 7K ์ฝ๊ธฐ) ๋ฐ ๋‹ค์ค‘ ๋งˆ์Šคํ„ฐ ํ† ํด๋กœ์ง€์—์„œ 10์ฒœ๋งŒ~100์–ต ํ•ญ๋ชฉ ํฌ๊ธฐ์˜ ํŠน์ • LDAP ๋””๋ ‰ํ† ๋ฆฌ์˜ 10ร—50 ๋ชจ๋“œ์—์„œ ์‚ฐ์—…์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ฐ€์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

OpenLDAP ์ฝ”๋“œ์˜ ์ฃผ์š” ๊ฐœ๋ฐœ์ž, ์ปค๋ฏธํ„ฐ ๋ฐ ์†Œ์œ ์ž์ธ Symas Corp๋Š” ๋ฐœ์ƒํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์Šค์Šค๋กœ ํ•ด๊ฒฐํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜์ค‘์— ์•Œ๊ณ  ๋ณด๋‹ˆ ์ฝ”๋“œ์—๋Š” ์˜ˆ์ƒํ–ˆ๋˜ ๊ฒƒ๋ณด๋‹ค ๋” ๋งŽ์€ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ณ„ํš๋ณด๋‹ค ๋” ๋งŽ์€ ๋…ธ๋ ฅ์ด ์†Œ์š”๋˜์—ˆ์œผ๋ฉฐ ReOpenLDAP๋Š” ์—ฌ์ „ํžˆ ์–ด๋Š ์ •๋„ ๊ฐ€์น˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉฐ (์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ •๋ณด์— ๋”ฐ๋ฅด๋ฉด) ๊ณ ๋ถ€ํ•˜ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ํฌํ•จํ•˜์—ฌ RFC-4533์— ๋Œ€ํ•œ ๋‹ค์ค‘ ๋งˆ์Šคํ„ฐ ํ† ํด๋กœ์ง€๋ฅผ ์™„์ „ํ•˜๊ณ  ์•ˆ์ •์ ์œผ๋กœ ์ง€์›ํ•˜๋Š” ์œ ์ผํ•œ LDAP ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค.

2016๋…„์— ํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ๊ฐ€ ๋‹ฌ์„ฑ๋˜์—ˆ์œผ๋ฉฐ MegaFon PJSC์˜ ์ด์ต์„ ์ง์ ‘์ ์œผ๋กœ ๊ณ ๋ คํ•œ ํ”„๋กœ์ ํŠธ ์ง€์› ๋ฐ ๊ฐœ๋ฐœ์ด ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ReOpenLDAP๋Š” XNUMX๋…„ ๋™์•ˆ ์ ๊ทน์ ์œผ๋กœ ๊ฐœ๋ฐœ๋˜๊ณ  ์ง€์›๋˜์—ˆ์ง€๋งŒ ์ ์ฐจ ์˜๋ฏธ๋ฅผ ์žƒ์—ˆ์Šต๋‹ˆ๋‹ค.

  • ๊ธฐ์ˆ ์ ์œผ๋กœ MegaFon์€ ReOpenLDAP์—์„œ ๊ตฌ์กฐ์ ์œผ๋กœ ์˜ฌ๋ฐ”๋ฅธ Tarantool๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ช…ํ™•ํ•˜๊ฒŒ ๊ด€์‹ฌ์„ ๋ณด์ด๋Š” ReOpenLDAP ์‚ฌ์šฉ์ž๋Š” ์—†์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ง„์ž… ์ž„๊ณ„๊ฐ’์ด ๋†’๊ณ  ReOpenLDAP ์ž์ฒด์— ๋Œ€ํ•œ ์ˆ˜์š”๊ฐ€ ๋‚ฎ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐœ๋ฐœ์ž ์ค‘ ๋ˆ„๊ตฌ๋„ ํ”„๋กœ์ ํŠธ์— ์ฐธ์—ฌํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
  • ๋‚˜๋จธ์ง€ (์ฃผ) ๊ฐœ๋ฐœ์ž๊ฐ€ ์ „๋ฌธ์ ์œผ๋กœ ReOpenLDAP์˜ ์‚ฐ์—… ์šด์˜์—์„œ ๋ฒ—์–ด๋‚˜๋ฉด์„œ ๊ฐœ๋ฐœ ๋ฐ ์ง€์›์— ๋„ˆ๋ฌด ๋งŽ์€ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋น„ํ™œ์„ฑ ์ƒํƒœ์˜ ReOpenLDAP ์ €์žฅ์†Œ๋Š” 2022๋…„ XNUMX์›”๊นŒ์ง€ ์กด์žฌํ–ˆ๋Š”๋ฐ, ์ด๋•Œ Github ๊ด€๋ฆฌํŒ€์€ ์•„๋ฌด๋Ÿฐ ๊ฒฝ๊ณ ๋‚˜ ์„ค๋ช…๋„ ์—†์ด ๊ด€๋ จ ๊ณ„์ •๊ณผ ์ €์žฅ์†Œ ์ž์ฒด๋ฅผ ์‚ญ์ œํ–ˆ์Šต๋‹ˆ๋‹ค. ์ตœ๊ทผ ์ž‘์„ฑ์ž๋Š” ์ €์žฅ์†Œ ์œ„์น˜ ๋ฐ ์ฝ”๋“œ๋ฒ ์ด์Šค ์ƒํƒœ๋ฅผ ํฌํ•จํ•˜์—ฌ ReOpenLDAP์— ๊ด€ํ•œ ์—ฌ๋Ÿฌ ์š”์ฒญ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ตœ์†Œํ•œ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ๊ธฐ์ˆ  ๋ฆด๋ฆฌ์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ์ด ์†Œ์‹์„ ๊ด€์‹ฌ ์žˆ๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ์•Œ๋ฆฌ๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

OpenLDAP ๊ด€๋ จ์„ ํฌํ•จํ•œ ํ”„๋กœ์ ํŠธ์˜ ํ˜„์žฌ ์ƒํƒœ:

  • 2018๋…„ XNUMX์›” ์ดํ›„ OpenLDAP์—์„œ ๊ฐœ์„  ์‚ฌํ•ญ ๋ฐ ์ˆ˜์ • ์‚ฌํ•ญ์„ ๊ฐ€์ ธ์˜ค์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ค‘์š”ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฒฝ์šฐ OpenLDAP์˜ ๋ชจ๋“  ์ˆ˜์ • ์‚ฌํ•ญ์„ ๋ถ„์„ํ•˜๊ณ  ๊ด€๋ จ ์ˆ˜์ • ์‚ฌํ•ญ์„ ๊ฐ€์ ธ์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • OpenLDAP์˜ ํ˜„์žฌ ๋ฒ„์ „์€ ์ด์ œ 2.5 ๋ถ„๊ธฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์•„๋ž˜์— ์„ค๋ช…๋œ ์ˆ˜์ • ์‚ฌํ•ญ์€ "devel" ๋ถ„๊ธฐ(OpenLDAP 2.5์— ํ•ด๋‹น)์—์„œ๋งŒ ์ˆ˜ํ–‰๋œ ๋‹ค์Œ "master" ๋ถ„๊ธฐ(๋ณ‘ํ•ฉ ์ „ OpenLDAP 2.4์— ํ•ด๋‹น)๋กœ ๋ณ‘ํ•ฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • 2018๋…„์—๋Š” OpenLDAP์—์„œ ์ƒ์†๋œ config-backend ๋ฌธ์ œ๊ฐ€ ์ง€์†๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ, config-backend๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„ ๊ตฌ์„ฑ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒฝ์šฐ(LDAP๋ฅผ ํ†ตํ•ด LDAP ๊ตฌ์„ฑ) ๊ฒฝ์Ÿ ์กฐ๊ฑด์ด๋‚˜ ๊ต์ฐฉ ์ƒํƒœ๋ฅผ ํฌํ•จํ•œ ๋ฐ˜๋ณต์ ์ธ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
  • ์•„๋งˆ๋„ ํ˜„์žฌ ๋ฒ„์ „์˜ OpenSSL/GnuTLS์— ๋นŒ๋“œ ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • TLS/SSL์ด ํ•„์š”ํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ์ œ์™ธํ•œ ํ•ต์‹ฌ ๋…์  ํ…Œ์ŠคํŠธ ์„ธํŠธ๋ฅผ ํ†ต๊ณผํ•ฉ๋‹ˆ๋‹ค.

์ตœ์‹  ๊ฐœ์„  ์‚ฌํ•ญ:

  • libmdbx ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฐœ๋ฐœ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•œ ๋ชจ๋“  ๋น„ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๊ฐ€ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋งค๋‰ด์–ผ ํŽ˜์ด์ง€์—๋Š” ์˜ค๋ž˜๋œ ์ •๋ณด๊ฐ€ ๋‚จ์•„ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ˜„์žฌ ๋ฒ„์ „์˜ autotools 2.71์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ํ˜„์žฌ gcc 11.2 ์ปดํŒŒ์ผ๋Ÿฌ์˜ ์ผ๋ถ€ ๊ฒฝ๊ณ ์— ๋”ฐ๋ผ ์•ฝ๊ฐ„์˜ ํŽธ์ง‘์ด ์ด๋ฃจ์–ด์กŒ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€