كيف أن يزيد من صعوبة الوصول غير المرغوب فيه إلى SQL Server 2005 من قبل مسؤول نظام التشغيل


مقدمة


برنامج إعداد Microsoft SQL Server 2005 بإنشاء مجموعة محلية لكل خدمة تثبيت Windows. يضيف برنامج إعداد SQL Server 2005 حساب الخدمة لكل خدمة من خدمات إلى مجموعتها الخاصة. لتثبيت نظام مجموعة تجاوز فشل SQL Server، يتم استخدام مجموعات نطاق Windows بنفس الطريقة. يجب إنشاء مجموعات المجال هذه عن طريق مسؤول مجال قبل تشغيل برنامج إعداد SQL Server 2005. إضافة Windows NT حقوق وأذونات مطلوبة من قبل خدمة معينة بقائمة التحكم بالوصول النظام (SACL) لكل مجموعة Windows. مسؤول المجال لا تمنح الأذونات مباشرة إلى حساب الخدمة.

وبالإضافة إلى ذلك، يتم منح مجموعات Windows التي قمت بإنشائها ل SQL Server 2005 لعميل SQL Server ومجموعة BUILTIN\Administrators تسجيلات دخول SQL Server 2005 توفير في دور مسؤول النظام SYSADMIN SQL Server 2005 الثابت على الملقم. تكوين هذا يجعل من الممكن لأي حساب يكون عضوا في هذه المجموعات لتسجيل الدخول إلى SQL Server 2005 باستخدام اتصال مصادقة Windows NT. لأن المستخدم لديه عضوية مجموعة في دور مسؤول النظام SYSADMIN في الملقم SQL الخادم الثابتة، يتم تسجيل المستخدم في SQL Server 2005 كمسؤول أنظمة SQL Server 2005. (المستخدم يتم تسجيل الدخول باستخدام حساب sa). ثم، المستخدم له الوصول غير المقيد لتثبيت SQL Server 2005 والبيانات الخاصة به. أيضا، أي المستخدم الذي يعرف كلمة المرور لمثيل SQL Server 2005 أو حساب خدمة SQL Server عامل استخدام الخدمة الحساب لتسجيل الدخول إلى الكمبيوتر. ثم، المستخدم إجراء مصادقة Windows NT اتصال ب SQL Server 2005 كمسؤول SQL Server.

يتم أيضا منح مجموعات Windows التي قمت بإنشائها ل SQL Server 2005 Reporting Services (SSRS) وخدمة بحث نص كامل تسجيلات دخول SQL Server. ومع ذلك، "خدمات التقارير" وخدمة بحث نص كامل لا توفير في دور مسؤول النظام SYSADMIN الثابت على الملقم.

تحتاج بعض المسؤولين SQL Server 2005 الأدوار الوظيفية ومسؤول نظام التشغيل لتكون منفصلة تماما من مسؤول قاعدة البيانات. يرغب المسؤولون عن هذه للحماية من الوصول غير المرغوب فيه من قبل مسؤول نظام التشغيل SQL Server 2005.

مزيد من المعلومات


كيف أن يزيد من صعوبة الوصول غير المرغوب فيه إلى SQL Server 2005 من قبل مسؤول نظام التشغيل

