إدراج عناوين IP للقائمة البيضاء لمفاتيح واجهة برمجة التطبيقات

طائر

19‏/08‏/2015

البريد الإلكتروني

1 min read

إدراج عناوين IP للقائمة البيضاء لمفاتيح واجهة برمجة التطبيقات

النقاط الرئيسية

    • مفاتيح واجهة برمجة التطبيقات هي بيانات اعتماد قوية - إذا تم اختراقها، يمكن للمهاجمين إرسال رسائل بريد إلكتروني، وسرقة البيانات، أو انتحال العلامة التجارية الخاصة بك.

    • إن كسر مفتاح سداسي عشري بطول 40 حرفًا يعتبر أمرًا مستحيلًا تقريبًا؛ التهديدات الحقيقية تأتي من التعرض (هجمات التصيد، مستودعات الكود غير الآمنة، تسريبات بيانات الاعتماد).

    • استخدم دائمًا HTTPS والتحقق من شهادات SSL لمنع اعتراض مفاتيح واجهة برمجة التطبيقات الخاصة بك.

    • يمكن أن تضيف قائمة العناوين المسموح بها طبقة حماية حاسمة عن طريق تقييد استخدام المفتاح لعناوين IP أو نطاقات IP معينة.

    • حتى لو سرق المهاجم مفتاح واجهة برمجة التطبيقات الخاص بك، فلا يمكنه استخدامه ما لم يكن متصلًا من عنوان IP معتمد.

    • تسهّل دعم CIDR تفويض الشبكات بالكامل دون الحاجة إلى إدراج كل خادم.

    • تجنب تضمين مفاتيح واجهة برمجة التطبيقات في الكود - استخدم متغيرات البيئة أو حلول إدارة الأسرار الآمنة بدلاً من ذلك.

    • قم بإنشاء مفاتيح واجهة برمجة التطبيقات متعددة ذات نطاق ضيق بدلاً من مفتاح

أهم النقاط في الأسئلة والأجوبة

  • ما هو إدراج عناوين الـ IP البيضاء؟

    إنها ميزة أمان تقيد استخدام مفتاح واجهة برمجة التطبيقات لعناوين IP أو نطاقات IP معينة.

  • لماذا تستخدم SparkPost/Bird مفاتيح API للمصادقة؟

    مفاتيح API بسيطة ومستخدمة على نطاق واسع وتعمل بشكل نظيف مع واجهات برمجة التطبيقات REST وSMTP.

  • ماذا يحدث إذا سرق شخص ما مفتاح واجهة برمجة التطبيقات الخاص بي؟

    يمكنهم إرسال البريد الإلكتروني نيابةً عنك، تحميل قوائم المستلمين، تعديل القوالب، أو إرسال رسائل الاحتيال/البريد المزعج الذي يضر بعلامتك التجارية.

  • هل يمكن اختراق مفاتيح واجهة برمجة التطبيقات؟

    عملياً مستحيل. سلسلة HEX مكونة من 40 حرفًا تحتوي على ~1.46e48 تركيبات — ستستغرق قوة الهجوم أكثر من عمر الكون.

  • كيف يحصل المهاجمون عادةً على مفاتيح واجهة برمجة التطبيقات؟

    هجمات الرجل في المنتصف (إذا لم يتم التحقق من SSL)، المفاتيح المكشوفة في مستودعات GitHub العامة، أو السجلات التي تتسرب عن غير قصد المفاتيح.

  • كيف يساعد إدراج عنوان بروتوكول الإنترنت في القائمة البيضاء؟

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

  • هل يمكنني إضافة شبكات كاملة إلى القائمة البيضاء؟

    نعم، من خلال ترميز CIDR - مثالي للخوادم المتوازنة الحمل، الشبكات الخاصة الافتراضية، أو مجموعة المكاتب الثابتة.

  • هل ينطبق القوائم البيضاء على كل من REST و SMTP؟

    نعم، يجب أن يتطابق عنوان IP الخاص بالطلب الوارد مع قائمة السماح لديك.

  • كم عدد عناوين IP أو النطاقات التي يمكنني إضافتها إلى القائمة البيضاء؟

    بقدر ما تحتاج - عناوين IP فردية متعددة أو كتل.

  • هل يجب أن أستخدم مفتاح API واحد لكل شيء؟

    لا. أنشئ مفاتيح منفصلة لمختلف الأنظمة أو الفرق أو البائعين. هذا يعزز الأمان ويسهل تدوير المفاتيح أو إلغاء تفويضها.

  • أين يجب أن أخزن مفاتيح واجهة برمجة التطبيقات؟

    استخدم متغيرات البيئة - لا تقم أبدًا بتشفير المفاتيح في ملفات المصدر أو المستودعات العامة.

  • أي ممارسات أمان إضافية؟

    دائمًا قم بتمكين 2FA على حسابك في SparkPost/Bird وأنشئ مفاتيح مخصصة لأطراف ثالثة بصلاحيات محدودة وقوائم سفلية خاصة بهم.

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

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

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

المخاطر

عند استخدام أي خدمة ويب، إذا حصل المهاجم على مفتاح API الخاص بك، يمكنه التصرف نيابة عنك، ويفعل أشياء مثل (في حالتنا):

  • إرسال بريدهم الإلكتروني مجاناً من خلال حسابك

  • تنزيل قائمة مستلمي البريد الخاص بك وتغذيتها بالسبام (إذا لم يكونوا سبام بأنفسهم)

  • تعديل القوالب الخاصة بك لإدخال روابط تصيد احتيالي

  • إرسال البريد العشوائي أو التصيد الاحتيالي نيابة عنك

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

عند استخدام أي خدمة ويب، إذا حصل المهاجم على مفتاح API الخاص بك، يمكنه التصرف نيابة عنك، ويفعل أشياء مثل (في حالتنا):

  • إرسال بريدهم الإلكتروني مجاناً من خلال حسابك

  • تنزيل قائمة مستلمي البريد الخاص بك وتغذيتها بالسبام (إذا لم يكونوا سبام بأنفسهم)

  • تعديل القوالب الخاصة بك لإدخال روابط تصيد احتيالي

  • إرسال البريد العشوائي أو التصيد الاحتيالي نيابة عنك

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

عند استخدام أي خدمة ويب، إذا حصل المهاجم على مفتاح API الخاص بك، يمكنه التصرف نيابة عنك، ويفعل أشياء مثل (في حالتنا):

  • إرسال بريدهم الإلكتروني مجاناً من خلال حسابك

  • تنزيل قائمة مستلمي البريد الخاص بك وتغذيتها بالسبام (إذا لم يكونوا سبام بأنفسهم)

  • تعديل القوالب الخاصة بك لإدخال روابط تصيد احتيالي

  • إرسال البريد العشوائي أو التصيد الاحتيالي نيابة عنك

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

الاحتمالات

هل سمعت القوة الغاشمة؟ مفاتيح API الخاصة بنا هي سلاسل هكساديسيمال عشوائية تتكون من 40 حرفًا. وهذا يجعل إجمالي مفاتيح API يصل إلى 1.4615e+48. إذا كان جميع 3 مليارات حاسوب وهاتف ذكي في العالم تحاول 100 مفتاح API في الثانية، بافتراض أن خوادمنا ستسمح بذلك، فإن التجربة عبر جميع مفاتيح API الممكنة ستستغرق أكثر من 150,000,000,000,000,000,000,000,000,000 سنة. لذا، فإن قوة الغاشمة لمفتاح API لا معنى لها.

فكيف يمكن لشخص ما أن يجد مفتاح API الخاص بك؟ لأن المفتاح يتم تمريره كعنوان، يمكن قراءته من خلال هجمات الرجل في المنتصف، لذا يجب عليك دائمًا التأكد من أن عميلك يتحقق من شهادات SSL عند الاتصال بواجهات برمجة التطبيقات لدينا (هذا هو السبب الرئيسي وراء طلبنا لـ https لعمليات الاتصال بواجهات برمجة التطبيقات). أيضًا، إذا كنت غير حذر في استخدامك لمستودعات الكود العامة مثل github، يمكن أن ينتهي بك الأمر إلى كشف مفتاح API الخاص بك بسهولة في البرية. هذه ليست مشكلة أكاديمية: هناك برامج معروفة تتسلق github للعثور على مفاتيح API، وقد حدثت هجمات ناجحة من خلال هذه الوسيلة.

هل سمعت القوة الغاشمة؟ مفاتيح API الخاصة بنا هي سلاسل هكساديسيمال عشوائية تتكون من 40 حرفًا. وهذا يجعل إجمالي مفاتيح API يصل إلى 1.4615e+48. إذا كان جميع 3 مليارات حاسوب وهاتف ذكي في العالم تحاول 100 مفتاح API في الثانية، بافتراض أن خوادمنا ستسمح بذلك، فإن التجربة عبر جميع مفاتيح API الممكنة ستستغرق أكثر من 150,000,000,000,000,000,000,000,000,000 سنة. لذا، فإن قوة الغاشمة لمفتاح API لا معنى لها.

