1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

دسترسی از راه دور به رجیستری

شروع موضوع توسط minaaa ‏29/1/11 در انجمن .Net

  1. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,773
    تشکر شده:
    6,457
    امتیاز دستاورد:
    113
    فایلهای رجیستری بخشی از سیستم های عامل Windows هستند. تا به حال کتاب خوب و کاملی برای کار با آن ارائه نشده است. تمامی مطالب ارائه شده به صورت پراکنده بوده است. فایل های فیزیکی که رجیستری را تشکیل می دهند بسته به نسخه ویندوز شما در محل و مکان خاصی نگهداری می شوند. در ویندوز 95 و 98 بصورت دو فایل مخفی در پوشه ویندوز قرار دارند و با نام های USER.DAT و SYSTEM.DAT شناخته می شوند. در نسخه ME علاوه بر این دو فایل، فایل دیگری نیز به نام CLASSES.DAT به آنها اضافه شده است. در حالیکه در نسخه های NT/2000 ویندوز فایلها در آدرس SystemRoot%\System32\Config% قرار گرفته اند.
    این فایلها را نمی شود به صورت مستقیم ویرایش کرد. تنها چیزی که می توان در مورد رجیستری کاملا مطمئن بود این است که کارهایی که به صورت تصادفی وغیر تکراری در سیستم اتفاق می افتد بی ارتباط با رجیستری ویندوز است. قابل ذکر است تغییرات در رجیستری برای هر کامپیوتری خطرناک و غیرقابل برگشت است زیرا سیستم فایلی رجیستری با هر تغییر ولو کوچک به صورت اتوماتیک ذخیره می شود.
    برای مثال یک هکر میتواند یک ابزار امنیتی خاص را روی کامپیوتر شما متوقف یا حذف کند (اگر ابزار امنیتی مثل Firewall، IDS یا ... در آخرین مرحله اجرای خود از کار بیافتد بسیار خطرناک است) و یا می تواند با هر بار بالا آمدن سیستم شما فایلی نا خواسته را روی کامپیوتر شما اجرا کند (فایلهای Trojan و Virus و Keylogger ها و...) تمامی این کارها به راحتی و فقط با مراجعه در قسمتهای Start up رجیستری ممکن است. خیلی به ندرت پیش می آید برنامه یا نرم افزاری احتیاجی به رجیستری نداشته باشد.
    در آخر می توانم بگویم رجیستری عین عصب کامپیوتر میماند و حفظ و حراست از آن بسیار مهم و حیاتی است. در Win2000 به بعد به صورت پیش فرض فقط Administrator ها و متصدیان Backup می توانند به صورت Remot یا از راه دور به رجیستری سرور دسترسی داشته باشند. در این مقاله به بررسی محدود کردن و ایجاد مجوز برای کاربران دیگر می پردازیم.
    اخطار :
    هر تغییر در رجیستری و استفاده از Editor رجیستری بسیار خطر ناک می باشد. در صورت بروز اشکال در رجیستری باید سیستم عامل را دوباره نصب کنید.
    محدود کردن دسترسی از راه دور به رجیستری در شبکه:
    در شبکه برای ایجاد محدودیت های دسترسی به رجیستری برای Group ها و کاربران با کلید زیر سر و کار داریم:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l \SecurePipeServers \winreg
    Name: Description
    Type: REG_SZ
    Value: Registry Server
    برای دسترسی به رجیستری از راه دور این کلید مجوزهای امنیتی (Security permission) برای کاربران و گروه های مختلف صادر می کند. زمانی که ویندوز را به صورت پیش فرض نصب می کنیم این کلید در لیست Access Control افرادی را در محدوده کاری خود ثبت می کند که در زیر شرح می دهم:
    Administrators : به صورت کنترل کامل بر روی دسترسی از راه دور به رجیستری (Full Control)
    در پیکر بندی پیش فرض ویندوز فقط مجوز دسترسی از راه دور به رجیستری برای Administrators تعریف شده است. برای درست کردن محدودیت در دسترسی برای کاربران دیگر مراحل زیر را پی می گیریم:
    1- Editor ویندوز را باز می کنیم (Regedt32.exe) و به کیلد زیر می رویم:
    HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet \Control
    2- در منو Edit قسمت New گزینه Key رانتخاب می کنیم.
    3- مقدار کلید را به صورت زیر تعیین می کنیم.
    Key Name: SecurePipeServers
    Class: REG_SZ
    4- به کلید زیر می رویم.
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSetControl \SecurePipeServers
    5- در منو Edit قسمت New گزینه Key رانتخاب می کنیم.
    6- مقدار کلید را به صورت زیر تعیین می کنیم.
    Key Name: winreg
    Class: REG_SZ
    7- به کلید زیر می رویم.
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l \SecurePipeServers \winreg
    8- در منو Edit قسمت New گزینه Key رانتخاب می کنیم.
    9- مقدار کلید را به صورت زیر تعیین می کنیم.
    Value Name: Description
    Data Type: REG_SZ
    String: Registry Server
    10- به کلید زیر می رویم.
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l \ecurePipeServers \winreg
    نکته : در صورت وجود کلید شماره 10 احتیاجی به انجام مراحل 1 تا 10 نمی باشد.
    11- winreg را انتخاب کرده کلیک راست می کنیم گزینه Permissions را انتخاب کرده در Tab اول کادر Permissions قسمت Security افرادی که به رجیستری از راه دور دسترسی دارند مشخص شده اند و در قسمت دوم در پایین کادر سطح دسترسی هر فرد مشخص شده است که می توان با دکمه Add فردی را اضافه و یا با Remove فردی را از لیست حذف کرده و سطح دسترسی به رجیستری را از راه دور در شبکه برای آن فرد تعیین کرد.
    12- از Editor رجیستری خارج شده و سیستم راReboot کنید.
    اما گاهی یک کاربر می خواهد از یک سرویس استفاده کند و باید به رجیستری از راه دور دسترسی داشته باشد. در روش بالا محدودیت دسترسی در هر سطحی که مشخص می کردیم برای کاربر انجام می شد اما اگر می خواستیم دسترسی به یک سرویس خاص را مشخص کنیم راه فرعی را برای تعیین و تعریف محدودیت کاربران باید بکار برد. مثلا سرویس Directory Replicator و سرویس Spooler برای اتصال به چاپگر در شبکه، لازم می باشد که به رجیستری از راه دور دسترسی داشته باشند. ما می توانیم هر یک از کاربرانی که از این سرویس ها می خواهند استفاده کنند را در لیست کلید winreg قرار دهیم و یا در پیکر بندی ویندوز از روش راه فرعی در محدود کردن دسترسی استفاده کنیم. (بابه وجود آوردن کلید های در لیست آنها در مقدار Machine یا Users د رداخل کلید AllowedPaths)
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l \SecurePipeServers \winreg \AllowedPaths
    Value: Machine
    Value Type: REG_MULTI_SZ - Multi string
    :Default Data
    System\CurrentControlSet\Control\ProductOptions
    System\CurrentControlSet\Control\Print\Printers
    System\CurrentControlSet\Control\Server Applications
    System\CurrentControlSet\Services\Eventlog Software\Microsoft\OLAP
    Server Software\Microsoft\Windows NT\CurrentVersion
    System\CurrentControlSet\Control\ContentIndex
    System\CurrentControlSet\Control\Terminal Server
    System\CurrentControlSet\Control\Terminal Server\UserConfig
    System\CurrentControlSet\Control\Terminal Server\DefaultUserConfiguration
    مقداری که می تواند در Data قرار گیرد، هر مسیری در داخل رجیستری می باشد. هر سرویسی که در این لیست وجود دارد می تواند به رجیستری از راه دور دسترسی داشته باشد.
    Value: Users
    Value Type: REG_MULTI_SZ - Multi string
    Default Data: None

    تغییراتی در win2000 به بعد در سری NT وجود دارد.
    Value: Machine
    Value Type: REG_MULTI_SZ - Multi string
    :Default Data
    System\CurrentControlSet\Control\ProductOptions
    System\CurrentControlSet\Control\Print\Printers
    System\CurrentControlSet\controlServer Applications
    System\CurrentControlSet\Services\Eventlog
    Software\Microsoft\Windows NT\CurrentVersion
    Value: Users
    این مقدار به صورت پیش فرض تعریف نشده است.
    بعد از این تغییرات می توانیم یک دسترسی محدود به رجیستری از راه دور داشته باشیم.
    توجه :
    اگر کلید RestrictNullSessAccess وجود نداشت و یا value=0 باشد می تواند با دسترسی از راه دور یک Null session ایجاد کرد. برای این که جلوی این کار را بگیریم .باید کلید زیر را با مقادیر داده شده بسازیم.
    HKLM\System\CurrentControlSet\Services\LanManServe r \Parameters
    Value name: RestrictNullSessAccess
    Value type: REG_DWORD
    Value data: Set to 1