ليزيد من صعوبة الوصول غير المرغوب فيه إلى SQL Server 2005 من قبل مسؤول نظام التشغيل، يجب إزالة الأذونات تسجيل الدخول التي تم تعيينها إلى مجموعة BUILTIN\Administrators. وبعد ذلك، يجب منح تسجيلات الدخول مباشرة إلى حسابات الخدمة ل SQL Server 2005 ولعميل SQL Server. وبعد ذلك، يجب توفير تسجيلات الدخول في دور مسؤول النظام SYSADMIN الثابت على الملقم. وأخيراً، يجب حذف عمليات تسجيل الدخول التي تم منحها لمجموعاتهم Windows. للقيام بذلك، اتبع الخطوات التالية:
  1. تأكد من أن لديك حساب يكون عضوا دور SYSADMIN الثابت على الملقم. عدم منح هذا الحساب إذن تسجيل الدخول إلى SQL Server 2005 فقط بأن يكون عضوا مجموعة BUILTIN\Administrators.
  2. إزالة أذونات تسجيل الدخول التي تم منحها إلى المجموعة BUILTIN\Administrators. للقيام بذلك، اتبع الخطوات التالية:
    1. تسجيل الدخول إلى SQL Server 2005 باستخدام حساب مستخدم له إذن "تعديل أي تسجيل الدخول".
    2. توسيع الأمانوتوسيع عمليات تسجيل الدخول، انقر نقراً مزدوجاً فوق BUILTIN\Administratorsوثم انقر فوق حذف.
    3. في مربع الحوار حذف كائن ، انقر فوق "موافق".
    ملاحظة: بعد حذف تسجيل الدخول التي تم منحها إلى المجموعة BUILTIN\Administrators، سيكون أي حساب يعتمد فقط على العضوية في هذه المجموعة لتسجيل الدخول إلى SQL Server 2005 لم تعد قادرة على الوصول إلى SQL Server 2005.

    لمزيد من المعلومات حول حساب خدمة خدمة نظام المجموعة ل Microsoft (MSCS)، راجع المقطع "حساب خدمة خدمة نظام المجموعة ل Microsoft (MSCS)".
  3. استخدام حساب لديه إذن "دخول أي تغيير" لمنح تسجيلات دخول SQL Server 2005 مباشرة إلى حسابات الخدمة التي يتم استخدامها بواسطة SQL Server 2005 وعميل SQL Server. للقيام بذلك، بتنفيذ عبارة SQL التالية.
    CREATE LOGIN [<Domain Name>\<SQL Server Service Account>] FROM WINDOWS WITH DEFAULT_DATABASE=[master]CREATE LOGIN [<Domain Name >\<SQL Server Agent Service Account>] FROM WINDOWS WITH DEFAULT_DATABASE=[master]

  4. استخدام حساب يكون عضوا مسؤول النظام SYSADMIN الثابت دور الخادم لتوفير عمليات تسجيل الدخول التي قمت بإضافتها في الخطوة 2 مسؤول النظام SYSADMIN دور الملقم ثابتة.
    EXEC master..sp_addsrvrolemember @loginame = N'<Domain Name>\<SQL Server Service Account> ', @rolename = N'sysadmin'EXEC master..sp_addsrvrolemember @loginame = N'<Domain Name>\<SQL Server Agent Service Account> ', @rolename = N'sysadmin'

  5. استخدام حساب لديه إذن "تغيير تسجيل دخول أي" حذف عمليات تسجيل الدخول التي تم منحها إلى المجموعة SQL Server 2005 ولمجموعة Windows عميل SQL Server.
    DROP LOGIN [<Computer Name>\<SQLServer2005SQLServerUser>$<Computer Name>$MSSQLSERVER]DROP LOGIN [<Computer Name>\<SQLServer2005AgentUser>$<Computer Name>$MSSQLSERVER]

حتى بعد اتباع هذه الخطوات، يجب إبقاء كلمة المرور لحساب خدمة SQL Server 2005 ولحساب خدمة SQL Server عامل السري من مسؤول نظام التشغيل. إذا تم توفير حساب خدمة MSCS في مسؤول النظام SYSADMIN دور الملقم ثابتة، كلمة مرور حساب خدمة MSCS يجب أيضا الاحتفاظ بسرية من مسؤول نظام التشغيل. إذا كان مسؤول النظام التشغيل يعرف كلمة المرور لحساب خدمة SQL Server 2005 أو حساب خدمة SQL Server عامل، مسؤول نظام التشغيل استخدام حساب الخدمة لتسجيل الدخول إلى كمبيوتر. تسجيل دخول مسؤول نظام التشغيل للكمبيوتر، مسؤول نظام التشغيل الاتصال بمثيل SQL Server 2005 كمسؤول ملقم SQL.

للاحتفاظ بمسؤول نظام التشغيل من معرفة كلمة المرور الخاصة بحسابات الخدمة التي يتم استخدامها بواسطة SQL Server 2005 وعميل SQL Server، يجب أن تكون مسؤول نظام SQL Server قادراً على تعيين كلمة مرور جديدة لحساب الخدمة. في معظم الحالات، مسؤول نظام SQL Server 2005 غير مسؤول نظام التشغيل. ولذلك، يجب كتابة أداة ذات غرض خاص لتوفير هذه الوظيفة. على سبيل المثال، يمكنك إنشاء خدمة موثوق بها استخدام SQL Server 2005 مسؤول النظام لتغيير كلمات المرور لحسابات الخدمة المستخدمة بواسطة SQL Server 2005. Microsoft حاليا لا تقدم هذه الخدمة.

حساب خدمة خدمة نظام المجموعة ل Microsoft (MSCS)

في تثبيت مجموعة تجاوز فشل SQL Server 2005، يعتمد حساب خدمة MSCS على العضوية في مجموعة BUILTIN\Administrators لتسجيل الدخول إلى SQL Server 2005 لإجراء فحص IsAlive. إذا قمت بإزالة مجموعة BUILTIN\Administrators من نظام مجموعة تجاوز فشل، يجب منح أذونات حساب خدمة MSCS لتسجيل الدخول إلى نظام مجموعة تجاوز فشل SQL Server 2005 بشكل صريح. للقيام بذلك، تنفيذ عبارة SQL التالية في مثيل SQL Server 2005.
CREATE LOGIN [<Domain Name>\<MSCS Service Account>] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
إضافة SQL Server 2005 Service Pack 2 الجديدة إمكانيات تشخيص لمجموعات تجاوز الفشل SQL Server 2005. التقاط تلقائياً عمليات تشخيص حالة مورد نظام المجموعة SQL Server 2005 قبل نظام مجموعة تجاوز الفشل. يقوم SQL Server 2005 مورد مكتبة الارتباط الحيوي (DLL) تجميع بيانات التشخيص هذا أسهل، كما يلي:
  • يبدأ المورد SQL Server 2005 مثيل للأداة المساعدة Sqlcmd.exe ضمن سياق الأمان لحساب الخدمة MSCS. وبعد ذلك، المورد SQL Server 2005 تشغيل برنامج نصي SQL عبر اتصال مسؤول مخصص (DAC) عينات مختلف الآراء إدارة الحيوي (DMV).
  • موارد SQL Server 2005 التقاط ملف تفريغ مستخدم لعملية SQL Server 2005 قبل نظام مجموعة تجاوز الفشل.
لأنه يتم استخدام اتصال مسؤول مخصص لجمع بعض البيانات التشخيصية، يجب توفير حساب خدمة MSCS في دور مسؤول النظام SYSADMIN الثابت على الملقم. إذا كانت ممارسات الأمان في المؤسسة الخاصة بك يعني أنه يتعذر توفير حساب خدمة MSCS في مسؤول النظام SYSADMIN دور الملقم ثابتة، يمكن منح حساب خدمة MSCS تسجيل دخول SQL Server التي لم يتم توفير في مسؤول النظام SYSADMIN دور الملقم ثابتة. في هذا السيناريو، سوف تفشل اختبارات التشخيص التي عادة ما يتم التقاطها بواسطة الأداة المساعدة Sqlcmd.exe لأن الأداة المساعدة Sqlcmd.exe يتعذر تسجيل الدخول إلى SQL Server 2005. موارد SQL Server 2005 يجب أن تكون قادرة على تجميع ملف تفريغ مستخدم بغض النظر عن ما إذا كان حساب خدمة SQL Server 2005 مورد DLL تم تجهيزه في مسؤول النظام SYSADMIN إصلاح دور الملقم DLL.

إذا كنت تريد تسجيل الدخول إلى SQL Server 2005 باستخدام حساب يكون عضوا في دور الملقم ثابتة مسؤول النظام sysadmin. وبعد ذلك، تنفيذ عبارة SQL التالية لإضافة حساب خدمة MSCS لدور مسؤول النظام SYSADMIN الثابت على الملقم.
EXEC master.sp_addsrvrolemember @loginame = N'<Domain Name>\<MSCS Service Account> ', @rolename = N'sysadmin'

كيفية تغيير حسابات الخدمة

على الرغم من الخطوات السابقة قد يجعل من الأصعب لمسؤول نظام التشغيل للاتصال ب SQL Server 2005، الخطوات السابقة تجعله أكثر تعقيداً لتغيير حسابات الخدمة ل SQL Server 2005 ولعميل SQL Server. لتغيير حسابات الخدمة ل SQL Server 2005 ولعميل SQL Server، اتبع الخطوات التالية:
  1. إضافة حساب الخدمة الجديد أو حسابات الخدمة لمجموعة Windows أو المجموعات التي قمت بإنشائها ل SQL Server وعميل SQL Server.
  2. استخدام حساب لديه إذن "تغيير تسجيل دخول أي" إنشاء تسجيل دخول SQL Server 2005 لحسابات خدمة جديدة. للقيام بذلك، تنفيذ عبارة SQL التالية من حساب لديه إذن "دخول أي تغيير".
    CREATE LOGIN [<Domain Name>\<New SQL Server Service Account>] FROM WINDOWS WITH DEFAULT_DATABASE=[master]CREATE LOGIN [<Domain Name>\<New SQL Server Agent Service Account>] FROM WINDOWS WITH DEFAULT_DATABASE=[master]

  3. استخدام حساب تم تجهيزه في دور مسؤول النظام SYSADMIN الثابت على الملقم تنفيذ عبارة SQL التالية.
    EXEC master..sp_addsrvrolemember @loginame = N’ <Domain Name>\<New SQL Server Service Account> ', @rolename = N'sysadmin'EXEC master..sp_addsrvrolemember @loginame = N’ <Domain Name>\<New SQL Server Agent Service Account> ', @rolename = N'sysadmin'

    ملاحظة: يضيف هذا البيان حساب خدمة SQL Server 2005 وحساب خدمة SQL Server عامل لمسؤول النظام SYSADMIN دور الملقم ثابتة.
  4. تغيير حساب الخدمة لخدمة المناسبة باستخدام إدارة تكوين ملقم SQL. للقيام بذلك، اتبع الخطوات التالية:
    1. في "إدارة تكوين ملقم SQL"، انقر فوق خدمات SQL Server 2005.
    2. زر الماوس الأيمن فوق الخدمة التي تريد تعديلها، ومن ثم انقر فوق خصائص.
    3. انقر فوق علامة التبويب تسجيل الدخول ومن ثم أدخل معلومات حساب المستخدم الذي تريده لاستخدام الخدمة.
    4. انقر فوق "موافق" عند الانتهاء من إدخال معلومات الحساب.
    ملاحظة: عند تغيير حساب الخدمة، يطالبك إدارة تكوين SQL Server لإعادة تشغيل الخدمة.
  5. استخدام حساب لديه إذن "تغيير تسجيل دخول أي" حذف عمليات تسجيل الدخول التي تم استخدامها بواسطة حساب خدمة SQL Server 2005 وحساب خدمة عميل SQL Server. للقيام بذلك، بتنفيذ عبارة SQL التالية.
    DROP LOGIN [<Domain Name>\<Old SQL Server Service Account>]DROP LOGIN [<Domain Name>\<Old SQL Server Agent Service Account>]

ملاحظة: ليس لديك لمنح أي حقوق جديدة في نظام التشغيل Windows NT أو أذونات لحسابات خدمة جديدة لإضافة حسابات خدمة جديدة إلى مجموعات Windows الخاصة بهم في الخطوة 1.

توصيات لمراجعة حسابات العمليات

إذا كنت تريد للحماية من الوصول غير المرغوب فيه من قبل مسؤولي نظام التشغيل SQL Server، يجب أيضا تدوين العمليات التالية:
  • يبدأ التدقيق وتوقف ملقم يستند إلى Windows.
  • يبدأ التدقيق وإيقاف خدمات SQL Server 2005 وخدمات عميل SQL Server.
  • تدقيق الوصول إلى الدلائل المخزنة في ملقم SQL الذي ملفات قاعدة البيانات وملفات البيانات، ملفات السجلات وملفات قاعدة بيانات النسخ الاحتياطي.
  • مراجعة التغييرات لحساب خدمة SQL Server 2005 ولحساب خدمة عميل SQL Server.
  • تدقيق تسجيلات دخول شبكة الاتصال وتسجيل الدخول على جهاز الكمبيوتر بحساب خدمة SQL Server 2005 حساب خدمة SQL Server عامل، أو بموجب حساب الخدمة MSCS.

حساب NT AUTHORITY\SYSTEM

يتم أيضا منح حساب NT AUTHORITY\SYSTEM تسجيل دخول SQL Server. يتم توفير حساب NT AUTHORITY\SYSTEM في دور مسؤول النظام SYSADMIN الثابت على الملقم. عدم حذف هذا الحساب أو إزالتها من دور مسؤول النظام SYSADMIN الثابت على الملقم. يتم استخدام حساب NTAUTHORITY\SYSTEM عن طريق Microsoft Update و Microsoft SMS لتطبيق حزم الخدمة والإصلاحات العاجلة على تثبيت SQL Server 2005. يستخدم حساب NTAUTHORITY\SYSTEM أيضا بخدمة كاتب SQL.

أيضا، إذا كان يتم تشغيل SQL Server 2005 في وضع المستخدم المفرد، أي مستخدم لديه عضوية في مجموعة BUILTIN\Administrators الاتصال ب SQL Server 2005 كمسؤول ملقم SQL. المستخدم يستطيع الاتصال بغض النظر عن ما إذا كانت المجموعة BUILTIN\Administrators تم منح تسجيل دخول ملقم الذي تم تجهيزه في مسؤول النظام SYSADMIN دور الملقم ثابتة. يعتبر هذا السلوك حسب التصميم. يهدف هذا السلوك استخدام سيناريوهات استرداد البيانات.

لمزيد من المعلومات حول أفضل ممارسات الأمان ل SQL Server 2005، راجع الموضوع "أمان اعتبارات SQL الخادم التثبيت" في كتب SQL Server 2005.

المراجع


لمزيد من المعلومات حول اعتبارات الأمان لتثبيت SQL Server، قم بزيارة موقع Microsoft TechNet على ويب التالي: