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

أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
info

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

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

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

يمكنك الاطّلاع على لمحة عن المضيفين الافتراضيين لمزيد من المعلومات.

تسجيل معلومات اتصال بروتوكول أمان طبقة النقل (TLS)

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

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

بالنسبة إلى بروتوكول TLS الثنائي الاتجاه، يمكن أن يسجّل Edge كل المعلومات التي يتم تسجيلها في بروتوكول TLS أحادي الاتجاه، كما يمكنه تسجيل معلومات حول شهادة العميل. على سبيل المثال، يمكن لـ Edge تسجيل بصمة الإصبع لشهادة العميل بتنسيق SHA1 وشهادة العميل بتنسيق PEM.

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

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

متغير التدفق الوصف
tls.cipher الترميز المستخدَم في اتصال TLS
tls.protocol البروتوكول الذي يستخدمه اتصال TLS
tls.server.name تمثّل هذه السمة اسم خادم SNI المطلوب.
tls.session.id

معرّف الجلسة

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

تسجيل معلومات إضافية عن بروتوكول أمان طبقة النقل أثناء عملية المصادقة الثنائية

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

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

معرّف الجلسة

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

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

لضبط المضيف الافتراضي من أجل تسجيل معلومات طبقة النقل الآمنة، اضبط الخصائص التالية ضمن <PropagateTLSInformation> على true.

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

على سبيل المثال، يستخدم تعريف المضيف الافتراضي التالي بروتوكول أمان طبقة النقل (TLS) ثنائي الاتجاه ويتيح تسجيل كلا النوعين من معلومات بروتوكول أمان طبقة النقل (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 for the Cloud أو Edge for the Private Cloud:

  • Edge for the Cloud: تضبط Apigee أحجام العناوين بشكل مناسب.
  • Edge for the Private Cloud: الميزة غير متاحة.

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

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

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

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