فكيف يمكن لشخص ما أن يجد مفتاح API الخاص بك؟ لأن المفتاح يتم تمريره كعنوان، يمكن قراءته من خلال هجمات الرجل في المنتصف، لذا يجب عليك دائمًا التأكد من أن عميلك يتحقق من شهادات SSL عند الاتصال بواجهات برمجة التطبيقات لدينا (هذا هو السبب الرئيسي وراء طلبنا لـ https لعمليات الاتصال بواجهات برمجة التطبيقات). أيضًا، إذا كنت غير حذر في استخدامك لمستودعات الكود العامة مثل github، يمكن أن ينتهي بك الأمر إلى كشف مفتاح API الخاص بك بسهولة في البرية. هذه ليست مشكلة أكاديمية: هناك برامج معروفة تتسلق github للعثور على مفاتيح API، وقد حدثت هجمات ناجحة من خلال هذه الوسيلة.

هل سمعت القوة الغاشمة؟ مفاتيح API الخاصة بنا هي سلاسل هكساديسيمال عشوائية تتكون من 40 حرفًا. وهذا يجعل إجمالي مفاتيح API يصل إلى 1.4615e+48. إذا كان جميع 3 مليارات حاسوب وهاتف ذكي في العالم تحاول 100 مفتاح API في الثانية، بافتراض أن خوادمنا ستسمح بذلك، فإن التجربة عبر جميع مفاتيح API الممكنة ستستغرق أكثر من 150,000,000,000,000,000,000,000,000,000 سنة. لذا، فإن قوة الغاشمة لمفتاح API لا معنى لها.

فكيف يمكن لشخص ما أن يجد مفتاح API الخاص بك؟ لأن المفتاح يتم تمريره كعنوان، يمكن قراءته من خلال هجمات الرجل في المنتصف، لذا يجب عليك دائمًا التأكد من أن عميلك يتحقق من شهادات SSL عند الاتصال بواجهات برمجة التطبيقات لدينا (هذا هو السبب الرئيسي وراء طلبنا لـ https لعمليات الاتصال بواجهات برمجة التطبيقات). أيضًا، إذا كنت غير حذر في استخدامك لمستودعات الكود العامة مثل github، يمكن أن ينتهي بك الأمر إلى كشف مفتاح API الخاص بك بسهولة في البرية. هذه ليست مشكلة أكاديمية: هناك برامج معروفة تتسلق github للعثور على مفاتيح API، وقد حدثت هجمات ناجحة من خلال هذه الوسيلة.

قائمة السماح لعناوين IP للإنقاذ

عندما تقوم بإنشاء مفتاح API، يمكنك الآن تحديد قائمة بعناوين IP المصرح لها باستخدام هذا المفتاح. يمكنك تحديد عدة عناوين IP، بالإضافة إلى كتل IP، باستخدام تدوين CIDR، لذلك لا تحتاج إلى سرد الخوادم الخاصة بك بشكل فردي. عند استخدام مفتاح API، بالنسبة لواجهات برمجة التطبيقات REST أو SMTP، سنقوم بمطابقة عنوان IP المتصل بهذه القائمة للسماح أو رفض الوصول.

مع هذه الميزة، حتى إذا تم العثور على مفتاح API الخاص بك أو سرق، فلن يتمكن سوى خوادمك من استخدامه.

تحديات مفتاح API الشائعة وتخفيفاتها

التحدي

الوصف

التخفيف الموصى به

تعرض المفتاح في مستودعات الكود العامة

يمكن جمع مفاتيح API التي تم تعيينها في GitHub بواسطة الروبوتات

احتفظ بالمفاتيح في متغيرات البيئة؛ قم بتدوير المفاتيح المسربة على الفور

اعتراض الرجل في المنتصف

تم قراءة مفتاح API أثناء الاتصالات غير الآمنة

قم بفرض HTTPS دائمًا والتحقق من شهادات SSL

استخدام مفتاح API المسروق من بنية المهاجم

يمكن للمهاجم إرسال البريد، وسرقة البيانات، أو تعديل القوالب

استخدم القائمة البيضاء لعناوين IP للحد من العناوين المسموح لها باستخدام المفتاح

مفاتيح API “السويسرا” ذات الأذونات الزائدة

مفتاح واحد يمنح العديد من الامتيازات إذا تم اختراقه

قم بإنشاء مفاتيح متعددة ذات نطاق ضيق مع منح محدود

عمليات تكامل الطرف الثالث التي تسئ استخدام مفتاح مشترك

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

قم بإنشاء مفاتيح مخصصة لكل شريك مع عناوين IP مسموحة وأذونات مقيدة

نظرًا للمخاطر ومدى سهولة إعدادها، نوصي بشدة جميع عملائنا باستخدام هذه الميزة.

عندما تقوم بإنشاء مفتاح API، يمكنك الآن تحديد قائمة بعناوين IP المصرح لها باستخدام هذا المفتاح. يمكنك تحديد عدة عناوين IP، بالإضافة إلى كتل IP، باستخدام تدوين CIDR، لذلك لا تحتاج إلى سرد الخوادم الخاصة بك بشكل فردي. عند استخدام مفتاح API، بالنسبة لواجهات برمجة التطبيقات REST أو SMTP، سنقوم بمطابقة عنوان IP المتصل بهذه القائمة للسماح أو رفض الوصول.

مع هذه الميزة، حتى إذا تم العثور على مفتاح API الخاص بك أو سرق، فلن يتمكن سوى خوادمك من استخدامه.

تحديات مفتاح API الشائعة وتخفيفاتها

التحدي

الوصف

التخفيف الموصى به

تعرض المفتاح في مستودعات الكود العامة

يمكن جمع مفاتيح API التي تم تعيينها في GitHub بواسطة الروبوتات

احتفظ بالمفاتيح في متغيرات البيئة؛ قم بتدوير المفاتيح المسربة على الفور

اعتراض الرجل في المنتصف

تم قراءة مفتاح API أثناء الاتصالات غير الآمنة

قم بفرض HTTPS دائمًا والتحقق من شهادات SSL

استخدام مفتاح API المسروق من بنية المهاجم

يمكن للمهاجم إرسال البريد، وسرقة البيانات، أو تعديل القوالب

استخدم القائمة البيضاء لعناوين IP للحد من العناوين المسموح لها باستخدام المفتاح

مفاتيح API “السويسرا” ذات الأذونات الزائدة

مفتاح واحد يمنح العديد من الامتيازات إذا تم اختراقه

قم بإنشاء مفاتيح متعددة ذات نطاق ضيق مع منح محدود

عمليات تكامل الطرف الثالث التي تسئ استخدام مفتاح مشترك

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

قم بإنشاء مفاتيح مخصصة لكل شريك مع عناوين IP مسموحة وأذونات مقيدة

نظرًا للمخاطر ومدى سهولة إعدادها، نوصي بشدة جميع عملائنا باستخدام هذه الميزة.

عندما تقوم بإنشاء مفتاح API، يمكنك الآن تحديد قائمة بعناوين IP المصرح لها باستخدام هذا المفتاح. يمكنك تحديد عدة عناوين IP، بالإضافة إلى كتل IP، باستخدام تدوين CIDR، لذلك لا تحتاج إلى سرد الخوادم الخاصة بك بشكل فردي. عند استخدام مفتاح API، بالنسبة لواجهات برمجة التطبيقات REST أو SMTP، سنقوم بمطابقة عنوان IP المتصل بهذه القائمة للسماح أو رفض الوصول.

مع هذه الميزة، حتى إذا تم العثور على مفتاح API الخاص بك أو سرق، فلن يتمكن سوى خوادمك من استخدامه.

تحديات مفتاح API الشائعة وتخفيفاتها

التحدي

الوصف

التخفيف الموصى به

تعرض المفتاح في مستودعات الكود العامة

يمكن جمع مفاتيح API التي تم تعيينها في GitHub بواسطة الروبوتات

احتفظ بالمفاتيح في متغيرات البيئة؛ قم بتدوير المفاتيح المسربة على الفور

اعتراض الرجل في المنتصف

تم قراءة مفتاح API أثناء الاتصالات غير الآمنة

قم بفرض HTTPS دائمًا والتحقق من شهادات SSL

استخدام مفتاح API المسروق من بنية المهاجم

يمكن للمهاجم إرسال البريد، وسرقة البيانات، أو تعديل القوالب

استخدم القائمة البيضاء لعناوين IP للحد من العناوين المسموح لها باستخدام المفتاح

مفاتيح API “السويسرا” ذات الأذونات الزائدة

مفتاح واحد يمنح العديد من الامتيازات إذا تم اختراقه

قم بإنشاء مفاتيح متعددة ذات نطاق ضيق مع منح محدود

عمليات تكامل الطرف الثالث التي تسئ استخدام مفتاح مشترك

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

قم بإنشاء مفاتيح مخصصة لكل شريك مع عناوين IP مسموحة وأذونات مقيدة

نظرًا للمخاطر ومدى سهولة إعدادها، نوصي بشدة جميع عملائنا باستخدام هذه الميزة.

آخر كلمات

بعض التوصيات الشخصية حول الأمان:

  • لا تحتفظ بمفاتيح API الخاصة بك في الشيفرة. هناك الكثير من الفوائد في الاحتفاظ بها كمتغيرات بيئية، مثلما تفعل هيروكو

  • يمكنك إنشاء كمية غير محدودة من مفاتيح API، ومن الأفضل للأمان تقسيم المسؤوليات بين عدة مفاتيح API، بدلاً من الاعتماد على مفتاح واحد متعدد الأغراض. سيسمح لك هذا أيضًا بالحصول على قوائم بيضاء مختلفة لـ IP لكل مفتاح، من أجل فصل أفضل للمسؤوليات

  • إذا كنت تعمل مع أطراف ثالثة، فلا تشارك مفتاح API الخاص بك بل قم بإنشاء مفتاح جديد لهم، مع منح الأذونات المطلوبة فقط، ومربوط بعناوين IP الخاصة بهم

  • نظرًا لأن مفاتيح API يمكن إنشاؤها فقط عبر واجهة المستخدم، تمكين المصادقة الثنائية على حسابك في SparkPost هو أمر لا بد منه ولا يستغرق أكثر من دقيقتين

بعض التوصيات الشخصية حول الأمان:

  • لا تحتفظ بمفاتيح API الخاصة بك في الشيفرة. هناك الكثير من الفوائد في الاحتفاظ بها كمتغيرات بيئية، مثلما تفعل هيروكو

  • يمكنك إنشاء كمية غير محدودة من مفاتيح API، ومن الأفضل للأمان تقسيم المسؤوليات بين عدة مفاتيح API، بدلاً من الاعتماد على مفتاح واحد متعدد الأغراض. سيسمح لك هذا أيضًا بالحصول على قوائم بيضاء مختلفة لـ IP لكل مفتاح، من أجل فصل أفضل للمسؤوليات

  • إذا كنت تعمل مع أطراف ثالثة، فلا تشارك مفتاح API الخاص بك بل قم بإنشاء مفتاح جديد لهم، مع منح الأذونات المطلوبة فقط، ومربوط بعناوين IP الخاصة بهم

  • نظرًا لأن مفاتيح API يمكن إنشاؤها فقط عبر واجهة المستخدم، تمكين المصادقة الثنائية على حسابك في SparkPost هو أمر لا بد منه ولا يستغرق أكثر من دقيقتين

بعض التوصيات الشخصية حول الأمان:

  • لا تحتفظ بمفاتيح API الخاصة بك في الشيفرة. هناك الكثير من الفوائد في الاحتفاظ بها كمتغيرات بيئية، مثلما تفعل هيروكو

  • يمكنك إنشاء كمية غير محدودة من مفاتيح API، ومن الأفضل للأمان تقسيم المسؤوليات بين عدة مفاتيح API، بدلاً من الاعتماد على مفتاح واحد متعدد الأغراض. سيسمح لك هذا أيضًا بالحصول على قوائم بيضاء مختلفة لـ IP لكل مفتاح، من أجل فصل أفضل للمسؤوليات

  • إذا كنت تعمل مع أطراف ثالثة، فلا تشارك مفتاح API الخاص بك بل قم بإنشاء مفتاح جديد لهم، مع منح الأذونات المطلوبة فقط، ومربوط بعناوين IP الخاصة بهم

  • نظرًا لأن مفاتيح API يمكن إنشاؤها فقط عبر واجهة المستخدم، تمكين المصادقة الثنائية على حسابك في SparkPost هو أمر لا بد منه ولا يستغرق أكثر من دقيقتين

أخبار أخرى

اقرأ المزيد من هذه الفئة

A person is standing at a desk while typing on a laptop.

المنصة الكاملة المدعومة بالذكاء الاصطناعي التي تتوسع مع أعمالك.

A person is standing at a desk while typing on a laptop.

المنصة الكاملة المدعومة بالذكاء الاصطناعي التي تتوسع مع أعمالك.

A person is standing at a desk while typing on a laptop.

المنصة الكاملة المدعومة بالذكاء الاصطناعي التي تتوسع مع أعمالك.