Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/ovh/the-bastion
المصادقة والترخيصتدقيق التكوينأمن الشبكاتاختبار الاختراقالأدوات والمكوناتإدارة الهوية والوصول (IAM)الفريق الأحمر
GitHubovh/the-bastion

the-bastion

المصادقة، التفويض، التتبع والتدقيق لوصولات SSH.

عرض المستودع
2.2k13156منذ شهر واحدتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني

شعار The Bastion

🔒 The Bastion

نظرة عامة

الباستيونات (Bastions) هي مجموعة من الأجهزة تُستخدم كنقطة دخول فريدة من قبل الفرق التشغيلية (مثل مدراء الأنظمة، المطورين، مدراء قواعد البيانات، …) للاتصال بشكل آمن بالأجهزة (خوادم، أجهزة افتراضية، مثيلات سحابية، أجهزة شبكات، …)، عادةً باستخدام ssh.

يوفر The Bastion آليات للمصادقة، التفويض، التتبع، والتدقيق للبنية التحتية بأكملها.

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

كل عضو في فريقك لديه حساب فردي على The Bastion، ويمكن أن يكون عضوًا في مجموعة باستيون واحدة أو أكثر قد تمنحه الوصول إلى بنية تحتية واحدة أو أكثر. تحتاج أجهزة البنية التحتية فقط إلى معرفة والثقة في مجموعة (مجموعات) الباستيون التي قد يكونون جزءًا منها.

نظام RBAC الدقيق في The Bastion يجعل من الممكن تفويض بعض المسؤوليات لأي حساب، سواءً كان محصورًا في المجموعة أو على مستوى الباستيون بأكمله، بما في ذلك الحسابات التي قد تستخدمها الأتمتة الخاصة بك لإدارة دورة حياة الحسابات (مرتبطة بنظام إدارة الموارد البشرية، LDAP أو AD)، وضمان تحديث قوائم التحكم في الوصول (ACL) لمجموعة (مرتبطة بـ CMDB)، إلخ. يسهل تنفيذ العمليات الآلية من خلال واجهة JSON API عبر SSH.

الموارد المعرفية

هل تريد معرفة المزيد أثناء مشاهدة بعض الرسومات الجميلة؟ إليك سلسلة من المقالات التي تتعمق أكثر في الوظائف والمبادئ الأساسية لـ The Bastion:

  • الجزء 1 - التكوين
  • الجزء 2 - دوار التفويض
  • الجزء 3 - الأمان في الصميم
  • الجزء 4 - عصر جديد

موارد أخرى قد تهمك:

  • الوثائق عبر الإنترنت
  • (فيديو بالفرنسية، شرائح بالإنجليزية) The Bastion في Very Tech Trip 2023، دراسة حالة لإدارة بنية تحتية مع وبدون The Bastion
  • (فيديو بالفرنسية، شرائح بالإنجليزية) The Bastion في OSSIR، 2021، شرح سريع للمبادئ الأساسية، ثم تفصيل وظيفة realm، وأخيراً التركيز على سبب تعزيز خيارات التنفيذ التقني للأمان (إضافة ثغرة أمنية عن قصد في الكود لإثبات ذلك!)
  • (بودكاست بالفرنسية) The Bastion في NoLimitSecu، 2021، مقابلة مع أسئلة وأجوبة

♻️ لا افتراضات بشأن بيئتك

لا حاجة لأي شيء معقد سواء على جانب الدخول (ingress) أو الخروج (egress) لـ The Bastion لتشغيله.

فقط عميل ssh القديم الجيد هو المطلوب للاتصال عبره، وعلى الجانب الآخر، أي خادم sshd قياسي سيفي بالغرض. يشمل ذلك، على سبيل المثال، أجهزة الشبكة التي قد لا تكون لديك إمكانية تثبيت أي برنامج مخصص عليها.

يمكن إخفاء الأجهزة القديمة التي تدعم فقط خوارزميات التشفير منخفضة الأمان أو Telnet عن الإنترنت عن طريق جدران الحماية والسماح فقط لـ The Bastion، وبالتالي تجنب مقايضة الأمان المنخفض مع السماح فقط باتصالات عالية الأمان على جانب الدخول للباستيون.

