|  07/17/2018 - سه شنبه 26 تير 1397
Menu
نوع جستجو را انتخاب کنید.
  • سایت
  • وب
جستجو
بایگانی اطلاعات > مشاهده

پروتکل LDAP همراه با پیاده سازی در Linux ( ابراهیم عباسپور )


به نام خدا

پروتکل LDAP

همراه با پیاده سازی در Linux

درس سیستم عامل پیشرفته

استاد : دکتر هدیه ساجدی

دانشجو : ابراهیم عباسپور

زمستان 1390

با تشکر از  همه آنانی که ساختن و ساخته شدن را به ما آموختند

فهرست

نمای کلی

+ پروتکل LDAP

+ OPEN LDAP

+  راهنمای نصب

+ پیاده سازی LDAP

مطالعات جانبی

+  Active Directory

پروتکل LDAP

آشنايي با پروتكل Ldap

وظایف LDAP

ساختار  LDAP

----- ساختار سلسله مراتبی

----- نمونه درخت اطلاعاتی دایرکتوری

 اشیاء در LDAP

LDAP و استاندارد X.500

مقایسه پروتکل LDAP با سایر پروتکلها

LDAP هایی که به عنوان Server پیاده‌سازی شده‌اند

تقسیم بندی LDAP در سیستمهای نام گذاری

OPEN LDAP

LDAP در لينوكس‌  ((OpenLDAP))

مثال های از استفاده از OPEN LDAP

استفاده از LDAP به صورت عملی

تنظیمات LDAP

راهنمای نصب

نصب و اجرای LDAP  ( در لینوکس)

طرح ( توضیح نصب با مثال)

---- دانلود و نصب نرم‌افزارهای جانبی

---- پیش نیازها

---- بسته‌های RPM مورد نیاز

---- امنیت لایه انتقال

---- 4.2.4 Cyrus-SASL

---- بسته بندی TCP

---- ---- دانلود نرم‌افزار

---- ---- باز کردن بسته

---- ---- مطالعه مستندات

---- ---- اجرای configure

---- ---- ساخت نرم افزار

---- ---- تست ساختار

---- پیکر بندی  OPEN LDAP

---- ---- Server

---- ---- Client

---- ---- الگوی دایرکتوری

---- ---- اجرای slapd

---- ---- گزینه‌های خط فرمان

---- ---- اجرا

---- ---- صحت اجرا

---- ---- پایان دادن به کار Server:

---- ---- کنترل دسترسی

روش نصب و پيكربندي LDAP روي دبيان سارژ

پرس و جو

پیاده سازی LDAP

مقدمه و توضیح کلی درباره نوع عملیات

 نمای VMware

نمای نرم افزار LDAP-Apache Directory Stedio

ابزارهای نرم افزار

اتصال نرم افزار به سرور LDAP (تصویری)

پیاده سازی دایرکتوری نمونه

---- تعیین خصوصیتهای Schema

---- اضافه و کم کردن کلاسها به اشیاء

---- نحوه تعیین Log توسط نرم افزار

مطالعه جانبی

Active Directory

دایرکتوری چیست؟

Active Directory چيست؟

مقدمه

نگاهي كلي تر به ويژگي هاي سرويس هاي دايركتوري ACTIVE DIREVTORY

سرويس دايركتوري Directory Service))

----سهولت راهبري Administration

----مقياس پذيريScalability

----پشتيباني از استانداردهاي باز (Open Standards)

----مقياس پذيريScalability

سيستم هاي نامگذاري حوزه (Domain Name System)

---- پشتيباني ازLDAP و HTTP

---- پشتيباني از فرمتهاي نامگذاري استاندارد

انواع دایرکتوری

ساختار ACTIVE DIREVTORY و نسخه برداري سايت (Site Replication)

---- ساختار منطقي

---- شئي (Object)

---- واحدهاي سازماني Organizational Units))

---- حوزه (Domain)

درخت و جنگل (Tree & Forest)

----فضاي نام پيوسته (Contiguous)

----فضاي ناپيوسته (Disjointed)

سايتها و نسخه برداري درون يك سايت Sites & Replication

مفاهيم دايركتوري فعال (Active Directory = AD)

فهرست كلي (Global Catalog)

روابط موثق (Trust Relationships)

---- تائيدهاي غيرانتقالي يكطرفه (One-way , No transitive Trusts)

---- تائيدهاي انتقالي دو طرفه (Two-way , Transitive Trusts)

قواعد نامگذاري (Naming Conventions)

---- نام هاي متمايز (Distinguished Name)

---- اسامي متمايز نسبي (Relative Distinguished Name)

---- شناسه منحصربه فرد كلي (Globally Unique Identifier)

---- نام اصلي كاربر (User Principal Name)

مقدمه اي بر طرح ريزي (Planning)

---- طرح يك Name Space NS

---- توسعه بخشئيدن يك NAME SPACE موجود

---- طرح ريزي يك سايت

---- طرح ريزي واحدهاي سازماني (O.U)

نصب سرويس هاي دايركتوري Active Directory

جادوگر نصب Active Directory Installation Wizard) ACTIVE DIREVTORY)

افزودن يك كنترولر حوزه به يك حوزه موجود

ايجاد اولين كنترولر حوزه بعنوان يك حوزه جديد

بانك اطلاعاتي و ولوم اشتراكي سيستم

آشنایی با سرویس دایرکتوری موجود در ویندوز سرور   (Active Directory)

    اشیای موجود در Active Directory

اجزای Active Directory

 ساختار منطقی

واحدهای سازمانی

ساختار فیزیکی

---- سایت‌ها (Sites)

---- (Domain Controller )DC

درک مفاهیم Active Directory

چه اطلاعاتی تکرار می‌شود ؟

اطلاعات چگونه منعکس می‌شود؟

انعکاس در داخل سایت (Intrasite Replication)

انعکاس بین سایت‌ها (Intersite Replication)

 رابطه اعتماد  Trust Relationship

سیاست‌های گروهی (Group Policies)

مقدمه

در این گزارش به بررسی پروتکل LDAP  به همراه ابزار Open LDAP پرداخته شده است. در بخش اول مشخصات پروتکل و خصوصیات آن  مورد بررسی قرار گرفته است. و در بخش دوم ابزار آن که در لینوکس مورد استفاده قرار می گیرد به همراه آموزش نصب ارائه شده استن. در پایان نیز نمایی از نصب این ابزار و ابزار Apache جهت اتصال به آن نشان داده شده است

آشنايي با پروتكل Ldap

Lightweight Directory Access Protocol يك پروتكل مبتني بر شبكه و X500 براي دسترسي به سرويس‌هاي دايركتوري روي شبكه است. اين پروتكل داراي مستندات RFC2251 و RFC3377 است. به علت آن‌كه دايركتوري‌هاي موجود روي شبكه يكتا نيستند و هر يك ممكن است براساس يك سكوي سيستم‌عاملي و ساختار متفاوت باشند، پروتكل LDAP امكان برقراري ارتباط و مديريت آن‌ها را فراهم مي‌كند. در حقيقت LDAP ابزاري براي مديريت اطلاعات شبكه، حساب‌هاي كاربري، ماشين‌هاي ميزبان شبكه و منابع درون شبكه است. با استفاده از اين استاندارد مي‌توان يك مديريت متمركز و واحد را به كل پيكره شبكه اعمال نمود و با دسترسي به تمام سرويس‌هاي درون شبكه (سخت‌افزاري و نرم‌افزاري) امكان همسان‌سازي و پيكربندي آسان آن‌ها را فراهم كرد.

LDAP روش استانداردی برای دسترسی و به روزرسانی فهرست های(دایرکتوری های) توزیع شده (Distributed)  ارائه می دهد. LDAP مخفف Lightweight Directory Access Protocol است و مجموعه ای از پادمان ها (Protocols) و متدها، برای دسترسی به اطلاعات شاخه های توزیع شده است. متدهایی که در LDAP در اختیار دارید به شما این امکان را می‏دهد تا از اطلاعاتی که در درخت اطلاعات شاخه ها (Directory Information Tree - DIT) قرار دارد استفاده کنید. برای مثال در یک شبکه، این درخت شامل اطلاعاتی از اشیاء موجود در شبکه مانند کاربران، پرینترها، برنامه ها و ... است

وظایف LDAP

در حالت كلي پروتكل LDAP وظايف زير را بر عهده دارد:

‌● ايجاد يك زبان مشترك دسترسي دايركتوري (Directory Access) بين ماشين ميزبان و سرويس‌دهنده در شبكه و امكان برقراري ارتباط و تبادل اطلاعات ميان آن‌ها فارغ از سكوي سيستم‌عاملي و سخت‌افزاري.

● ايجاد قابليت استفاده از متدهاي ساده رمزنگاري در پروتكل TCP/IP براي تبادل اطلاعات كنترلي و مديريتي مانند كنترل و مديريت كاربران در شبكه.

●ايجاد يك استاندارد براي استفاده از دايركتوري در شبكه.

اين استاندارد قابليت نصب و پيكربندي ساده و انعطاف‌پذير سرويس دايركتوري و سفارشي نمودن آن براي نيازهاي گوناگون را روي شبكه فراهم مي‌كند.

●پشتيباني توابع API:

اين پروتكل از C ،Netscape's Java SDK ،PerLDAP ،SunSoft's JNDI و Microsoft's Active Directory Services Interface) ADSI) پشتيباني مي‌كند و با آن‌ها سازگار است. اين ويژگي امكان مديريت و كنترل دسترسي شبكه‌هاي گسترده را فراهم مي‌كند كه داراي چندين سكوي نرم‌افزاري/ سخت‌افزاري هستند.

● استفاده از يك استاندارد با نام LDAP Data Interchange Format) LDIF) براي توصيف و تشريح اطلاعات دايركتوري. اين استاندارد كه توسط يك ابزار با همين نام به كار گرفته مي‌شود، تحت خط فرمان است و امكان تنظيم مجموعه‌اي از دايركتوري‌ها يا آپلودكردن آن‌ها براي استفاده در دايركتوري را در اختيار مدير شبكه قرار مي‌دهد.

ساختار  LDAP

اطلاعاتي كه روي LDAP قرار مي‌گيرد، اطلاعاتي ايندكس‌دار و مدخل‌مانند است. بدين معني كه اطلاعات به صورت مجموعه‌اي از ويژگي‌هاي توزيع شده قابل دسترسي هستند كه از يكديگر متمايزند و كاربران مي‌توانند از طريق ايندكس‌هاي موجود، به اطلاعات دسترسي پيدا نمايند.

براي مثال، عبارت مي‌تواند يك ايندكس براي اطلاعات دستوري و براي آدرس‌هاي ايميل باشد. cn مي‌تواند ارزش يك داده يا اطلاعات براي يك كاربر يا ماشين باشد (براي مثال Misagh و mail) آدرس ايميل مرتبط با ارزش cn باشد (براي مثال

misagh؛example.com).

روي LDAP اطلاعات به صورت مدخل‌هاي دايركتوري و سلسله مراتبي قرار مي‌گيرند. اين ساختار سلسله‌ مراتبي انعكاسي از ساختار شبكه يا اينترنت و وضعيت جغرافيايي يا قرارگيري ماشين‌هاي كلاينت و سرويس‌دهنده است.

اين ساختار دسترسي به اطلاعات و كنترل مجوزها، همچنين مديريت آن‌ها را براي سرويس‌دهنده اختصاصي سازمان و ديگر سرويس‌دهنده‌ها كه امكان اتصال به دايركتوري را دارند، ساده مي‌نمايد. LDAP ساز و كاري براي اتصال به اين دايركتوري و برقراري يك ارتباط مديريتي در لينوكس براي مديران شبكه فراهم مي‌كند.

LDAP ، یک پادمان مبتنی بر پیام را، بین سرویس دهنده و سرویس گیرنده، برقرار می کند. پیام های متفاوتی بین سرویس دهنده و سرویس گیرنده ممکن است رد و بدل گردد.  سرویس دهنده و سرویس گیرنده می توانند هر کدام با انتخاب روش های معمول، به شیوه دلخواه پیاده سازی شوند (این از مزایای LDAP است) و سرویس دهنده و سرویس گیرنده هر کدام می تواند از دو تکنیک جداگانه استفاده کنند بدون اینکه مشکلی در ارتباط با یکدیگر داشته باشند.

LDAP یک پادمان ارتباطی مشخص می کند که در آن، یک پیام از سرویس گیرنده، برای استفاده و دسترسی به اطلاعات یک دایرکتوری X.500 ، به سرویس دهنده ارسال می گردد. اکثر سرویس دهندگاه LDAP از نسخه 3.0 آن استفاده می کنند. دایرکتوری ها اغلب با یک مدل ارتباطی کاربر - کارگزار (Client - Server) قابل دسترسی هستند.

برنامه ای که در خواست خواندن، یا ایجاد تغییر در دایرکتوری را دارد، به طور مستقیم نمی تواند چنین کاری را انجام بدهد بلکه با استفاده از یک سرویس میانی قادر به انجام این کار خواهد بود به این صورت که یک API فراخوانی می شود و آن API، پیامی به یک فرآیند دیگر می فرستد و آن فرآیند با استفاده از TCP/IP به اطلاعات دسترسی خواهد داشت. پورت استاندارد برای ارتباط امن، پورت 636 و برای حالت عادی 389 است.

تلاش برای استفاده از XML در LDAP و استفاده در وب سرویس ها، منجر به زبانی به نام DSML شد که این زبان به استفاده کنندگان از دایرکتوری ها این امکان را می داد، که بدون نوشتن Interface برای کار با API های مربوطه، به دایرکتوری ها دسترسی داشته، بتوانند با آنها کار کنند.

ساختار سلسله مراتبی

اطلاعات در یک دایرکتوری در یک ساختار مانند درخت (tree) ذخیره می شوند که به آن درخت اطلاعاتی دایرکتوری (Directory Information Tree - DIT)گفته می شود و هر شی ء با یک مشخصه شناخته می شود که به آن نام متمایز (Distinguished Name - DN) گفته می شود. هر نام متمایز (DN) یک عنصر در درخت را، مشخص می کند. هر نام متمایز می تواند از چند نام متمایز مرتبط (Relative Distinguished Name - RDN) تشکیل شده باشد. برای مثال، یک نام متمایز، آورده شده است که نام های متمایز مرتبط آن با کاما از هم جدا شده اند:

cn=thomas,ou=itso,o=ibm

هر یک از خصوصیات موجود شامل یک نوع و یک یا چند مقدار است. نوع معمولاً خلاصه شبه جمله‌ای با معنای خاص است، که در جدول زیر فهرستی از این علائم اختصاری را مشاهده می‌کنید:

جدول نام های متمایز معتبر(RDN)

String

Attribute type

DC

domainComponent

CN

commonName

OU

organizationalUnitName

O

organizationName

STREET

streetAddress

L

LocalityName

ST

StateOrProvinceName

C

CountryName

UID

Userid

 

نمونه درخت اطلاعاتی دایرکتوری (DIT)

شکل  نمونه درخت اطلاعاتی دایرکتوری (DIT)

همانطور که در تصویر بالا مشخص است ساختار درختی شامل یک نقطه Top و یا همان ریشه (Root) است. این ساختار کمک می‌کند تا آسانتر بتوان شی‌های دیگر را دسته‌بندی کرد. در عین حال، این درخت می‌تواند بر اساس نامهای دامنه اینترنت مرتب شود. این رهیافت نام‌گذاری در حال گسترش و عمومیت است به نحوی که به Serverهای دایرکتوری امکان استفاده از DNS ها را نیز می‌دهد.

LDAP به شما امکان کنترل خصوصیات موجودیت هایی را که لازم است و اجازه دسترسی ( که به آنها ObjectClass می گوییم) دارند را می دهد. مقادیر ObjectClass به قوانینی که موجودیت بایستی از آنها تبعیت کند، دارد.


 
اشیا در LDAP

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

دسترسی به هر موجودیتی از طریق DN آن امکان‌پذیر است، که خود از طریق نام موجودیت خود (به آن RDN گفته می شود) و سلسله مراتب اجداد خود (عناوین بالاتر در ساختار درختی) ساخته می‌شود. برای مثال، موجودیتی با نام Barbara که در تصویر بالا RDN ای از uid=babs و DNای از uid=babs,ou=People,dc=example,dc=com دارد.

 کنترل اجازه‌های دسترسی

بعضی از سرویسهای دایرکتوری این امنیت را مهیا نمی‌کنند.LDAP یا سیستمی برای شناسایی Client مهیا می‌کند و یا سیستم دسترسی خود را به صورت یک Server دایرکتوری ارائه می‌کند. همچنین LDAP از سرویسهای امنیت داده (اعتبار و رمزداربودن) نیز پشتیبانی می‌کند.

LDAP و استاندارد X.500

LDAP از استانداردهای موجود در X.500  ( استاندارد X.500 یک استاندارد جامع تر برای تعریف، نگهداری و مدیریت دایرکتوری های عمومی است. این استاندارد برای نگهداری اطلاعات عمومی (جهانی) استفاده می شود مانند آنچه در DNS استفاده شده است) پیروی می کند. اما LDAP از آن ساده تر و عملی تر است و برخلاف X.500، TCP/IP را نیز پشتیبانی می کند که برای استفاده در اینترنت نیز مفید است. LDAP سبک تر از X.500 است و به همین دلیل گاهی به آن X.500 Lite نیز گفته می شود.

اما X.500 یک مدل کلی برای سرویس های مرتبط با دایرکتوری ها، در OSI (Open System Interconnection) است. این مدل شامل چهارچوب های کلی و پادمان هایی برای به روز نگه داشتن شاخه و پرسش و جو (query) از آن است. پادمان اصلی موجود در X.500 ، DAP است که ساختار کامل و توابع بسیار زیادی دارد.  همین عامل باعث پیچیدگی در آن شده است و استفاده از X.500 را مشکل کرده است.

برخلاف X.500 ، LDAP از مقبولیت خوبی برخوردار است و به یک فناوری استراتژیک تبدیل شده است که اکثر تولیدکنندگان نرم افزار از آن پشتیبانی  می کنند.

LDAP سبک‌تر از X.500 است و به همین دلیل گاهی به آن X.500 Lite نیز گفته می‌شود.

