نتسا مقالات LDAP چیست؟ مفهوم lDAP و تفاوت آن با اکتیو دایرکتوری

logo

LDAP چیست؟ مفهوم lDAP و تفاوت آن با اکتیو دایرکتوری

دسته بندی: مقالات
توسط : netssa 0 دیدگاه
18 نوامبر 2021

LDAP سرنام Lightweight Directory Access Protocol یک پروتکل استاندارد برای دسترسی به پوشه‌های مبتنی بر شبکه است. با این‎حال، با توجه به شناسایی رخنه ‎های امنیتی در این پروتکل، امروزه LPDAPS به عنوان جایگزینی بهتر و ایمن‌تر که قادر به رمزگذاری ارتباطات است از سوی کارشناسان شبکه استفاده می‎شود. نکته ه‎ای که لازم است در ارتباط با این پروتکل به آن دقت کنید آشنایی با مفهوم پوشه است. یک پوشه یا در اصطلاح تخصصی دایرکتوری شبکه نوعی بانک اطلاعاتی ویژه است که اطلاعات مربوط به دستگاه‎‌ها، برنامه‌ها، افراد و سایر پارامترهای فنی یک شبکه کامپیوتری را نگه‎داری و ذخیره‌سازی می‎کند. از قدرتمندترین فناوری‌هایی که برای ساخت دایرکتوری‌های شبکه از آن‎ها استفاده می‎شود باید به LDAP و Microsoft Active Directory اشاره کرد.

 

LDAP چیست؟

LDAP اواسط دهه ۹۰ میلادی توسط گروهی از متخصصان علوم کامپیوتر دانشگاه میشیگان در قالب یک پروژه تحقیقاتی پدید آمد و أواخر همین دهه بود که شرکت نت‎اسکیپ آن‎را به عنوان یک پروژه تجاری به دنیای فناوری معرفی کرد. فناوری مذکور از دو مولفه اصلی پروتکل شبکه و معماری استاندارد برای سازماندهی اطلاعات دایرکتوری تشکیل شده است. پروتکل LDAP را باید نسخه ساده‎ شده‌ای از پروتکل دسترسی داده (DAP) سرنام Data Access Protocol توصیف کرد که همزمان با ظهور استاندارد X.500 پدید آمد.

بزرگ‎ترین مزیتی که LDAP نسبت به پروتکل‎های قبل از خود دارد قابلیت پیاده‌سازی و اجرا روی پروتکل TCP/IP است. بنابراین سرپرستان شبکه به قابلیت‌های بهتری برای مدیریت پوشه‎‌ها و هدایت دقیق‎تر ترافیک شبکه دسترسی دارند. با این‎حال، پروتکل LDAP به لحاظ معماری شباهت زیادی به استاندارد X.500 دارد، به‎طوری که از یک ساختار توزیع درختی استفاده می‎کند تا شباهت بیشتری به اکتیودایرکتوری پیدا کند.

قبل از پیدایش پروتکل LDAP برای زیرساخت‎‌های شبکه و پوشش‌ها چه فناوری غالب بود؟

قبل از پدید آمدن استانداردهایی مثل X.500 و LDAP که عملکرد قابل قبولی دارند، بیشتر شرکت‎ها در هنگام پیاده‌‎سازی شبکه‌های سازمانی بزرگ از دایرکتوری شبکه اختصاصی مثل Banyan VINES، Novell Directory Service یا ویندوز سرور NT استفاده می‎کردند. با این‎حال، LDAP به دلیل مزایای غیر قابل انکاری که دارد موفق شد، رقبا را کنار گذاشته و به عنوان پروتکل اختصاصی در این زمینه به رسمیت شناخته شود.

 


چه شرکت‎هایی نیاز به استفاده از LDAP دارند؟

یکی از بزرگ‎ترین پرسش‎‌هایی که مهندسان شبکه مطرح می‎کنند این است که چه زمانی باید از پروتکل مذکور استفاده کنیم؟ در پاسخ به این پرسش باید بگوییم، امروزه بیشتر شبکه‌های کامپیوتری در مقیاس بزرگ و سازمانی برای طراحی و پیاده‌سازی زیرساخت‎ شبکه از سیستم‌عامل ویندوز سرور مایکروسافت استفاده می‎کنند که قابلیت‌های کاربردی منعطف و مختلفی در اختیار آن‎ها قرار می‎دهد. امروزه، سیستم‎های دایرکتوری مبتنی بر سرورهای LDAP مثل مایکروسافت اکتیو دایرکتوری (Microsoft Active Directory) و NetIQ eDirectory از این پروتکل به شکل گسترده‎ای استفاده می‎کنند.

به‎طور معمول پوشه‌‎های تحت شبکه خصایص و ویژگی‎‌های مختلفی در ارتباط با گره‎‌های شبکه مثل کامپیوترها، چاپگرها و موارد این چنینی نگه‎داری می‎کنند، در حالی که سیستم‌عامل‎ها نیز اطلاعات مربوط به حساب‎های کاربردی را ذخیره‌سازی و نگه‎داری می‎کنند. به‌طور مثال، سیستم‎های ایمیل که توسط کسب‎‌وکارها و مراکز آموشی مختلف استفاده می‎شود در بیشتر موارد از سرورهای LDAP برای نگهداری اطلاعات تماس استفاده می‎کنند.

با این‎حال، شما سرورهای LDAP را در شرکت‎های کوچک یا مقیاس خانگی پیدا نخواهید کرد، زیرا شبکه‎‌های خانگی یا شبکه ‎های پیاده‌سازی شده در شرکت‎های عادی به اندازه‎ای کوچک هستند که امکان نظارت فیزیکی روی آن‎ها به سادگی امکان‎پذیر است و لزومی ندارد تا پروتکل LDAP روی آن‎ها نصب و پیاده‌سازی شود. با وجودی که فناوری LDAP در قواعد تعریف شده برای دنیای شبکه‎‌های کامپیوتری قدمتی نسبتا طولانی دارد، اما همچنان برای کارشناسان شبکه جذابیت و تازگی دارد.

نکته دیگری که باید در همین ارتباط به آن اشاره کنیم، پروتکل SMB سرنام Server Message Block است که اولین بار در سیستم‎عامل‌های ویندوزی برای به‌اشتراک‌گذاری فایل روی شبکه از آن استفاده می‎شد. یونیکس هم از نسخه SMB در نرم‌افزار Samba استفاده می‌کند که برای اشتراک‌گذاری فایل با سایر سیستم‌عامل‌ها همچون ویندوز استفاده می‌شود. بنابراین به این نکته دقت کنید که در برخی از شبکه‎ها و به ویژه شبکه‎‌های مبتنی بر سیستم‌عامل لینوکس ممکن است پروتکل SMB را به عنوان راه‎حلی برای اشتراک‎گذاری فایل‎ها مشاهده کنید.

برای آشنایی بیشتر با پروتکل Server Message Block مقاله SMB Protocol چیست؟ چگونه کار میکند؟ را مطالعه کنید.

 


LDAP Server چیست؟

پروتکل دسترسی پوشه سبک وزن LDAP سرنام Lightweight Directory Access Protocol، پروتکلی برای یافتن و دستیابی به اطلاعات و فایل‎های کاربران در یک شبکه سازمانی یا در مقیاس وسیع‎تر اینترنت است. همان‎گونه که اشاره کردیم، پروتکل LDAP نسخه ساده شده‎ پروتکل دسترسی داده است که هر دو مبتنی بر استاندارد X500 هستند که به عنوان استاندارد Directory Services از آن نام برده می‎شود.

اصلی‎ترین وظیفه پروتکل مذکور تعریف یک زبان مشترک برای دسترسی به داده‌ها بین سرورها و کلاینت‎های شبکه است. به‎طوری که این دو گره تحت شبکه بتوانند به ساده‌ترین شکل به تبادل اطلاعات بپردازند. در این حالت، گره‎‌های تحت شبکه فارغ از سخت‎افزار و سیستم‎عاملی که دارند این توانایی را به دست می‎آورند تا به ساده‎ترین شکل به ارتباط و تبادل اطلاعات بپردازند. بنابراین یک کاربر سیستم‌عامل ویندوزی می‎تواند به اسناد و فایل‎هایی که یک کاربر سیستم‌عامل لینوکسی در شبکه به اشتراک قرار داده دسترسی پیدا کند.

بر مبنای این تعریف مشاهده می‎کنیم که پروتکل مذکور عملکردی شبیه به DNS دارد و در نقش یک دفترچه تلفن خیلی بزرگ ظاهر می‎شود که اطلاعات همه کاربران و گره‌های تحت شبکه را نگه‎داری و با یک جست‌وجوی ساده امکان دسترسی به اطلاعات را فراهم می‎کند. در LDAP اطلاعات در قالب رکوردهایی ذخیره می‌شوند. به‎طوری که تمامی وردهای داده‌ای که در سرور LDAP ذخیره می‌شوند شاخص‎‌گذاری می‎شوند تا دسترسی به آن‎ها در کوتاه‎ترین زمان فراهم شود.

برای آشنایی بیشتر مطالعه مقاله DNS چیست؟ چگونه کار می‌کند و چگونه تنظیم می‌شود؟ را پیشنهاد می کنیم.

در این حالت هنگامی که اطلاعاتی از طرف کاربر در قالب یک محاوره درخواست می‌شود، فیلترهای خاصی اعمال می‌شوند تا دسترسی به اطلاعات در کوتاه‎ترین زمان فراهم شود. شاخص‌گذاری با هدف دسترسی سریع‎تر و افزایش سرعت جست‎وجو برای پیدا کردن رکوردهای موردنظر است. با توجه به این‎که زیرساخت‎های شبکه همواره در معرض تهدیدات سایبری قرار دارند و این احتمال وجود دارد که هکرها بتوانند به یک شبکه سازمانی وارد شوند.

بنابراین توصیه می‎کنیم از LDAP برای اشتراک‎‌گذاری و دسترسی به منابع استفاده کنید، زیرا از مکانیزم‌های ساده، اما قدرتمند رمز‎نگاری در پروتکل TCP/IP برای تبادل اطلاعات و کنترل و مدیریت کاربران در شبکه پشتیبانی کرده و امکان نصب و پیکربندی سرویس دایرکتوری و سفارشی کردن آن برای انواع کاربردها در شبکه را فراهم می‎کند.

بزرگ‎ترین مزیتی که LDAP دارد و باعث شده تا هم‎گرایی خوبی با اکتیو دایرکتوری داشته باشد، ساختار درختی و سلسله مراتبی آن است که متشکل از عناصر مختلفی مثل ریشه پوشه (Root Directory) که همان منبع درخت است که اطلاعات اصلی را نگه‎داری می‎کند. کشورها/مناطق (Countries) که برای تقسیم‌‎بندی شاخه‌های مختلف از آن استفاده می‎شود، سازمان‎ها (Organizations) که شامل زیرشاخه‌های خاص خود هستند، واحدهای سازمانی (Organizational Units) شامل بخش‌ها و دپارتمان‌ها هستند و اشیا یا عناصر منفرد (Individuals/ Object) که شامل منابع اشتراکی، کاربران، گروه‌ها، فایل‌ها و اسناد می‌شوند.

 


چیست OpenLDAP

پروتکلی فارغ از سکو است که وابستگی خاصی به یک سیستم‎عامل مشخص ندارد. هرچند برای استفاده از آن در سیستم‎عامل‎های یونیکسی و شبیه یونیکسی مثل لینوکس باید نرم‎افزار OPEN LDAP را روی سیستم‎عامل لینوکس نصب کرد. این برنامه قابلیت اجرا روی طیف گسترده‎ای از سیستم‎عامل‎های لینوکسی را دارد. بنابراین اگر شبکه‎ای مبتنی بر سیستم‎عامل لینوکس را پیاده‎سازی کرده‎اید، بازهم بدون مشکل قادر به استفاده از LDAP و نرم‎افزار مذکور هستید.

 


مفاهیم LDAP

پرسشی که اکنون باید به آن پاسخ دهیم این است که چرا باید از LDAP استفاده کنیم؟ در پاسخ به این پرسش باید بگویی LDAP عمدتا با هدف انجام یک احراز هویت دقیق انجام می‎شود، به‎طوری که تجهیزاتی مانند دیوارهای آتش سخت‌افزاری، روترها و سرورها به خوبی از پروتکل فوق پشتیبانی می‌کنند. با استفاده از این پروتکل قادر به تعریف و استفاده از نام کاربری و گذرواژه‌‎ها هستیم.

امروزه دستگاه‌های سخت‌افزاری و نرم‌افزاهرای کاربردی مختلفی مثل کوبرنیتیس، داکر، جنکینس، پروتکل اشتراک‌گذاری فایل لینوکسی موسوم به سامبا و  Open VPN از این پروتکل پشتیبانی می‌کنند. به‌علاوه، سرپرستان شبکه به منظور دسترسی و مدیریت بهتر بانک‌های اطلاعاتی از پروتکل مذکور استفاده می‌کنند.

 


تفاوت های LDAP و Active Directory

در ساده‌ترین تعریف یک دایرکتوری یا پوشه به فهرستی از اشیا اشاره دارد که اطلاعات آن‌ها بر مبنای الگوی خاص و مرتبط نگه‌داری می‌شود. به‌طور مثال، منابع سیستمی که بر مبنای نامشان مرتب شده‌اند مثالی روشن در این زمینه هستند. در حالت کلی دایرکتوری‌ها را باید شبیه به بانک‌های اطلاعاتی توصیف کنیم، با این تفاوت که دایرکتوری‌ها عمدتا برای نگه‌داری نوع خاصی از اطلاعات استفاده می‌شوند. به‌طور مثال، دایرکتوری‌ها عمدتا برای خواندن و نه نوشتن و ویرایش اطلاعات استفاده می‌شوند، فرایند تغییر در آن‌ها به شکل ساده‌ای انجام می‌شود و در نهایت برای دسترسی به دایرکتوری از یک پروتکل شبکه باید استفاده کرد.

اکتیو دایرکتوری یک ارایه‌دهنده خدمات پوشه (Directory Service Provider) است که به خوبی از LDAP پشتیبانی می‌کند، به‌طوری که تمام عملیاتی که در LDAP انجام می‌شود در اکتیودایرکتوری نیز در دسترس قرار دارند. این مولفه ویندوز سرور گسترش‌پذیری زیادی دارد و قادر است از پروتکل‌ها و استانداردهای مختلفی پشتیبانی ‌کند و به شکل یکپارچه تمام اشیا حاضر در شبکه را ذخیره‌سازی کند. این مولفه ویندوز قادر است مدیریت و نظارت کاملی بر تمامی فرآیندهای شبکه و به ویژه مدیریت در سطح دسترسی به اطلاعات در سطح شبکه از طریق احراز هویت را فراهم می‌کند که در این زمینه عملکردی یکسان با LDAP دارد.

برای مطالعه بیشتر در خصوص اکتیو دایرکتوری به مقاله دامین کنترلر در اکتیودایرکتوری چیست و چه کاربردی در شبکه تحت دامین دارد مراجعه کنید.

در نقطه مقابل، LDAP یک پروتکل لایه کاربرد است که توسط اکتیو دایرکتوری استفاده می‌شود. در شرایطی که اکتیو دایرکتوری توسط شرکت مایکروسافت ارائه شده، اما LDAP پروتکلی است که توسط دانشگاه میشیگان طراحی شده است. اکتیودایرکتوری تنها روی سیستم‌عامل‌ ویندوز سرور مایکروسافت قابلیت اجرا دارد، در حالی که LDAP قابلیت اجرا روی سیستم‌عامل‌های مختلف را دارد. هر دو فناوری اکتیودایرکتوری ویندوز و Open-LDAP از LDAP برای خدمت‌رسانی استفاده می‌کنند.