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

الباستيونات (Bastions) هي مجموعة من الأجهزة تُستخدم كنقطة دخول فريدة من قبل الفرق التشغيلية (مثل مدراء الأنظمة، المطورين، مدراء قواعد البيانات، …) للاتصال بشكل آمن بالأجهزة (خوادم، أجهزة افتراضية، مثيلات سحابية، أجهزة شبكات، …)، عادةً باستخدام ssh.
يوفر The Bastion آليات للمصادقة، التفويض، التتبع، والتدقيق للبنية التحتية بأكملها.
بكونه بين المستخدمين والبنية التحتية، يضيف The Bastion طبقة تجريد في المنتصف بحيث لا تحتاج البنية التحتية إلى معرفة أعضاء الفريق التشغيلي بشكل فردي.
كل عضو في فريقك لديه حساب فردي على The Bastion، ويمكن أن يكون عضوًا في مجموعة باستيون واحدة أو أكثر قد تمنحه الوصول إلى بنية تحتية واحدة أو أكثر. تحتاج أجهزة البنية التحتية فقط إلى معرفة والثقة في مجموعة (مجموعات) الباستيون التي قد يكونون جزءًا منها.
نظام RBAC الدقيق في The Bastion يجعل من الممكن تفويض بعض المسؤوليات لأي حساب، سواءً كان محصورًا في المجموعة أو على مستوى الباستيون بأكمله، بما في ذلك الحسابات التي قد تستخدمها الأتمتة الخاصة بك لإدارة دورة حياة الحسابات (مرتبطة بنظام إدارة الموارد البشرية، LDAP أو AD)، وضمان تحديث قوائم التحكم في الوصول (ACL) لمجموعة (مرتبطة بـ CMDB)، إلخ. يسهل تنفيذ العمليات الآلية من خلال واجهة JSON API عبر SSH.
هل تريد معرفة المزيد أثناء مشاهدة بعض الرسومات الجميلة؟ إليك سلسلة من المقالات التي تتعمق أكثر في الوظائف والمبادئ الأساسية لـ The Bastion:
موارد أخرى قد تهمك:
لا حاجة لأي شيء معقد سواء على جانب الدخول (ingress) أو الخروج (egress) لـ The Bastion لتشغيله.
فقط عميل ssh القديم الجيد هو المطلوب للاتصال عبره، وعلى الجانب الآخر، أي خادم sshd قياسي سيفي بالغرض. يشمل ذلك، على سبيل المثال، أجهزة الشبكة التي قد لا تكون لديك إمكانية تثبيت أي برنامج مخصص عليها.
يمكن إخفاء الأجهزة القديمة التي تدعم فقط خوارزميات التشفير منخفضة الأمان أو Telnet عن الإنترنت عن طريق جدران الحماية والسماح فقط لـ The Bastion، وبالتالي تجنب مقايضة الأمان المنخفض مع السماح فقط باتصالات عالية الأمان على جانب الدخول للباستيون.
يرجى الاطلاع على الوثائق عبر الإنترنت أو الإصدار النصي المقابل الموجود في مجلد doc/.
هذه طريقة جيدة لاختبار The Bastion في ثوانٍ، ولكن اقرأ الأسئلة الشائعة إذا كنت جادًا بشأن استخدام الحاويات في الإنتاج.
صورة الصندوق الرمل متاحة للهياكل التالية: linux/386، linux/amd64، linux/arm/v6، linux/arm/v7، linux/arm64، linux/ppc64le، linux/s390x.
لنشغل صورة Docker:
docker run -d -p 22 --name bastiontest ovhcom/the-bastion:sandbox
احصل على مفتاح SSH العام الخاص بك، ثم قم بتكوين حساب المسؤول الأول:
docker exec -it bastiontest /opt/bastion/bin/admin/setup-first-admin-account.sh poweruser auto
نحن الآن جاهزون للتشغيل مع التكوين الافتراضي! لنقم بإعداد اسم مستعار مناسب للباستيون، واختبار الأمر info:
PORT=$(docker port bastiontest | cut -d: -f2)
alias bastion="ssh [email protected] -tp $PORT -- "
bastion --osh info
يجب أن يحييك كمسؤول bastion، مما يعني أن لديك حق الوصول إلى جميع الأوامر. لنقم بالدخول إلى الوضع التفاعلي:
bastion -i
هذا مفيد لاستدعاء عدة إضافات --osh على التوالي. الآن يمكننا طلب المساعدة لرؤية جميع الإضافات:
$> help
إذا كان لديك جهاز بعيد تريد محاولة الاتصال به عبر الباستيون، فاحصل على مفتاح الخروج الخاص بك:
$> selfListEgressKeys
انسخ هذا المفتاح العام إلى ملف authorized_keys على الجهاز البعيد تحت مجلد .ssh/ للحساب الذي تريد الاتصال به، ثم:
$> selfAddPersonalAccess --host <remote_host> --user <remote_account_name> --port-any
$> ssh <remote_account_name>@<remote_host>
لاحظ أنه يمكنك الاتصال مباشرة دون استخدام الوضع التفاعلي، باستخدام:
bastion <remote_account_name>@<remote_machine_host_or_ip>
هذا كل شيء! بالطبع، هناك الكثير غير ذلك، الوثائق متاحة تحت مجلد doc/ وعبر الإنترنت.
تأكد من مراجعة مساعدة الباستيون (bastion --help) ومساعدة كل إضافة osh (bastion --osh command --help).
أيضاً لا تنس تخصيص ملف bastion.conf الخاص بك، والذي يمكن العثور عليه في /etc/bastion/bastion.conf (لنظام Linux).