برخلاف X.500 ، LDAP از مقبولیت خوبی برخوردار است و به یک فناوری استراتژیک تبدیل شده است که اکثر تولیدکنندگان نرم افزار از آن پشتیبانی می کنند

مقایسه پروتکل LDAP با سایر پروتکلها

(( توضیحات دو ستون آخر ))

اطلاعات ارائه شده توسط سرويس :بعضي سرويسها در عمل بسيار ساده اند ولي مي توانند براي شبكه خطرناك باشند. سرويس finger براي راحتي كاربران UNIX طراحي شده است. اين سرويس يك سري اطلاعات در مورد account هاي موجود در سيستم ارائه مي كند. مهاجمين مي توانند از اين سرويس براي پيدا كردن account هاي فعال سيستم استفاده كنند. پيدا كردن نام يك account معتبر مي تواند نقطه شروع مناسبي براي حمله به سيستم باشد.

ميزان ديالوگ با سرويسگير : امن كردن يك سرويس با ديالوگ ساده به مراتب راحتتر از امن كردن سرويسي است كه نياز به ديالوگهاي پيچيده با سرويسگير دارد. براي مثال سرويس HTTP( نسخه هاي اوليه و بدون در نظر گرفتن CGI و ASP و موارد مشابه) يك پروتكل ساده است كه در آن سرويسگير تقاضاي يك سري منابع را به سرور مي دهد و سرور نيز بدون توجه به وضعيت ارتباط موجود در صورت امكان منابع درخواست شده را براي سرويسگير تهيه مي كند  (اين ارتباط بصورت stateless است). امن كردن يك ارتباط stateful به مراتب مشكلتر است، مخصوصا اگر سرويس نياز به احراز هويت سرويسگير نيز داشته باشد و درخواستها و پاسخهاي بين سرور و سرويسگير موجب تغيير در وضعيت ارتباط شود

نام سرويس

پورت و پروتكل

پيچيدگي

ميزان سوء  استفاده

اطلاعات ارائه شده

ديالوگ با سرويسگير

قابليت پيكربندي

DHCP

UDP68

نسبتاً پيچيده

متوسط

متوسط

كم

متوسط

Chargen

TCP&UDP19

ساده

زياد

-

-

-

Daytime

UDP13

ساده

كم

-

كم

-

Discard

UDP13

ساده

كم

-

كم

-

DNS

UDP53

پيچيده

زياد

كم

كم

زياد

Echo

UDP7

ساده

كم

-

كم

-

Finger

TCP79

ساده

متوسط

زياد

كم

متوسط

FTP

TCP20&21

پيچيده

زياد

متوسط

زياد

زياد

Gopher

TCP70

ساده

كم

كم

كم

كم

HTTP

TCP80

پيچيده

زياد

متوسط

زياد

زياد

IMAP

TCP143

ساده

كم

متوسط

كم

كم

LDAP

TCP&UDP389

پيچيده

كم

متوسط

متوسط

متوسط

NetBIOS

TCP137-139

پيچيده

زياد

زياد

زياد

كم

NFS

TCP&UDP2049

پيچيده

زياد

زياد

زياد

متوسط

POP3

TCP110

ساده

متوسط

متوسط

كم

كم

Queue

UDP17

ساده

كم

-

كم

-

RPC(sun)

UDP111

متوسط

زياد

زياد

زياد

زياد

RSH

TCP514

متوسط

زياد

زياد

زياد

كم

SMTP

TCP25

پيچيده

متوسط

متوسط

متوسط

زياد

SNMP

UDP161

متوسط

زياد

زياد

كم

متوسط

Telnet

TCP23

ساده

زياد

زياد

كم

-

TFTP

UDP69

ساده

زياد

متوسط

كم

كم

از نمونه LDAP هایی که به عنوان Server پیاده‌سازی شده‌اند، می‌توان به موارد زیر اشاره کرد:

*
Fedora Directory Server
*
Microsoft Active Directory
*
Sun Directory Server
*
OpenLDAP
*
Novell 6.5 NetWareeDirectory

تقسیم بندی LDAP در سیستمهای نام گذاری :

LDAP در لينوكس‌  ((OpenLDAP))

LDAP خود يك پروتكل و استاندارد براي برقراري ارتباط با سرويس دايركتوري‌هاي مختلف است، اما در لينوكس براي به كارگيري و مديريت اين پروتكل ابزار OpenLDAP ارائه شده است. OpenLDAP يكي از بنيادي‌ترين ابزارهاي لينوكس است و به همين خاطر در غالب توزيع‌هاي لينوكس مشاهده مي‌شود و امكان نصب و راه‌اندازي آن به راحتي وجود دارد. بنابراين نصب اين سرويس كار چندان مشكلي نخواهد بود، اما پيكربندي LDAP براي دسترسي به دايركتوري‌هاي تعريف شده و تنظيمات آن‌ها براساس مستندات شبكه، نيازمند دقت و تمرين است.

علاوه بر اين، هر توزيع، ابزارهاي متنوع مديريتي براي كار با اين سرويس ارائه نموده است. براي نمونه در توزيع SUSE، در بخش Network Service ابزار LDAP Client ارائه شده است كه مي‌توان با دادن آدرس سرويس‌دهنده LDAP و شماره DN اختصاصي تعريف شده براي كاربر، به اين سرويس متصل شد

مثال های از استفاده از OPEN LDAP

 

 

استفاده از LDAP به صورت عملی

APIای که در LDAP در اختیار شما قرار می گیرد، سازوکاری فراهم می کند تا در یک دایرکتوری (که بطور عام، یک اینترنت دایرکتوری است) کارهای معمول مانند وصل شدن، جستجو و تغییرات را انجام دهید. برخلاف بقیه پادمان های اینترنت، LDAP دارای یک APIمشخص است که نوشتن یک سرویس مرتبط با یک Internet Directory را ساده می کند.

استفاده کردن از یک کارگزار LDAP شامل 4 بخش اصلی است :

  1. ایجاد و شروع یک Session : وقتی یک Session ایجاد می کنید، این Session ، مقادیر پیش فرض را، به خود می گیرد. اطلاعاتی که در این Session نگهداری می شود عبارتند از وضعیت کنونی Session، مدت اتصال، شماره ی نسخه ی در حال استفاده و برخی ملاحظات امنیتی. پس از ایجاد (Initialize) کردن session شما یک handle خواهید داشت که با استفاده از آن می توانید برخی مقادیر پیش فرض را تغییر دهید.
  2. مقداردهی اولیه (اختیاری) : تغییر برخی مقادیر پیش فرض
  3. اتصال به کارگزار (اختیاری)
  4. Bind شدن به کارگزار. در این مرحله کارگزار، کاربر را اعتبارسنجی می کند. در صورت تأیید اعتبار کاربر، در حد اختیارات خود اجازه دسترسی به توابع کارگزار را دارا خواهد بود. اگر شما این کار را انجام ندهید به عنوان کاربر anounymous به کارگزار معرفی خواهید شد و در حد کاربر میهمان به امکانات کارگزار دسترسی خواهید داشت.

Active Directory به عنوان یکی از مهمترین بخش های از ویندوز بر پایه LDAP پیاده سازی شده است. Active Directory به دغدغه های کاربران برای پیدا کردن منابع و سرویس ها پایان داد و بی تردید می توان آن را مهمترین خصوصیت افزوده شده به ویندوزهای سری 2000دانست.

تنظیمات LDAP

براي تنظيمات مورد نياز بايد به سراغ پوشه /etc/openldap رفت. در اين پوشه فايل‌هاي پيكربندي ldap.conf و slapd قرار دارند. براي شروع و خاتمه سرويس LDAP نيز از دو دستور slapd start و slapd stop استفاده مي‌شود. slapd نام دايمون ابزارOpenLDAP در لينوكس است

 

نصب و اجرای LDAP  ( در لینوکس)

در اینجا مقدمه‌ای خواهیم داشت بر نرم‌افزار سرویس دایرکتوری OpenLDAP که پایه‌های اصلی آن بر نرم‌افزار LDAP دانشگاه Michigan بنا نهاده شده است. همچنین توضیح خواهیم داد که چگونه slapd1 را نصب و پیکربندی نماییم.

نرم‌افزار سرویس دایرکتوری OpenLDAP شامل بخشهای کاربردی زیادی است:

*
Ldapsearch: سوال از Server LDAP
*
Ldapadd, ldapmodify, ldapselete :اضافه، تغییر و حذف اشیاء و خصوصیات LDAP (معمولاً در فایل LDIF )
*
Ldapmodrdn : تغییر یک RDN (که به ندرت استفاده می شود)
*
Ldappasswd : تغییر رمز عبور ورودی LDAP
*
Slapd
*
slurpd
*
slappasswd :ایجاد رمز عبور کدگذاری شده

از بخشهای زیر هنگامی که slapd اجرا نمی‌شود استفاده نمایید:

*
slapcat : نوشتن محتوای دایرکتوری در LDIF
*
Slapadd: خواندن محتوای دایرکتوری از LDIF
*
Slapindex : بازتولید شاخصها ( که به ندرت استفاده می‌شود)

Slapd در واقعLDAP ای است که می‌تواند به پورتهای شبکه گوش داده و به ارتباطات LDAP پاسخ دهد. دایرکتوری شما می‌تواند شامل تمام مواردی باشد که به آنها نیاز دارید، و حتی می‌توانید آن را به یک دایرکتوری جهانی متصل کنید. بعضی از slapd ها قابلیتهای جالبی دارند:

LDAPv3 :slapd نسخه سوم LDAP را اجرا می‌کند. Slapd ،LDAP را در هر دو نوع IPv4 و IPv6 و همچنین Unix IPC پشتیبانی می‌کند.

Authentication ساده و لایه امنیتی: slapd ،certificate−based authentication و سرویسهای امنیت داده را با استفاده از TLS (و یا SSL) پشتیبانی می‌کند.

کنترل توپولوژی: slapd را می‌توان برای محدود کردن دسترسی به سوکتهای لایه‌های مختلف در اطلاعات توپولوژی شبکه پیکربندی کرد.

کنترل دسترسی: slapd امکان کنترل دسترسی قوی و کاملی ارائه می‌کند. شما می‌توانید دسترسی به موجودیتها را بر اساس آدرس IP، نام دامنه و دیگر مشخصه‌ها کنترل کنید. Slapd از هر دو روش اطلاعات کنترل دسترسی پویا و ایستا پشتیبانی می‌کند.

انتخاب یک خادم پایگاه داده: Slapd امکان انتخاب بین Backend های مختلف پایگاه داده را دارد. که از آن جمله می‌توان به BDB، خادم پایگاه داده تراکنشی با قابلیت اجرای بالا و یا HDB، خادم تراکنشی سلسله مراتبی، LDBM، خادم بر پایه سبکی DBM و یا SHELL ، اشاره نمود.

و خصوصیاتی دیگر.

طرح

در اینجا با مثالی توضیحات خود را ادامه می‌دهیم تا درک مفاهیم ساده‌تر شود، فرضیه ما پیرامون سازمان کوچکی به نام example.com خواهد بود. این سازمان خواستار سیستم کلی برای یکپارچه سازی، ساده و امن بر الگوی login است. از دومین1example.com ،LDAP، برای پایگاه داده LDAP استفاده نمایند که یکی ازاجزاء دامنه (DC) آنها example و دیگری com باشد. این پایگاه یک واحد برای سازمان دهی دارد که می‌توان افراد (people) نامید که پیش فرض LDAP است.

هر فردی خصوصیاتی از قبیل نام کاربری(User ID یاUID)، رمز عبور، دایرکتوری home و پوسته login خواهد داشت.Server لینوکس Fedora که به آن bigboy خواهیم گفت با آدرس ,IP 192.168.1.100 به عنوان Server LDAP عمل می‌کند که شامل پایگاه داده خواهد بود. Server لینوکس Fedora که به آنsmallfry خواهیم گفت به عنوان Client با آدرس IP،192.168.1.102 برای تست سیستم استفاده خواهد شد. Server bigboy حساب کاربری خاصی به نام ldapuser دارد که برای login به LDAP استفاده خواهد شد.

 دانلود و نصب نرم‌افزارهای جانبی

بیشتر نرم افزارهای Fedora و RedHat قالب بسته بندیRPM دارند. در هنگام جستجو برای فایلی به یاد داشته باشید که نام فایلهای FreeRADIUS RPM معمولاً با openldap و به دنبال آن شماره نسخه شروع می‌شوند، مثلاً openldap-servers-2.1.22-8.i386.rpm.

 پیش نیازها

ابتدا باید بررسی نمایید که تمام پیش نیازهای لازم برای Server LDAP در سیستم شما نصب شده است. برای این کار از دستور مقابل استفاده نمایید:

#rpm –qa | grep 'ldap'

 بسته‌های RPM مورد نیاز

فرمان ذکر شده بایستی لیستی مشابه آنچه می‌بینید برای شما نمایش دهد در غیر این صورت هر یک از مواردی که موجود نیست را دریافت و نصب نمایید:

openldap
openldap-clients
openldap-devel
nss_ldap
openldap-servers

همچنین سیستم دیگری که می‌خواهد به عنوان Client فعالیت نماید باید بسته‌های زیر را نصب شده در سیستم خود داشته باشد:

openldap
openldap-clients
openldap-devel
nss_ldap

و بسته‌های پیش نیاز دیگری که مورد نیاز است:

(Berkeley DB)DB4 از Sleepycat Software که می‌توانید آن را در این آدرس بیابید:
http://www.sleepycat.com/update/snapshot/
OpenSSL که این بسته را نیز می‌توانید در این آدرس پیدا کنید:

http://www.openssl.org
cyrus-sasl این بسته هم در این آدرس موجود است

ftp://ftp.andrew.cmu.edu/pub

2.2.4 Berkeley DB - DB4 (نسخه 4 به بعد توصیه می شود)

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

tar zxvf db-4.1.25.tar.gz
cd db-4.1.25
cd build_unix
../dist/configure
make

make install با حساب ریشه

به صورت پیش فرض db-tools در مسیر /usr/local/BerkeleyDB.4.1/bin/ قرار دارد. البته می‌توان لینکهایی ساخت که این کدهای باینری در موقعیت پیش فرض قرار بگیرند:

ln -s /usr/local/BerkeleyDB.4.1/bin/db_archive /usr/local/bin/db_archive
ln -s /usr/local/BerkeleyDB.4.1/bin/db_archive /usr/bin/db_archive

برای تمامی باینریهایی که در مسیر /usr/local/BerkeleyDB.4./bin/ قرار دارد، این کار را تکرار نمایید. اگر که شما از بسته های rpm استفاده می نمایید، لازم است که به صورت دستی کتابخانه ها را تنظیم نمایید:

ln -s /usr/local/BerkeleyDB.4.1/include/db.h /usr/include/db.h
ln -s /usr/local/BerkeleyDB.4.1/include/ /usr/local/include/db4/
ln -s /usr/local/BerkeleyDB.4.1/lib/ /usr/local/lib/db4/

اولین لینک برای فایل db.h است. لینک قدیمی را با لینکی جدید جایگزین می‌نماید. دومی و سومی به اسکریپت پیکربندی LDAP این امکان را می‌دهد که درست فایلهای include و کتابخانه‌ها را پیدا نماید. بعد این ld.so.cache را با ldconfig به روز رسانی نمایید.

 امنیت لایه انتقال

Client و Server OpenLDAP احتیاج به نصب کتابخانه‌های OpenSSL TLS برای تامین سرویس امنیت در لایه انتقال دارند. اگر چه احتمالاً سیستم خود این کتابخانه‌ها را به عنوان یکی از بسته‌های پایه‌ای سیستم و یا جزء نرم‌افزارهای قابل انتخاب دارد، OpenSSL به صورت مجزا نیز احتیاج به نصب دارد. این نرم‌افزار با LDAPv3 کاملاً مرتبط نیست مگر آنکه شخصاً در روند اجرای اسکریپت Configure آن را اعمال نمایید. در ادامه به نحوه پیاده‌سازی آن نیز اشاره‌ای خواهیم داشت.

4.2.4 Cyrus-SASL

SASL لایه امنیت و شناسایی ساده است. در ابتدا این گزینه انتخاب شده نیست، اما راهنمای مدیریت OpenLDAP توضیح می‌دهد که سیستم به طورکامل راه‌اندازی نخواهد شد مگر آنکه یک Cyrus SASL را بتواند تشخیص دهد.

خوب پس شروع می‌کنیم؛ نصب آن خیلی ساده است:

tar zxvf cyrus-sasl-2.1.14.tar.gz
cd cyrus-sasl-2.1.14
./configure –with-bdb-libdir=/usr/local/BerkeleyDB.4.1/lib
--with-bdb-incdir=/usr/local/BerkeleyDB.4.1/include/
--with-openssl=/usr/local/ssl/
make

make install(با حساب ریشه)

درست مشابه DB4 احتیاج به اضافه کردن لینکی برای کتابخانه‌ها داریم:

ln -s /usr/local/lib/sasl2/ /usr/lib/sasl2

مطمئن شوید که usr/local/include/sasl/ توسط همگان قابل خواندن است.

 بسته بندی TCP

Slapd از بسته‌بندی TCP- فیلتر کنترل دسترسی در سطحIP- در صورتی که از قبل نصب شده باشد، پشتیبانی می‌کند. استفاده از بسته‌بندی TCP و یا فیلترینگ کنترل دسترسی در سطح IP-که بعضی از دیوارهای آتش در سطح IP ارائه می‌دهند-برای Serverهایی که اطلاعاتی برای عموم ندارند توصیه می‌شود.

نصب نرم‌افزار

 دانلود نرم‌افزار

جدیدترین نسخه OpenLDAP ، متناسب با سیستم خود را از این آدرس دریافت نمایید:

http://www.openldap.org/software/download

 بسته دریافتی را باز کنید

مسیری را برای نصب انتخاب کنید و بسته مورد نظر را در آنجا باز کنید:

gunzip −c openldap−VERSION.tgz | tar xvfB

و به فایل بازشده بروید:

cd openldap−VERSION

(به جای کلمه version شماره نسخه خود را قرار دهید.)

 مطالعه مستندات

مستندات فایل را به دقت مطالعه نمایید: COPYRIGHT, LICENSE, README و INSTALL.مخصوصاً اگر می‌خواهید از آخرین اطلاعات مرتبط با نرم‌افزار خود مطلع شوید. فایل README و INSTALL را مطالعه نمایید تا از تمام پیش‌نیازها نیز مطمئن شوید.

اجرای configure

در اینجا باید شروع به کامپایل نرم‌افزار نمایید. با اجرای اسکریپت configure شما توزیع مورد نظر خود را در سیستمتان خواهید ساخت. این اسکریپت پارامترهای زیادی دارد که می‌توان آنها را فعال یا غیرفعال نمود. در حالت معمولی همه پاسخ + دارند و شما می‌توانید با دستور مقابل آنها را مرور کرده و در صورت نیاز تغییر دهید: همچنین این اسکریپت در روند نصب متغیرهای زیادی را در محیط بررسی می‌نماید، که می‌توانند شامل این موارد باشد:

متغیر توضیح

CC تعیین کامپایلر C

CFLAGS تعیین فلگهای کامپایلر C

CPPFLAGS تعیین فلگهای پیش پردازنده C

LDFLAGS تعیین فلگهای پیوند\

LIBS تعیین کتابخانه‌های اضافه شده

با توجه به این نکات می‌توانید فرمان را با قالب‌بندی زیر اجرا نمایید:

[env] settings ./configure [options]

به عنوان مثال، فرض کنید می‌خواهیم OpenLDAP را با BDB به عنوانBack-End و پشتیبانی از بسته بندیTCP، نصب نماییم. به صورت پیش فرض، مورد اول فعال و دومی غیر فعال است. پس در اینجا با افزودن --with-wrappers تقاضای دوم را هم اجرا می‌نماییم. اگر چه در صورت نصب نبودن نرم‌افزارهای مورد نیاز این دستور fail خواهد شد. به عنوان نمونه، اگر که Header های بسته‌بندی TCP در /usr/local/include و /usr/local/lib قرار داشته باشد، اسکریپت را باید بدین صورت اجرا نماییم:

env CPPFLAGS='-I/usr/local/include -I/usr/local/include/ssl -I/usr/local/include/db4'
LDFLAGS='-L/usr/local/ssl/lib -L/usr/local/lib/db4' \
./configure --with-wrappers

env مستقیماً بعضی از متغیرهای محیطی را تنظیم می‌نماید که اسکریپت پیکربندی بتواند فایلهای header و کتابخانه‌ها را پیدا کند. به طور معمول تنظیمات برای CPPFLAGS در usr/local/include/ کافی است اما به دلایلی درست کار نمی‌کند؛ پس به روش بالا آن را تغییر دهید.

و اگر به سیستم خود اطمینان کامل دارید، می‌توانید به این طریق نیز شروع نمایید:

./configure --with-tls --with-cyrus-sasl --enable-wrappers --enable-crypt --enable-bdb

 ساخت نرم افزار

مرحله بعدی ساخت نرم‌افزار است. این مرحله شامل دو مرحله است: اول ساخت توابع وابسته و سپس کامپایل نرم‌افزار:

make depend
make

 تست ساختار

برای اطمینان از کارکرد بایستی دستور زیر را اجرا نمایید که ممکن است به تناسب سیستم شما چند دقیقه‌ای زمان لازم داشته باشد:

make test

 نصب نرم‌افزار

حالا سیستم شما آماده نصب است، که دسترسی به آن برای کاربر super-user امکان پذیر است:

su root −c 'make install'

حالا همه چیز باید در شاخه پیش‌فرض و یا پیش‌فرضی که شما تعیین کرده‌اید (prefix ای که در دستورconfigure مشخص کرده اید) نصب شود.

پیکربندی OpenLDAP

برای پیکربندی سیستم OpenLDAP خود، سه بخش موجود است: Server (slapd.conf)، Client (ldap.conf) و الگوی دایرکتوری (schema). به ترتیب اینها را بررسی خواهیم نمود:

Server

با نصب و راه‌اندازی نرم‌افزار، شما امکان این را خواهید داشت که Slapd را به تناسب موقعیت خود پیکربندی نمایید. بر خلاف OpenLDAP های قبلی، پیکربندی زمان اجرای slapd در نسخه 2.3 ، کاملاً در LDAP فعال است و می‌تواند با داده‌های LDIF عملیات LDAP استاندارد را مدیریت نماید. موتور پیکربندی LDAP به تمامی گزینه‌های پیکربندی slapd امکان می‌دهد تا به سادگی و بدون احتیاج به راه‌اندازی دوباره برای نمایش تاثیر تغییرات، تغییر نمایند.

شیوه قدیمی فایل slapd.conf همواره پشتیبانی می‌شود، اما بایستی که به قالب بندی جدید تبدیل شود. تا زمانی که پیکربندی شیوه قدیمی از یک تک فایل استفاده می‌کند، معمولاً در این مسیر نصب شده است: usr/local/etc/openldap/slapd.conf/ ،شیوه‌های جدیدتر که از یک پایگاه داده slapd backend برای ذخیره پیکربندی استفاده می‌نماید. پایگاه داده پیکربندی معمولاً در دایرکتوریusr/local/etc/openldap/slapd.d/ قرار می‌گیرد.

پیکربندی اصلی OpenLDAP نیزمربوط به usr/local/etc/openldap/slapd.conf/ است. این فایل پیکربندی می‌تواند طولانی و پیچیده باشد اما برای هدف ما بسیار ساده است:

include /usr/local/etc/openldap/schema/core.schema
include /usr/local/etc/openldap/schema/cosine.schema
include /usr/local/etc/openldap/schema/inetorgperson.schema
include /usr/local/etc/openldap/schema/officeperson.schema

### SSL-certificates
TLSCACertificateFile /usr/local/ssl/certs/ca.crt
TLSCertificateFile /usr/local/ssl/certs/ldap.crt
TLSCertificateKeyFile /usr/local/ssl/certs/ldap.key

### Database definitions
database bdb
suffix 'dc=example, dc=com'
rootdn 'dc=example, dc=com'
rootpw secret
directory /usr/local/var/openldap-data
index objectClass eq

چهار خط اول شامل الگویی است که استفاده می‌نماییم. core.schema, cosine.schema وinetorgperson.schema به صورت پیش‌فرض توسط OpenLDAP نصب می‌شود. دقت داشته باشید که نصب الگوهای زیاد خود باعث ایجاد تداخل و در نتیجه مشکلاتی خواهد شد. سه خطی که با TLS آغاز می‌شود تنظیمات گواهیSSL است. با داشتنSSL داده‌های شما به صورت کدگذاری منتقل خواهد شد. برای این منظور به روش زیر عمل نمایید:

openssl req -new -x509 -nodes -keyout /usr/local/ssl/certs/ldap.key -out /usr/local/ssl/certs/ldap.crt
openssl genrsa -des3 -out /usr/local/ssl/certs/ca.key 1024
openssl rsa -in /usr/local/ssl/certs/ca.key -out /usr/local/ssl/certs/ca.key
openssl req -new -x509 -days 365 -key /usr/local/ssl/certs/ca.key -out /usr/local/ssl/certs/ca.crt

مطمئن شوید که نام سیستمی که وارد می‌نمایید (و یا حداقل FQDN ای که برای آدرس‌دهی به دایرکتوری LDAP خود به کار می‌برید) همان CN باشد. Rootdn مشخص کننده‌‌ی DN ای است که موضوعی در کنترل دسترسیها یا موانع محدودیت مدیریت برای کار، بر روی پایگاه داده نیست. DN نیازی به رجوع به یک ورودی در پایگاه داده و حتی در دایرکتوری ندارد. DN ممکن است که به یک هویت SASL مراجعه نماید.

مثالی از نوع ورودی:

rootdn 'cn=Manager,dc=example,dc=com'

مثالی از نوع SASL:

rootdn 'uid=root,cn=example.com,cn=digest-md5,cn=auth'

rootpw که می‌توان برای DN برای rootdn رمز عبور مشخص نمود (هنگامی که rootdn برای DN ای در پایگاه داده تنظیم شده است.). مثال:

rootpw secret

در عین حال می توان رمز را به صورت کد شده در فایل ذخیره نمود:

rootpw {SSHA}ZKKuqbEKJfKSXhUbHG3fG8MDn9j1v4QN

برای این منظور می‌توانید به صورت زیر عمل نمایید:

slappasswd -s secret.

پیکربندی فایل slapd شامل موارد بسیار زیاد دیگری می‌شودکه می‌توانید با مراجعه به مستندات مربوطه برای پیکربندی حرفه‌ای‌تر اقدام نمایید.

Client

پیکربندی دیگری که OpenLDAP لازم دارد، ldap.conf است:

HOST 192.168.0.5
BASE dc=example,dc=com
URI ldaps://ldap.example.com
TIMELIMIT 25
SIZELIMIT 12
TLS_REQCERT allow

فراموش نکنید که TLS_REQCERT را اضافه نمایید زیرا در غیر این صورت شما اجازه دسترسی به Server LDAP از طریق خط فرمان را نخواهید داشت.

 الگوی دایرکتوری

در فایل slapd.conf، آدرس الگو تقریباً در بالای فایل لیست شده است. در حالت ابتدایی این فایل شاید تنها شامل یک الگو باشد و شما می‌توانید خود الگوهای دیگری نیز اضافه نمایید (دقت داشته باشید که الگوهای زیاد باعث ایجاد مشکل در سیستم خواهد شد

include /usr/etc/openldap/schema/core.schema
include /usr/etc/openldap/schema/cosine.schema
include /usr/etc/openldap/schema/inetorgperson.schema
include /usr/etc/openldap/schema/misc.schema
include /usr/etc/openldap/schema/openldap.schema

 

 اجرای slapd

Slapd برای فعالیت به عنوان Serverی مستقل طراحی شده است. این مورد به Server کمک می‌کند که از مزایای caching، مباحث توافق مدیریتی با پایگاه داده‌های زیرین، و نگهداری از منابع سیستم بهره ببرد.

 گزینه‌های خط فرمان

Slapd از گزینه‌های زیادی در اجرای خط فرمان پشتیبانی می‌کند که ما در اینجا به ذکر چند نکته می‌پردازیم:

-f

این گزینه فایل پیکربندی را برای slapd تخصیص می‌دهد که به صورت پیش‌فرض/usr/local/etc/openldap/slapd.conf است.

-h

این گزینه موقعیت شنونده (Listener) را پیکربندی می‌کند. پیش‌فرض آن ldap:// است که LDAP را بر روی TCP در تمامی واسطها در پورت پیش‌فرض LDAP که 389 است، قرار می‌دهد. شما می‌توانید host و پورت مخصوص یا الگوی پروتکل دیگری (مثل ldaps:// یا ldapi://) تخصیص دهید. برای مثال، -h 'ldaps:// ldap://127.0.0.1:666' که موقعیت شنونده‌های به درخواست را به صورت زیر پیکربندی می‌کند: یکی برای LDAP بر روی SSL بر روی تمامی واسطها به صورت پیش‌فرض LDAP/SSL در پورت 636، و یکی LDAP بر روی TCP در واسط localhost(loooback) پورت 666 هاستها ممکن است که از سیستم IPv4 و یا نامهاست استفاده نمایند. مقدارپورت بایستی عددی باشد.

-n

نام سرویس برای login شدن و دیگر اهداف استفاده می‌شود. پیش فرض آن slapd است.

-l

این مورد را کاربر محلی برای قابلیت syslog تخصیص می‌دهد. مقدار آن می‌تواند LOCAL0, LOCAL1, LOCAL2، ...و LOCAL7 باشد. لازم به ذکر است که این گزینه ممکن است در تمامی سیستمها پشتیبانی نشود.

-u user -g group

در اینجا می‌توان کاربر و گروه را مشخص کرد. برای کار با user می‌توان از نام و یا از شماره شناسایی (uid) استفاده نمود. برای گروه نیز گروه و یا شماره شناسایی گروه(gid) .

-r directory

این گزینه دایرکتوری زمان اجرا را مشخص می‌کند. Slapd ریشه را بعد از باز کردن شنونده‌ها و قبل از خواندن هرگونه فایل پیکربندی و یا هیچ خادم ابتدایی به این دایرکتوری تغییر می‌دهد.

-d | ?

این گزینه slapd را در سطح اشکال‌زدایی معین شده تنظیم می‌کند. هنگامی که به جای آن از کاراکتر ؟ استفاده نماییم سطوح اشکال زدای مختلفی نمایش داده می‌شود و slapd صرف نظر از گزینه دیگری که به آن داده‌اید، خارج می‌شود. سطوح اشکال‌زدایی به صورت زیر است:

سطح توضیح

-1 enable all debugging
0 no debugging
1 trace function calls
2 debug packet handling
4 heavy trace debugging
8 connection management
16 print out packets sent and received
32 search filter processing
64 configuration file processing
128 access control list processing
256 stats log connections/operations/results
512 stats log entries sent
1024 print communication with shell backends
2048 print entry parsing debugging

شما می‌توانید چند سطحی بودن را با اختصاص گزینه اشکال‌زدایی برای هر یک از سطوح خواسته شده فعال سازید و یا، تا زمانی که سطوح حالت افزایشی دارند، شما می‌توانید خودتان از ریاضیات کمک بگیرید. بدین صورت که اگر که شما سطوح 64 و 1 را می‌خواهید می‌توانید شماره سطح را جمع آنها قرار دهید (در اینجا –d 65). یا اینکه، به slapd اجازه دهید که این کار را انجام دهد

-d 1 –d 64).

 اجرا

به صورت پیش فرض باینریهای LDAP در /usr/local/libexec قرار می گیرد.در حالت کلی:

/usr/local/etc/libexec/slapd *

و برای شروع، شما می توانید LDAP daemon را در مد رفع اشکال راه اندازی نمایید:

/usr/local/libexec/slapd -4 -d -1 -f /usr/local/etc/openldap/slapd.conf -h 'ldaps:///'

با این فرمان LDAP daemon با گوش دادن برای IPv4 شروع می شود، پیغامهای رفع اشکال را نمایش می‌دهد، از فایل پیکربندی /usr/local/etc/openldap/slapd.conf استفاده می‌نماید و در مد SSL اجرا می‌شود. و یا برای تست و راه اندازی Server به روشی دیگر:

/usr/local/libexec/slapd -d9 -h 'ldaps:/// ldaps://:12345'

این فرمان Server را روی پورت های 636 و بر روی12345 ،SSL را اجرا می کند. همچنین سطح debug ،9 خواهد بود که اطلاعات ارتباط SSL را نمایش می‌دهد. اگر که شما در دستور خود از سطح اشکال زدایی 0 نیز استفاده نمایید slapd به طور اتوماتیک چند شاخه شده و خود را کنترل ترمینال جدا ساخته و در پس زمینه اجرا می شود.

صحت اجرا

اما چطور مطمئن می‌شوید که Server به درستی در حال فعالیت است؟ OpenSSL برنامه کاربردی داردکه ارتباطات SSL را تشخیص داده و شما می‌توانید با اضافه کردن تعدادی موجودیت، آنها را از طرف Client جستجو نمایید:

openssl s_client -connect example.com:636

 پایان دادن به کار Server:

kill –TERM

که باید شماره پروسه slapd در سیستم خود آن را اجرا نمایید، و یا:

kill -INT `cat /usr/local/var/slapd.pid`

در حالتی که در هنگام نصب با دستورconfigure مسیر را به صورت usr/local/var/ مشخص کرده بوده‌اید. پایان دادن به عملکردslapd به روشهای موثر و قوی ممکن است که به از دست دادن اطلاعات و یا خرابی پایگاه داده بیانجامد.

قبل آنکه داده‌ای وارد نمایید، لازم است تا اشیائی بسازیم که شامل داده‌های ما باشد. تمام داده‌هایی که در دایرکتوری LDAP داریم در قالب فایل ldif خواهد بود، فایل متنی که می‌توانید با ویرایشگر خود آن را ویرایش نمایید:

dn: dc=example, dc=com
objectclass: top
objectclass: dcObject
objectclass: organization
o: example
dc: example

dn: ou=addressbook, dc=example, dc=com
objectclass: top
objectclass: organizationalUnit
ou: addressbook

دقت داشته باشید که هیچ فضای انتهایی اضافی وجود ندارد زیرا که این مورد ارائه فایل ldif را ناکارآمد می‌نماید. اجازه بدهید تا نگاهی دقیق تر داشته باشیم به ساختار این فایل و ارتباط آن را با آنچه تاکنون آموخته‌ایم، بیابیم:

خطی که با dn آغاز شده است نشان دهنده ورودی سطح بالا و در واقع ریشه است.

خطی که با o مشخص شده است اختصار organization است.

خط بعدی objectclass است که در اینجا top است.

با قرار دادن یک خط خالی به سراغ دسته دوم اطلاعات می‌رویم:

Dn برای دفترچه آدرسها (که شاخه‌ای برای example است

و ou که مشخص کننده یکی از خصوصیات است (organization unit)

به عنوان مثال شما به دنبال تمام اطلاعاتی هستید که addressbook دارند. به راحتی می‌توانید در جستجوی خود از جمله 'show all dn where ou=addressbook' استفاده نمایید. شما می‌توانید تعاریف خود را به صورت زیر به دایرکتوری اضافه نمایید:

ldapadd -x -W -D 'cn=Manager,dc=example, dc=com' -f myfile.ldif -h 'ldaps://ldap.example.com'

x به شما این اجازهauthentication ساده را می‌دهد؛W از شما رمز عبور می‌خواهد؛ D برای بهم پیوستن با FQDN تعیین فایل مورد استفاده و H برای گذر از URI ، LDAP به Server LDAP.

 کنترل دسترسی

دسترسی به موجودیتها و خصایص آنها همگی توسط خصوصیت olcAccess کنترل می‌شود که مقادیر آن سلسله‌ای از جهات دسترسی است. فرم کلی پیکربندی آن به صورت زیر است:

olcAccess:
::= to
[by ]+
::= * |
dn[.]= | dn.=
[filter=] [attrs=]
::= regex | exact
::= base | one | subtree | children
::= val[.]= | ,
::= | entry | children
::= * | anonymous | users | self
| dn[.]= | dn.=
[dnattr=]
group/[/][.]=
peername[.]=
sockname[.]=
domain[.]=
sockurl[.]=
[set=]
[aci=]
::= [self]{|}
::= none | auth | compare | search | read | write
::= {=|+|-}{w|r|s|c|x|0}+
::= [stop | continue | break]

در توضیح آن می‌توان به موارد زیر اشاره‌ای داشت:

بخش خصوصیات و/ یا موجودیتهایی را که برای دسترسی درخواست می‌شوند، انتخاب می‌کند.
مشخص می‌کند چه موجودیتهایی اجازه دسترسی دارند، و بخش مشخص‌کننده مجوزهای دسترسی است.
سه جزء از اجازه موجودیتهای زیادی که اجازه دسترسی به همان مجموعه درست و خصوصیات آنها را داشته باشند، پشتیبانی می نماید. در ادامه به توضیح بیشتر این3 بخش خواهیم پرداخت:

1.5 What برای کنترل دسترسی به

بخش همان طور که گفته شد خصوصیات و/ یا موجودیتهایی را که برای دسترسی درخواست می‌شوند، انتخاب می‌کند. موجودیتها معمولاً به دو روش انتخاب می‌شوند: به وسیله DN و به وسیله فیلتر. جملات زیر موجودیتها را به اساس DN انتخاب می‌کنند:

to *
to dn[.]=
to dn.=

اولین مدل برای انتخاب تمام ورودیها انتخاب می‌شود. دومی بایستی ورودیها را با مقایسه کلمه‌بندی معین مقابل به عنوان هدف نرمال‌سازی DN انتخاب نماید. در مدل سوم، ورودیهایی انتخاب می‌شوند که در محدوده DN متقاضی وجود داشته باشند. ناحیه مشخص شده می‌تواند base، one، subtree یا children باشد. هنگامی که با base تنظیم شده باشد موجودیتها تنها با DNهای محیا شده مقایسه می‌شوند. One ورودیهایی که رده بالاتر آنها با DN تامین شده است مقایسه می‌شوند. Subtree تمام ورودیهای زیر شاخه که ریشه آنها DN است را مقایسه می‌کند و در نهایت children که ورودیهای پایین‌تر از DN را مقایسه می‌کند ( اما نه ورودیی که با DN نامگذاری شده است

برای مثال، اگر که دایرکتوری شامل نام ورودیهایی این چنین بود:

0: o=suffix
1: cn=Manager,o=suffix
2: ou=people,o=suffix
3: uid=kdz,ou=people,o=suffix
4: cn=addresses,uid=kdz,ou=people,o=suffix
5: uid=hyc,ou=people,o=suffix

بنابراین هر خط دستوری با سطری از بالا که شماره آن درج شده است مطابقت خواهد یافت:

dn.base='ou=people,o=suffix' با 2;
dn.one='ou=people,o=suffix' با 3و 5;
dn.subtree='ou=people,o=suffix' با 2, 3, 4و 5;
dn.children='ou=people,o=suffix' با 3, 4و 5.

همچنین می‌توان ورودیها را با فیلتر انتخاب نمود:

to filter=

که جمله‌ای است که به عنوان فیلتر جستجوی LDAP ارائه می‌شود( مطابق آنچه در RFC2254 توضیح داده شده است).برای

مثال:

to filter=(objectClass=person)

توجه داشته باشید که ورودیها را می‌توان با DN و فیلتر با گنجاندن آنها در عبارت انتخاب نمود:

to dn.one='ou=people,o=suffix' filter=(objectClass=person)

خصوصیات ورودی با قرار دادن لیستی از نام خصایصی که با کاما جدا شده‌اند در انتخاب کننده انتخاب می شوند:

attrs=

یک مقدار خاص از یک خصوصیت با استفاده از یک نام مجزا و استفاده از مقدار مشخص انتخاب می‌شود:

attrs= val

نصب و پيكربندي LDAP روي دبيان سارژ

دبيان بزرگ‌ترين توزيع لينوكس است كه قابليت‌ها و ويژگي‌هاي آن موجب شده روي كامپيوترهاي سرور و با هدف ايجاد سرويس‌دهنده به راحتي راه‌اندازي شود. سارژ يا دبيان 1/3 آخرين نسخه اين توزيع است كه شامل طيف گسترده‌اي از برنامه‌ها و ابزارهاي موردنياز براي يك سيستم سرور است. در ادامه نصب و پيكربندي سرويس‌دهنده پروتكل LDAP روي اين توزيع مرور مي‌شود. براي نصب LDAP، اگر در هنگام نصب دبيان نصب نشده است، بايد از دستور زير استفاده نمود:

apt-get install slapd ldap-utils

با اجراي دستور فوق ابزار OpenLDAP و ابزارهاي ديگر وابسته به آن نصب مي‌شوند. اكنون از مسير /etc/openldap فايل دايمون slapd.conf را توسط يك ويرايشگر متني باز نماييد. دو گزينه براي دسترسي به سرويس‌دهنده LDAP و مديريت آن و كه نام دامنه سرويس LDAP است، در اين فايل بايد تنظيم شوند. براي مثال:

omit openLDAP server configuration? no
DNS domain name: example.org
Admin password: ldap
database backend to use: BDB
Do you want your database to be removed when slapd is purged? no
protocol? No2Allow LDAPv

پس از انجام دادن تنظيمات موردنياز و اجراي سرويس LDAP، با استفاده از دستور

ldapsearch -x -b dc=example,dc=org

مي‌توانيد سرويس‌دهنده LDAP و صحت كاركرد آن را تست نماييد. سپس بايد اطلاعات پايه‌اي اوليه سلسله‌مراتبي سرويس دايركتوري شبكه يا نام دامنه مورد نظر براي OpenLDAP تعريف شوند. براي اين منظور يك فايل متني را باز كنيد و نام آن را base.ldif قرار دهيد. اين فايل در همان پوشه openldap ذخيره مي‌شود. همان‌طور كه در ضمن مثالي در بالا اشاره شد،

اطلاعات يك دايركتوري ممكن است به صورت زير باشند:

dn: ou= People, dc= example, dc=org
ou: People
objectClass: top
objectClass: organiationalUnitz
dn: ou= Group, dc= example, dc=org
ou: Group
objectClass: top
objectClass: organiationalUnitz

اكنون براي افزودن فايل اطلاعات به دايركتوري LDAP و اجراي سرويس‌دهنده از فرمان زير استفاده مي‌شود:

‌ldapadd -x -D "cn=admin,dc=example,dc=org" -W -f base.ldif

در صورت اجراي دستور بالا و صحيح بودن كلمه‌ عبور، خروجي مشاهده‌شده در ترمينال خط فرمان بايد با عبارت
. آغاز ‌شده باشد كه بيانگر آماده بودن سرويس‌دهنده LDAP براي وارد نمودن اطلاعات جديد يا مديريت كاربران است. در گام بعد معمولاً مديران شبكه يك گروه كاري را تعريف مي‌كنند تا كاربراني كه مي‌خواهند به اطلاعات روي سرويس دايركتوري دسترسي داشته باشند عضو اين گروه شوند. نام گروه مي‌تواند group.ldap باشد. بدون اين‌كه بخواهيم درگير جزئيات و پيچيدگي‌هاي راه‌اندازي يك گروه كاري روي LDAP شويم، مي‌توان اينگونه عمل نمود:

dn: cn= ldapusers, ou= Group, dc= example, dc=org
objectClass: PosixGroup
ObjectClass: top
cn: ldapusers
userPassword: [crypt]x
gidNumber:9000

اكنون LDAP براي برقراري يك ارتباط و استفاده روي شبكه آماده است. البته مي‌توان در ادامه سرويس‌هايي مانندIDIF را نيز براي كاربران و گروه كاري تعريف و تنظيم نمود.

 

پرس و جو

دو روش براي پرس و جو وجود دارد:

•         روش URL: يک مثال از اين روش بصورت روبرو است:

LDAP:://aura.research.bell.com/O=lucent,C=USA

   اين عبارت تمامي ورودي هايي که بر روي اين سرور قرار دارند که سازمان آنها برابر Lucent و کشور آنها برابر USA است را باز مي گرداند.

روش API: اين روش دستوراتي را در اختيار شما قرار مي دهد که در برنامه ها مي توان با استفاده از اين دستورات با LDAP کار کنيد. در اين روش دستورات LDAP_OPEN و LDAP_BIND يک اتصال با سرور برقرار مي کنند سپس توسط دستور LDAP_SEARCH_S مي توان يک پرس و جو را انجام داد

پیاده سازی LDAP

مراحل پیاده سازی به شرح زیر است:

1: ابزار  Open LDAPبه روشی که شرح آن در بالا قسمت نحوه نصب آمده است ، نصب شد

2 : سیستم عاملی که LDAP بر روی آن نصب شده است به صورت  سرور تعریف شده است.

3 : تمام اعمال بالا بر روی VMware نصب شده است

4 : برای استفاده از LDAP از نرم افزار Apache استفاده شده است. که به سرور متصل می شود و تمام تنظیمات و تعاریف  به وسیله آن  انجام می شود ( می شود از خود سرور به طور مستقیم هم از ابزار استفاده کرد ولی تعاریف و تنظیم بسیار مشکل خواهد شد)

5 : با استفاده از LDAP تعدای افراد و دسترسی های مربوطه و کلاسها و .... تعریف شده است

6 : در قسمت زیر مراحل نصب و استفاده به صورت تصویری شرح داده شده است :

 

الف : Linux و ابزار LDAP بر روی VMware استفاده شد.

 

ب )نرم افزار  LDAP-Apache Directory Studio   در محیط Windows فعال شد.

ج ( معرفی ابزار LDAP-Apache Directory Studio

 

- نوار عنوان File که علاوه بر موارد عادی دو گزینه Import و Export دارد .برای مثال می توان به XML ، Export کرد

 

-         نوار ابزار LDAP که شامل تمام تعریف برای استفاده از LDAP می باشد

 

د) استفاده از نرم افزار : به وسیله تعریف کردن اتصالات و ... به LDAP متصل شدیم

 

 

 

د) همانطور که مشاهده می کنیدبا استفاده از نرم افزار پنج کاربر را تعریف کرده و برای هر کاربر چند کلاس دسترسی و خصوصیات مربوط را مشخص کردیم

 

 

 

و ) نمونه ای از Schema و تعریف مربوط را مشاهده می کنید

 

 

ز ) در این ابزار می توان کلاسهای مربوط به اشیاء را به راحتی از قبل تعریف و در هر مورد که نیاز بود اضافه کرد

 

 

در قسمت پایین در صورت اشتباه در تعریف و یا رابطه بدون منطق سیستم پیغام می دهد

 

 

 

 

 

 

 

 

 

 

 

مطالعات جانبی

Active Directory

دایرکتوری چیست؟

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

Active Directory چيست؟

Active Directory امکان مديريت کاربران و کامپيوترها و گروها و بطور کلي تمامي عناصر موجود در يک شبکه را فراهم مي کند ( البته نبايد اينگونه تصور نمود که Active Directory تمامي مشکل يک مدير شبکه را حل مي نمايد) با استفاده از قابليتهاي Active Directory مي توان مشخص کرد کدام User با کدام Computer تحت کدام Domaine به چه کاري بپردازد يعني ميزان دسترسي آن به منابع موجود در شبکه چه مقدار باشد .و تا چه ميزان در اين کار اختيار داردو اجازه دسترسي دارد. مثلا"( امکان نوشتن يا جابجا نمودن و حتي امکان دسترسي به ديگر کاربران - دادن - و خود در چه سطحي از مديريت نمودن شبکه قرار بگيرد.)با استفاده از قابليت Active Directory  مديريت شبکه بسيار آسان است . چند نکته مهم در استفاده از Active Directory

1. اولين عاملي که بايد در Active Directory مد نظر داشت اين است که فايل سيستم ما بايد از نوع NTFS باشد تا امکان استفاده ازActive Directory را داشته باشيم.

2. صحت تنظيمات کارت شبکه و پروتکل کامپيوترمورد نظر نيز کنترل شود.

3. IP Address را دستي تنظيم و قبل از آن DNS SERVER را Confighor مي نمائيم.

4. بهتر است که در شبکه Clinte هاي خود را از خانواده Windows NT (XP , 2000 Pro , NT Work Staition باشد ( در اينصورت به بهترين وجه مي توان امنيت شبکه و کامپيوتر هاي آن را تامين نمود ) 1.Physical Connection or Physical Topology : 1.اتصال فيزيكي 2.logical Connection 2.اتصال منطقي اتصال فيزيكي در يك شبكه چگونگي اتصال كامپيوترها و سخت افزارهاي موجود در يك شبكه را از نظر فيزيكي مورد بحث قرار مي دهد و اتصال منطقي نحوه رفتار كامپيوترهاي موجود در شبكه را مورد بحث قرار مي دهد. ساختار شبكه هاي كامپيوتري: شبكه هاي كامپيوتري از نظر ساختار به دو دسته تقسيم مي شوند. 1)Broadcast Network 2)Point to Point Networ در اتصال Broadcast Network هر كامپيوتر توسط Nod كابل شبكه خود همواره بايد يا بطور مستقيم به كامپيوتر ديگر متصل بوده و يا توسط يك رسانه Media همانندHub به كامپيوتر ديگر متصل شود. در اين روش كامپيوتر پيغام دهنده packet اطلاعات خود را در كل رسانه رها مي نمايد با اين توضيح كه نام و آدرس كامپيوتر پيغام گيرنده را هم به همراه آن ارسال مي کند. اين packet به همه كامپيوترها رسيده و تنها توسط كامپيوتري دريافت و خوانده مي شود كه آدرس و نام كامپيوتري كه همراه با packet ارسال شده است - با آن همخواني داشته باشد. در اين ساختار علاوه بر اينكه ترافيك شبكه زياد بوده و باعث كم شدن سرعت كاركرد شبكه مي شود امنيت آن نيز از سطح مطلوبي برخوردار نيست زيرا packet اطلاعات كه ممكن است محرمانه هم باشد در سطح شبكه پخش شده و به همه كامپيوترها مي رسد. اين ساختار از پيچيدگي كمتري برخوردار بوده و هزينه تهيه سخت افزارهاي لازم براي راه اندازي آن كم است. در اتصال Point to Point Network دريافت و ارسال packet ها در شبكه توسط ابزاري هوشمند كنترل مي شود بگونه اي كه packet اطلاعاتي كه براي يك كامپيوتر مشخـــص ارســــال مي گردد تنها به سمت همان كامپيوتر ارسال شده و ديگر كامپيوترها امكان دسترسي به آن را ندارند از طرف ديگر بدليل اينكه اين بسته اطلاعاتي در كل شبكه منتشر نمي شود ترافيك شبكه بطور قابل ملاحظه اي پايين آمده و امنيت درسطح شبكه بالا مي رود. اينگونه شبكه ها به دليل داشتن ابزاري چون سوئيچ هاي هوشمند گران تر از نوع قبل مي باشد.

 

 

 مقدمه :

مي توانيم از (سرويس دايركتوري) براي تعيين يكنواخت يكپارچه كاربران و منابع موجود در شبكه استفاده نمائيد. سرويس هاي ACTIVE DIREVTORY در تمام محصولات خانوادة W2K Server يافت مي شود. تكنولوژي ACTIVE DIREVTORY يك نقطة مشخص براي مديريت شبكه ها بدست مي دهد و به شما اجازة افزودن، حذف كردن و جابجائي كاربران و منابع را با سهولت فراوان اعطا مي كند.
در اين مقاله سعي دارم تا شما را با سرويس هاي دايركتوري ACTIVE DIREVTORY و چگونگي طرح ريزي لازم جهت پياده سازي آن آشنا گردانم. در پايان نحوة پيكربندي و نسخه برداري از ACTIVE DIREVTORY را با ايجاد يك سايت ، پيكربندي يك پيوند سايت و تنظيمات يك سرور كاتالوگ كلي (Global Catalog Server) شرح خواهيم داد.

 

2. پيش نيازهاي لازم جهت نصب ACTIVE DIREVTORY

1. داشتن كامپيوتري كه حداقل شرايط سخت افزاري مورد نياز نصب ويندوز 2000 را برآورده نمايد.

2. نصب W2K-Server نصب كامپيوتر به شكل يك سيستم Stand-Alone در يك گروه كاري و نصب پروتكل TCP/IP

3. كامپيوترتان مي بايستي يك آدرس IP ي ثابت داشته باشد .

4. مي بايستي يك سرور DNS در شبكه تان داشته باشئيد و يا سرور خودتان بشكل DNS نصب شده باشد.

5. در اختيار داشتن CD ي اصلي W2K-Server

نكته : ويژگي سرويس ACTIVE DIREVTORY در نسخه هاي W2K-Server و نيز W2K-Data Center نيز وجود دارد.

 نگاهي كلي تر به ويژگي هاي سرويس هاي دايركتوري ACTIVE DIREVTORY

قبل از نصب ACTIVE DIREVTORY مي بايستي درك كاملي از مفهوم ACTIVE DIREVTORY و نقشئي (Role) كه در شبكة ويندوز2000 بازي مي كند داشته باشئيد . به علاوه دانستن ويژگي هاي كليدي ACTIVE DIREVTORY كه انعطاف پذيري و سهولت راهبري را بدست مي دهند مورد نياز مي باشند.

 سرويس دايركتوري Directory Service))

• يك سرويس دايركتوري ACTIVE DIREVTORY عبارت از يك سرويس شبكه است كه تمام منابع موجود در شبكه را مشخص كرده و آنها را براي كاربران و برنامه هاي كاربردي در دسترس قرار مي دهد.

• سرويس هاي ACTIVE DIREVTORY دايركتوري اي را در بردارند كه اطلاعات مربوط به منابع شبكه و كليه سرويس هائي كه اين اطلاعات را قابل دسترس و مفيد مي نمايند در خود نگه مي دارند.

• منابع ذخيره شده در دايركتوري مواردي چون كاربران، داده هاي كاربري، چاپگرها ، سرورها، بانكهاي اطلاعاتي ، گروهها ، كامپيوترها وسياستهاي امنيتي كه به صورت اشئياء شناخته مي شوند مي باشند.

 سهولت راهبري Administration

• سرويس ACTIVE DIREVTORY منابع شبكه رابه صورت ساختار سلسله مراتبي Hierarchically)) در حوزه ها (Domains) سازماندهي مي نمايد. يك حوزه(Domain) عبارت از گروه بندي (دسته بندي) منطقي سرورها و ديگر منابع شبكه تحت يك نام حوزة مشخص (Single) مي باشد.

• يك حوزه ، واحد اصلي نسخه برداري Replication)) و امنيت در يك شبكة مبتني بر ويندوز2000 مي باشد.

• هر كنترولر حوزه مي تواند شامل يك يا چند كنترولر حوزة ديگر باشد. يك كنترولر حوزه كامپيوتري است كه سرور ويندوز 2000 بر روي آن اجرا مي شود و براي نگهداري يك نسخة كامل از دايركتوري حوزه ، بكار مي رود.

• جهت ساده سازي وظايف راهبري، تمام كنترولرهاي حوزه نظير هم هستند. شما مي توانيد در هر كنترولري تغييراتي صورت دهيد و اين تغييرات به تمام حوزه هاي ديگر ارسال شود. Replicate)).

• سرويس هاي دايركتوري ACTIVE DIREVTORY ، نقطه واحدي را براي مديريت تمام اشئياء درون شبكه بدست مي دهند.

 مقياس پذيريScalability

در سرويس هاي ACTIVE DIREVTORY يك دايركتوري تمام اطلاعات را به شكل بخش هائي كه قابليت ذخيره سازي تعداد بسيار زيادي از اشئياء را دارد سازماندهي مي نمايد در نتيجه، دايركتوري مي تواند توسعه يابد ، همانطوريكه يك سازمان رشد مي كند و به شما اجازه مي دهد تا بتوانيد از يك نصب كوچك با چند صد شئي به يك نصب با چندين ميليون شئي وارد شويد.
نكته شما مي توانيد اطلاعات دايركتوري را در بين چندين كامپيوتر در شبكه توزيع نمائيد.

 پشتيباني از استانداردهاي باز (Open Standards)

• سرويس ACTIVE DIREVTORY مثل تمام سرويس هاي دايركتوري اساساً يك فضاي نام Namespace)) مي باشد.

• يك فضاي نام ( به اختصار NS) عبارت از محدوده مشخصي مي باشد كه در آن يك نام را ميتوان بدست آورد Resolved)) . يافتن يا ترجمة نام Name Resolution)) عبارت از ترجمة يك نام به يك شئي يا اطلاعي است كه آن نام معرفش مي باشد.

• سرويس ACTIVE DIREVTORY مفهوم اينترنتي يك N.S را با سرويس هاي دايركتوري W2K ادغام مي كند. اينكار به شما اجازه مي دهد تا چندين N.S را كه در حال حاضر در محيط هاي ناهمگون نرم افزاري و سخت افزاري شبكه اي يك شركت وجود دارند با هم آميخته و مديريت نمائيد. سرويس هاي ACTIVE DIREVTORY از DNS Domain Name system)) براي سيستم نامگذاري اش استفاده كرده و مي تواند اطلاعات را با هر برنامه يا دايركتوري اي كه از پروتكل هاي LDAP Lightweight Directory Access Protocol)) يا HTTP Hyper Text Transfer Protocol)) استفاده كند مبادله نمايد.

• نكته : سرويس هاي ACTIVE DIREVTORY همچنين اطلاعات را با سرويس هاي دايركتوري ديگري كه از پروتكلهاي LDAP اي نسخه 2و3 استفاده مي كنند مثل (Novell Directory Services) NDS ميتوانند به اشتراك بگذارند.

 سيستم هاي نامگذاري حوزه (Domain Name System)

• فضاي نام N.S)) سرويس ACTIVE DIREVTORY مبني بر طرح Scheme)) نامگذاري DNS است كه اجازه كار با تكنولوژي هاي اينترنت را مي دهد . به تقليد از استانداردهاي DNS ، نام حوزة يك حوزة بچه Child)) عملاً يك نام نسبي است كه در آن نام حوزة بچه به نام حوزة والد Parent)) متصل مي باشد.

• در ACTIVE DIREVTORY چون از نامگذاري و مكان يابي حوزه مانند روش DNS استفاده مي شود، اسامي حوزة ويندوز 2000 مي تواند اسامي DNS نيز باشند.

• ويندوز 2000 از DDNS) Dynamic DNS) استفاده مي كند تا مشترياني Clients)) را كه به شكل ديناميك آدرس دهي شده اند را مستقيماً در سروري كه سرويس DNS را اجرا مي كند رجستر نمايد و جدول DNS را به طور ديناميكي به هنگام Update)) كند. منظور از ريجستر كردن ثبت مشتريان در سرور DNS مي باشد.

• DDNS نياز به سرويس هاي ديگر نامگذاري اينترنت مثل ((Windows Internet Name Service WINS در يك محيط همگن را از بين مي برد.

• توجه : براي اينكه سرويس هاي ACTIVE DIREVTORY و نرم افزارهاي كلاينت مربوط بتوانند به درستي كار كنند، مي بايستي حتما سرويس DNSرا نصب نمائيد.

 پشتيباني ازLDAP و HTTP

• LDAP يك استاندارد اينترنتي براي دستيابي به سرويس هاي دايركتوري است كه به شكل يك بدل ساده تربراي پروتكل (Directory Access Protocol) DAP طراحي گرديده است.

• جهت كسب اطلاعات بيشتر درباره LDAP در اينترنت به دنبال RFC 1777 بگرديد. پروتكل HTTP استاندراد نمايش صفحات در دنياي وب (World Access Protocol) www = مي باشد. شما مي توانيد هر شئي درون ACTIVE DIREVTORY را به شكل يك صفحة HTML در درون مرروگرتان مشاهده نمائيد.

• نكته : سرويس ACTIVE DIREVTORY از پروتكل LDAP براي تبادل اطلاعات بين دايركتورها وبرنامه هاي كاربردي استفاده مي كند .

 پشتيباني از فرمتهاي نامگذاري استاندارد

سرويس ACTIVE DIREVTORYاز چندين قالب نامگذاري عمومي استفاده مي كند. در نتيجه اينكه كاربران و برنامه ها مي توانند با استفاده از قالب هاي نامگذاري بسيار آشنا استفاه نمايند. در جدول زير مي توان برخي ازاين قالبهاي نامگذاري استاندارد را كه در سرويس هاي ACTIVE DIREVTORY استفاده مي شوند مشاهده نمود.

 قالبهاي نامگذاري شده كه توسط سرويس هاي دايركتوري ACTIVE DIREVTORY استفاده مي شوند

 RFC 822 اسامي RFC 822 به شكلü Somename@some.domain مي باشد و كاربران با آنها از طريق آدرسهاي پستي اينترنتي (Email) سر و كار دارند. مثل a_arabbeigi@hotmail.com

 HTTP URL اين نوعü نامگذاري توسط مرورگرهاي اينترنتي و به شكلhttp://somedomain/path-to-page استفاده مي شوند و به آنها URL (Uniform (Resource Locators مي گويند . مثل http:/www.IBM.Com/input/default.html

 UNC از اين قالب جهت نامگذاري ولوم هايü اشتراكي ، چاپگرها و فايلها در شبكه استفاده مي شود مثلاً : \\myco.com\xl\budget.xls

 LDAP URL اين قالب سروري را كه ACTIVE DIREVTORY بر روي آن نصبü شده و نام منتسب به شئي را نام فاميل، دپارتمان و آدرس Email وي مي باشد،مشخص مي كند. سرويس ACTIVE DIREVTORY از الگوي 1779 RFC پشتيباني كرده و از صفحات به شكل زير استفاده مي كند :

LDAP://SomeServer.myco.com/OU=,jimsmith sys, product, OU = division, DC=devel
 CN معرف Common Nameü OU معرف نام واحد سازماني و DC نام اجزايü حوزه مي باشد.

انواع دایرکتوری :

 

 

 

 


 ساختار ACTIVE DIREVTORY و نسخه برداري سايت (Site Replication)

• سرويس ACTIVE DIREVTORY روشئي را براي طراحي ساختار يك دايركتوري كه نيازهاي سازمانتان را مرتفع گرداند بدست مي دهد. در نتيجه اينكه ، قبل از نصب سرويس هاي ACTIVE DIREVTORY ، مي بايستي عمليات و استراكچر سازمانتان را امتحان نمائيد.
• اكثر شركتها ساختاري متمركز دارند . براي مثال اين شركتها دپارتمانهاي تكنولوژي اطلاعات (IT) قوي اي دارند كه ساختار شبكه شان را تا كوچك ترين جزئيات تعريف و پياده مي نمايند. اما شركت هاي ديگر، بخصوص شركتهاي عظيم ، بسيار غيرمتمركز هستند . اين شركتها چندين فعاليت كاري دارند كه هر يك از آنها خود شامل جزئيات زيادي مي باشند. اين شركت ها نياز به روشهاي غيرمتمركزي دارند كه روابط تجاري و شبكه هايشان را مديريت نمايد.

• با انعطاف پذيري اي كه در ACTIVE DIREVTORY سراغ داريم، مي توان براحتي ساختار شبكه را جهت برآورده ساختن نيازهاي آنان برپا نمود.

• ACTIVE DIREVTORY بطور كاملاً مجزا ساختار منطقي سلسله مراتب حوزه را از ساختار فيزيكي آن جدا مي سازد.

 ساختار منطقي

در سرويس هاي ACTIVE DIREVTORY‌، شما منابع را به شكل منطقي سامان مي دهيد. با اين روش دسته بندي منطقي منابع، براحتي مي تواند يك منبع را با استفاده از نامش به جاي محل فيزيكي اش پيدا نمائيد. ساختار منطقي اشئياء واحدهاي سازماني، حوزه ها ، درختها، جنگل ها Forest)) تشكيل شده است.

 شئي (Object)

• يك شئي عبارت از يك مجموعة نامگذاري شده و مجزا از صفاتي (Attributes) است كه يك منبع شبكه را نشان مي دهد. براي مثال ، صفات يك حساب كاربري ممكن است شامل نام و نام فاميل ، دپارتمان و آدرس Email وي مي باشد.

• در ACTIVE DIREVTORY مي توان اشئياء را به شكل كلاسها (Classes) كه گروه بندي منطقي اشئياء مي باشد سازماندهي نمود.براي مثال، يك كلاس شئي ممكن است حسابهاي كاربران،گروهها،كامپيوترها ،حوزه ها يا واحدهاي سازماني باشد.

 واحدهاي سازماني Organizational Units

يك واحد سازماني (OU) عبارت از نگهدارنده اي (Container) است كه جهت سازماندهي اشئياء درون يك حوزه به شكل گروه هاي قابل مديريت منطقي (Logical Administrative) بكار مي رود مثل حسابهاي كاربران، گروهها، كامپيوترها، چاپگرها، برنامه ها ، فايلهاي اشتراكي و OU هاي ديگر.

• از OU براي سازماندهي سرويس هاي ACTIVE DIREVTORY قرار گرفته در يك شركت جهت دو منظور زير استفاده كنيد:
 ساختار سازماني

 مدل سرپرستي و راهبردي شبكه

• اختصاص مجوزها به OU ها جهت تفويض اختيارات و كنترلهاي سرپرستي
- هيچ محدوديتي در عمق بكارگيري OU ها وجود ندارد. و ليكن سلسله مراتب كم عمق (Shallow Hierarchy) بهتر از يك مشابه عميق كار مي كند، از اين رو مي توانيد يك سلسله مراتب OU عميق تر از حد نيازتان ايجاد نمائيد .

- نكته : شما مي توانيد وظايف راهبري (Administrative) را با اختصاص مجوزها به OU ها تفويض (Delegate) نمائيد.

 حوزه (Domain)

• واحد مركزي ساختار منطقي در سرويس هاي ACTIVE DIREVTORY را حوزه يا Domain مي گويند.

• حوزه ها فقط اطلاعات اشئياء درون خود را نگه مي دارند، نه اشئياء درون شبكه را . از نظر تئوري يكD.C (Domain Controller) ميتواند تا 10 ميليون شئي را نگه دارد ، اما يك ميليون شئي در يك حوزه مي تواند عملي تر باشد.

• يك حوزه ، يك منطقه امنيتي مي باشد و دسترسي به اشئياي درون آن توسط ليستهاي كنترل دسترسي يا ACL (Access control list) كنترل مي شود. ACL ها مجوزهاي لازم جهت دسترسي به اشئياء توسط كاربران را در خود نگه ميدارند. تمام تنظيمات و سياستهاي امنيتي از يك حوزه به حوزة ديگر منتقل نمي شوند، و راهبران حوزه ها تنها در حوزهاي كه قرار دارند داراي قدرت مطلق مي باشند.

 درخت و جنگل (Tree & Forest)

• يك درخت عبارت از گروه بندي يا آرايش سلسله مراتبي يك يا چند حوزه W2k است و يك جنگل گروه بندي يا آرايش يك يا چند درخت مي باشد.

• هم درخت و هم جنگل فضاهاي نامگذاري (N.S) مي باشند.

• دو نوع N.S وجود دارند:

فضاي نام پيوسته (Contiguous)

نام يك شئي بچه در سلسله مراتب اشئياء هميشه همراه با نام شئي والد مي باشد. يك درخت عبارت از يك N.S پيوسته است زيرا نام يك شئي بچه هميشه همراه با نام يك شئي والد ذكر مي شود.

 فضاي ناپيوسته (Disjointed)

 در اين N.S اسامي يك شئي والد و شئي بچة آن، مستقيماً به همديگر§ مربوط نمي باشند. يك جنگل عبارت از يك N.S (فضاي نام ) ناپيوسته است ، زيرا تمام درختان درون يك جنگل از يك استراكچر نامگذاري مشترك استفاده نميكنند.
 از§ آنجائيكه تمام درختان موجود در يك جنگل ، از ساختار يكساني براي نامگذاري استفاده نمي كنند، ميتوانيد از يك جنگل براي دسته بندي بخش هاي گوناگون درون يك شركت استفاده نمائيد و گرچه اين بخش ها از طرح نامگذاري مشتركي استفاده نميكنند، اما ميتوانند با يكديگر در ارتباط باشند.

 سايتها و نسخه برداري درون يك سايت Sites & Replication

• يك سايت ، تركيبي از يك يا چند زير شبكة (subnet) IP (Internet protocol) مي باشد كه مي بايستي از طريق يك خط پر سرعت (High- Speed Link) بهم وصل شوند. براي نمونه ، يك سايت همان حد و مرزي را دارد كه يك شبكة محلي LAN دارا مي باشد. وقتي زيرشبكه ها را با هم گروه بندي مي كنيد مي بايستي فقط زيرشبكه هايي را كه ارتباط مطمئن، ارزان و سريع با يكديگر دارند تركيب نمائيد.
• پيوند شبكه سريع ‌(Fast) حداقل 512 kbps سرعت دارد. پهناي باند 128 kbps و بيشتر كفايت مي نمايد. با تعريف سايتها به شكل يك مجموعه از زيرشبكه ها، مي توانيد توپولوژي نسخه برداري و دسترسي به سرويس هاي ACTIVE DIREVTORY را جهت بهره برداري بهتر پيكربندي نمائيد.

دلايل ايجاد سايتها را مي توان به دو فاكتور زير تقسيم كرد :

1. جهت بهينه سازي ترافيك نسخه برداري (Replication)

2. به كاربران امكان بدهيد تا با استفاده از يك خط پرسرعت و مطمئن به يك كنترولر وصل شوند.

• با ACTIVE DIREVTORY ، سايتها بخشئي از NS نمي باشند. هنگام جستجو در NS منطقي ، مي بينيد كه كامپيوترها و كاربران در حوزه ها و OU ها Organizational Unite)) گروه بندي شده اند نه در سايتها.

فقط سايتها اشئياء مربوط به كامپيوترها و ارتباطات (Connections) به كار رفته براي پيكربندي نسخه برداري بين سايتها را دربردارند.

توجه : يك حوزة تنها ميتواند به چندين سايت در محلهاي مختلف مربوط شود، و يك سايت تنها ميتواند حسابهاي كاربري و كامپيوتري متعلق به چندين حوزه را نگه دارد.

• سرويسهاي ACTIVE DIREVTORY ، همچنين يك ويژگي نسخه برداري در خود دارند. نسخه برداري، به شما اطمينان مي دهد كه تغييرات اعمال شده در يك كنترولر حوزه، به تمام حوزه هاي ديگر درون آن حوزه كپي خواهد شد.

• براي اينكه عمليات نسخه برداري را درك نمائيد، ابتدا مي بايستي مفهوم كنترولرهاي حوزه را متوجه شويد. يك كنترولر حوزة ، كامپيوتري است كه يكي از نسخه هاي ويندوز سرور بر روي آن نصب شده باشد و ميتواند يك نسخه (Replica) از دايركتوري حوزه را در خود ذخيره نمايد. در زير، برخي از كارهايي را كه يك كنترولر حوزه انجام مي دهد آورده ايم :

 يك حوزه ، يك كپي كامل از اطلاعات سرويس هاي ACTIVE DIREVTORY براي آنü حوزه را نگه مي دارد، تغييرات اعمال شده روي اين داده ها را مديريت كرده و اين تغييرات را به حوزه هاي ديگر درون آن حوضه كپي مي نمايد. (Replicate).

 وقتي عملياتي صورت دهيد كه باعث تغيير در ACTIVE DIREVTORY شود، در واقع اين تغيير در يك حوزه روي داده است . كنترولر حوزه سپس اين تغييرات را به تمام حوزه هاي ديگر كپي مي كند. شما ميتوانيد ترافيك نسخه برداري بين كنترولرهاي حوزه را به اين طريق كنترل نمائيد كه چه وقت نسخه برداري آغاز مي شود و مقدار داده هائي كه ويندوز 2000 منتقل مي كند چه مقدار مي باشد.
 كنترولرهاي حوزه ( از اين پس به اختصار DC يا Domainü controllers)) بلافاصله تغييرات مهم مثل غيرفعال ساختن يك حساب كاربري را منتقل مي نمايند. (Replicate)

 سرويس هاي ACTIVE DIREVTORY از چند نسخه برداري اصلي (Multimasterü Replication) كه در آنها هيچ DC ي اصلي اي (Master) وجود ندارد استفاده مي كند. در عوض تمام DC هاي درون يك حوزه نظير هم مي باشند و هر DC يك كپي از بانك اطلاعاتي دايركتوري را كه مي توان در آن نوشت در خود مي دارد DC ها اطلاعات متفاوتي براي مدت زمان كوتاه در خود نگه مي دارند تا تمام DC ها به طور همزمان تغييرات اعمال شده در سرويس هاي ACTIVE DIREVTORY را به كار بگيرند.

 داشتن چند DC به جاي يك حوزه ، تحمل خطاü (Fault Tolerance) را افزايش مي دهد. اگر يك DC خاموش باشد ، DC ي ديگري مي تواند تمام سرويس هاي لازم را ارائه دهد مثل ضبط تغييرات در سرويس هاي ACTIVE DIREVTORY .
 DC ها كليه جنبه هاي ارتباطي ميان كاربر و حوزه را مديريت مي كنند،مثل يافتن اشئياء ACTIVE DIREVTORY و تائيد نمودن تلاشهاي كاربر جهت ورود (Logon).

• در يك سايت، سرويس هاي ACTIVE DIREVTORY به طور خودكار يك توپولوژي حلقوي (Ring) درست مي كنند تا نسخه برداري بين DC ها درون يك حوزه انجام شود. توپولوژي مسيري را جهت جريان تغييرات بين DC ها مشخص مي كند.

• مسير حلقوي حداقل دو راه براي انتقال تغييرات بين DC ها بدست مي دهد تا اگر يكي از DC ها خاموش شود مسير ديگري براي نسخه برداري وجود داشته باشد. سرويس هاي AD به طور متناوب توپولوژي مورد نظر را آناليز مي نمايند تا كارايي آن كم نشود اگر يك DC را حذف يا اضافه نمائيد، سرويس ACTIVE DIREVTORY ، اين توپولوژي را مجدداً پيكربندي مي كند تغييرات را منعكس مي نمايد.

 مفاهيم دايركتوري فعال (Active Directory = AD)

تعدادي مفهوم جديد به سرويس ها و ACTIVE DIREVTORY افزوده شده كه مي بايستي قبل از هر چيز از آنها مطلع شويد.
طرح يا شماتيك (Schema)

• طرح يا شماتيك ، شامل يك تعريف صوري از محتوا و ساختار سرويس دايركتوري ACTIVE DIREVTORY مي باشد كه مواردي چون صفات (Attributes) ، كلاسها و خصوصيات كلاس ها را در بر مي گيرد.

• به ازاي هر كلاس شئي ، طرح ياشاما مشخص مي كند كه يك نمونه از كلاس مي بايستي چه صفاتي داشته باشد، چه صفات اضافي مي تواند به خود بگيرد و چه كلاس شئي اي مي تواند والد كلاشئي شئي فعلي باشد.

توجه : تمام حوزه هاي دورن يك درخت واحد و تمام درختهاي درون يك جنگل از يك طرح (Schema) مشترك استفاده مي نمايند.

• نصب ACTIVE DIREVTORY قابل توسعه (Extensible) است، بدين شكل كه مي توانيد انواع شئي دايركتوري جديد و صفاتش را تعريف نمائيد.با استفاده از آويز Snap – In) يا آيكون)Active Directory Schema Manager يا (ADSI) Active Directory Services Interface مي توانيد شماتيك يا طرحتان را گسترش دهيد. هر دوي اين ابزار در كيت منابع ويندوز 2000 (W2KRK) وجود دارند.

• شماتيك در كاتالوگ جامع (Global Catalog) يا كاتالوگ كلي ذخيره و پياده سازي شده است، و به طور پويا به هنگام (Update) ميشود.

مي توان نتيجه گيري كرد هر برنامه مي تواند شماتيك را با صفات و كلاسهاي جديد توسعه دهد و بلافاصله نيز از اين تغييرات استفاده كند

توجه : مجوز نوشتن (write)در شماتيك، به طور پيش فرض براي اعضاي گروه Administrators در نظر گرفته شده است .

 فهرست كلي (Global Catalog)

• فهرست كلي (يا به اختصار GC) انبار مركزي اطلاعات، دربارة اشئياء موجود در درختها يا جنگل ها مي باشد به شكل 8 نگاه كنيد. سرويس هايACTIVE DIREVTORY به طور خودكار محتواي GC ( كاتالوگ كلي) را از حوزه هايي درست مي كنند كه دايركتوري را از طريق فرايند نسخه برداري (Replication) ساخته اند.

توجه : تمام حوزه هاي درون يك درخت تكي و تمام حوزه هاي واقع در يك جنگل از يك كاتالوگ كلي مشترك استفاده مي نمايند.

• كاتالوگ كلي ، يك سرويس است و به عبارتي يك محل فيزيكي جهت ذخيرة كپي يدكي (Replica) از صفات انتخابي براي هر شئي درون سرويس هاي ACTIVE DIREVTORY مي باشد. به طور پيش فرض، صفاتي (Attributes) كه در كاتالوگ ذخيره مي شوند آنهايي هستند كه بيشتر در عمليات جستجو (مثل نام و فاميلي كاربر ، نام ورود و غيره) استفاده مي شوند و براي يافتن يك نسخه كامل از شئي ضروري است مي باشند. . در نتيجه شما ميتوانيد از كاتالوگ كلي براي پيدا كردن اشئياء در هر جاي شبكه استفاده كنيد، بدون اينكه به نسخه برداري (Replication) ازتمام اطلاعات حوزه ميان كنترولرهاي حوزه نياز باشد.

• وقتي سرويس هاي ACTIVE DIREVTORY را روي اولين كنترولر حوزه در يك جنگل جديد نصب نمائيد. آن كنترولر حوزه به طور پيش فرض تبديل به سرور كاتالوگ كلي مي شود. يك سرور كاتالوگ كلي (GC Server) عبارت از يك كنترولر حوزه است كه يك كپي از كاتالوگ كلي را نگه مي دارد و پرس و جوهاي ارسالي به آنرا پردازش مي نمايد .

• سرورهاي GC ، راندمان جستجو در جنگ وسيع از طريق سرويسهاي ACTIVE DIREVTORY را افزايش مي دهد.
براي مثال ، اگر به دنبال تمام چاپگرهاي درون يك جنگل بگرديد ، سرور GC پرس و جو را از كاتالوگ شروع مي كند و بعد نتايج را باز مي گرداند. بدون يك سرور كاتالوگ كلي، اين پرس و جو (Query) مي بايستي در هر كنترولر حوزه كه در يك حوزه و به آن تبع در يك جنگل وجود داشت انجام مي گرفت.

• سرور كاتالوگ كلي، ظرفيت پشتيباني از چند صدهزار تا يك ميليون شئي را دارد كه مي تواند تا بيش از اين تعداد هم افزايش يابد.

• با استفاده از آويز (Active Directory Sites & Services) مي توانيد چندين كنترولر حوضه را به عنوان سرورهاي كاتالوگ در نظر بگيريد. هر چه سرورهاي GC بيش تر شود ترافيك نسخه برداري نيز بيشتر مي شود وليكن اگر سرورهاي بيشتري در دسترس باشد، پاسخ دهي سريعتري را نيز بدست مي دهند.

• به طور كلي به شما توصيه مي كنيم كه هر سايت اصلي در شركتتان يك سرور كاتالوگ كلي داشته باشد.

 روابط موثق (Trust Relationships)

• يك رابطه موثق ، پيوندي ميان دو حوزه است كه در آن يك حوزه تائيد كنده (Trusting) ، اعتبارات ورودي از يك حوزة تائيد شده (Trusted)‌ را بررسي و تائيد مي كند.

نكته :‌تائيديه (Authentication) بكار رفته در روابط موثق ويندوز 2000 از پروتكل Kerberos 5 پشتيباني مي كند كه يك علت استاندارد صنعتي براي عمليات تائيد بين سيستم عامل هاي مختلف مي باشد.

• سرويس هاي ACTIVE DIREVTORY از دو حالت روابط موثق Trust)) پشتيباني مي نمايد:

1.     تائيدهاي غيرانتقالي يك طرفه,No transitive Trusts) (One -way

2. تائيدهاي انتقالي دو طرفه (Tow-Way, Transitive Trusts)

 تائيدهاي غيرانتقالي يكطرفه (One-way , No transitive Trusts)

• در يك رابطة موثق يكطرفه اگر حوزة A ، حوزة B را تائيد كند . حوزة B به طور خودكار حوزة A را تائيد نميكند. در يك رابطة موثق غيرانتقالي، اگر حوزة A حوزة B را تائيد كند و حوزة B حوزة C را تائيد نمايد، در نتيجه حوزة A به طور خودكار حوزة C را تائيد نمي كند.
• شبكه هاي ويندوز NT و قديمي تر از اين روش استفاده مي كنند. شما به طور دستي يك رابطة موثق غيرگذرا را يكطرفه بين حوزه هاي موجود درست مي كنيد. در نتيجه يك شبكه NT يا قديمي تر ، با چندين حوزه نياز به ايجاد چندين رابطة موثق دارد.
• سرويس هاي ACTIVE DIREVTORY از اين نوع تائيد كردن براي ارتباطات ميان حوزه هاي NT و قديمي تر استفاده مي كند و اجازة پيكربندي روابط موثق بين حوزه هاي درون درختهاي ديگر را مي دهد.

 تائيدهاي انتقالي دو طرفه (Two-way , Transitive Trusts)

• تائيديه انتقالي دو طرفه, عبارتست از رابطه اي ميان حوزه هاي والد و فرزند در يك درخت و بين حوزه هاي سطح بالا در يك جنگل مي باشد. . اين نوع روابط موثق بين حوزه ها به طور پيش فرض در ويندوز 2000 سرور وجود دارند. تأييديه انتقالي يكي از ويژكي هاي پروتكل تأييد اعتبار Kerberos مي باشد كه تصديق توزيعي (شبكه اي يا Distributed) و اعتبار بخشئي در ويندوز 2000 را فراهم مي سازد.

• در يك رابطه موثق دو طرفه، اگر حوزه , A حوزه B را تأييد كند ، بنابراين حوزه , B حوزه A را تأييد مي كند. در يك رابطه موثق انتقالي

اگر حوزه A , حوزه B را و حوزه B , حوزه C ¬ را تائيد كند , حوزه A حوزه C را تائيد خواهد كرد.بنابراين در يك رابطه موثق انتقالي دو طرفه (Tow-Way, Transitive Trust) , اگر حوزه A , حوزه B را تائيد كند و حوزه B , حوزه C ¬ را تائيد كند در نتيجه حوزه A , حوزه C را و حوزه C , حوزه A را مورد تائيد قرارميدهد.اگر يك رابطه موثق انتقالي دوطرفه, بين دو حوزه وجود داشته باشد, مي توانيد مجوزهاي لازم براي منابع موجود در يك حوزه را به گروهها و كاربران حوزه ديگر اختصاص دهيد و بالعكس.

• رابطه موثق انتقالي دو طرفه به طور پيش فرض در ويندوز 2000 وجود دارند زماني كه يك حوزه بچه (Child) درست مي كنيد, يك رابطه موثق به طور خودكار بين او و حوزه والدش به وجود مي آيد كه آن را بين ديگر حوزه هاي درخت نيز برقراري مي سازد. مي توان اين طور نتيجه گرفت كهكاربران يك حوزه مي توانند به منابعي در حوزه هاي ديگر درخت كه مجوزش را دارند دست پيدا كنند.

 قواعد نامگذاري (Naming Conventions)

هر شئي اي در دايركتوري فعال (Active Directory) با يك نام مشخص مي شود. سرويس هاي AD از انواع قواعد نامگذاري استفاده مي كنند : اسامي متمايز (Distinguished) ,اسامي متمايز نسبي, شناسه هاي يكتا كلي (Globally Unique Identifiers) و اسامي اصلي كاربران (Principal).

 نام هاي متمايز (Distinguished Name)

هر شئي در ACTIVE DIREVTORY داراي يك نام متمايز (DN) مي باشد كه به طور منحصر بفردي آن شئي را معرفي مي كند و اطلاعات لازم براي يك شئي را در خود نگه مي دارد تا آن شئي را بتوان از دايركتوري بازيابي كرد.
DNنام حوزه و مسيركامل در بردارنده (Container) آن شئي در سلسله مراتب را نگه مي دارد.براي مثال, DN زير شئي كاربر جيمز اسميت در حوزه Microsoft.com را نشان ميدهد.

/DC=COM/DC=Microsoft/OU=Dev/CN=Users/CN=James Smith

DC = Domain Component Name (نام قسمت حوزه)

OU = Organization Unit Name (نام واحد سازماني)

CN = Common Name (نام عمومي)

 

DN نمي تواند تكراري باشد.

 اسامي متمايز نسبي (Relative Distinguished Name)

ACTIVE DIREVTORY به شما اجازه مي دهد تا به دنبال يك شئي بگرديد حتي اگر DN دقيق آن ناشناخته و يا تغيير كرده باشد. اينكار با پرس و جوي صفات آن شئي صورت مي گيرد.نام متمايز نسبي (RDN) يك شئي، بخشئي از نام است كه خود صفت يك شئي تلقي مي شود. در مثال قبلي، RDN شئي كاربر جيمز اسميت، James Smith مي باشد.RDN شئي والد آن Users است.شما مي توانيد RDNهاي تكراري براي اشئياء ACTIVE DIREVTORY داشته باشئيد،اما نمي توانيد دو شئي با يك RDN دريك OU داشته باشئيد.براي مثال نمي توان از حساب كاربري Amy Jones براي كاربر ديگري در همان OU (واحد سازماني) استفاده كنيد.وليكن بهرحال مي توانيد اسامي RDN تكراري در OU هاي مجزا از هم داشته باشئيد زيرا آنها DN هاي مختلفي دارند.

شناسه منحصربه فرد كلي (Globally Unique Identifier)

يك شناسه (معرف) منحصربه فرد عمومي (GUID) يك عدد128 بيتي است كه تضمين مي كند يكتا باشد. GUID ها در زمان درست شدن اشئياء تخصيص مي يابند. GUID هرگز تغييرنمي كند، حتي اگر آن شئي را تغيير نام دهيد و يا منتقل نمائيد.برنامه ها مي توانند GUID يك شئي را ذخيره نموده و آن راصرف نظر از DN فعلي اش بازيابي نمايند.

 نام اصلي كاربر (User Principal Name)

حساب هاي كاربري، يك نام دوستانه (Friendly) دارند كه آن "نام اصلي كاربر" (UPN) مي باشد.UPN از نام "كوتاه شده اي" براي حساب كاربر و نام DNS درختي كه شئي كاربر را نگه مي دارد تشكيل شده است. براي مثال كاربر James Smith دردرخت Microsoft.com ممكن است UPN به شكل James@microsoft.com داشته باشد.

 مقدمه اي بر طرح ريزي (Planning)

وقتي تصميم مي گيريد كه يك شبكه ويندوز 2000 برپا كنيد،مي بايستي در نظر بگيريد كه چطور يك فضاي نام DNS وسرويس هاي ACTIVE DIREVTORY را پياده نمائيد.در ابتدا ساختار تجاري و كاركرد سازمانتان را امتحان كنيد. در بسياري از سازمان ها، واحد IS , كار تعريف و پياده سازي ساختار شبكه را همراه با كوچكترين جزييات بعهده دارد. در سازمان هاي ديگر به خصوص شركت هاي بزرگ، از يك روش غير متمركز براي مديريت روابط تجاري و شبكه استفاده مي شود. اين سازمان ها بايستي، چندين واحد تجاري داشته باشند، كه هر كدام نيازهاي مختلفي براي مديريت منابع شبكه شان در اختيار دارند. هنگام طراحي NS (فضاي نام) و ACTIVE DIREVTORY ملاحظات زير را در نظر بگيريد: محل هاي فيزيكي دفاتر، سازماندهي مجدد و رشد آتي، ودسترسي به منابع شبكه.

 طرح يك Name Space NS

اكر شبكه شركت شما از قبل در اينترنت معرفي شده باشد،مي بايستي تصميم بگيريد كه آيا قصد توسعه NAME SPACE خارجي براي استفاده در داخل شبكه را داريد و يا مي خواهيد يك NAME SPACE جديد بيافرينيد.

 توسعه بخشئيدن يك NAME SPACE موجود

شما مي توانيد يك NAME SPACE موجود را طوري توسعه دهيد تا آن را درحوزه هاي ويندوز 2000 سرور قرار دهيد. البته مي بايستي درنظر بگيريد كه از يكNAME SPACE يكسان براي منابع داخلي و خارجي استفاده نمائيد اگر قصد انجام كارهاي زير را داريد:

• اسامي درخت سازگاري براي منابع داخلي و خارجي داشته باشئيد.

• از يك نام كاربري و نام ورود (Logon) براي منابع داخلي وخارجي استفاده نمائيد.

• بيش از يك فضاي نام DNAME SPACE را نگه نداريد.

وقتي از يك NAME SPACE استفاده مي كنيد، مي بايستي دو منطقه (Zone) DNS جداگانه براي سازمانتان درست نمائيد.يكي از Zone ها (مناطق) تبديل نام (Name Resolution) براي منابع داخلي و ديگري براي منابع خارجي را فراهم مي سازد مثل سرورهاي Web، سرورهاي FTP ، سرورهاي Mail و غيره.

 ايجاد يك NAME SPACEداخلي جديد

شما همچنين مي توانيد NAME SPACE هاي مختلفي براي منابع داخلي وخارجي داشته باشئيد در اين حالت، تمام سرورهاي داخلي شركت، از يك NAME SPACEاستفاده مي نمايند، در حاليكه منابع خارجي مثل سرورهاي اينترنت و FTP از NAME SPACE ديگري استفاده مي كنند.اين پيكربندي نياز به اين دارد كه شما دو NAME SPACE را با يك منبع ثبت DNAME SPACE اينترنتي رزرو نماييد.يعني دو NAME SPACE شما توسط يك منبع در اينترنت ثبت شوند.داشتن NAME SPACE هاي مختلف را براي حالات زير در نظر بگيريد:

• يك تمايز واضح بين منابع داخلي و خارجي

• مديريت منابع داخلي و خارجي به طور مجزا

• پيكربندي ساده كلاينت پراكسي و مرورگر كلاينت.

 طرح ريزي يك سايت

شما ساختار يك حوزه و يك سايت را به طور جداگانه درسرويس هاي ACTIVE DIREVTORY نگه مي داريد. يك حوزه تنها،مي تواند چندين سايت داشته باشد و يك سايت تنها مي تواند چندين حوزه يا بخش هايي از چندين حوزه را دربر بگيرد.وقتي سايتي را طرح مي كنيد، به وجود پهناي باند براي ترافيك نسخه برداري (Replication) كه در يك حوزه ايجاد مي شود توجه فرمائيد.براي مثال، فرض كنيد كه شما دفاتري در فونيكس، آريزونا، وفلگ استف، آريزونا داشته باشئيد. و فرض كنيد هر دوي اين دفاتر در يك سايت قرار دارند در چنين حالتي، كنترولرهاي حوزه در هر دفتر مي بايستي به طور مكرر نسخه برداري نمايند.وليكن با نصب هر دفتر به طور جداگانه در يك سايت جداگانه،مي توانيد يك زمان نسخه برداري مشخص نمائيد تا از لحظاتي كه تقاضا در شبكه كم است و ارتباطات بيشتري در دسترس قرار دارند يا حتي برقراري ارتباطات تلفني (Dial-up) بصرفه باشنداستفاده نمائيد. وقتي مي خواهيد بدانيد چطور مي توان زيرشبكه ها (Subnets) را در سايت ها طرح ريزي نموده مي بايستي نكات زير را مدنظر قرار دهيد:

• فقط زيرشبكه هايي كه ارتباطات مطمئن، ارزان و سريع با سرعت حداقل 512 kbps را به دست مي دهند با هم تركيب كنيد.

• سايت ها را طوري پيكربندي نمانيد تا عمل نسخه برداري(Replication) در زمان هايي دهد كه به راندمان و كارائي شبكه اثر نگذارد.

 طرح ريزي واحدهاي سازماني (O.U)

در يك حوزه تنها، مي توانيد حساب هاي كاربري و منابع را با استفاده از يك سلسله مراتب از OUها سازماندهي كنيد تا ساختار شركتتان را منعكس نمايد.درست به همان شكل كه شركت شما مي تواند چندين سطوح مديريتي داشته باشد به همان ترتيب نيز مي توانيد چندين سطح مديريتي به شكل OUها در حوزه تان درست نمائيد.اگر مي خواهيد كارهاي زير را صورت بدهيد به فكر درست كردن يك OU باشئيد:

• قصد منعكس كردن استراكچر و سازمان شركتتان در يك حوزه را داريد. بدون OU ها تمام حساب هاي كاربري صرف نظر از دپارتمان، محل و يا موقعيت كاربر به شكل يك ليست تنها، نگهداري و نمايش داده مي شود.

• كنترل منابع شبكه و وظايف سرپرستي را تفويض كنيد، در حالي كه قابليت مديريت آنها را حفظ مي نمائيد. منظور از تفويض وظايف همان Delegation مي باشد. شما مي توانيد مجوزهاي سرپرستي را به گروه ها يا كاربران در سطح OU اعطا نمائيد كه اين خود تفويض وظايف يا Delegation مي باشد.

• تطبيق و تعديل نمودن تغييرات نهفته در استراكچر سازماني شركتتان.مي توانيد به راحتي حسابهاي كاربري را بين OU ها انتقال دهيد، در حالي كه انتقال دادن اين حساب ها بين حوزه ها معمولأ به تلاش و دقت بيشتري نياز دارند (يكي از مزاياي طرح OUها

• اشئياء را گروه بندي نمائيد تا راهبران بتوانند منابع شبكه را به راحتي پيدا كنند و وظايف سرپرستي را بخوبي انجام دهند.براي مثال مي توانيد تمامي حساب هاي كاربري را براي كارمندان موقت در OU ها گروه بندي نمائيد.
• قابليت مشاهده منابع شبكه در سرويس هاي ACTIVE DIREVTORY را در محدود نمائيد.كاربران تنها مي توانند اشئيائي را ببينند كه اجازه اش را دارند.

 نصب سرويس هاي دايركتوري Active Directory

در اين قسمت اطلاعات درباره نصب سرويس ACTIVE DIREVTORY با استفاده از جادوگر (Wizard) نصب ACTIVE DIREVTORY را شرح مي دهيم و نيز ولوم هاي اشتراكي و بانك اطلاعاتي اي را كه سرويس هاي ACTIVE DIREVTORY حين نصب درست مي كنند نشان خواهيم داد.

 جادوگر نصب Active Directory Installation Wizard) ACTIVE DIREVTORY)

از جادوگر نصب ACTIVE DIREVTORY براي مقاصد زير استفاده نمائيد:

• اضافه كردن يك كنترولر حوزه به يك حوزه موجود.

• ايجاد اولين كنترولر حوزه براي يك حوزه جديد.

• ايجاد يك حوزه بچه جديد.(Child Domain)

• ايجاد يك حوزه درخت جديد.

جهت اجراي برنامه نصب ACTIVE DIREVTORY (Active Directory Installation Wizard) مي توانيد از برنامه ديگري به نام Windows 2000 Configure Server Wizard شروع كنيد و يا از دستور Dcpromo.exe استفاده نمائيد. منظور از جادوگر پيكربندي سرور 2000 همان Windows 2000 Configure Server Wizard مي باشد وقتي برنامه نصب ACTIVE DIREVTORY را روي يك كامپيوتر مستقل يا تنها Stand alone)) راه بياندازيد، شما را به مراحل نصب يك كنترولر حوزه جديدي روي اين كامپيوتر هدايت مي نمايد. در طول نصب مي توانيد معلوم كنيد كه كنترولر حوزه جديدي براي يك حوزه موجود درست كنيد و يا اين كنترولر حوزه اولين كنترولر حوزه شما در شبكه باشد.

 افزودن يك كنترولر حوزه به يك حوزه موجود

اگرگزينه نصب يك حوزه براي يك كنترولر حوزه موجود را بپذيريد ، يك كنترولر حوزه نظير (Peer) درست خواهد شد. با ايجاد يك حوزه نظير يك حوزه اضافه درست مي كنيد كه بار شبكه روي حوزه موجود را كاهش مي دهد.

 ايجاد اولين كنترولر حوزه بعنوان يك حوزه جديد

با پذيرش اين حالت يك حوزه جديد درست خواهيد كرد با ايجاد يك حوزه يا حوزه هاي ديگر در شبكه مي توانيد اطلاعات را بخش بندي كنيد، تا سرويس هاي ACTIVE DIREVTORY را قادر سازيد نيازهاي سازمان هاي بسيار بزرگ را برآورده سازد. وقتي يك حوزه جديد درست مي كنيد، مي توانيد يك حوزه بچه يا درخت جديد درست نمائيد. يك حوزه بچه را مي توانيد براي يك حوزه درخت (Tree) درست كنيد و حوزه درخت را نيز براي يك جنگل موجود (Forest) به وجود آوريد، و يا اينكه يك درخت درست كنيد و بعد يك جنگل راه بياندازيد.

توجه : اجراي دستور Dcpromo.exe باعث مي شود تا اگر در يك حوزه قرار داريد آن حوزه را حذف نمائيد و بعد آن را به شكل يك سيستم تنها يا مستقل (Stand-alone) درآوريد.

 بانك اطلاعاتي و ولوم اشتراكي سيستم

نصب سرويس ها ي ACTIVE DIREVTORY در بانك اطلاعاتي و فايدهاي گزارش (Log) بانك را همراه با ولوم اشتراكي سيستم درست مي نمايد. نسخه برداري ولوم سيستم اشتراكي همزمان با نسخه برداري سرويس هاي ACTIVE DIREVTORY انجام مي گيرد. در نتيجه، شما ممكن است به نسخه برداري از يا به ولوم سيستمي كه جديدأ ايجاد كرده ايد توجه نكنيد تا اينكه هر دو پريودهاي نسخه برداري به اتمام برسند (براي نمونه 10 دقيقه است) و اين بدين دليل است كه اولين پريود ( دوره تناوب شروع نسخه برداري) نسخه برداري فايل، پيكربندي ولوم هاي سيستمي ديگر را بهنگام (Update) مي نمايد به شكلي كه انگار از ولوم هاي سيستمي كه جديدا ايجاد شده اند آگاهي دارند.

آشنایی با سرویس دایرکتوری موجود در ویندوز سرور   (Active Directory)

  Active Directory یک سرویس دایرکتوری بوده که در Windows Server 2003 قرار داده شده است. Active Directory شامل یک دایرکتوری بوده که اطلاعات مربوط به شبکه را ذخیره می‌کند، علاوه بر آن دارای تمامی سرویس‌هایی است که اطلاعات را قابل استفاده کرده و در دسترس قرار می‌دهد.

Active Directory ویژگی‌های زیر را ارائه می‌کند:

. ذخیره‌ی متمرکز داده (Centralized data store)
. مقیاس پذیری (Scalability)
. قابلیت توسعه (Extensibility)
. قابلیت مدیریت (Manageability)
. ستفاده و تمرکز بر سیستم نام‌گذاری دامنه (Integration with Domain Name System)
. مدیریت تنظیمات سرویس گیرنده  (Client configuration management)
. مدیریت بر مبنای سیاست (Policy-based administration)
. تکرار اطلاعات (Replication of information)
. شناسایی ایمن و انعطاف پذیر (Flexible, secure authentication and authorization)
. برنامه‌ها و زیرساختارهای مبتنی بر دایرکتوری
Directory-enable applications and infrastructures))

. تطبیق با سایر سرویس‌های دایرکتوری
(Interoperability with other directory services)

. ترافیک رمزگذاری شده و امضا شده LDAP (Signed and encrypted LDAP traffic)

    اشیای موجود در Active Directory

هر داده‌ای که در Active Directory ذخیره می‌شود، به صورت اشیایی (Objects) متفاوت سازمان می‌یابد. یک شئ مجموعه مجزایی از صفات است که منابع شبکه را مشخص می‌کند. صفات (Attributes)، خصوصیات اشیای موجود در یک دایرکتوری را شامل می‌شود. به عنوان نمونه صفات یک User account (حساب کاربر) می‌تواند  شامل نام، نام خانوادگی و نام Log on برای آن کاربر باشد. در حالی که صفات یک computer account ممکن است که شامل نام و مشخصات آن شئ باشد.

بعضی از اشیا ، که از آن‌ها به نام Container یاد می‌شود ، خود دربردارنده اشیایی دیگرند. به عنوان مثال یک domain، خود یکcontainer  است که می‌تواند شامل اشیایی مانند حساب کاربران و کامپیوترها باشد. در شکل 1 پوشه‌ی کاربران، یکcontainer  بوده که دارای اشیای مربوط به حساب کاربران است.

 

شکل 1 : اشیا و صفات در Active Directory

اجزای Active Directory

برای ایجاد یک ساختار دایرکتوری، اجزای زیادی مورد نیاز است. این اجزا به دو دسته‌ی منطقی و فیزیکی تقسیم می‌شوند.
 

اجزای منطقی عبارتند از :

•دامنه‌ها (Domains)
•واحدهای سازمانی (Organizational Units)
•درخت‌ها (Trees)
•جنگل‌ها (Forests)

اجزای فیزیکی که ساختار فیزیکی Active Directory را شکل می‌دهند عبارتند از :

•سایت‌ها (Physical Subnets)
•Domain Controller‌ها (DC)

 ساختار منطقی

در Active Directory، می‌توان منابع را به صورت یک ساختار منطقی سازمان داد (ساختاری که منعکس کننده‌ی مدل‌های سازمانی باشد). گروه‌بندی منطقی منابع این امکان را فراهم می‌آورد تا یک منبع با استفاده از نامش به سادگی پیدا شود و این امر ما را از یادآوری محل فیزیکی منبع بی‌نیاز می‌سازد. در شکل 2 رابطه‌ی domainها، OU‌ها،  treeها و forest‌ها دیده می‌شود.


شکل2 : رابطه میان اجزای منطقی Active Directory

 

1. دامنه Domain
هسته‌ی اصلی ساختار منطقی در Active Directory، domain یا دامنه بوده که قادر به ذخیره‌ی میلیون‌ها شئ است. تمامی‌domainها در دو ویژگی زیر مشترکند.

•تمام اشیای شبکه در یک Domain قرار دارند و هر Domain اطلاعات مربوط به همان Domain را داراست.

•Domain یک محدوده‌ی امنیتی است. دسترسی به اشیای Domain‌ها از طریق لیست‌های کنترل دسترسی یا ACL (Access Control List) میسر می‌شود. ACL‌ها شامل مجوزهایی هستند که مرتبط با اشیای مورد نظر است. این مجوزها بیان می‌دارند که کدام یک از کاربران می‌توانند به‌یک شی دسترسی داشته باشند و این دسترسی از چه نوع و در چه سطحی است. در خانواده‌ی Windows Server 2003، اشیا شامل فایل‌ها، پوشه‌ها، اشتراکات، چاپگرها و سایر اشیای Active Directory است. این نکته می‌بایست در نظر گرفته شود که هیچ یک از تنظیمات و سیاست‌های امنیتی مانند اختیارات مدیریتی، سیاست‌های امنیتی و ACL‌ها نمی‌توانند از یک Domain به Domain دیگر تغییر یابند. این امر بدان معنا است که‌یک مدیر در سطح یک Domain تنها دارای اختیاراتی است که وی را محدود به وضع سیاست‌ها در همان Domain می‌کند.
سطح عملیاتی دامنه (Domain Functional Level) که تحت عنوان حالت دامنه (Domain Mode) در Windows 2003 شناخته می‌شود، ویژگی‌های خاصی را در پهنه دامنه (Domain-Wide) و در محیط شبکه فراهم می‌آورد.

چهار سطح عملیاتی دامنه وجود دارد:

•Windows 2000 mixed
•Windows 2000 native
•Windows 2003 interim
•Windows Server 2003
 سطح عملیاتی “Windows 2000 mixed” به‌یک DC با سیستم عامل Windows Server 2003 اجازه می‌دهد تا با سایر DCها در همان Domain که دارای سیستم عامل‌های Windows NT4 ، Windows 2000  و Windows server 2003 هستند ارتباط داشته باشند.

سطح عملیاتی “Windows 2000 native”، تنها امکان ارتباط DC‌های Windows 2003 با Windows 2000   را فراهم می‌آورد.

سطح عملیاتی “Windows 2003 interim” ارتباط DC‌های Windows Server 2003 با DC‌های NT4 را ممکن می‌سازد.

سطح عملیاتی “Windows Server 2003” تنها DC‌های 2003 را با یکدیگر مرتبط می‌سازد.

تنها در زمانی می‌توان سطح عملیاتی یک Domain را بالا برد که تمامی‌Domain Controller‌ها در آن Domain نسخه‌های مناسبی از Windows را اجرا کنند. به عنوان نمونه اگر سطح عملیاتی Domain “Windows Server 2003” باشد، در این صورت می‌بایست که تمامی‌DCها در این Domain دارای سیستم عامل  windows server 2003 باشند.

  Organization Units OUs      واحدهای سازمانی

OU خود یک container بوده که اشیای یک دامنه (Domain) را در گروه‌های مدیریتی سازمان دهی می‌کند.  یک OU برای اعمال و اجرای وظایف مدیریتی (مانند مدیریت منابع و کاربران) به کار رفته و می‌تواند شامل اشیایی مانند حساب‌های کاربران، گروه‌ها، کامپیوترها، چاپگرها، برنامه‌ها، فایل‌های به اشتراک گذاشته شده و حتی سایر OU‌ها از همان domain باشد. ساختار سلسله مراتبی یک OU در یک domain مستقل از ساختار سلسله مراتبی OU در domain‌های دیگر است. می‌توان با اضافه کردن یک OU در داخل OU دیگر (nesting)، مدیریتی سلسله مراتبی را سازمان داد. در شکل 3، domain با نام microsoft.com منعکس کننده‌ی سازمانی بوده که دارای سه OU است : US،Orders  و Disp.Orders و Disp در واحد سازمانی (OU) US آشیانه‌ای شده‌اند.به صورت پیش‌فرض تمامی‌اشیای فرزند (OUهای Disp وOrder) مجوزهای خود را از والدین به ارث می‌برند (US OU). ایجاد مجوز در سطوح بالاتر و استفاده از امکانات وراثت، وظایف مدیریتی را کاهش می‌دهد.

 

شکل 3 : استفاده از OU برای به عهده گرفتن وظایف مدیریتی

3. درخت‌ها Trees
یک درخت(Tree)، سازمان دهی یا گروه‌بندی منطقی یک یا چند دامنه بوده که از طریق ایجاد یا اضافه کردن چند دامنه‌ی فرزند (Child Domain) به دامنه‌ی پدر (Parent Domain) فعلی به وجود می‌آید. دامنه‌ها در یک درخت، دارای یک فضای اسمی‌(Contiguous Namespace) یا ساختار نامی‌ سلسله مراتبی مشترک هستند. بر اساس استانداردهای DNS، نام یک دامنه‌ی فرزند، ترکیبی از نام خود دامنه‌ی فرزند به همراه نام دامنه‌ی پدر است. در شکل 4 Domain  با نام microsoft.com به عنوان دامنه‌ی والد، و Domain‌های us.microsoft.com و uk.microsoft.com دامنه‌های فرزند آن هستند. علاوه بر آن خود دامنه‌ی uk.microsoft.com دارای یک دامنه‌ی فرزند با نام sls.uk.microsoft.com است (به روند دنباله‌وار نام دامنه‌ها دقت کنید

شکل 4 : A Domain Tree

 4. جنگل‌ها Forests
یک جنگل (Forest) دسته‌بندی یا سازماندهی سلسله مراتبی از یک یا چند درخت (Domain Tree) کاملاً مستقل و مجزا از هم است. یک جنگل دارای ویژگی‌هایی است:

    * درخت‌ها در یک جنگل با توجه به دامنه‌هایشان، دارای ساختار نامی‌متفاوت هستند.

    * دامنه‌ها در یک جنگل به صورتی کاملاً مستقل از هم عمل می‌کنند، ولی یک جنگل امکان ارتباط در تمامی‌سازمان را برقرار می‌سازد.

در شکل 5 دو درخت microsoft.com و msn.com از یک جنگل دیده می‌شوند. می‌توان مشاهده کرد که فضای نامی‌در هر درخت دنباله‌وار است.
 

شکل5:  A forest of Trees

 

 سطح عملیاتی جنگل (Forest Functional Level)، ویژگی‌های خاصی را در سطح جنگل و در محیط شبکه فراهم می‌آورد(Forest-wide Active Directory Features) .

سه سطح دسترسی جنگل وجود دارد:

•Windows 2000  ( پیش فرض )
•Windows 2003 interim
•Windows Server 2003

سطح عملیاتی “Windows 2000” به یک DC با سیستم عامل Windows Server 2003 اجازه می‌دهد تا با سایر DCها در شبکه که دارای سیستم عامل‌های Windows NT4 ،Windows 2000  وWindows Server 2003 هستند ارتباط داشته باشد.

سطح عملیاتی “Windows 2003 interim” ارتباط DC‌های Windows Server 2003 با DC‌های ویندوز NT4   و ویندوز سرور 2003 را ممکن می‌سازد.

سطح عملیاتی “Windows Server 2003” تنها DCهای 2003 را با یکدیگر مرتبط می‌سازد.

تنها در زمانی می‌توان سطح عملیاتی یک Forest را بالا برد که تمامی‌Domain Controller‌ها در آن جنگل نسخه‌های مناسبی از Windows را اجرا کنند. به عنوان نمونه اگر سطح عملیاتی “Windows Domain Server 2003” باشد، در این صورت می‌بایست که تمامی‌DCها در این جنگل دارای سیستم عامل  windows server 2003 باشند.

ساختار فیزیکی

1.سایت‌ها (Sites)

یک سایت اجتماع یک یا چند زیر شبکه (IP (Subnet است که  به وسیله‌ی یک اتصال فیزیکی مطمئن و سریع به هم مرتبط شده‌اند تا بتوان تا آنجا که ممکن است در جهت بهبود ترافیک شبکه  اقدام کرد. سایت‌ها تنها شامل اشیای کامپیوتری و ارتباطی هستند که به منظور تنظیم چگونگی تکرار در سایت (Replication) به کار گرفته شده‌اند. همان گونه که در شکل 6 نشان داده شده است، یک دامنه مجزا می‌تواند شامل یک یا بیش از یک سایت (از لحاظ جغرافیایی) باشد، و یک سایت مجزا می‌تواند شامل حساب‌های کاربران و کامپیوترهایی باشد که متعلق به چندین دامنه هستند.
 

شکل 6 : رابطه بین سایت و دامنه


2.(Domain Controller )DC

یک Domain Controller کامپیوتری است که دارای سیستم عامل Windows Server باشد و یک نسخه از دایرکتوری دامنه (Local Domain Database) یا replica را در خود ذخیره کند. هر دامنه می‌تواند بیش از یک Domain Controller داشته باشد. یک Domain Controller تنها می‌تواند به‌یک دامنه سرویس دهد. یک DC وظیفه‌ی شناسایی کاربرانی را که تلاش برای log on به دامنه دارند، را بر عهده دارد. علاوه بر آن سیاست‌های امنیتی برای یک دامنه را نیز تنظیم و حفظ می‌کند.

در ادامه‌ی مطالب بیان شده، در این بخش با مفاهیم پایه در Active Directory آشنا می‌شویم.
کلمات کلیدی: تکرار یا Replication،Replica ، Partition، Global Catalog، سیاست‌های گروهی یا Group Policies، و  ارتباطات مطمئن یا Trust Relationships

درک مفاهیم Active Directory

در خانواده‌ی ویندوز سرور 2003، با مفاهیم جدیدی در ارتباط با Active Directory روبرو می‌شویم. این مفاهیم شامل موارد زیر است :

•تکرار (Replication)
•ارتباطات مطمئن (Trust Relationships)
•سیاست‌های گروهی (Group Policies)

انعکاس یاReplication 

کاربران و سرویس‌ها می‌بایست در هر زمانی و از هر کامپیوتری در domain، به اطلاعات دایرکتوری دسترسی داشته باشند. انعکاس (Replication) این امر را تضمین می‌نماید که هر تغییری در یک domain controller در سایر DCها از همان domain نیز منعکس می‌شود. اطلاعات دایرکتوری در domain controller‌های داخل و بین سایت‌ها تکرار می‌شود.

چه اطلاعاتی تکرار می‌شود ؟

آنچه که در دایرکتوری ذخیره می‌شود (در فایل Ntds.dit) به صورت منطقی به چهار دسته تقسیم می‌شود. به هر یک از این دسته‌های اطلاعاتی، لفظ directory partition اطلاق می‌گردد. یک پارتیشن دایرکتوری را با عنوان متن نامی‌ (naming context) نیز می‌شناسند. دایرکتوری دارای پارتیشن‌های زیر است:

   1. Schema Partition : این پارتیشن اشیایی را مشخص می‌سازد که می‌توانند در دایرکتوری ساخته شوند. علاوه بر آن، این پارتیشن ویژگی‌ها و صفات این اشیا را نیز مشخص می‌سازد. این اطلاعات و داده‌ها در کل یک forest مشترک بوده و در تمامی‌DC‌های موجود در یک forest تکرار می‌شود.

2.     Configuration Partition : این پارتیشن ساختار منطقی چیدمان Active Directory را بیان می‌دارد و شامل داده‌هایی درباره‌ی ساختار domain و یا توپولوژی تکرار است. این داده‌ها نیز در تمامی‌domain‌های موجود در یک forest مشترک بوده و در تمامی‌DC‌های موجود در آن جنگل تکرار می‌شوند.

3.       Domain Partition : این پارتیشن تمامی‌اشیای موجود در یک domain را تعریف می‌کند. این داده‌ها و اطلاعات مخصوص به‌یک domain بوده و منحصر به فرد در همان domain است و بنابراین در دیگر domain‌های موجود در یک forest تکرار نخواهد

4.     .  Application Directory Partition : این پارتیشن شامل اطلاعات پویای کاربردی است. ذخیره‌ی این اطلاعات در این پارتیشن موجب کنترل حوزه‌ی تکرار و محل نسخه‌های تکرار (replica) می‌گردد و این امر کوچکترین تأثیر نامطلوبی در کارائی شبکه را به دنبال نخواهد داشت. این پارتیشن می‌تواند هر نوع شی را دارا باشد (به غیر از اشیای امنیتی که شامل کاربران گروه‌ها و کامپیوترها می‌باشد.) بدین ترتیب داده می‌تواند به صورتی مشخص به DC‌هایی هدایت شود که برای کارهای مدیریتی در نظر گرفته شده‌اند و این امر ترافیک غیر ضروری تکرار (Replication) را کاهش می‌دهد.

یک Domain Controller موارد زیر را ذخیره کرده و تکرار می‌نماید :

•داده‌ی موجود در schema partition در سطح forest

•داده‌ی موجود در configuration partition به تمامی‌domain‌ها در سطح یک forest

•داده‌ی موجود در domain partition (تمامی‌اشیای دایرکتوری و مشخصات آن‌ها) برای همان domain. این داده‌ها در تمامی‌domain controller‌های اضافی موجود در آن domain تکرار خواهد شد. به منظور یافتن بهینه‌ی اطلاعات ، بخشی از نسخه‌ی  تکرار (replica) که شامل صفاتی از تمام اشیایی است که به صورتی دائمی‌در domain مورد استفاده قرار می‌گیرند، در کاتالوگ سراسری (Global Catalog) نیز تکرار می‌گردد. کاتالوگ سراسری محلی مرکزی برای نگهداری اطلاعات در مورد اشیا در یک درخت یا جنگل است.   

یک global catalog اطلاعات زیر را ذخیره و تکرار می‌نماید :

•داده‌های موجود در schema partition برای یک forest

•داده‌های موجود در configuration partition برای تمامی‌domain‌ها در یک forest

•بخشی از replica که شامل صفاتی از تمام اشیای دایرکتوری است که معمولا در یک forest مورد استفاده قرار می‌گیرند ( این اطلاعات تنها بین Global Catalog‌ها تکرار می‌شود).

•تمامی‌replica که شامل کل صفات تمام اشیای دایرکتوری در domainهایی است که کاتالوگ سراسری در آن قرار دارد.

اطلاعات چگونه منعکس می‌شود؟

Active Directory  اطلاعات را به دو صورت منعکس می‌کند : intrasite (در داخل یک سایت) و intersite (بین سایت‌ها) .

انعکاس در داخل سایت (Intrasite Replication)

در داخل یک سایت، سرویسی از ویندوز سرور 2003 تحت عنوان Knowledge Consistency checker که به اختصار آن را KCC می‌نامیم، به صورت خودکار یک توپولوژی برای تکرار در میان domain controllerها در همان دامنه و با استفاده از یک ساختار حلقه ایجاد می‌کند. KCC یک پروسه‌ی خودکار است که در تمامی‌DC‌ها اجرا می‌شود.  توپولوژی اعمال شده مسیری برای به روز رسانی‌های دایرکتوری فراهم می‌آورد تا از یک DC به DC دیگر جریان یابد و این انتقال تا زمانی ادامه می‌یابد که DC‌های موجود در یک سایت به روزرسانی‌های دایرکتوری را دریافت نمایند . KCC تصمیم می‌گیرد که کدام یک از سرورها برای انجام عمل انعکاس با یکدیگر مناسب‌تر هستند و سایر DC‌ها را به عنوان شرکای انعکاس آن‌ها در نظر می‌گیرد. این تصمیم‌گیری بر اساس مواردی چون نحوه‌ی اتصال، سابقه‌ی انعکاس موفق و بر مبنای تطابق با نسخه‌های انعکاس جزئی و یا کامل است. هر DC می‌تواند بیش از یک شریک برای انعکاس داشته باشد. بعد از آن KCC اشیای ارتباطی را می‌سازد که ارتباط میان شرکای انعکاس را نمایش خواهد داد.

ساختار حلقه تضمین می‌کند که حداقل دو مسیر انعکاس از یک DC به DC دیگر وجود دارد. به همین دلیل اگر یکی از DC‌ها از کار بیفتد، عمل انعکاس (Replication) به سایر DC‌ها ادامه خواهد یافت. شکل 7 توپولوژی  انعکاس در داخل سایت را نشان می‌دهد.    

 

شکل 7 : Intrasite replication topology

 

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

هنگامی‌که بیش از هفت Domain controller به‌یک سایت اضافه می‌شوند، KCC اشیای ارتباط اضافی را در ساختار حلقه دخیل می‌کند تا این اطمینان حاصل شود که اگر تغییری در هر یک از DC‌ها ایجاد شود، هیچ یک از DC‌ها بیش از سه Hop (گام) از DC دیگر فاصله نداشته باشند. این ارتباطات بهینه به صورت تصادفی ایجاد می‌شوند و الزامی‌برای ساخت آنها در هر DC نیست. شکل 8  این مورد را نشان می‌دهد.

انعکاس بین سایت‌ها (Intersite Replication)

به منظور اطمینان از برقراری انعکاس میان سایت‌ها، می‌بایست که سایت‌ها به صورت دستی و از طریق ایجاد اتصالات سایتی (Site Link) به هم مرتبط شوند. اتصالات سایتی ارتباطات شبکه را نشان داده و وقوع انعکاس را ممکن می‌سازند. یک KCC مجزا در یک سایت تمامی‌ارتباطات میان سایت‌ها را برقرار می‌سازد. این امر در شکل 9 نشان داده شده است.

 

شکل 9: Intersite Replication Topology

 رابطه اعتماد  Trust Relationship

یک Trust، اتصالی میان دو دامنه است که در آن دامنه‌ی اعتماد کننده (trusting domain)، اطلاعات مربوط به دسترسی و شناسایی را از دامنه‌ی مورد اعتماد (trusted domain) کسب می‌کند.دو دامنه وجود دارند که موجب برقراری یک رابطه‌ی مطمئن و یا یک trust می‌شوند: دامنه‌ی اعتماد کننده (trusting) و دامنه‌ی مورد اعتماد (trusted). دامنه‌ی اعتماد کننده دامنه‌ای است که منابع را در اختیار داشته و به سایر دامنه‌ها برای استفاده از این منابع اعتماد دارد. دامنه‌ی مورد اعتماد در حقیقت استفاده کننده از منابع است. این مسئله در شکل زیر بهتر نمود می‌یابد.
 

شکل 10: دامنه‌ی اطمینان کننده و دامنه‌ی مورد اعتماد قرار گرفته با یک اعتماد یک طرفه

trust‌ها ویژگی‌های زیر را دارا هستند:

•چگونگی ایجاد (Method of creation): trust‌ها می‌توانند به صورت صریحexplicitly)) یا تلویحی (implicitly) ساخته شوند. هیچ trustی نمی‌تواند به هر دو صورت ساخته شود.

•ترانهادگی (Transitivity): یک trust ترانهاده یعنی آنکه اگر Domain A به Domain B و Domain B به Domain C اعتماد یا trust دارد، آنگاه Domain A نیز به Domain C اعتماد می‌کند. یک trust  غیر ترانهاده یعنی آن که اگر Domain A به Domain B و Domain B به Domain C اعتماد یا trust دارد، بین Domain A و Domain C هیچ ارتباط مطمئن یا Trust برقرار نیست.

•جهت (direction): trustها می‌توانند یک طرفه(one-way) یا دو طرفه(two-way) باشند. در یک اعتماد یک طرفهDomain A  به Domain B trust دارد. در یک trust دو طرفه اگر Domain A به Domain B اعتماد داشته باشد، آنگاه Domain B نیز به Domain A اعتماد دارد.

•ویندوز سرور 2003 از انواع trust‌هایی که در زیر آمده است پشتیبانی می‌کند.

•Tree-root  trust
•Parent-child trust
•Shortcut trust
•External trust
•Forest Trust
•Realm Trust
 Parent-Child trust با ایجاد یک درخت و به صورت اتوماتیک میان تمامی‌دامنه‌های موجود در آن درخت به وجود می‌آید. با اضافه شدن یک دامنه‌ی جدید به‌یک درخت، پروسه‌ی ایجاد اتوماتیک Trust صورت می‌پذیرد. این نوع trust دو طرفه و ترانهاده است.
Tree-Root Trust نیز به صورت اتوماتیک و با اضافه شدن یک درخت به ساختار جنگل (a new root tree) برقرار می‌شود شکل زیر این Trust‌ها را نشان می‌دهد. این نوع trust نیز دو طرفه و دارای خاصیت ترانهادگی است.

شکل 11: ساختار دامنه به همراه دو نوع Trust : parent-child و tree-root

سیاست‌های گروهی (Group Policies)

سیاست‌های گروهی مجموعه‌ای از تنظیمات برای کاربران و کامپیوتر‌هاست که می‌تواند به  کامپیوترها سایت‌ها، دامنه‌هاو OU‌ها اعمال گردد تا بدین ترتیب عملکرد کاربران بهتر مشخص گردد. GPO‌ها مجموعه‌ای از سیاست‌های گروهی تنظیم شده است. برای معلوم کردن تنظیمات desktop برای گروهی از کاربران مشخص، اشیای سیاست گروهی (Group Policy Objects or GPOs) ساخته می‌شوند. هر کامپیوتر با سیستم عامل ویندوز دارای یک GPO داخلی بوده (Local GPO) و علاوه بر آن می‌تواند با یک سری از سیاست‌های غیر محلی (مبتنی بر Active Directory) مرتبط گردد. GPO‌های غیر محلی بر GPO داخلی اولویت می‌یابند. GPO‌های غیر محلی یا به کاربران (بدون در نظر گرفتن کامپیوتری که به آن Log on می‌کنند) و یا به کامپیوترها (بدون در نظر گرفتن کاربری که به آن log on می‌کنند) اعمال می‌گردد و مربوط به اشیای خاص Active Directory (دامنه‌ها، سایت‌ها و OU‌ها) است. این نوع از سیاست‌ها به صورت سلسله مراتبی و از گروه با کمترین محدودیت (Site) به گروه با بیشترین محدودیت (OU) اعمال می‌شود. در حقیقت چگونگی و ترتیب اعمال به صورتی که در زیر آمده ، است:

1.Local GPO: هر سیستم عامل ویندوز تنها دارای یک سیاست گروهی است که به صورت محلی ذخیره شده است.

2.GPOs linked to sites: هر GPO که به‌یک سایت مرتبط باشد در مرحله‌ی بعد اعمال می‌شود. این اعمال برای تمامی‌سیاست‌های مرتبط با یک سایت همزمان صورت می‌گیرد و مدیر یک شبکه تعیین کننده‌ی ترتیب اعمال است.

3.GPOs Linked to Domains: اولویت اعمال این دسته از سیاست‌ها نسبت به دو مورد اول بیشتر است. اما اولویت اعمال چندین سیاست مربوط به‌یک دامنه را مدیر شبکه تعیین می‌کند.

4.GPOs linked to OUs:  GPO‌هایی که در بالای ساختار سلسله مراتبی یک OU قرار دارند زودتر اعمال می‌شوند. پس از آن GPO‌های مربوط به OU‌های فرزند اعمال شده و در نهایت GPO‌های مربوط به OU شامل کاربران و کامپیوتر‌ها اعمال می‌شود. در هر سطح از OU می‌توان بیش از چند GPO را اعمال نمود (حتی می‌توان هیچ GPO را اعمال نکرد

شکل زیر چگونگی اعمال سیاست گروهی برای دو OU ی نمونه‌ی Server و marketing  را نشان می‌دهد.

 

 . برنامه‌ها و زیرساختارهای مبتنی بر دایرکتوری

Directory-enable applications and infrastructures))

. تطبیق با سایر سرویس‌های دایرکتوری

(Interoperability with other directory services)

. ترافیک رمزگذاری شده و امضا شده LDAP (Signed and encrypted LDAP traffic)

 

با تشکر و احترام

ابراهیم عباسپور-زمستان 1390

تاریخ خبر : 1390/11/13      آدرس خبر : http://majame.tehran.irhttp://majame.tehran.ir/default.aspx?tabid=341&ArticleId=981
تعداد مشاهده : 21029
چاپprint

  نظرات

1394/8/28 ،تشکر
ایجاد شده توسط : میلاد 
با سلام
بسیار جامع و کامل بود.همین که گنو/ لینوکس رو هم بررسی کرده بودید.خیلی متشکریم
با تشکر فراوان

حذف لغو موافقت
1394/8/28 ،تشکر
ایجاد شده توسط : میلاد 
با سلام
بسیار جامع و کامل بود.همین که گنو/ لینوکس رو هم بررسی کرده بودید.خیلی متشکریم
با تشکر فراوان

حذف لغو موافقت

نام شما
پست الکترونیک
وب سایت
عنوان
نظر
تصویر امنیتی CAPTCHA
کد را وارد کنید