Akamai EdgeWorkers مع حزمة الشفرة Wallarm¶
Akamai EdgeWorkers هو منصة حوسبة على الحافة قوية تتيح تنفيذ منطق مخصص وإيداع وظائف JavaScript خفيفة الوزن على الحافة. بالنسبة للعملاء الذين لديهم واجهات البرمجة التطبيقية API وحركة المرور، Wallarm يقدم حزمة شفرة يمكن ان تضاف على EdgeWorkers لتأمين البنية التحتية.
الحل يتضمن نشر العقدة Wallarm خارجيا وحقن الشفرة المخصصة أو السياسات في المنصة المعينة. هذا يمكن توجيه حركة المرور إلى العقدة الخارجية Wallarm للتحليل والحماية من التهديدات المحتملة. تُشار إليها بوصلات Wallarm، وهي تعمل كرابط أساسي بين منصات مثل Azion Edge، وAkamai Edge، وMulesoft، وApigee، وAWS Lambda، والعقدة الخارجية Wallarm. تضمن هذه الطريقة التكامل السلس، وتحليل حركة المرور الآمن، وتقليل المخاطر، وأمن المنصة الشامل.
حالات الاستخدام¶
من بين جميع خيارات نشر Wallarm المدعومة، هذا الحل هو الموصى به للحالات الاستخدام التالية:
-
تأمين واجهات البرمجة التطبيقية API أو حركة المرور التي تعمل على Akamai EdgeWorkers.
-
الحاجة إلى حل أمني يقدم رصد شامل للهجمات، والإبلاغ عنها، وحجب الطلبات الخبيثة على الفور.
القيود¶
يوجد للحل القيود المعينة وهو يعمل فقط مع الطلبات الواردة:
-
لا يعمل اكتشاف الثغرات باستخدام طريقة الكشف السلبية بشكل صحيح. تحدد الحل إذا كانت واجهة البرمجة التطبيقية API معرضة للخطر أم لا بناءً على ردود الخادم على الطلبات الخبيثة التي تكون مميزة للثغرات التي يستهدفها الاختبار.
-
لا يمكن أن اكتشاف واجهات البرمجة التطبيقية API لـ Wallarm يستكشف جرد الواجهات البرمجة التطبيقية API بناءً على حركة المرور الخاصة بك، حيث يعتمد الحل على تحليل الاستجابة.
-
الحماية ضد الاستعراض القسري غير متوفرة لأنها تحتاج إلى تحليل كود الاستجابة.
هناك أيضا قيود ناشئة عن محددات منتج EdgeWorkers و http-request:
-
الطريقة المدعومة الوحيدة لتسليم حركة المرور هي TLS المُحسَّن.
-
أقصى حجم لرأس الاستجابة هو 8000 بايت.
-
أقصى حجم للجسم هو 1 MB.
-
الطرق HTTP غير المدعومة:
CONNECT
,TRACE
,OPTIONS
(الطرق المدعومة:GET
,POST
,HEAD
,PUT
,PATCH
,DELETE
). -
الرؤوس غير المدعومة:
connection
,keep-alive
,proxy-authenticate
,proxy-authorization
,te
,trailers
,transfer-encoding
,host
,content-length
,vary
,accept-encoding
,content-encoding
,upgrade
.
المتطلبات¶
للمتابعة مع النشر، تأكد من توفر الشروط التالية:
-
فهم تكنولوجيا Akamai EdgeWorkers
-
واجهات برمجة التطبيقات API أو حركة المرور التي تعمل عبر Akamai EdgeWorkers.
النشر¶
لاضافة الحماية لواجهات برمجة التطبيقات API على Akamai EdgeWorkers بواسطة Wallarm، أتبع هذه الخطوات:
-
انشر عقدة Wallarm باستخدام واحدة من الخيارات المتاحة للنشر.
-
احصل على حزمة الشفرة Wallarm وشغلها على Akamai EdgeWorkers.
1. نشر عقدة Wallarm¶
عند استخدام Wallarm على Akami EdgeWorkers، حركة المرور من خلال الطريق في-خط.
-
اختر واحدة من حلول نشر العقدة Wallarm المدعومة أو الأعمال الفنية للنشر في-خط واتبع التعليمات الواردة للنشر.
-
قم بتكوين العقدة التي تم نشرها باستخدام القالب التالي:
server { listen 80; server_name _; access_log off; wallarm_mode off; location / { proxy_set_header Host $http_x_forwarded_host; proxy_pass http://unix:/tmp/wallarm-nginx.sock; } } server { listen 443 ssl; server_name yourdomain-for-wallarm-node.tld; ### SSL configuration here access_log off; wallarm_mode off; location / { proxy_set_header Host $http_x_forwarded_host; proxy_pass http://unix:/tmp/wallarm-nginx.sock; } } server { listen unix:/tmp/wallarm-nginx.sock; server_name _; wallarm_mode monitoring; #wallarm_mode block; real_ip_header X-EDGEWRK-REAL-IP; set_real_ip_from unix:; location / { echo_read_request_body; } }
يرجى التأكد من التركيز على التكوينات التالية:
- شهادات TLS / SSL لحركة المرور HTTPS: لتمكين العقدة Wallarm من التعامل مع حركة المرور HTTPS الآمنة، قم بتكوين شهادات TLS / SSL بالتوافق. سيعتمد التكوين على الطريقة المختارة للنشر. على سبيل المثال، إذا كنت تستخدم NGINX، يمكنك الاطلاع على مقالته للحصول على التوجيه.
- تكوين وضع تشغيل Wallarm.
-
بمجرد الانتهاء من النشر، قم بتدوين عنوان IP للعينة عقدة حيث ستحتاجه لاحقا لتعيين العنوان لتحويل الطلبات الواردة.
2. احصل على حزمة الشفرة Wallarm وشغلها على Akamai EdgeWorkers¶
للحصول على و تشغيل حزمة الشفرة Wallarm على Akamai EdgeWorkers، اتبع هذه الخطوات:
-
اتصل support@wallarm.com للحصول على حزمة الشفرة Wallarm.
-
أضف EdgeWorkers إلى عقدك على Akamai.
-
أنشئ رقم معرف EdgeWorker.
-
افتح الرقم المعرف الذي تم إنشاؤه، اضغط على Create Version و ارفع حزمة الشفرة Wallarm.
-
فِعِّل الإصدار الذي تم إنشاؤه، في البداية في بيئة المرحلة.
-
بعد التأكد من أن كل شيء يعمل بشكل صحيح، كرر نشر الإصدار في البيئة الإنتاج.
-
في Akamai Property Manager، اختر أو أنشئ ملكية جديدة حيث تريد تثبيت Wallarm.
-
أنشئ سلوكًا جديدًا مع EdgeWorker الذي تم إنشاؤه حديثًا، وادعه على سبيل المثال Wallarm Edge وأضف المعايير التالية:
-
أنشئ سلوكًا آخر Wallarm Node مع Origin Server يشير إلى العقدة التي تم نشرها مسبقا. امزج Forward Host Header إلى Origin Hostname وأضف المعايير التالية:
-
أضف متغير الخاصية الجديد
PMUSER_WALLARM_MODE
مع القيمةmonitoring
(افتراضي) أوblock
.اختر Hidden لإعدادات الأمان.
-
حفظ الإصدار الجديد ونشره في البداية إلى بيئة المرحلة، وثم إلى الإنتاج.
الاختبار¶
لاختبار وظائف السياسة المنشأة، اتبع هذه الخطوات:
-
أرسل الطلب مع الاختبار الهجوم Path Traversal لواجهة برمجة التطبيق API الخاصة بك:
-
افتح Wallarm Console → قسم Attacks في السحابة الأمريكية أو السحابة الأوروبية وتأكد من أن الهجوم يظهر في القائمة.
إذا تم ضبط وضع العقدة Wallarm على الحجب، سيتم حجب الطلب أيضا.
هل تحتاج إلى مساعدة؟¶
إذا واجهت أي مشاكل أو تحتاج إلى مساعدة بشأن نشر Wallarm الذي تم وصفه بالتعاون مع Akamai EdgeWorkers، يمكنك التواصل مع فريق دعم Wallarm. هم متواجدون لتقديم الإرشاد والمساعدة في حل أي مشاكل قد تواجهها أثناء عملية التنفيذ.