➰ الموثوقية

  • يتم استخدام عدد قليل فقط من المكتبات المعروفة، كود طرف ثالث أقل يعني سطح هجوم أصغر
  • تم تصميم The Bastion ليكون مكتفيًا ذاتيًا: لا تبعيات مثل قواعد البيانات، أو خوادم أخرى، أو أجهزة أخرى، أو خدمات سحابية تابعة لجهات خارجية، سواء لمرحلة المصادقة أو التفويض، مما يعني إحصائيًا وقت تعطل أقل
  • يمكن إعداد التوفر العالي بحيث تشكل مثيلات باستيون متعددة مجموعة من عدة مثيلات، مع إمكانية استخدام أي مثيل في أي وقت (نظام active/active)

:godmode: قائمة ميزات غير شاملة

  • خطط الوصول الشخصية وخطط الوصول الجماعية مع تفويض أدوار المجموعة لضمان استقلالية الفرق دون مساومة على الأمان
  • قطع بروتوكول SSH بين اتصالات الدخول والخروج
  • تسجيل الجلسات التفاعلية (في ملفات ttyrec قياسية)
  • تسجيل الجلسات غير التفاعلية (stdout و stderr عبر ttyrec)
  • دعم تسجيل شامل عبر syslog لسهولة استهلاك SIEM
  • تشمل ميزات المصادقة دعم MFA/2FA (كلمة مرور، TOTP) بالإضافة إلى مصادقة المفتاح العام
  • دعم التحقق من شهادات PIV من Yubico وفرضها على جانب اتصال الدخول
  • دعم mosh على جانب اتصال الدخول
  • دعم تمرير scp، sftp و rsync لرفع و/أو تنزيل الملفات من/إلى الخوادم البعيدة
  • دعم تمرير النظام الفرعي لـ SSH الخاص بـ netconf
  • دعم العوالم (realms) لإنشاء ثقة بين باستيونين لشركتين مختلفتين، مع فصل مرحلتي المصادقة والتفويض مع فرض السياسات المحلية
  • دعم تسجيل الدخول التلقائي بكلمة مرور SSH على جانب الخروج للأجهزة القديمة التي لا تدعم مصادقة المفتاح العام، مع فرض مصادقة المفتاح العام بشكل صحيح على جانب الدخول
  • دعم تسجيل الدخول التلقائي بكلمة مرور Telnet على جانب الخروج للأجهزة القديمة التي لا تدعم SSH، مع فرض مصادقة المفتاح العام SSH بشكل صحيح على جانب الدخول
  • دعم الوكيل عبر HTTPS مع معالجة المصادقة والتفويض من خلال وسيط (man-in-the-middle)، لفصل كلمات المرور للدخول والخروج (مفيد بشكل أساسي لواجهات برمجة تطبيقات أجهزة الشبكة)

🔧 تثبيت، ترقية، واستخدام The Bastion

يرجى الاطلاع على الوثائق عبر الإنترنت أو الإصدار النصي المقابل الموجود في مجلد doc/.

🎥 مثال سريع للاتصال وإعادة التشغيل

asciicast

⚡ TL;DR: اختبره: صندوق رمل قابل للتخلص باستخدام Docker

هذه طريقة جيدة لاختبار The Bastion في ثوانٍ، ولكن اقرأ الأسئلة الشائعة إذا كنت جادًا بشأن استخدام الحاويات في الإنتاج.

صورة الصندوق الرمل متاحة للهياكل التالية: linux/386، linux/amd64، linux/arm/v6، linux/arm/v7، linux/arm64، linux/ppc64le، linux/s390x.

لنشغل صورة Docker:

root@kitploit:~
docker run -d -p 22 --name bastiontest ovhcom/the-bastion:sandbox

احصل على مفتاح SSH العام الخاص بك، ثم قم بتكوين حساب المسؤول الأول:

root@kitploit:~
docker exec -it bastiontest /opt/bastion/bin/admin/setup-first-admin-account.sh poweruser auto

نحن الآن جاهزون للتشغيل مع التكوين الافتراضي! لنقم بإعداد اسم مستعار مناسب للباستيون، واختبار الأمر info:

root@kitploit:~
PORT=$(docker port bastiontest | cut -d: -f2)
alias bastion="ssh [email protected] -tp $PORT -- "
bastion --osh info

يجب أن يحييك كمسؤول bastion، مما يعني أن لديك حق الوصول إلى جميع الأوامر. لنقم بالدخول إلى الوضع التفاعلي:

root@kitploit:~
bastion -i

هذا مفيد لاستدعاء عدة إضافات --osh على التوالي. الآن يمكننا طلب المساعدة لرؤية جميع الإضافات:

root@kitploit:~
$> help

إذا كان لديك جهاز بعيد تريد محاولة الاتصال به عبر الباستيون، فاحصل على مفتاح الخروج الخاص بك:

root@kitploit:~
$> selfListEgressKeys

انسخ هذا المفتاح العام إلى ملف authorized_keys على الجهاز البعيد تحت مجلد .ssh/ للحساب الذي تريد الاتصال به، ثم:

root@kitploit:~
$> selfAddPersonalAccess --host <remote_host> --user <remote_account_name> --port-any
$> ssh <remote_account_name>@<remote_host>

لاحظ أنه يمكنك الاتصال مباشرة دون استخدام الوضع التفاعلي، باستخدام:

root@kitploit:~
bastion <remote_account_name>@<remote_machine_host_or_ip>

هذا كل شيء! بالطبع، هناك الكثير غير ذلك، الوثائق متاحة تحت مجلد doc/ وعبر الإنترنت. تأكد من مراجعة مساعدة الباستيون (bastion --help) ومساعدة كل إضافة osh (bastion --osh command --help). أيضاً لا تنس تخصيص ملف bastion.conf الخاص بك، والذي يمكن العثور عليه في /etc/bastion/bastion.conf (لنظام Linux).

🔀 أنظمة التشغيل المدعومة للتثبيت

يتم اختبار توزيعات Linux أدناه مع كل إصدار، ولكن نظرًا لأن هذا منتج أمني، يُنصح بشدة بتشغيله على أحدث إصدار مستقر ومحدث من نظام التشغيل المفضل لديك:

  • Debian 13 (Trixie)، 12 (Bookworm)، 11 (Bullseye)
  • RockyLinux 10.x، 9.x، 8.x
  • Ubuntu LTS 26.04، 24.04، 22.04
  • OpenSUSE Leap 16.0

أي إصدار "حديث" آخر من Linux لا يتم اختباره مع كل إصدار، ولكن يجب أن يعمل مع تعديلات طفيفة أو بدونها.

يتم أيضًا اختبار أنظمة التشغيل التالية مع كل إصدار:

  • FreeBSD 15.1، 15.0، 14.4

FreeBSD لديه دعم جزئي لـ MFA، بسبب مجموعة إضافات pam المتاحة المحدودة. يمكن تكوين دعم إما لعامل كلمة مرور إضافي أو TOTP، ولكن ليس كلاهما في نفس الوقت.

🆗 جودة الكود

  • يتم تشغيل الكود تحت perltidy
  • يتم أيضًا تشغيل الكود تحت perlcritic
  • تُستخدم الاختبارات الوظيفية قبل كل إصدار

🛂 الأمان في الصميم

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

  • يستخدم التحكم في الوصول التقديري (DAC) المعروف والموثوق في UNIX:

    • يتم تعيين مستخدمي الباستيون إلى مستخدمين فعليين للنظام
    • يتم تعيين مجموعات الباستيون إلى مجموعات فعلية للنظام
    • كل الكود يتحقق باستمرار من الحقوق قبل السماح بأي إجراء
    • يتم استخدام UNIX DAC كحزام أمان لمنع نجاح إجراء حتى إذا تم خداع الكود للسماح به
  • يتم تعريف النص الرئيسي للباستيون كشل نظام حساب مستخدم الباستيون:

    • لا يوجد لدى أي مستخدم وصول حقيقي إلى شل (مثل bash) على النظام
    • يتم تشغيل كل الكود تحت حقوق حساب النظام غير المميز
    • حتى إذا تمكن مستخدم من الهروب إلى شل حقيقي، فلن يتمكن من الاتصال بالأجهزة التي ليس لديه حق الوصول إليها، لأنه ليس لديه حق الوصول على مستوى نظام الملفات لمفاتيح SSH
  • الكود معياري

    • الكود الرئيسي يتحقق أساسًا من الحقوق، ويسجل الإجراءات، ويمكّن الوصول إلى ssh للأجهزة الأخرى
    • جميع الأوامر الجانبية، المسماة إضافات، موجودة في وحدات منفصلة عن الكود الرئيسي
    • يمكن أن تكون الوحدات إما مفتوحة أو مقيدة
      • فقط الحسابات التي تم منحها بشكل خاص على أساس الحاجة يمكنها تشغيل إضافة مقيدة معينة
      • يتم التحقق من ذلك بواسطة الكود، ويتم فرضه أيضًا بواسطة UNIX DAC (الإضافة قابلة للقراءة والتنفيذ فقط من قبل مجموعة النظام الخاصة بالإضافة)
  • كل الكود الذي يحتاج إلى صلاحيات موسعة للنظام يتم فصله عن الكود الرئيسي، في وحدات تسمى مساعدات

    • يتم تشغيل المساعدات حصريًا تحت sudo
    • يتم إرفاق تكوين sudoers بمجموعة نظام خاصة بالأمر، والتي تُمنح للحسابات على أساس الحاجة
    • المساعدات قابلة للقراءة والتنفيذ فقط من قبل مجموعة النظام الخاصة بالأمر
    • مسارات المساعدات وبعض معاملاتها الثابتة مشفرة في تكوين sudoers
    • يتم استخدام وضع Perl الملوث (-T) لجميع الكود الذي يعمل تحت ، مما يمنع أي إدخال من المستخدم من التداخل مع المنطق، عن طريق إيقاف التنفيذ فورًا

🔍 قابلية التدقيق

  • يجب على مسؤولي الباستيون استخدام منطق الباستيون للاتصال بأنفسهم لإدارته (أو الأفضل، استخدام باستيون آخر للقيام بذلك)، وهذا يضمن قابلية التدقيق في جميع الحالات
  • يتم تسجيل كل وصول وإجراء (سواء مسموح به أو مرفوض) مع:
    • syslog، والذي يجب أيضًا إرساله إلى خادم syslog بعيد لضمان أنه حتى مسؤولي الباستيون لا يمكنهم التلاعب بمساراتهم، و/أو
    • قواعد بيانات sqlite3 محلية لسهولة البحث
  • يتم تسجيل كل جلسة باستخدام ttyrec، ويتم توفير نصوص مساعدة لتشفير ودفع هذه السجلات إلى خادم escrow بعيد
  • يستخدم هذا الكود في الإنتاج في العديد من البيئات المعتمدة من PCI-DSS و ISO 27001 و SOC1 و SOC2

🔗 ذات صلة

التبعيات

  • ovh-ttyrec - إصدار محسّن ولكنه متوافق من ttyrec، مسجل طرفية (tty)

أدوات اختيارية

  • yubico-piv-checker - ثنائي go مستقل للتحقق من صحة مفاتيح وشهادات PIV. اختياري، لتمكين وظائف The Bastion المدركة لـ PIV
  • puppet-thebastion (GitHub) - وحدة Puppet لأتمتة وصيانة تكوين أجهزة The Bastion
  • the-bastion-ansible-wrapper - غلاف لجعل من الممكن تشغيل دفاتر playbooks الخاصة بـ Ansible عبر The Bastion
  • debian-cis - برنامج نصي لتطبيق ومراقبة تعزيز أمان مضيفات Debian وفقًا لتوصيات CIS

أدوات المجتمع

قائمة غير شاملة بالأدوات ذات الصلة التي تتم صيانتها من قبل المجتمع:

  • chef-cookbook - كتاب طبخ chef لتثبيت the-bastion وإعداد تكوينه الافتراضي
  • ansible role - دور ansible لتثبيت وتكوين the-bastion

📝 الترخيص

مرخص بموجب رخصة Apache، الإصدار 2.0 (الترخيص")؛ لا يجوز لك استخدام هذا الملف إلا وفقًا للترخيص. يمكنك الحصول على نسخة من الترخيص على

root@kitploit:~
http://www.apache.org/licenses/LICENSE-2.0

ما لم ينص القانون المعمول به أو يتم الاتفاق عليه كتابيًا، يتم توزيع البرنامج المرخص بموجب هذا الترخيص على أساس "كما هو" (AS IS)، دون ضمانات أو شروط من أي نوع، سواء كانت صريحة أو ضمنية. راجع الترخيص للاطلاع على اللغة المحددة التي تحكم الأذونات والقيود بموجب الترخيص.

تنزيل الأداة
sudo
  • الكود الذي يعمل تحت sudo لا يثق في المتصل ويعيد التحقق من كل إدخال
  • يتم الاتصال بين الكود غير المميز والكود المميز باستخدام JSON
  • يتم إجراء قطع بروتوكول بين جانب الدخول والخروج، مما يجعل معظم الثغرات القائمة على البروتوكول غير فعالة