الوصول إلى معلومات اتصال بروتوكول أمان طبقة النقل (TLS) في خادم وكيل لواجهة برمجة التطبيقات

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

يتيح لك Edge إنشاء مضيفات افتراضية تتوافق مع بروتوكول أمان طبقة النقل الأحادي الاتجاه وال أحادي الاتجاه. باستخدام بروتوكول TLS الأحادي، يصدر العميل طلب جلسة إلى مضيف افتراضي تم نشره على جهاز Edge Router، ويستجيب جهاز التوجيه بشهادة تحتوي على المفتاح العام للمضيف الافتراضي. بالنسبة إلى شهادة موقَّعة، يمكن للعميل بعد ذلك تقديم طلب إلى مرجع التصديق (CA) لمصادقة الشهادة.

في بروتوكول أمان طبقة النقل (TLS) الثنائي، يجتاز كل من العميل وEdge الشهادات التي يتم التحقق منها كجزء من الطلب:

  • يقدّم جهاز توجيه Edge شهادته إلى عميل بروتوكول أمان طبقة النقل (TLS) لمصادقة نفسه. بعد ذلك، يتحقّق العميل من هوية الخادم قبل إرسال شهادته إلى الخادم.
  • يقدم عميل TLS شهادته إلى Edge لمصادقة نفسه.

راجع معلومات عن المضيفين الافتراضيين للحصول على مزيد من المعلومات.

الحصول على معلومات اتصال بروتوكول أمان طبقة النقل (TLS)

أثناء إرسال طلب إلى خادم وكيل لواجهة برمجة التطبيقات من خلال مضيف افتراضي يتوافق مع بروتوكول أمان طبقة النقل (TLS)، يمكن لبرنامج Edge الحصول على معلومات حول اتصال بروتوكول أمان طبقة النقل (TLS). ويمكن للخادم الوكيل لواجهة برمجة التطبيقات بعد ذلك الوصول إلى هذه المعلومات من خلال متغيّرات التدفق لإجراء المزيد من التحليل والتحقّق.

يعتمد نوع معلومات بروتوكول أمان طبقة النقل (TLS) التي تلتقطها Edge على ما إذا كان المضيف الافتراضي يتيح استخدام بروتوكول أمان طبقة النقل (TLS) الأحادي الاتجاه أو ثنائي الاتجاه. على سبيل المثال، بالنسبة إلى بروتوكول أمان طبقة النقل الأحادي، يمكن أن يسجّل متصفّح Edge معلومات عن تشفير بروتوكول أمان طبقة النقل (TLS) أو بروتوكول أمان طبقة النقل (TLS) المستخدَم في اتصال بروتوكول أمان طبقة النقل.

بالنسبة إلى بروتوكول أمان طبقة النقل (TLS) الثنائي، يمكن أن يلتقط Edge جميع المعلومات نفسها التي يتم تسجيلها لطبقة النقل الآمنة الأحادية الاتجاه، ويلتقط أيضًا معلومات حول شهادة العميل. على سبيل المثال، يمكن لبرنامج Edge التقاط الملف المرجعي لشهادة SHA1 لشهادة العميل وشهادة العميل بتنسيق PEM.

تسجيل المعلومات لكل من بروتوكول أمان طبقة النقل الأحادي الاتجاه والثنائي الاتجاه

يسرد الجدول التالي متغيّرات التدفق التي تحتوي على معلومات اتصال بروتوكول أمان طبقة النقل (TLS) التي تم التقاطها من خلال Edge والمتاحة للوصول إلى الخادم الوكيل لواجهة برمجة التطبيقات. يتم تسجيل هذه المعلومات لكل من بروتوكول أمان طبقة النقل الأحادي الاتجاه والثنائي الاتجاه من خلال ضبط <ConnectionProperties> على "صحيح" في تعريف المضيف الافتراضي:

متغيّر التدفق الوصف
tls.cipher يشير ذلك المصطلح إلى الرمز المستخدَم في اتصال بروتوكول أمان طبقة النقل (TLS).
tls.protocol يشير هذا المصطلح إلى البروتوكول الذي يستخدمه اتصال بروتوكول أمان طبقة النقل (TLS).
tls.server.name اسم خادم إشارة اسم الخادم (SNI) المطلوب.
tls.session.id

معرِّف الجلسة

ويتوفّر متغيّر التدفق عند ضبط <ConnectionProperties> أو <ClientProperties> أو على true.

الحصول على معلومات إضافية عن بروتوكول أمان طبقة النقل (TLS) أثناء استخدام بروتوكول أمان طبقة النقل (TLS) الثنائي الاتجاه

