المقدمة
يقدم هذا المستند إجابات على بعض الأسئلة المتداولة حول المكون الإضافي لبروتوكول سطح المكتب البعيد (RDP)، والمتوفر لمستخدمي أجهزة الأمان المعدلة (ASA) من طبقة مآخذ التوصيل الآمنة (SSLVPN) من Cisco.
المكون الإضافي لبروتوكول RDP هو مجرد مكون إضافي واحد من المكونات الإضافية المتوفرة للمستخدمين، إلى جانب المكونات الأخرى مثل طبقة الأمان (SSH) وحوسبة الشبكة الظاهرية (VNC) و Citrix. المكون الإضافي RDP هو أحد المكونات الإضافية الأكثر إستخداما في هذه المجموعة. يوفر هذا المستند المزيد من التفاصيل حول إجراءات النشر واستكشاف أخطاء هذه المكون الإضافي وإصلاحها.
ملاحظة: لا يوفر هذا المستند معلومات حول كيفية تكوين مكون RDP الإضافي. لمزيد من المعلومات، ارجع إلى دليل نشر Cisco ASA 5500 SSL VPN، الإصدار 8.x.
معلومات أساسية
لقد تم تطوير المكون الإضافي ل RDP من إضافة RDP قائمة على Java تماما، لتضمين كل من عميل ActiveX RDP (Internet Explorer)، بالإضافة إلى عميل Java (مستعرضات غير Internet Explorer).
المكون الإضافي لجافا
يستخدم عميل Java RDP التطبيق المناسب لبروتوكول Java RDP. يتم بعد ذلك تضمين التطبيق الصغير Java في مكون إضافي يسمح بالتثبيت داخل المدخل بدون عميل ASA.
المكون الإضافي Active-X
تتضمن إضافة RDP أيضا عميل Microsoft ActiveX RDP، وتقوم الإضافة بتحديد ما إذا كان سيتم إستخدام Java أو ActiveX Client استنادا إلى المستعرض أم لا. يعني:
- إذا حاول مستخدمو Internet Explorer (IE) إستخدام RDP من خلال مدخل SSLVPN بدون عملاء، ولم يحتوي عنوان URL الخاص بالإشارة المرجعية على الوسيطة ForceJava=true، فسيتم إستخدام عميل ActiveX. إذا فشل ActiveX في التنفيذ، يقوم المكون الإضافي بتهيئة عميل Java.
- إذا حاول مستخدمو IE تشغيل إشارة RDP المرجعية أو عنوان URL، سيتم تشغيل عميل Java فقط.
لمزيد من المعلومات حول متطلبات RDP ActiveX وامتيازات المستخدم، راجع مقالة متطلبات Microsoft لاتصال ويب بسطح المكتب البعيد.
توضح الصورة التالية الروابط الثلاثة التي يمكن تحديدها ضمن نافذة المستعرض بعد تشغيل المكون الإضافي:
- صفحة مدخل جديدة - يفتح هذا الارتباط صفحة المدخل في نافذة مستعرض جديدة.
- ملء الشاشة - يستخدم هذا نافذة RDP في وضع ملء الشاشة.
- إعادة الاتصال ب Java - هذا يفرض على المكون الإضافي إعادة الاتصال واستخدام Java بدلا من ActiveX.
المكون الإضافي لبروتوكول RDP
إستخدام المكون الإضافي RDP و RDP-2
- إضافة RDP: هذه هي الإضافة الأصلية التي تم إنشائها والتي تحتوي على كل من Java و ActiveX Client.
- المكون الإضافي RDP2: نتيجة للتغييرات التي طرأت على بروتوكول RDP، تم تحديث عميل Java RDP المناسب من أجل دعم الخوادم الطرفية لنظام التشغيل Microsoft Windows 2003 والخوادم الطرفية لنظام التشغيل Windows Vista.
تلميح: تجمع أحدث مكون إضافي لبروتوكول RDP بين بروتوكولات RDP و RDP2. ونتيجة لذلك، فإن المكون الإضافي RDP2 قديم. يوصى باستخدام أحدث إصدار من المكون الإضافي RDP. تتبع تسميات إضافة RDP هذه البنية: RDP-plugin.yymmdd.jar، حيث يكون yy تنسيق من رقمين في السنة، MM هو تنسيق من رقمين في الشهر، وDD هو تنسيق من رقمين في اليوم.
لتنزيل المكون الإضافي، تفضل بزيارة صفحة تنزيل برامج Cisco.
موضع عميل ActiveX مقابل Java
RDP-ActiveX
- يستخدم IE فقط
- توفير الدعم للصوت المعاد توجيهه
بروتوكول RDP-Java
- يعمل على كافة المستعرضات المدعومة التي تم تمكين Java عليها.
- يتم تشغيل عميل Java في IE فقط إذا فشل ActiveX في التشغيل، أو تمرر الوسيطة ForceJava=true في الإشارة المرجعية RDP.
- يعتمد تطبيق RDP-Java على مشروع RDP صحيح في Java، وهو مبادرة مفتوحة المصدر، ويتم توفير دعم بأفضل الجهود للتطبيق.
تنسيق إشارة RDP المرجعية
فيما يلي تنسيق مثال للإشارة المرجعية ل RDP:
rdp://server:port/?Parameter1=value&Parameter2=value&Parameter3=value
فيما يلي بعض الملاحظات الهامة حول التنسيق:
- server - هذه هي السمة الوحيدة المطلوبة. أدخل اسم الكمبيوتر الذي يستضيف Microsoft Terminal Services.
- المنفذ (إختياري) - هذا هو العنوان الظاهري داخل الكمبيوتر البعيد الذي يستضيف Microsoft Terminal Services. تطابق القيمة الافتراضية، 3389، رقم المنفذ المعروف جيدا للخدمات الطرفية من Microsoft.
- المحددات - هذه سلسلة استعلام إختيارية تتكون من أزواج قيمة المعلمة. تقوم علامة الاستفهام بتعليم بداية سلسلة الوسيطة، ويتم فصل كل زوج قيمة معلمة بواسطة علامة تأشير.
فيما يلي قائمة بالمعلمات المتاحة:
- الهندسة - هذا هو حجم شاشة العميل بالبكسل (العرض × الارتفاع).
- bpp - هذه هي وحدات بت لكل بيكسل (عمق اللون)، 8|16|24|32.
- domain - هذا هو مجال تسجيل الدخول.
- username - هذا هو اسم المستخدم لتسجيل الدخول.
- كلمة المرور - هذه هي كلمة مرور تسجيل الدخول. أستخدم كلمة المرور بعناية لأنه يتم إستخدامها على جانب العميل ويمكن ملاحظتها.
- وحدة التحكم - يتم إستخدام هذا الأمر للاتصال بجلسة عمل وحدة التحكم على الخادم (نعم/لا).
- ForceJava - قم بتعيين هذه المعلمة على نعم لاستخدام عميل Java فقط. الإعداد الافتراضي هو no.
- shell - قم بتعيين هذه المعلمة إلى مسار الملف التنفيذي/التطبيق الذي يتم بدء تشغيله تلقائيا عند الاتصال ب RDP (rdp://server/?shell=path، على سبيل المثال).
فيما يلي قائمة بمعلمات ActiveX الإضافية فقط:
- إعادة توجيه محركات الأقراص - قم بتعيين هذه المعلمة إلى true لتعيين محركات الأقراص البعيدة محليا.
- إعادة توجيه الطابعات - تعيين هذه المعلمة إلى true لتعيين الطابعات البعيدة محليا.
- FullScreen - قم بتعيين هذه المعلمة إلى true من أجل التشغيل في وضع FullScreen.
- ForceJava - قم بتعيين هذه المعلمة إلى نعم لإجبار عميل Java.
- audio- يتم إستخدام هذه المعلمة لإعادة توجيه الصوت عبر جلسة RDP:
- 0 - يعيد توجيه الأصوات البعيدة إلى كمبيوتر العميل.
- 1 - تشغيل الأصوات على الكمبيوتر البعيد.
- 2 - تعطيل إعادة توجيه الصوت، وعدم تشغيل الأصوات في الخادم البعيد.
المكون الإضافي RDP وموازنة حمل الشبكة الخاصة الظاهرية (VPN)
يتم دعم موازنة الحمل متعدد الجغرافيا باستخدام موازنة تحميل الخادم العالمي (DNS) المستند إلى DOMAIN. نظرا لفروق التخزين المؤقت لنتائج نظام أسماء المجالات (DNS)، قد تعمل الإضافات بشكل مختلف عبر أنظمة التشغيل المتنوعة. يسمح التخزين المؤقت ل Windows DNS للمكون الإضافي بحل نفس عنوان IP عند تسبيحه لبريمج Java. في Macintosh (MAC) OS X، من الممكن لبريمج Java أن يحل عنوان مختلف. ونتيجة لهذا فإن المكون الإضافي يفشل في التشغيل بشكل صحيح.
مثال على DNS Round-robin عندما يكون لديك عنوان URL واحد (https://www.example.com) حيث يمكن أن يحل إدخال DNS ل www.example.com إما 192.0.2.10 (ASA1) أو 198.51.100.50 (ASA2).
بعد أن يقوم المستخدم بتسجيل الدخول إلى بوابة Client-WebVPN عبر مستعرض على ASA1، يمكن بدء المكون الإضافي RDP. أثناء بدء تشغيل عميل Java، تقوم أجهزة كمبيوتر Mac OS X بتنفيذ طلب تحليل DNS جديد. مع تكوين DNS دوري-robin، هناك فرصة 50٪ أن ترجع إستجابة الحل الثاني هذه نفس الموقع الذي تم إختياره لاتصال WebVPN الأولي. إذا كانت إستجابة خادم DNS هي 198.51.100.50 (ASA2) بدلا من 192.0.2.10 (ASA1)، يقوم عميل Java بتهيئة اتصال ب ASA (ASA2) الخطأ. بما أن جلسة عمل المستخدم غير موجودة على ASA2، يتم رفض طلب الاتصال.
قد يؤدي ذلك إلى ظهور رسائل خطأ Java مماثلة لهذه:
java.lang.ClassFormatError: Incompatible magic value 1008813135 in
class file net/propero/rdp/applet/RdpApplet
الأسئلة المتداولة
لماذا لا تظهر بعض الأحرف المكتوبة على جلسة عمل RDP البعيدة؟
قد يحتوي الكمبيوتر البعيد في جلسة عمل RDP على إعداد منطقة لوحة مفاتيح مختلف عن إعداد الكمبيوتر المحلي. قد لا يعرض الكمبيوتر البعيد بعض الأحرف المكتوبة أو أحرف غير صحيحة بسبب هذا الاختلاف. يظهر هذا السلوك مع إضافة جافا فقط. لحل هذه المشكلة، أستخدم سمة keyMap لتعيين خريطة المفاتيح المحلية إلى الكمبيوتر البعيد.
على سبيل المثال، لتعيين تعيين لوحة مفاتيح ألمانية، أستخدم:
rdp://
/?keymap=de
The following keymaps are available:
---------------------------------------------------------------------
ar de en-us fi fr-be it lt mk pl pt-br sl tk
da en-gb es fr hr ja lv no pt ru sv tr
---------------------------------------------------------------------
مشاكل معروفة مع تعيينات لوحة المفاتيح
- معرف تصحيح الأخطاء من Cisco CSCth38454 - تنفيذ خريطة المفاتيح المجرية للأداة الإضافية RDP.
- معرف الأخطاء من Cisco CSCsu77600 - مفاتيح نافذة الوظيفة الإضافية ل WebVPN RDP غير صحيحة. العالي (مفتاح) .jar.
- معرف تصحيح الأخطاء من Cisco CSCtt04614 - WebVPN - أدوات ضبط لوحة المفاتيح ES تتم إدارتها بشكل غير صحيح بواسطة ملحق RDP.
- معرف تصحيح الأخطاء من Cisco CSCtb07767 - ملحق ASA - تكوين المعلمات الافتراضية.
تلميح: حل بديل آخر ممكن هو إستخدام نفق تطبيق ذكي ل mstsc.exe. ويتم تكوين هذا ضمن وضع التكوين الفرعي ل WebVPN باستخدام هذا الأمر: إطارات النظام الأساسي ل Smart-tunnel list RDP_List RDP mstsc.exe.
هل يمكن أن تدعم إضافة Java RDP جلسات عمل RDP ذات الشاشة الكاملة؟
حاليا، لا يوجد دعم أصلي لجلسات عمل RDP للشاشة الكاملة. تم تقديم طلب التعزيز CSCto87451 من أجل تنفيذ هذا. إذا تم تعيين المعلمة الهندسية (الهندسة =1024×768، على سبيل المثال) على دقة شاشة المستخدم، فإنها تعمل في وضع الشاشة الكاملة. مع أختلاف أحجام شاشة المستخدم، قد يكون من الضروري إنشاء روابط إشارة مرجعية متعددة. يدعم عميل ActiveX بشكل أصلي جلسات RDP الخاصة بملء الشاشة.
هل يمكن لعميل Java الاتصال باستخدام AES-256 للتشفير؟
للسماح لعميل Java بالتفاوض على SSL بشكل صحيح، قم بضبط ترتيب مجموعة تشفير ASA SSL لمطابقة هذا:
Enabled cipher order: aes256-sha1 rc4-sha1 aes128-sha1 3des-sha1
Disabled ciphers: des-sha1 rc4-md5 null-sha1
قد يعرض عميل Java هذا الخطأ إذا كان ترتيب مجموعة التشفير مختلفا:
[Thread-12] INFO net.propero.rdp.Rdp - javax.net.ssl.SSLHandshakeException:
Received fatal alert: handshake_failure
أستكشاف أخطاء RDP وإصلاحها
إذا واجهت مشاكل أخرى مع إضافة RDP، فقد يكون من المفيد تجميع هذه البيانات لاستكشاف أخطاء RDP وإصلاحها:
- العرض الفني خرج من ال ASA
- إخراج تفاصيل المكون الإضافي show import webVPN من ASA
- نظام تشغيل كمبيوتر المستخدم ومستوى التصحيح
- نظام تشغيل الكمبيوتر الوجهة ومستوى التصحيح
- العميل المستخدم (ActiveX أو Java) وإصدار Java JRE
- تحديد ما إذا كان ASA في مجموعة موازنة حمل أو قائمة على DNS أو مستندة إلى ASA
المحاذير المعروفة
مشاكل تحديث أمان Microsoft
- KB2695962 - Microsoft Security Advisory: مجموعة تحديثات وحدات بت ActiveX Kill: 8 مايو 2012.
- KB2675157 - MS12-023: تحديث الأمان التراكمي ل Internet Explorer: 10 أبريل 2012.
- بطاقة الواجهة Cisco-SA-20120314-ASABLE - جهاز الأمان القابل للتكيف طراز ASA 5500 Series Cisco ASA 5500 Series Adaptive Security Appliance VPN ActiveX Control Remote Code Execution، عدد 14 مارس/آذار.
- معرف تصحيح الأخطاء من Cisco CSCtx68075 - كسر ASA WebVPN عند تطبيق تصحيح Windows KB2585542 (8.2.5.29 / 8.4.3.9).
- KB2585542 - MS12-006: وصف تحديث الأمان ل Webio و WinHTTP و Schannel في Windows: 10 يناير 2012.
عميل ActiveX
- الأعراض: فشل عميل ActiveX في التحميل من إصدارات IE من 6 إلى 9 بعد الترقية إلى إصدار ASA OS 8.4.3.
- أحلت cisco بق id CSCtx58556. يتوفر الإصلاح للإصدارات 8.4.3.4 والإصدارات الأحدث.
- الحل البديل: فرض إستخدام عميل Java.
- الأعراض: يفشل عميل ActiveX في التحميل بعد خفض إصدار ASA OS إلى إصدار قبل 8.4.3. يؤثر هذا على المستخدمين الذين إستخدموا عميل ActiveX على ASA مع إصلاح معرف تصحيح الأخطاء من Cisco CSCtx58556، واتصل ب ASA هذا مع إصدار قبل 8.4.3. وهذا يرجع إلى إضافة ActiveX RDP جديدة تم تقديمها في إصدار ASA 8.4.3، والتي لا تتوافق مع الإصدارات السابقة.
- الأعراض: فشل إتصالات RDP بالأجهزة التي تم تمكين مصادقة مستوى الشبكة (NLA) عليها.
- ارجع إلى معرف تصحيح الأخطاء من Cisco CSCtu63661 للحصول على التحسين الذي يطلب NLA ليتم دمجه في المكون الإضافي ActiveX RDP.
- على الرغم من أن عميل Microsoft ActiveX يدعم NLA، إلا أن إستخدام هذه الميزة داخل المكون الإضافي ASA غير مدعوم.
- الحل البديل: قم بتكوين المكون الإضافي ل RDP (mstsc.exe) ليتم إنشاء قنوات ذكية. ارجع إلى دليل نشر Cisco ASA 5500 SSL VPN، الإصدار 8.x .
- الأعراض: فشل تحميل ActiveX RDP، ويعرض صفحة فارغة.
- أحلت cisco بق id CSCsx49794.
- يحدث ذلك عندما تكون سلسلة الشهادات لشهادة ASA SSL أكبر من أربع شهادات (ROOT، SUBCA1، SUBCA2، و ASA CERT، على سبيل المثال).
- الحل البديل:
- لا تقم بتثبيت سلسلة الشهادات الكبيرة على ASA.
- يعرف إضافة Java RDP بأنها تعمل بشكل صحيح، بالمقارنة مع إضافة ActiveX.
- يعمل RDP أيضا بشكل صحيح عند تكوين نظام التشغيل Windows mstsc.exe الأصلي باستخدام أنفاق ذكية.
- الأعراض: بعد إستخدام عميل ActiveX RDP، يقوم المستخدم بالنقر فوق زر تسجيل الخروج ويستلم HTTP 404 - خطأ لم يتم العثور على الصفحة. ارجع إلى معرف تصحيح الأخطاء من Cisco CSCtz33266. حللت هذا إصدار مع الإضافة صيغة rdp-plugin.120424.jar أو فيما بعد.
- الأعراض: لدى المستخدم علامتا تبويب مفتوحتين في IE - واحدة لجلسة RDP وأخرى لصفحة ويب فارغة أو أخرى. يفشل IE في العمل بشكل صحيح بعد إغلاق علامة التبويب RDP.
- أحلت cisco بق id CSCua69129.
- الحل البديل: أستخدم إضافة Java RDP (ضبط ForceJava=true).
- الأعراض: تتسبب إضافة ActiveX في إستخدام وحدة المعالجة المركزية (CPU) بشكل كبير مع IE. أحلت cisco بق id CSCua16597.
- الأعراض: بعد تثبيت Windows Update KB2695962، لا يتم تحميل المكون الإضافي ActiveX RDP. عند فتح جلسة عمل RDP جديدة، يحاول عميل ActiveX تثبيت جهاز توجيه المنفذ Cisco SSL VPN (لا يحدث ذلك دائما) ويعود إلى صفحة المدخل الذي لا يحتاج إلى عملاء دون الاتصال بالكمبيوتر البعيد. وهذا يرجع إلى الضعف CVE-2012-0358، والذي تم حله على جانب العميل بواسطة Microsoft Security Advisory (2695962).
عميل Java
ملاحظة: تعيد Cisco توزيع الإضافات دون أي تغييرات. بسبب ترخيص GNU العام، لا تغير Cisco تطبيق المكون الإضافي أو تمده. المكون الإضافي JavaRDP المناسب هو تطبيق مفتوح المصدر، وأي مشاكل متعلقة ببرنامج الإضافة يجب معالجتها من قبل مالك المشروع.
- الأعراض: يتم تشغيل التطبيقات التي تستخدم المعالج بكثافة على الكمبيوتر البعيد عند الوصول إليها من خلال عميل Java RDP، كما يحدث عطل في برنامج Java Apple.
- قد تظهر رسالة الخطأ هذه: DEADLY net.propero.rdp - javax.net.ssl.SSLExeption: تم إيقاف تشغيل الاتصال: .....
- ويتسم هذا السلوك بالتثليث عند التحويل بين تطبيقين أو أكثر يستهلكان المعالج بشكل مكثف وبسرعة.
- يتم إصلاح هذه المشكلة في إصدارات المكون الإضافي rdp.2012.6.4.jar والإصدارات الأحدث.
- الحل البديل:
- الاتصال باستخدام عميل ActiveX.
- لا تتبدل بين التطبيقات بسرعة.
- الأعراض: يقوم عميل Java RDP بإنشاء رسالة الخطأ هذه: net.propero.rdp.rdp - java.net.SocketException: المقبس مغلق java.net.SocketException: المقبس مغلق، ثم يغلق.
- تحدث المشكلة بواسطة مجموعة نفق تحتوي على عنوان URL لمجموعة تم تكوينه باستخدام FQDN فقط (http://www.example.com على سبيل المثال).
- ارجع إلى معرف تصحيح الأخطاء من Cisco CSCuh72888.
- الحل البديل:
- قم بإزالة إدخال URL الخاص بالمجموعة بدون "/" في مجموعة النفق.
- أستخدم عميل ActiveX.
- الأعراض: يفشل عميل Java RDP عند إتصاله بجهاز كمبيوتر يعمل بنظام التشغيل Windows 8.
- لا يتوفر لدى عميل Java RDP حاليا دعم لهذا الإجراء.
- أحلت cisco بق id CSCuc7990
- الحل البديل:
- أستخدم عميل ActiveX RDP.
- النفق الذكي لعميل RDP الأصلي ل Windows (mstsc.exe).
- الأعراض: يفشل عميل Java RDP في رسالة الخطأ هذه: ARSigningException: تم العثور على إدخال غير موقع في المورد: https://10.105.130.91/+CSCO+3a75676763663A2F2F2E637968747661662E++/vnc/VncViewer.jar.
- سبب هذا إصدار بسبب خطأ في Java Rewriter ل ASA WebVPN.
- أحلت cisco بق id CSCuj88114.
- الحل البديل: الرجوع إلى إصدار Java 7u40.