Category Archives: العمليات

الوظائف المتعلقة بإدارة الأجهزة والنظام. أي شيء متعلق بمجموعة عمل العمليات

إيقاف تشغيل OAuth 1.0a و HTTP Basic Auth على OpenStreetMap.org

في عام 2024، ستقوم مجموعة عمل عمليات OSMF (OWG) بإيقاف OAuth 1.0a و HTTP Basic Auth على OpenStreetMap.org. هذه طرق تقنية للتطبيقات لمصادقة المستخدمين مع موقع OSM أو واجهة برمجة التطبيقات (API). لقد تم إهمال OAuth 1.0a و HTTP Basic Auth منذ 2023، حيث إن OAuth 2.0 هو الآن طريقة التفويض الأساسية لمعظم الأنظمة.

هناك ثلاث تواريخ رئيسية في عملية الانتقال:

  • 1 مارس 2024: تم تعطيل عمليات تسجيل تطبيقات OAuth 1.0a جديدة. لم تتأثر التطبيقات الحالية. لم تتأثر مصادقة HTTP الأساسية.
  • 1 مايو 2024: سيبدأ مسؤولو النظام بالقطع التدريجي للعثور على التطبيقات التي لا تزال تستخدم OAuth 1.0a أو HTTP Basic Auth.
  • 1 يونيو 2024: سيتم إيقاف OAuth 1.0a و HTTP Basic Auth.

يعد تقاعد طرق المصادقة هذه ضرورة بسبب المخاوف الأمنية وتعقيدات الحفاظ على العديد من تطبيقات التفويض، بما في ذلك تلك التي تعتمد على مكونات غير مصانة.

كيف يؤثر ذلك عليّ كمطور؟

إذا كنت مطورًا لتطبيق يستخدم OAuth 1.0a أو HTTP Basic Auth لتسجيل الدخول إلى موقع OpenStreetMap.org، فقد تحتاج إلى إجراء بعض التغييرات للتبديل إلى OAuth 2.0. لحسن الحظ، هذا المعيار الصناعي مدعوم بشكل جيد.

إذا كان تطبيقك يجري طلبات قراءة فقط إلى واجهة برمجة التطبيقات، فإن التفويض اختياري. لأغراض تحديد المعدلات، لا يزال من الجيد إضافة تفويض إلى طلباتك، ولكن ذلك ليس مطلوبًا. إذا كان تطبيقك موقعًا إلكترونيًا يستخدم نظام التشغيل OSM لتسجيل الدخول، فإن استخدام OAuth 2.0 أسهل بكثير لأنه مدعوم بشكل أفضل بكثير لأن العديد من المواقع الأخرى تستخدمه. وهو إلى ذلك يتجنب مشكلات مثل أن يتلقى المستخدمون العديد من الرموز (tokens) في قائمتهم على الموقع الإلكتروني.

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

ستستطيع العثور على الكثير من الأمثلة على الإنترنت لتطبيقات عميلة تستخدم OAuth 2 بلغتك. إذا كنت ترغب في الحصول على معلومات أكثر تفصيلاً أو طرح أسئلة تقنية، يُرجى استخدام تذكرة GitHub. هنا، يتتبع OWG أيضًا التطبيقات التي تتطلب تعديلًا لاستخدام OAuth 2.0.

كيف يؤثر ذلك عليّ كرسام خرائط؟

لن يلاحظ معظم راسمي الخرائط أي تغيير. لن يؤثر الانتقال على كيفية تسجيل الدخول إلى حسابك على OSM أو استخدام الموقع الإلكتروني. لقد دعم كل من iD وJOSM معيار OAuth 2.0 كطريقة مصادقة افتراضية منذ فترة. إذا كنت تستخدم حساب OSM الخاص بك لتسجيل الدخول إلى موقع طرف ثالث مثل HOT Tasking Manager أو MapRoulette أو HDYC، فلن تتأثر لأن هذه المواقع قد انتقلت بالفعل إلى OAuth 2.0. لا تتطلب طلبات واجهة برمجة التطبيقات المخصصة للقراءة فقط تفويضًا على الإطلاق.

تشغيل مستقبل OpenStreetMap: عام من التحسينات من مهندس موثوقية الموقع التابع لمؤسسة OpenStreetMap

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

سأخوض في بعض التفاصيل أدناه حول ما حدث. على مستوى عال، سهلت إدارة نشر النظام الذي يعمل على خوادمنا. قوَّيت البنية التحتية لشبكتنا من خلال تحسين التكرار والمراقبة والوصول والتوثيق؛ نمَّيت استخدامنا للخدمات السحابية لعرض التجانب، والاستفادة من رعاية AWS السخية؛ حسَّنت ممارساتنا الأمنية؛ حدَّثت بيئات المطورين لدينا؛ وأخيرا وليس آخرا، نقلت نهائيًا 16 عاما من المحتوى من منتدياتنا القديمة إلى منتدياتنا الجديدة.

إذا كنت تريد أن تسمع المزيد مني على مدار العمل العام الماضي، تحقق من حديثي في حالة الخريطة 2022  و مقابلتي على بودكاست GeoMob. وأحب أن أسمع منكم، أرسل لي بريدا إلكترونيا على osmfuture@firefishy.com.

2022-2023 تفاصيل موثوقية الموقع

إدارة النظم على خوادمنا

مكونات البنية التحتية الصغيرة الموضوعة في حاويات (إجراءات GitHub للبناء)

لقد عبَّئت العديد من مواقعنا الصغيرة التي تم إنشاؤها مسبقًا باستخدام طرق مخصصة في قاعدة بيانات الشيف (chef) الخاصة بنا كجزء من إعداد “التكوين كرمز”. نقل خطوات الإنشاء إلى إجراءات Github. إعداد قاعدة لأي مشاريع مستقبلية قائمة على الحاويات (“docker”) مستقبلًا. هذه هي أول مشاريعنا القائمة على الحاويات / docker المستضافة على البنية التحتية لـOSMF.

أصبح كود الشيف (chef) القائم لدينا الآن أبسط وأكثر أمانا ويتم نشره بشكل أسرع.

تحسين اختبار الشيف (وثائق إعداد العمليات)

نحن نستخدم   chef.io لإدارة البنية التحتية (التكوين) لجميع خوادمنا والبرامج المستخدمة عليها. على مدار العام الماضي، تم تمديد اختبارات مطبخ اختبار الشيف (chef test) وتعمل الآن أيضا على أجهزة آبل سيليكون Apple Silicon الحديثة. يتم الآن تشغيل الاختبارات بشكل موثوق كجزء من عمليات CI / PR الخاصة بنا. تضيف الاختبارات مراقبة الجودة وضمان التغييرات التي نجريها. كانت إضافة دعم ARM أسهل في الإضافة لأنه يمكننا استخدام مطبخ الاختبار قبل الانتقال إلى أجهزة خادم ARM.

يجب أن يساعد إجراء اختبارات موثوقة في ضم مساهمي الشيف الجدد.

تقوية البنية التحتية لشبكتنا

ترقيات الشبكة على AMS (مفاتيح جديدة، روابط مزدوجة زائدة عن الحاجة، دبلن قريبا)

لم يكن إعداد شبكتنا في أمستردام زائدا عن الحاجة كما ينبغي. لقد تجاوزنا معدات Cisco Small Business التي استخدمناها. كان لدينا انقطاع غير متوقع في التيار الكهربائي بسبب مشاكل في الأجهزة. كانت المعدات تحد أيضا من الترقيات المستقبلية. قررت مجموعة العمليات استبدال الأجهزة بمعدات Juniper التي قمنا بتوحيدها في مركز بيانات دبلن. لقد استبدلت المعدات بأقل وقت تعطل في بيئة حية (<15 دقيقة).

تستخدم كل من مراكز بيانات دبلن وأمستردام الآن تكوينا موحدا وأكثر أمانا. يحتوي كل خادم الآن على روابط مترابطة بالكامل لتحسين التكرار والأداء. قامت المحولات بتحسين الطاقة وتكرار الشبكة. نحن في انتظار تثبيت الوصلات الصاعدة المرنة بالكامل (تم تقديم الطلب) في الشهر المقبل.

الوصول خارج النطاق إلى كلا مركزي البيانات (قائم على 4G)

لقد قمت ببناء وتركيب أجهزة وصول خارج النطاق في كل موقع. يتم توصيل الأجهزة بمعدات الشبكات وإدارة الطاقة باستخدام وحدات التحكم التسلسلية. تحتوي الأجهزة خارج النطاق على رابط 4G مرن بشبكة 4G خاصة (1NCE). أجهزة الوصول خارج النطاق هي Raspberry PIs مصممة خصيصًا مع مصادر طاقة زائدة عن الحاجة وأربعة موصلات تسلسلية.

توثيق البنية التحتية لسهولة الصيانة (رفوف / طاقة)

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

مؤكسد (رؤية معدات الشبكة)

يتم الآن تخزين تكوين الشبكة وتوزيع الطاقة لدينا في git ويتم الإبلاغ عن التغييرات. هذا يحسن رؤية أي تغييرات، مما يؤدي بدوره إلى تحسين الأمان.

تتم مراقبة التكوين باستمرار وأصبح حل أي انحراف في التكوين بين مواقعنا أسهل بكثير.

البنية التحتية Terraform ككود (تحسين الإدارة / التكرار)

Terraform هي أداة للبنية التحتية ككود، نستخدمها الآن لإدارة خدمة المراقبة عن بعد (statuscake) وأنا بصدد تنفيذها لإدارة البنية التحتية AWS و Fastly.

في السابق، تمت إدارة جميع هذه المكونات يدويا باستخدام واجهات مستخدم الويب المعنية. تسمح البنية التحتية ككود لفريق Ops بالعمل بشكل تعاوني على التغييرات ، وتعزز الرؤية وإمكانية تكرار / التراجع عن أي تغييرات.

نحن ندير جميع المجالات DNS باستخدام كود dnscontrol . تم إجراء تحسينات تدريجية خلال العام الماضي، بما في ذلك إضافة اختبارات CI لتحسين التعاون الخارجي.

نما استخدامنا للخدمات السحابية

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

يعمل فريق Ops ببطء على زيادة استخدامنا لـAWS على مدار بضع سنوات. لقد أنشأت حسابات AWS متعددة الاستخدام باستخدام نموذج مؤسسة AWS لتحسين الفوترة والأمان وفقا لإرشادات أفضل ممارسات AWS. لقد تلقينا رعاية AWS بسخاء لتوسيع البنية التحتية للعرض لدينا. لقد أنشأنا البنية التحتية التجريبية الجديدة للعرض باستخدام بنية ARM باستخدام AWS Graviton2 EC2.
لم نستخدم من قبل الخوادم المستندة إلى ARM. كجزء من التحسينات التي أدخلت على الشيف لدينا (التكوين ككود) ، أضفنا دعم الاختبار المحلي لـARM آبل سيليكون (Apple Silicon)، وكانت هناك حاجة إلى إضافات صغيرة فقط لإضافة التوافق المطلوب لخوادم ARM إلى الشيف.

لقد أعجبنا بأداء مثيلات AWS Graviton2 EC2 لتشغيل مكدس عرض تجانب الـOSM. اختبرنا أيضا التوسع عند الطلب ولقطة المثيل لمزيد من التحسينات المحتملة في مكدس التمزق على AWS.
لقد زدنا استخدامنا لـAWS للنسخ الاحتياطي للبيانات.

تحسين أمننا

وخلال العام الماضي، أدخل عدد من التحسينات الأمنية العامة. على سبيل المثال: الوصول إلى الخادم الآن عبر مفتاح ssh (تم تعطيل الوصول إلى كلمة المرور الآن). لقد انتقلنا أيضا من مدير كلمات مرور مخصص يعتمد على gpg لفريق ops إلى استخدام gopass (إصدار غني بالميزات من https://www.passwordstore.org/ ) ، يعمل GoPass على تحسين إدارة المفاتيح ومشاركة مخزن كلمات المرور.

زيادة على ذلك، قمنا أيضا بتحسين تأمين مثيلات WordPress الخاصة بنا عن طريق تقليل المكونات المثبتة وتعطيل التحديثات المضمنة وتعطيل الوصول إلى XMLRPC. نحن نعمل أيضا على تقليل المستخدمين الذين لديهم حق الوصول وإزالة أذونات الوصول غير المستخدمة.

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

وثائق حول الضعف الفني: أعد تقريرَا عن مجالات الضعف الرئيسية التي تتطلب التحسين (التكرار والأمان، إلخ). يمكن استخدام الوثيقة لتركيز الاستثمار في المستقبل لتقليل تعرضنا للمخاطر بشكل أكبر.

تحديث بيئات المطورين لدينا

خادم مطور جديد

لقد قمنا بترحيل جميع المطورين إلى خادم مطور جديد في العام الماضي. كان الخادم القديم في نهاية العمر (~10 سنوات) وكان يصل إلى حدود السعة (وحدة المعالجة المركزية والتخزين). تم تسليم الخادم الجديد مباشرة إلى مركز بيانات أمستردام، وتم تثبيته في بواسطة أيدي بعيدة وقمت بالتواصل حول الانتقال، ثم قمت بترحيل جميع المستخدمين والمشاريع عبرها.

التخريب المتقاعد

أحلت مستودع تعليماتنا البرمجية القديم للتقاعد   svn.openstreetmap.org في العام الماضي. تم استخدام مستودع التعليمات البرمجية منذ بداية المشروع، والذي يحتوي على تاريخ غني لتطوير التعليمات البرمجية في المشروع. لقد حولت مستودع كود svn إلى git باستخدام تكوين reposurgeon مخصص، وتم الانتباه للحفاظ على سجل المساهمة الكامل وربط المساهمين السابقين بشكل صحيح (350+) ب github والحسابات ذات الصلة. تم الحفاظ على روابط svn القديمة والآن ترتبط بالأرشيف على github https://github.com/openstreetmap/svn-archive

انتقال المنتدى

انتقال المنتدى القديم، قمنا بترحيل 1 مليون مشاركة و 16 عاما من المشاركات إلى الخطاب. تم تحويل جميع المشاركات من fluxbb markdown إلى نكهة الـdiscourse من markdown. تم دمج جميع الحسابات وتحويل المصادقة إلى OpenStreetMap.org ” تسجيل الدخول الأحادي” على أساس المصادقة.

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