يسرد الجدول التالي متغيّرات التدفق التي تحتوي على تفاصيل شهادة العميل التي تم التقاطها بواسطة Edge باستخدام بروتوكول أمان طبقة النقل (TLS) الثنائي. يتم الحصول على هذه المعلومات لبروتوكول أمان طبقة النقل (TLS) ثنائية الاتجاه من خلال ضبط <ClientProperties> على "صحيح" في تعريف المضيف الافتراضي:

متغيّر التدفق الوصف
tls.client.s.dn الاسم المميز لموضوع شهادة العميل.
tls.client.i.dn الاسم المميز لجهة إصدار شهادة العميل
tls.client.raw.cert شهادة العميل بتنسيق PEM.
tls.client.cert.serial الرقم التسلسلي لشهادة العميل.
tls.client.cert.fingerprint الملف المرجعي لشهادة SHA1 لشهادة العميل.
tls.session.id

معرِّف الجلسة

ويتوفّر متغيّر التدفق هذا عند ضبط <ConnectionProperties> أو <ClientProperties> على "صحيح".

إعداد مضيف افتراضي لالتقاط معلومات بروتوكول أمان طبقة النقل (TLS)

لإعداد المضيف الافتراضي لتسجيل معلومات بروتوكول أمان طبقة النقل (TLS)، اضبط السمات التالية ضمن <PropagateTLSInformation> على true.

  • <ConnectionProperties>: تفعيل ميزة الحصول على معلومات اتصال بروتوكول أمان طبقة النقل (TLS) لكل من بروتوكول أمان طبقة النقل الأحادي الاتجاه والثنائي الاتجاه. القيمة التلقائية هي false.
  • <ClientProperties>: تفعيل التقاط المعلومات الإضافية لبروتوكول أمان طبقة النقل (TLS) الثنائي الاتجاه. القيمة التلقائية هي false.

على سبيل المثال، يستخدم تعريف المضيف الافتراضي التالي بروتوكول أمان طبقة النقل (TLS) ثنائي الاتجاه ويتيح التقاط كلا النوعين من معلومات بروتوكول أمان طبقة النقل:

<VirtualHost name="secure">
    ....
    <SSLInfo>
        <Enabled>true</Enabled>
        # Enable two-way TLS.
        <ClientAuthEnabled>true</ClientAuthEnabled>
        <IgnoreValidationErrors>false</IgnoreValidationErrors>
        <KeyAlias>ks-alias</KeyAlias>
        <KeyStore>ref://ks-ref</KeyStore>
        <TrustStore>ref://ts-ref</TrustStore>
    </SSLInfo>
    <PropagateTLSInformation>
        <ConnectionProperties>true</ConnectionProperties>
        <ClientProperties>true</ClientProperties>
    </PropagateTLSInformation>
</VirtualHost>

إذا كنت تمرِّر نص JSON، اضبط الخصائص كما يلي:

  "propagateTLSInformation" : {
    "connectionProperties" : true,
    "clientProperties" : true
  }

ضبط حدود حجم الرأس

عند تفعيل ميزة التقاط معلومات بروتوكول أمان طبقة النقل (TLS) على مضيف افتراضي، يمرّر Edge هذه المعلومات باستخدام عناوين HTTP. لذلك يجب أن تتأكد من ضبط حدود حجم العنوان بشكل مناسب بناءً على ما إذا كنت تستخدم Edge في Google Cloud أو Edge مع Private Cloud:

  • الحافة للسحابة الإلكترونية: تحدِّد Apigee أحجام العناوين بشكلٍ مناسب.
  • المساحة المخصصة للسحابة الإلكترونية الخاصة: الميزة غير متاحة.

الوصول إلى متغيرات التدفق في خادم وكيل لواجهة برمجة التطبيقات

من داخل الخادم الوكيل لواجهة برمجة التطبيقات، يمكنك الوصول إلى متغيرات تدفق بروتوكول أمان طبقة النقل وفحصها. على سبيل المثال، يمكنك استخدام سياسة AssignMessage للوصول إليها، يمكنك الوصول إليها في JavaScript باستخدام سياسة JavaScript.

يمكنك أيضًا الإشارة إلى متغيّرات التدفق في عنصر <Condition> للخادم الوكيل أو التدفق الهدف أو في <Step> أو <RouteRule>. على سبيل المثال، يمكنك توجيه طلب إلى أهداف مختلفة استنادًا إلى الرقم التسلسلي للعميل.

لمزيد من المعلومات، يُرجى الاطّلاع على: