الأمان

يوفر هذا المستند معلومات حول كلمات السر والمصادقة وتكوين SSL والفصل بين الشبكات والاتصالات المشفّرة وعناوين HTTP وبروتوكول TLS لخادم الويب فيما يتعلق بعميل API الخاصة بواتساب للأعمال.

كلمات السر والمصادقة

يُرجى الرجوع إلى وثائق تسجيل الدخول والمصادقة لمزيد من المعلومات حول رموز المصادقة وأفضل الممارسات بشأن كلمات السر.

تكوين SSL

يتطلب الوصول إلى عميل API الخاصة بواتساب للأعمال وجود بروتوكول HTTPS.

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

وبما أن أحداث Webhooks تتطلب أيضًا وجود بروتوكول HTTPS للاستدعاءات، يمكنك استخدام شهادات CA الخاصة لتجنب مواجهة التطبيق لأخطاء SSL عند محاولة إرسال طلب POST لحدث Webhook الذي تم تكوينه. راجع وثائق شهادة CA أحداث Webhooks لمزيد من المعلومات.

الفصل بين الشبكات

يوصى باستضافة العقدتين Webapp وCoreapp في شبكات منفصلة، وعرضهما فقط للخدمات المطلوبة.

ينبغي ألا تعرض عقدة Webapp نقاط النهاية لواجهة API وإدارة الويب إلا للشبكات التي تستضيف عملاء API الخاصة بواتساب للأعمال ومحطات عمل أفراد الإدارة.

ينبغي ألا تعرض عُقد Coreapp إلا خدمة الاتصال لعُقد Webapp، وفي إعداد الاتصال المتعدد، لا تعرض سوى خدمة التحكم لعُقد Coreapp الأخرى.

الاتصالات المشفّرة

الاتصالات بين Webapp وCoreapp

نوصي بتعيين متغير البيئة WA_SECRET في الحاويتين Coreapp وWebapp لضمان تشفير الاتصالات بينهما.

ملاحظة: سيحتاج مضيفا Coreapp وWebapp إلى مزامنة ساعتهما حتى يعمل التشفير بشكل جيد. في حالة وجود انحرافات زمنية، قد تؤدي حماية إعادة التشغيل (مثل التحقق من الطابع الزمني خلال فترة سماح تصل إلى 10 ثوانٍ) إلى فشل الاتصال.

الاتصال بقاعدة البيانات

يمكنك تكوين معلمات SSL المُستخدمة في تشفير اتصال قاعدة البيانات لحماية البيانات الموجودة قيد النقل.

فيما سبق، لم يكن التشفير باستخدام متغير البيئة WA_DB_CONNECTION_OPTION ممكنًا إلا لاتصال Coreapp بقاعدة البيانات نظرًا لأنه جرت العادة بأنه يمكن فقط لحاوية Coreapp الوصول إلى قاعدة البيانات. مع ذلك، يمكن لحاوية Webapp أيضًا الوصول إلى قاعدة البيانات، وبالتالي من المهم تشفير اتصال Webapp بقاعدة البيانات. لذلك، يتم تغيير تكوين SSL لجعلها حيادية لجميع الحاويات من أجل إمكانية الوصول. يمكن تكوين التشفير باستخدام المتغيرات البيئية التالية:

  • WA_DB_SSL_KEY
  • WA_DB_SSL_CERT
  • WA_DB_SSL_CA
  • WA_DB_SSL_VERIFY

يمكن تكوين WA_DB_SSL_VERIFY للتحقق من صحة هوية الخادم. يلزم إجراء ذلك في بعض عمليات إعداد التطوير الداخلي ويوصى بشدة بعدم تعطيل عملية التحقق من الصحة. إذا لم يتم تعيين هذه المعلمة، فسيتم تشغيل التحقق من الصحة افتراضيًا. لتعطيل عملية التحقق من الصحة، استخدم ما يلي:

WA_DB_SSL_VERIFY=0

ملاحظة: لا ينطبق WA_DB_SSL_VERIFYإلا على Webapp.

بالنسبة للتوافق مع الإصدارات السابقة، سيستمر دعم WA_DB_CONNECTION_OPTION في وضع إيقاف الاستخدام ويُستخدم لتشفير اتصال حاوية Coreapp بقاعدة البيانات. نوصيك بشدة بالتحول إلى استخدام هذه المعلمات الجديدة.

يجب إتاحة الوصول إلى جميع الحقول التي تم تكوينها في متغيرات البيئة Key وCert وCA داخل الحاوية. لتنفيذ ذلك، يمكنك إنشاء دليل certs ضمن وحدة تخزين البيانات باستخدام الأذونات الملائمة. يتم عادة إدخال وحدة تخزين البيانات في صورة /usr/local/waent/data وعندئذ يمكن الوصول إلى دليل الشهادات في /usr/local/waent/data/certs داخل الحاوية.

خادم الويب (TLS)

تم تكوين بروتوكول TLS وعمليات التشفير حسب التكوينات الموصى بها من جانب Mozilla. يدعم Webapp ثلاثة ملفات شخصية وهم: MODERN (افتراضي) وINTERMEDIATE وOLD.

نوصيك بالإبقاء على التكوين الافتراضي لتحسين الأمان. ومع ذلك، يمكنك اختيار إرجاع ملفك الشخصي إلى إصدار أقدم باستخدام متغير البيئة WA_WEB_SECURITY_LEVEL.

عناوين HTTP

تكون عناوين HTTP التالية مدعومة لمسؤول الويب، ولكن ليس لنقاط النهاية في API وتخضع للمتصفح الموجود قيد الاستخدام.

الاسمالوصف

X-Content-Security-policy

يحدد السياسة التي تسمح فقط بتشغيل البرامج النصية من النطاق ذاته على مسؤول الويب

X-Frame-Options

لا يسمح العنوان لأي نطاق بتضمين صفحة مسؤول الويب بتنسيق iframe

X-XSS

عنوان الحماية الذي يجعل صفحة مسؤول الويب آمنة من هجمات البرامج النصية عبر المواقع عن طريق فلترة الإدخالات في حالة اكتشاف أي هجمات

X-Content-Type-Options

يضمن أن نوع المحتوى الذي استلمه الخادم يطابق نوع المحتوى المطلوب من جانب الخادم

Strict-Transport-Security

يضمن عدم الوصول إلى مسؤول الويب إلا عبر بروتوكول HTTPS