كيفية تكوين RPC لاستخدام منافذ معينة وكيفية الحفاظ على أمان هذه المنافذ باستخدام IPsec


الموجز


توضح هذه المقالة كيفية تكوين RPC لاستخدام نطاق منفذ ديناميكي محدد وكيفية الحفاظ على أمان المنافذ في هذا النطاق باستخدام نهج أمان بروتوكول إنترنت (IPsec). تبعًا للإعدادات الافتراضية، يستخدم RPC المنافذ في نطاق المنفذ المؤقت (1024-5000) عندما يقوم بتعيين المنافذ إلى تطبيقات RPC التي تقوم بدور الإصغاء إلى نقطة نهاية TCP. يمكن أن يؤدي هذا إلى تقييد الوصول إلى هذه المنافذ التي تعترض مسؤولي الشبكات. تعرض هذه المقالة طرق تقليل عدد المنافذ المتوفرة لتطبيقات RPC وكيفية تقييد الوصول إلى هذه المنافذ باستخدام نهج IPsec المستند إلى السجل.

نظرًا لأن الخطوات الموجودة في هذه المقالة تستلزم إجراء تغييرات واسعة النطاق على جهاز الكمبيوتر مما يتطلب إعادة تشغيل جهاز الكمبيوتر، يجب تنفيذ كافة هذه الخطوات أولاً في البيئات غير المنتجة لتحديد أية مشكلات متعلقة بتوافق التطبيقات التي قد تحدث كنتيجة لهذه التغييرات.

معلومات أخرى


يوجد العديد من مهام التكوين التي يجب إكمالها لإعادة تحديد موقع الوصول إلى منافذ RPC والحد منه وتقييده.

أولاً، يجب تقييد نطاق منفذ RPC الديناميكي إلى نطاق منفذ أصغر وأكثر قابلية للإدارة حيث يمكن حظره بسهولة باستخدام جدار الحماية أو نهج IPsec. تبعًا للإعدادات الافتراضية، يعمل RPC على تخصيص المنافذ ديناميكيًا في النطاق من 1024 إلى 5000 لنقاط النهاية التي لا تحدد منفذًا يتم الإصغاء إليه.

ملاحظة تستخدم هذه المقالة نطاق المنفذ من 5001 إلى 5021 لتجنب استنفاد المنافذ المؤقتة ولتقليل عدد المنافذ المتوفرة لنقاط نهاية RPC من 3.976 إلى 20.

يجب بعد ذلك إنشاء نهج IPsec لتقييد الوصول إلى نطاق المنفذ هذا لرفض الوصول إلى كافة المضيفات على الشبكة.

أخيرًا، يمكن تحديث نهج IPsec لتقديم عناوين IP معينة أو وصول الشبكات الفرعية إلى منافذ RPC المحظورة واستثناء كافة المنافذ الأخرى.

لبدء مهمة إعادة تكوين نطاق منفذ RPC الديناميكي، قم بتنزيل الأداة RPC Configuration Tool (RPCCfg.exe)، ثم قم بنسخها إلى محطة العمل أو إلى الخادم الذي سيتم إعادة تكوينه. للقيام بذلك، قم بزيارة موقع Microsoft التالي على الويب:لتنفيذ مهام إنشاء نهج IPsec التالية، قم بتنزيل أداة Internet Protocol Security Policies Tool (Ipsecpol.exe)، ثم قم بنسخها إلى محطة العمل أو إلى الخادم الذي سيتم إعادة تكوينه. للقيام بذلك، قم بزيارة موقع Microsoft التالي على الويب:ملاحظة لإنشاء نهج IPsec لنظام التشغيل Microsoft Windows XP أو لإصدار أحدث من نظام التشغيل Windows، استخدم الأداة Ipseccmd.exe. تعد الأداة Ipseccmd.exe جزءًا من أدوات دعم نظام التشغيل Windows XP. يتشابه بناء جملة الأداة IPseccmd.exe واستخدامها مع بناء جملة الأداة Ipsecpol.exe واستخدامها. لمزيد من المعلومات حول أدوات دعم نظام التشغيل Windows XP، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف لـ Microsoft" (قد تحتوي هذه المقالة على ارتباطات إلى محتوى باللغة الإنجليزية (محتوى لم تتم ترجمته بعد)):

838079 أدوات دعم حزمة الخدمة Service Pack 2 الخاصة بنظام التشغيل Windows XP

إعادة تحديد موقع نطاق منفذ RPC الديناميكي وتقليل حجمه باستخدام أداة RPCCfg.exe

لإعادة تحديد موقع نطاق منفذ RPC الديناميكي وتقليل حجمه باستخدام أداة RPCCfg.exe، اتبع الخطوات التالية:
  1. قم بنسخ أداة RPCCfg.exe إلى الخادم المطلوب تكوينها عليه
  2. في موجه الأوامر، اكتب rpccfg.exe -pe 5001-5021 -d 0.
    ملاحظة من المستحسن استخدام نطاق المنفذ هذا بواسطة نقاط نهاية RPC نظرًا لأنه ليس من المحتمل تخصيص المنافذ في هذا النطاق لاستخدامها بواسطة تطبيقات أخرى. تبعًا للإعدادات الافتراضية، يستخدم RPC نطاق المنفذ من 1024 إلى 5000 لتخصيص المنافذ لنقاط النهاية. على الرغم من ذلك، يتم أيضًا تخصيص المنافذ في هذا النطاق ديناميكيًا لاستخدامها بواسطة نظام تشغيل Windows لكافة تطبيقات مآخذ توصيل Windows ويمكن استهلاكها على الخوادم المستخدمة بكثرة مثل الخوادم الطرفية وخوادم الطبقة المتوسطة التي تقوم بإجراء العديد من الاستداعاءات الصادرة إلى الأنظمة البعيدة.

    على سبيل المثال، عندما يتصل Internet Explorer بخادم ويب على المنفذ 80، يقوم بالإصغاء إلى منفذ في النطاق من 1024 إلى 5000 لتلقي الاستجابة من الخادم. يقوم أيضًا خادم COM للطبقة المتوسطة الذي يتم من خلاله إجراء الاستدعاءات الصادرة للأنظمة البعيدة الأخرى باستخدام منفذ في هذا النطاق للرد الوارد على هذا الاستدعاء. يؤدي نقل نطاق المنافذ الذي يستخدمه RPC لنقاط النهاية إلى نطاق منفذ 5001 إلى تقليل فرصة استخدام هذه المنافذ بواسطة تطبيقات أخرى.
    لمزيد من المعلومات حول استخدام المنفذ المؤقت في أنظمة تشغيل Windows، قم بزيارة موقعي Microsoft التاليين على الويب.

استخدم نهج IPsec أو نهج جدار الحماية لمنع الوصول إلى المنافذ الأكثر عرضة للتهديد على المضيف المتأثر

بالنسبة للأوامر الواردة في القسم التالي، يكون الغرض من أي نص يظهر بين علامات النسبة المئوية (%) هو عرض نص في الأمر الذي يجب إدخاله بواسطة الشخص الذي يقوم بإنشاء نهج IPsec. على سبيل المثال، عند ظهور النص "%IPSECTOOL%"، يجب أن يقوم الشخص الذي أنشأ النص باستبدال النص كما يلي:
  • بالنسبة لنظام التشغيل Windows 2000، يتم استبدال "%IPSECTOOL%" بـ "ipsecpol.exe".
  • بالنسبة لنظام التشغيل Windows XP أو أي إصدار أحدث من Windows، يتم استبدال "%IPSECTOOL%" بـ "ipseccmd.exe".

لمزيد من المعلومات حول كيفية استخدام IPsec لحظر المنافذ، انقر فوق رقم المقالة التالية لعرضها في "قاعدة المعارف لـ Microsoft" (قد تحتوي هذه المقالة على ارتباطات إلى محتوى باللغة الإنجليزية (محتوى لم تتم ترجمته بعد)):

813878 كيفية حظر بروتوكولات شبكة معينة ومنافذ معينة باستخدام IPsec

حظر الوصول إلى معيِّن نقطة نهاية RPC لكافة عناوين IP

لحظر الوصول إلى معيِّن نقطة نهاية RPC لكافة عناوين IP، استخدم بناء الجملة التالي.

ملاحظة بالنسبة لنظام التشغيل Windows XP وأنظمة التشغيل الأحدث، استخدم الأداة Ipseccmd.exe. بالنسبة لنظام التشغيل Windows 2000، استخدم الأداة Ipsecpol.exe (Windows 2000).
%IPSECTOOL% -w REG -p "Block RPC Ports" -r "Block Inbound TCP 135 Rule" -f *=0:135:TCP -n BLOCK
ملاحظة لا تقم بكتابة "%IPSECTOOL%" في هذا الأمر. الغرض من "%IPSECTOOL%" هو عرض جزء من الأمر الذي يجب تخصيصه. على سبيل المثال، في نظام التشغيل Windows 2000، اكتب الأمر التالي من الدليل الذي يحتوي على Ipsecpol.exe لحظر وصول الوارد إلى TCP 135:
ipsecpol.exe -w REG -p "Block RPC Ports" -r "Block Inbound TCP 135 Rule" -f *=0:135:TCP -n BLOCK
في نظام التشغيل Windows XP وأنظمة التشغيل الأحدث، اكتب الأمر التالي من الدليل الذي يحتوي على Ipseccmd.exe لحظر وصول الوارد إلى TCP 135:
ipseccmd.exe -w REG -p "Block RPC Ports" -r "Block Inbound TCP 135 Rule" -f *=0:135:TCP -n BLOCK

حظر الوصول إلى نطاق منفذ RPC الديناميكي لكافة عناوين IP

لحظر الوصول إلى نطاق منفذ RPC الديناميكي لكافة عناوين IP، استخدم بناء الجملة التالي.

ملاحظة بالنسبة لنظام التشغيل Windows XP وأنظمة التشغيل الأحدث، استخدم الأداة Ipseccmd.exe. بالنسبة لنظام التشغيل Windows 2000، استخدم الأداة Ipsecpol.exe (Windows 2000).

%IPSECTOOL% -w REG -p "Block RPC Ports" -r "Block Inbound TCP %PORT% Rule" -f *=0:%PORT%:TCP -n BLOCK
ملاحظة لا تقم بكتابة "%IPSECTOOL%" أو "%PORT%" في هذا الأمر. الغرض من "%IPSECTOOL%" و"%PORT%" هو عرض أجزاء من الأمر الذي يجب تخصيصه. على سبيل المثال، اكتب الأمر التالي في مضيفات نظام التشغيل Windows 2000 لحظر وصول الوارد إلى TCP 5001:
ipsecpol.exe -w REG -p "Block RPC Ports" -r "Block Inbound TCP 5001 Rule" -f *=0:5001:TCP -n BLOCK
لحظر وصول الوارد إلى TCP 5001، اكتب الأمر التالي في مضيفات نظام التشغيل Windows XP وفي مضيفات أنظمة تشغيل Windows الأحدث:
ipseccmd.exe -w REG -p "Block RPC Ports" -r "Block Inbound TCP 5001 Rule" -f *=0:5001:TCP -n BLOCK
كرر هذا الأمر مع كل منفذ RPC يجب حظره بواسطة تغيير رقم المنفذ المسرود في هذا الأمر. توجد المنافذ التي يجب حظرها في النطاق من 5001 إلى 5021.

ملاحظة لا تنس تغيير رقم المنفذ في اسم القاعدة (رمز التبديل ‎-r) وفي عامل التصفية (رمز التبديل ‎-f).

اختياري: منح حق الوصول إلى معيِّن نقطة نهاية RPC لشبكات فرعية معينة إذا كان الوصول مطلوبًا

إذا كان يجب منح شبكات فرعية معينة حق الوصول إلى منافذ RPC المقيدة، يجب أولاً منح هذه الشبكات الفرعية حق وصول إلى معيِّن نقطة نهاية RPC الذي قمت بحظره مسبقًا. لمنح شبكة فرعية معينة حق الوصول إلى معيِّن نقطة نهاية RPC، استخدم الأمر التالي:
%IPSECTOOL% -w REG -p "Block RPC Ports" -r "Allow Inbound TCP 135 from %SUBNET% Rule" -f %SUBNET%/%MASK%=0:135:TCP -n PASS
ملاحظة في هذا الأمر، تتوفر الشروط التالية:
  • يمثل "%IPSECTOOL%" الأمر المطلوب استخدامه. هذا الأمر هو "ipsecpol.exe" أو "ipseccmd.exe." يعتمد الأمر الذي يتم استخدامه على نظام التشغيل الذي تقوم بتكوينه.
  • يمثل "%SUBNET%" شبكة IP الفرعية البعيدة التي تريد منحها حق الوصول، على سبيل المثال 10.1.1.0.
  • يمثل "%MASK%" قناع الشبكة الفرعية المطلوب استخدامه، على سبيل المثال، 255.255.255.0.

    على سبيل المثال، يتيح الأمر التالي لكافة المضيفات من الشبكة الفرعية 10.1.1.0/255.255.255.0 إمكانية الاتصال بمنفذ TCP 135. سيتم رفض الاتصالات الخاصة بكافة المضيفات الأخرى بواسطة قاعدة الحظر الافتراضية التي تم إنشاؤها مسبقًا لهذا المنفذ.
    %IPSECTOOL% -w REG -p "Block RPC Ports" -r "Allow Inbound TCP Port 135 from 10.1.1.0 Rule" -f 10.1.1.0/255.255.255.0=0:135:TCP -n PASS

اختياري: منح حق الوصول إلى منفذ نطاق RPC الديناميكي الجديد لشبكات فرعية معينة إذا كان الوصول مطلوبًا

يجب أن يتم أيضًا منح كل شبكة فرعية تم منحها حق الوصول إلى معيِّن نقطة نهاية RPC مسبقًا حق الوصول إلى كافة المنافذ في نطاق منفذ RPC الديناميكي الجديد (5001-5021).

في حالة تمكين شبكات فرعية من الوصول إلى معيِّن نقطة نهاية RPC لكن ليس إلى منفذ النطاق الديناميكي، قد يتوقف التطبيق عن الاستجابة، أو قد تواجه مشكلات أخرى.

يمنح الأمر التالي شبكة فرعية معينة حق الوصول إلى منفذ في نطاق منفذ RPC الديناميكي الجديد:
%IPSECTOOL% -w REG -p "Block RPC Ports" -r "Allow Inbound TCP %PORT% from %SUBNET% Rule" -f %SUBNET%/%MASK%=0:%PORT%:TCP -n PASS
ملاحظة في هذا الأمر، تتوفر الشروط التالية:
  • يمثل "%IPSECTOOL%" الأمر المطلوب استخدامه. هذا الأمر هو "ipsecpol.exe" أو "ipseccmd.exe." يعتمد الأمر الذي يتم استخدامه على نظام التشغيل الذي تقوم بتكوينه.
  • يمثل "%PORT%" المنفذ الموجود في نطاق المنفذ الديناميكي المطلوب منح حق الوصول له.
  • يمثل "%SUBNET%" شبكة IP الفرعية البعيدة التي تريد منحها حق الوصول، على سبيل المثال 10.1.1.0.
  • "يمثل %MASK%" قناع الشبكة الفرعية المطلوب استخدامه، على سبيل المثال، 255.255.255.0.

    على سبيل المثال، يتيح الأمر التالي لكافة المضيفات من الشبكة الفرعية 10.1.1.0/255.255.255.0 إمكانية الاتصال بمنفذ TCP 5001. سيتم رفض الاتصالات الخاصة بكافة المضيفات الأخرى بواسطة قاعدة الحظر الافتراضية التي تم إنشاؤها مسبقًا لهذا المنفذ.
    %IPSECTOOL% -w REG -p "Block RPC Ports" -r "Allow Inbound TCP Port 5001 from 10.1.1.0 Rule" -f 10.1.1.0/255.255.255.0=0:5001:TCP -n PASS
ملاحظة يجب تكرار هذا الأمر لكل شبكة فرعية ومنفذ في نطاق منفذ RPC الديناميكي الجديد.

تعيين نهج IPsec

ملاحظة يسري مفعول الأوامر في هذا القسم على الفور.

بعد إنشاء كافة قواعد الحظر وكافة قواعد السماح لمنافذ RPC التي تم تكوينها، قم بتعيين النهج باستخدام الأمر التالي:
%IPSECTOOL% -w REG -p "Block RPC Ports" –x
ملاحظة لإلغاء تعيين النهج على الفور، استخدم الأمر التالي:
%IPSECTOOL% -w REG -p "Block RPC Ports" –y
ملاحظة لحذف النهج من السجل، استخدم الأمر التالي:
%IPSECTOOL% -w REG -p "Block RPC Ports" -o
يجب إعادة تشغيل المضيف حتى يسري مفعول التغييرات.

ملاحظات
  • تتطلب التغييرات التي تم إجراؤها على تكوين RPC إعادة تشغيل.
  • يسري مفعول التغييرات التي تم إجراؤها على نهج IPsec على الفور ولا تتطلب إعادة تشغيل.
بعد إعادة تشغيل محطة العمل أو الخادم، تحتوي أية واجهات RPC تستخدم تسلسل بروتوكول ncacn_ip_tcp ولا تحدد منفذ TCP معين ليتم ربطها به على منفذ مخصص من هذا النطاق خلال وقت تشغيل RPC عند بدء تشغيل خادم RPC.

ملاحظة قد يتطلب الخادم أكثر من منفذ 20 TCP. يمكنك استخدام الأمر rpcdump.exe لعَدّ نقاط نهاية RPC المرتبطة بمنفذ TCP ولزيادة هذا العدد إذا كان ذلك مطلوبًا. لمزيد من المعلومات حول كيفية الحصول على الأداة RPC Dump، قم بزيارة موقع Microsoft التالي على الويب: