جستجو برای:
سبد خرید 0
  • صفحه اصلی
  • دوره‌های آموزشی
  • وبلاگ
  • درباره ما
  • قوانین و مقررات
  • همکاری با ما
  • تماس با ما
محتوای باز
ورود
[suncode_otp_login_form]
گذرواژه خود را فراموش کرده اید؟
عضویت
[suncode_otp_registration_form]
  • خانه
  • کتاب آنلاین
  • درباره سایت
  • درباره لوگو
  • تماس با ما
محتوای باز
  • صفحه اصلی
  • دوره‌های آموزشی
  • وبلاگ
  • درباره ما
  • قوانین و مقررات
  • همکاری با ما
  • تماس با ما
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0
[wcas-search-form]

نحوه ایمن‌سازی LDAP

22 مرداد 1400
ارسال شده توسط فرشید نوتاش حقیقت
شبکه و امنیت

در شبکه‌های رایانه‌ای، «دایرکتوری سرویس» زیرساخت به اشتراک‌گذاری منابع را مهیا نموده و به شما اجازه می‌دهد به صورت متمرکز منابع و المان‌های شبکه خود را مدیریت نمایید.


«دایرکتوری سرویس» اطلاعات مهمی را طبق استاندارد X.500 در خود نگهداری می‌کند. این اطلاعات می‌تواند شامل اطلاعات مربوط به کاربران و رمز عبور آن‌ها باشد. همچنین اطلاعات پرسنلی افراد سازمان، می‌تواند قسمت دیگری از این نوع اطلاعات باشد که حفظ محرمانگی و امنیت آن‌ها ضروری است. LDAP یا Lightweight Directory Access Protocol پروتکلی است که می‌توان با آن با دایرکتوری سرور ارتباط برقرار کرد و آن را مدیریت نمود.

یکی از جنبه‌های مهم برقراری امنیت در دایرکتوری سرویس، برقراری یک ارتباط امن بین کلاینت و سرور دایرکتوری سرویس (LDAP Server) است. پروتکل LDAP به طور پیش فرض اطلاعات را بر روی بستر شبکه به صورت Clear Text ارسال می‌کند که ارسال اطلاعات به این روش دارای مزایایی از جمله موارد ذیل است:

  • پیکربندی و مدیریت آسان
  • سرعت بالاتر در سرویس دهی

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

OpenLDAP یک نرم افزار متن باز است که سیستم «دایرکتوری سرویس» و پروتکل LDAP را به صورت مستقل از بستر پیاده سازی می‌کند و اکثر نسخه‌های لینوکس از آن پشتیبانی می‌نماید. OpenLDAP به دو روش، ترافیک ارسالی در شبکه را رمزنگاری می‌نماید.

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

در روش دوم که در نسخه سوم LDAP ارایه شد، به کلاینت‌ها اجازه داده می‌شود که بر روی پورت استاندارد سرور (پورت 389) ارتباط برقرار کنند و نیز به آن‌ها اجازه داده می‌شود که ارتباط‌شان با سرور از حالت Clear Text به حالت رمزنگاری شده تبدیل شود.

رمزنگاری از طریق LDAPS

در بستر شبکه، کلاینت و سرور LDAP می‌توانند با کمک SSL/TLS اطلاعات ارسالی و دریافتی را رمزنگاری کنند. به این صورت که سرور، Certificate خود را به کلاینت ارسال می‌کند. ضمن آنکه یک سری اطلاعات از جمله Public Key در آن قرار گرفته است. Public Key پیام را رمزنگاری می‌کند اما رمزگشایی نمی‌کند و کلید دوم که Private Key نام دارد، جهت رمزگشایی استفاده می‌شود.

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

رمزنگاری از طریق StartTLS

در حالت پشتیبانی LDAP Server از StartTLS، اگر کلاینت در برقراری ارتباط با سرور، دستور StartTLS را اجرا کند، آنگاه سرور شروع به رمزنگاری اطلاعات با TLS نموده و تمامی اطلاعات ارسالی و دریافتی میان سرور و کلاینت رمزنگاری شده و به طور امن انتقال داده می‌شوند.

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

در ادامه مراحل نصب و ایمن سازی LDAP از طریق SSL/TLS بر روی یک بستره مبتنی بر Redhat آورده شده است.

گام اول: نصب سرور و کلاینت Openldap

# yum install openldap-servers openldap-clients
# cd /etc/openldap/
# cp DB_CONFIG.example /var/lib/ldap/DB_CONFIG

گام دوم: پیکربندی سرور ldap server) SLAP)

# vim slapd.conf
suffix "dc=lpi,dc=org"
rootdn "cn=Manager,dc=lpi,dc=org"
rootpw secret

گام سوم: ایجاد مجوز SSL سرور

# cd /etc/pki/tls/certs
# make server.key
umask 77 ; \
/usr/bin/openssl genrsa -des3 1024 > server.key

Generating RSA private key, 1024 bit long modulus
......................................................++++++
.............++++++
e is 61251 (0x10001)
Enter pass phrase: # set passphrase
Verifying - Enter pass phrase: # verify

گام چهارم: حذف گذرواژه (passphrase) از کلید اختصاصی

# openssl rsa -in server.key -out server.key

گام پنجم: ایجاد درخواست ثبت پروانه

# make server.csr

گام ششم: ثبت درخواست مجوز ثبت شده

# openssl x509 -in server.csr -out server.crt
-req -signkey server.key -days 3650

گام هفتم: محدود نمودن دسترسی به فایل‌ها

# chmod 400 server.*

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

# cp /etc/pki/tls/certs/server.* /etc/openldap/cacerts/
# chown ldap. /etc/openldap/cacerts/*
# vi /etc/openldap/slapd.conf

دو خط زیر را در فایل، ذخیره کنید:

TLSCertificateFile /etc/openldap/cacerts/server.crt
TLSCertificateKeyFile /etc/openldap/cacerts/server.key

گام نهم: برای اعمال تغییرات سرور LDAP را راه‌اندازی مجدد کنید

# /etc/rc.d/init.d/ldap restart

گام دهم:
برای دسترسی به دامنه در سرور محلی، در فایل etc/hosts/، خط زیر را اضافه کنید

127.0.0.1 ldap.lpi.org

گام یازدهم: پیکربندی فایل کلاینت (etc/openldap/ldap.conf/)

Base dc=lpi, dc=org
URI ldap://ldap.lpi.org
TLS_CACERT /etc/openldap/cacerts/server.crt

گام دوازدهم: اکنون زمان آزمون فرایند طی شده از طریق STARTTLS است

# ldapsearch -x -D "cn=Manager,dc=lpi,dc=org" -W -ZZ

گام سیزدهم: آزمون فرایند طی شده از طریق LDAPS (پورت 636)

# ldapsearch -x -D "cn=Manager,dc=lpi,dc=org" -W -H ldaps://ldap.lpi.org

گام چهاردهم: پایش فعالیت‌ها و پورت‌های فعال

# netstat –antp | grep slapd

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

# tcpdump port ldap -i lo -X -s 1024

و اگر ارتباط، رمزشده باشد، دیگر رمزی نمایش داده نمی‌شود.

# tcpdump port ldap -i lo -X -s 1024
منبع: نشریه «سلام دنیا»، شماره دوم – نوشته مهدی مهران‌فرید
برچسب ها: ldapامنیتامنیت شبکهشبکه
درباره فرشید نوتاش حقیقت

همیشه نیازمند یک منبع آموزشی فارسی در حوزه نرم‌افزارهای آزاد/ متن‌باز و سیستم‌عامل گنو/لینوکس بودم. از این رو این رسالت رو برای خودم تعریف کردم تا رسانه «محتوای باز» رو بوجود بیارم.

نوشته‌های بیشتر از فرشید نوتاش حقیقت
قبلی چگونه در گیت‌هاب، وب‌سایت‌ بسازیم (قسمت اول)
بعدی تحلیل آسیب‌پذیری درب‌پشتی در شبکه IRC

دیدگاهتان را بنویسید لغو پاسخ

این سایت از اکیسمت برای کاهش جفنگ استفاده می‌کند. درباره چگونگی پردازش داده‌های دیدگاه خود بیشتر بدانید.

جستجو
جستجو برای:
دسته‌بندی موضوعی مقالات
  • برنامه‌نویسی
    • پایتون
    • دواپس
  • پایگاه‌داده
    • MariaDB
    • MySQL
  • تجارت الکترونیک
    • بازاریابی اینترنتی
    • دیجیتال مارکتینگ
    • شبکه‌های اجتماعی
  • جامعه کاربری
    • لاگ
  • دسته‌بندی نشده
  • شبکه و امنیت
  • طراحی وب
    • سئو
    • سیستم مدیریت محتوا
      • وردپرس
  • فناوری‌های نوظهور
    • اینترنت اشیاء
    • رایانش ابری
      • OpenStack
    • کلان‌داده‌ها
  • گنو/لینوکس
    • توزیع
      • CentOS
      • اوبونتو
      • دبیان
      • فدورا
    • چیست
    • خط فرمان
  • مهاجرت به آزاد/متن‌باز
  • نرم‌افزار
    • اداری
      • لیبره آفیس
        • ایمپرس
        • بیس
        • دراو
        • رایتر
        • کالک
    • کاربردی
    • گرافیک و انیمیشن
      • بلندر
      • گیمپ
نماد الکترونیکی (اینماد)
پرداخت‌یار

محتوای باز؛ مرجع آموزشی نرم‌افزارهای آزاد/ متن‌باز

از اینکه قصد همکاری با رسانه «محتوای باز» را دارید بسیار خرسندیم و این مایه مباهات ماست.

نحوه همکاری با ما چندان پیچیده نیست و شرایط آن در ادامه، ارائه گردیده است.

دستمزد مدرسین

پیش از بیان شرایط ضبط ویدئو شایان ذکر است اشاره‌ای به دستمزد مدرسین سایت داشته باشیم.

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

صرف نظر از هر حالت ممکنه، می‌بایست شرایطی که در ادامه ذکر شده‌اند را رعایت کرده باشید.

در حالت اول (رایگان) رسانه محتوای باز (Open Content)، نه وجهی از شما برای نشر ویدئو می‌گیرد و نه وجهی به شما پرداخت می‌نماید و دوره آموزشی شما را به رایگان منتشر می‌کند.

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

شرایط کلی ضبط دوره آموزشی

دوره آموزشی مربوطه، صرف نظر از هر محتوایی که دارد می‌بایست در یکی از توزیعات گنو/لینوکسی ضبط شده باشد. (به‌عنوان مثال دوره دروپال در اوبونتو، دوره آموزشی کار با آردوینو در دبیان و امثالهم). اگر دوره آموزشی شما در محیط ویندوز و یا هر پلتفرم/سیستم‌عامل دیگری ضبط شده باشد از همکاری با شما معذوریم.

پیشنهاد می‌گردد برای ضبط دوره آموزشی در توزیع گنو/لینوکس از ابزار قدرتمند OBS استفاده نمایید. البته این صرفا یک پیشنهاد است و شما می‌توانید از هر ابزار مناسب دیگری برای این کار بهره ببرید.

برای آشنایی یا تسلط بیشتر می‌توانید دوره رایگان آموزش OBS محمد عابدینی را ببینید:

مشاهده دوره آموزش OBS
شرایط کیفی ضبط دوره آموزشی

کیفیت صدا از اهمیت ویژه‌ای برخوردار می‌باشد و می‌بایست فاقد هر گونه نویز یا صدای اضافی دیگری (صدای محیط پیرامون) باشد.

دوره آموزشی تهیه شده صرفا باید برای رسانه محتوای باز تدوین شده باشد و در هیچ سایت مشابه دیگری قرار نگرفته باشد.

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

دوره آموزشی ضبط شده می‌باید فاقد هر گونه لوگو یا آدرس سایت دیگری (در گوشه تصویر یا بک‌گراند صفحه دسکتاپ و هر جای دیگری) باشد.

در حین دوره، مدرس نباید به برند خاصی اشاره کند که جز رقبای ما به‌شمار می‌آیند.

مدرس باید در ابتدا در اواسط و در انتهای دوره به برند ما یعنی رسانه محتوای باز (Open Content) بصورت کلامی اشاره نماید.

مدرس، هنگام تدریس نباید تپق زده، سرفه یا عطسه کند یا صدای قورت دادن بزاقش شنیده شود و بایستی با صدای رسا، دوستانه و پرانرژی به تدریس بپردازد.

قبل از تدوین دوره آموزشی حتما با ما در تماس باشید و یک ویدیوی چنددقیقه‌ای (ترجیحا 5 الی 10 دقیقه)، بصورت نمونه‌کار برای ما بفرستید.

از همکاری با شما سپاسگزاریم.

فراخوان همکاری