
ziti v2.0.2
منصة شبكات الثقة الصفرية التي تجعل الخدمات غير مرئية من خلال الهوية المشفرة، والوصول القائم على السياسات، والتشفير من طرف إلى طرف. تستبدل شبكات VPN، وتؤمن إنترنت الأشياء، وتوصل بيئات السحابة المتعددة دون منافذ مفتوحة.
OpenZiti
OpenZiti هي منصة شبكات مفتوحة المصدر قائمة على مبدأ الثقة الصفرية، تجعل خدمات الشبكة غير مرئية للمستخدمين غير المصرح لهم. كل اتصال، سواء من مستخدم أو خدمة أو جهاز أو عبء عمل، يتم توثيقه بهوية تشفيرية، وتصريحه بواسطة سياسة، وتشفيره من النهاية إلى النهاية.
تعمل OpenZiti مع التطبيقات الحالية (باستخدام أنفاق خفيفة لا تتطلب تغييرات في الكود) ومع التطبيقات الجديدة (باستخدام SDKs مضمنة لأقوى نموذج ثقة صفرية). هذا يجعلها عملية لكل من البيئات القائمة (brownfield) والتطوير الجديد (greenfield).
تم إنشاؤها وبرعاية NetFoundry. مرخصة بموجب Apache 2.0.
جدول المحتويات
- حالات الاستخدام
- القدرات الرئيسية
- ثلاثة نماذج نشر
- بدء الاستخدام
- الهندسة المعمارية
- الثقة الصفرية والخدمات المظلمة والتشفير من النهاية إلى النهاية
- SDKs
- المجتمع والدعم
- المساهمة
- المتبنون
- الحل المُدار
حالات الاستخدام
تمكّنك OpenZiti من توسيع الثقة الصفرية في أي مكان لأي حالة استخدام، بما في ذلك أعباء العمل غير البشرية وسير العمل، عبر شبكات متعددة وأطراف ثالثة. فيما يلي بعض حالات الاستخدام الشائعة.
استبدال شبكات VPN
توفير وصول آمن إلى الخدمات الداخلية دون عملاء VPN، أو مشاكل الانقسام (split tunneling)، أو اختناقات المجمع (concentrator). كل خدمة مصرح بها بشكل فردي. لا مشكلة "بمجرد أن تدخل، يمكنك الوصول إلى كل شيء."
واجهات برمجة التطبيقات والخدمات المظلمة Dark APIs and Services
جعل واجهات برمجة التطبيقات والخدمات غير مرئية على الإنترنت. عدد منافذ الاستماع صفر يعني سطح هجوم صفر. العملاء المصرح لهم يتصلون عبر OpenZiti؛ الجميع الآخر لا يرون شيئًا.
إنترنت الأشياء والهوية غير البشرية IoT and Non-Human Identity
إعطاء كل جهاز وحساس وآلة هوية تشفيرية فريدة. نموذج هوية OpenZiti يعمل لأعباء العمل غير البشرية تمامًا كما يعمل للمستخدمين البشر، مما يوفر توثيقًا قويًا للاتصالات من آلة إلى آلة التي تشكل غالبية حركة مرور الشبكة الحديثة.
أعباء العمل ذات الثقة الصفرية Zero Trust Workloads
تأمين الاتصال بين أعباء العمل عبر السحب والبيئات المختلفة. الخدمات توثق بعضها البعض بهوية تشفيرية، وليس بموقع الشبكة. لا أسرار مشتركة، ولا قوائم IP مسموح بها، ولا سلطة محيطية.
الذكاء الاصطناعي العاملي Agentic AI
تأمين اتصال الوكيل بالخدمة والوكيل بالوكيل بهوية تشفيرية لكل مشارك ذكاء اصطناعي. خوادم MCP، ونقاط نهاية الأدوات، ونماذج LLM الخاصة تبقى مظلمة، بدون منافذ استماع أو عناوين URL عامة. يتوافق الوكلاء بهويات فريدة وقوية ويصلون فقط إلى الموارد التي تسمح بها السياسة، بحيث تحصل سير العمل المستقلة على الوصول الذي تحتاجه دون سلطة محيطية على أي شيء آخر.
الاتصال متعدد السحب والهجين Multi-Cloud and Hybrid Connectivity
شبكة تراكب واحدة عبر AWS وAzure وGCP ومراكز البيانات المحلية ومواقع الحافة. لا أدوات شبكة خاصة بالسحابة، ولا أنفاق VPN بين البيئات، ولا ترتيبات نظير معقدة.
الوصول إلى الخدمات المستضافة ذاتيًا Self-Hosted Service Access
الوصول إلى خدمات المختبر المنزلي أو المستضافة ذاتيًا مثل Nextcloud وHome Assistant وخوادم الوسائط وبيئات التطوير من أي مكان. لا منافذ موجه مفتوحة، ولا DNS ديناميكي، ولا اعتماد على خدمات النفق التابعة لجهات خارجية. أنت تتحكم في المسار بأكمله.
Kubernetes والخدمات عبر المجموعات Kubernetes and Cross-Cluster Services
ربط الخدمات عبر مجموعات Kubernetes بدون قواعد دخول معقدة، أو حاويات جانبية لشبكة الخدمات، أو أنفاق VPN بين المجموعات. يعمل خارج نطاق Kubernetes، ويدعم ربط خدمات k8s بالأجهزة الافتراضية، والمعادن العارية، وأجهزة إنترنت الأشياء، أو أي شيء آخر على شبكة التراكب.
القدرات الرئيسية
| القدرة | الوصف |
|---|---|
| الخدمات المظلمة Dark Services | الخدمات لا تحتوي على منافذ استماع. غير مرئية للماسحات الضوئية والمستخدمين غير المصرح لهم. |
| هوية لكل شيء Identity for Everything | هوية تشفيرية للمستخدمين والخدمات والأجهزة وأعباء العمل غير البشرية (NHI). ليست قائمة على عنوان IP. |
| العمليات القائمة على الهوية Identity-Based Operations | إدارة الشبكات من خلال الهويات والسياسات بدلاً من عناوين IP وقواعد جدار الحماية. يبسط العمليات ويزيل التكوين اليدوي للشبكة. |
| التشفير من النهاية إلى النهاية End-to-End Encryption | البيانات مشفرة من المصدر إلى الوجهة باستخدام libsodium. mTLS للتوثيق. ثقة صفرية في مسار الشبكة. |
| لا VPN ولا منافذ مفتوحة No VPNs or Open Ports | الاتصالات تُوجّه عبر شبكة التراكب الخاصة بـ OpenZiti. لا عملاء VPN، ولا قواعد جدار حماية واردة، ولا منافذ مكشوفة. |
| التوجيه الذكي Smart Routing | نسيج شبكي مع اختيار مسار ذكي للأداء والموثوقية. |
| نشر مرن Flexible Deployment | تضمين SDKs، استخدام الأنفاق، أو النشر على مستوى الشبكة. خلط ومطابقة لكل خدمة. |
| الوصول القائم على السياسة Policy-Driven Access | سياسات دقيقة قائمة على الهوية. يمكن إلغاء الوصول في الوقت الفعلي، وإغلاق الاتصالات النشطة. |
| واجهات برمجة تطبيقات REST قابلة للبرمجة Programmable REST APIs | واجهة إدارة كاملة للأتمتة والتكامل. لوحة تحكم إدارية مستندة إلى الويب مضمنة. |
| قابل للاستضافة الذاتية بالكامل Fully Self-Hostable | تشغيل النظام الأساسي بالكامل على البنية التحتية الخاصة بك. لا اعتماديات على البائعين. مفتوح المصدر، Apache 2.0. |
ثلاثة نماذج نشر
تدعم OpenZiti ثلاثة نماذج للثقة الصفرية. يمكن خلطها في شبكة واحدة والترحيل بينها بمرور الوقت.
الوصول إلى الشبكة Network Access
نشر موجه حدودي OpenZiti في منطقة شبكة موثوقة. تدخل حركة المرور إلى شبكة التراكب من العملاء الموثّقين وتخرج إلى الشبكة الخاصة حيث تعمل الخدمات.
- تغييرات الكود: لا شيء
- وكيل على مضيف الخدمة: لا شيء
- نموذج الأمان: وصول قائم على الهوية على حدود الشبكة. مشابه لبوابة، ولكن بهوية تشفيرية ونقل مشفر.
الوصول إلى المضيف Host Access
تشغيل نفق OpenZiti على نفس المضيف الذي تعمل عليه الخدمة. يتولى النفق الهوية والتوثيق والتشفير. تحتاج الخدمة فقط إلى قبول الاتصالات من المضيف المحلي (localhost).
- تغييرات الكود: لا شيء
- الإعداد: تثبيت النفق، تسجيل الهوية
- نموذج الأمان: حدود الثقة عند نظام تشغيل المضيف. الخدمة مظلمة على الشبكة ولا يمكن الوصول إليها إلا من خلال النفق.
الوصول إلى التطبيق (الأقوى) Application Access (Strongest)
تضمين SDK OpenZiti مباشرة في تطبيقات العميل و/أو الخادم. التطبيق نفسه يمتلك الهوية التشفرية ويقوم بتشفير حركة المرور داخل العملية. لا توجد منافذ استماع، ولا حتى على المضيف المحلي.
- تغييرات الكود: نعم
- نموذج الأمان: الأقوى. تشفير من النهاية إلى النهاية داخل العملية. مظلم بالكامل. الهوية على طبقة التطبيق، وليس الشبكة أو المضيف.
من أين تبدأ: تبدأ العديد من الفرق بـالوصول إلى المضيف (الأنفاق) للخدمات الحالية. يتم نشره في دقائق بدون تغييرات في الكود. للتطوير الجديد أو أعباء العمل عالية الأمان، يوفر الوصول إلى التطبيق (SDKs) أقوى وضعية للثقة الصفرية.
بدء الاستخدام
توضح عمليات البدء السريع التالية كيفية إعداد شبكة OpenZiti محلية للتطوير والاختبار والتعلم. للنشر في الإنتاج، راجع وثائق المنتج على https://netfoundry.io/docs/openziti/category/deployments/.
البدء السريع مع Docker
أسرع طريقة للحصول على شبكة OpenZiti محلية تعمل:
wget https://get.openziti.io/dock/all-in-one/compose.yml
docker compose up
يبدأ هذا متحكمًا وموجهًا حدوديًا ووحدة تحكم Ziti في مكدس compose واحد. وحدة التحكم متاحة على https://localhost:1280/zac/. من هنا يمكنك إنشاء هويات، تعريف خدمات، وتكوين سياسات الوصول.
راجع دليل البدء السريع الكل في واحد Docker للحصول على التفاصيل الكاملة بما في ذلك خيارات التخزين والمتغيرات البيئية واستخدام CLI.
البدء السريع مع CLI
قم بتنزيل أحدث ثنائي ziti من إصدارات GitHub، ثم:
ziti edge quickstart
يؤدي هذا إلى تشغيل شبكة تطوير محلية: متحكم، موجه، وهوية مسؤول افتراضية. مثالي للاختبار والتعلم.
لإضافة وحدة تحكم مسؤول Ziti (ZAC) إلى متحكم قيد التشغيل:
ziti ops console download --location /opt/openziti/console
ziti ops console configure /path/to/controller.yml --all --location /opt/openziti/console
# أعد تشغيل المتحكم، ثم افتح https://<controller-address>/zac/
أو قم بتقديم ZAC محليًا دون لمس تكوين المتحكم:
ziti run console --version latest
# يفتح https://127.0.0.1:8443. وجهه إلى أي متحكم من المتصفح
تعلم المزيد
| المصدر | الوصف |
|---|---|
| مقدمة | المفاهيم الأساسية وكيفية عمل OpenZiti |
| أدلة البدء السريع | إعداد خطوة بخطوة للبيئات المحلية وDocker والمستضافة |
| نماذج الثقة الصفرية | نظرة عميقة على نماذج النشر الثلاثة |
| مرجع النفق | ابدأ بدون تغييرات في الكود |
الهندسة المعمارية
شبكة التراكب الخاصة بـ OpenZiti تعمل فوق البنية التحتية الحالية: أي شبكة IP، أي سحابة، أي مزيج. المكونات الأساسية:
المتحكم Controller
المتحكم هو مستوى الإدارة. يتولى:
- إدارة الهوية: إصدار والتحقق من الهويات التشفيرية (شهادات x509) لكل مشارك في الشبكة
- فرض السياسة: تعريف الهويات التي يمكنها الوصول إلى الخدمات، ومن خلال أي موجهات حدودية
- حالة الشبكة: تتبع الموجهات والخدمات والطوبولوجيا؛ يوفر REST API ووحدة تحكم إدارية قائمة على الويب للإدارة
الموجهات الحدودية Edge Routers
تشكل الموجهات الحدودية مستوى البيانات، وهو نسيج شبكي يحمل حركة المرور المشفرة بين نقاط النهاية.
- الموجهات العامة يمكن الوصول إليها من الإنترنت، وتعمل كنقاط دخول إلى الشبكة
- الموجهات الخاصة ("المظلمة") تُنشر داخل شبكات خاصة مع اتصالات خارجة فقط
تكتشف الموجهات بعضها البعض تلقائيًا، وتشكل اتصالات شبكية، وتستخدم التوجيه الذكي لاختيار أفضل مسار بناءً على زمن الوصول والإنتاجية والتكلفة.
نقاط النهاية: SDKs والأنفاق Endpoints: SDKs and Tunnelers
نقاط النهاية هي كيفية اتصال التطبيقات والمستخدمين بشبكة OpenZiti:
-
SDKs (Go, C, Python, Node.js, Java, Swift, C#): تضمين الثقة الصفرية مباشرة في تطبيقك. التطبيق نفسه يمتلك الهوية ويتولى التشفير. لا حاوية جانبية، ولا وكيل، ولا منافذ استماع.
-
الأنفاق (Linux, Windows, macOS, iOS, Android): تطبيقات خفيفة توفر اتصال OpenZiti للبرامج غير المعدلة. يتم اعتراض حركة المرور وتوجيهها عبر شبكة التراكب بشفافية. لا تغييرات في الكود مطلوبة.
الثقة الصفرية والخدمات المظلمة والتشفير من النهاية إلى النهاية
الثقة الصفرية وتقسيم التطبيقات
كل مشارك (مثل مستخدم، خدمة، جهاز، عبء عمل) في شبكة OpenZiti يحمل هوية تشفيرية فريدة مدعومة بشهادات x509. عند محاولة اتصال، تتحقق OpenZiti مما يلي:
- الهوية صالحة ومسجلة
- توجد سياسة تمنح تلك الهوية الوصول إلى الخدمة المطلوبة
- الاتصال من خلال موجه حدودي مصرح به
إذا فشل أي فحص، يتم رفض الاتصال. إذا تم إلغاء الوصول لاحقًا، يتم إنهاء الاتصالات النشطة فورًا. لا توجد ثقة ضمنية بناءً على موقع الشبكة. التواجد على نفس LAN لا يمنح وصولًا أكثر من التواجد عبر الإنترنت، إلا إذا كانت السياسة تسمح بذلك صراحة.
يوفر هذا النموذج تقسيم التطبيقات القائم على الثقة الصفرية: كل خدمة مصرح بها بشكل مستقل. الحصول على وصول إلى خدمة واحدة لا يمنح الوصول إلى أي خدمة أخرى.
الخدمات المظلمة Dark Services
الخدمة "المظلمة" ليس لديها منافذ مفتوحة. لا تستمع على أي واجهة شبكة لاتصالات واردة. بدلاً من ذلك، تقوم الخدمة (أو نفق بجانبها) بعمل اتصال خارج إلى موجه حدودي OpenZiti وتُسجل نفسها. يصل إليها العملاء فقط من خلال نسيج OpenZiti، بعد التوثيق والتصريح.
ماذا يعني هذا عمليًا:
- مسح المنافذ لا يجد شيئًا: لا توجد منافذ استماع لاكتشافها
- بدون سطح هجوم: لا يمكنك استغلال ما لا يمكنك الوصول إليه
- مقاومة هجمات حجب الخدمة DDoS: لا يوجد نقطة نهاية عامة لإغراقها
- غير مرئي للمستخدمين غير المصرح لهم: فقط الهويات التي لها سياسة مطابقة تعرف بوجود الخدمة
- صديق لـ NAT وجدران الحماية: جميع الاتصالات خارجة، لذا فإن CG-NAT وdouble-NAT وجدران الحماية المقيدة ليست مشكلة
يمكن أيضًا أن تكون الموجهات الحدودية مظلمة. تقوم الموجهات الخاصة بعمل اتصالات خارجة فقط، لذا لا حاجة لقواعد جدار الحماية الواردة في شبكتك الخاصة.
التشفير من النهاية إلى النهاية
مع SDKs الخاصة بـ OpenZiti، يتم تشفير حركة المرور من التطبيق المرسل إلى التطبيق المستقبل باستخدام libsodium لمسار البيانات وmTLS لتوثيق الهوية. حتى إذا تم اختراق الموجهات أو الشبكات الوسيطة، لا يمكن فك تشفير حركة المرور أو العبث بها.
مع الأنفاق، يغطي التشفير المسار من نفق إلى نفق (أو نفق إلى SDK)، مما يوفر تشفير آلة إلى آلة دون تغييرات في التطبيق.
SDKs
تضمين شبكات الثقة الصفرية مباشرة في تطبيقاتك:
| اللغة | المستودع | ملاحظات |
|---|---|---|
| Go | sdk-golang | مستخدم بواسطة مشروع OpenZiti نفسه |
| C | ziti-sdk-c | مثالي للأنظمة المضمنة وإنترنت الأشياء وحالات الاستخدام عالية الأداء |
| Java / Kotlin | ziti-sdk-jvm | يتضمن دعم Android |
| Swift | ziti-sdk-swift | iOS و macOS |
| Node.js | ziti-sdk-nodejs | |
| C# / .NET | ziti-sdk-csharp | |
| Python | ziti-sdk-py |
جميع SDKs مدرجة تحت منظمة OpenZiti على GitHub.
الأمان
OpenZiti هو مشروع يركز على الأمان. الإفصاح المسؤول عن الثغرات يساعدنا في الحفاظ على أمان المنصة ومستخدميها.
الإبلاغ عن ثغرة أمنية: إذا اكتشفت مشكلة أمنية، يرجى مراجعة سياسة الإفصاح عن الثغرات للحصول على التفاصيل الكاملة. يجب الإبلاغ عن القضايا الحساسة إلى [email protected]. يمكن تقديم القضايا غير الحساسة كمشكلات GitHub في المستودع المناسب. يجب أن تتلقى ردًا خلال 7 أيام.
كيف نتعامل مع الثغرات: تصف عملية الاستجابة لحوادث أمن المنتج كيفية فرز الثغرات المبلغ عنها وتوثيقها وحلها — بما في ذلك كيفية تنسيق إصدارات CVE مع الإصلاحات.
الملاذ الآمن Safe harbor: لن تتخذ OpenZiti وNetFoundry إجراءات قانونية ضد أي شخص يبحث ويبلغ عن الثغرات بحسن نية. نحن نشجع البحث الأمني وننسب النتائج المبلغ عنها إلى مقدمي التقارير في النشرات الإعلامية وملاحظات الإصدار.
المجتمع والدعم
تمتلك OpenZiti مجتمعًا نشطًا ومتناميًا:
- منتدى Discourse: اطرح الأسئلة، شارك المشاريع، احصل على المساعدة من المجتمع والمشرفين
- YouTube: دروس تعليمية، عروض توضيحية، ونظرات عميقة
- المدونة: تحديثات المشروع ومقالات تقنية
- Twitter/X: الأخبار والإعلانات
المساهمة
يرحب مشروع OpenZiti بالمساهمات بما في ذلك الكود والوثائق وتقارير الأخطاء والملاحظات.
المستودعات الرئيسية
| المستودع | الوصف |
|---|---|
| openziti/ziti | المنصة الأساسية: المتحكم، الموجهات، CLI |
| sdk-golang | Go SDK |
| ziti-sdk-c | C SDK |
| ziti-sdk-jvm | Java / Kotlin / Android SDK |
| ziti-sdk-swift | Swift / iOS SDK |
| ziti-sdk-nodejs | Node.js SDK |
| ziti-sdk-csharp | C# SDK |
| ziti-sdk-py | Python SDK |
| ziti-tunnel-sdk-c | نفق Linux وSDK النفق الأساسي |
| ziti-tunnel-apple | عملاء الحافة لـ macOS و iOS |
| desktop-edge-win | عميل الحافة لـ Windows |
| ziti-doc | موقع الوثائق |
البناء من المصدر
راجع دليل التطوير المحلي للحصول على تعليمات البناء.
وثائق المطور
المتبنون
يُستخدم OpenZiti في الإنتاج من قبل مؤسسات بما في ذلك DeltaSecure (مركز عمليات أمان مُدار)، و Resulticks (أتمتة التسويق)، و Chirp Wireless (إنترنت الأشياء/اتصالات)، و GIGO Dev (بيئات تطوير سحابية)، و OSMIT (إدارة تكنولوجيا المعلومات / الامتثال للائحة العامة لحماية البيانات)، ومشاريع مفتوحة المصدر مثل zrok و BlueBubbles.
راجع القائمة الكاملة: ADOPTERS.md. هل تستخدم OpenZiti؟ يسعدنا إضافتك — افتح مشكلة أو أرسل طلب سحب (PR).
الحل المُدار
للحصول على شبكات الثقة الصفرية دون إدارة البنية التحتية الخاصة بك، توفر NetFoundry شبكة OpenZiti مُدارة بالكامل وموزعة عالميًا كخدمة، مع اتفاقيات مستوى الخدمة (SLAs)، ودعم المؤسسات، ونسيج عالمي من الموجهات الحدودية.
OpenZiti تم تطويره وفتح مصدره بواسطة NetFoundry, Inc.