الرئيسية
» لينوكس
»
كيفية تخزين البيانات الحساسة على نظام لينكس باستخدام Vault
كيفية تخزين البيانات الحساسة على نظام لينكس باستخدام Vault
يخزن HashiCorp Vault البيانات السرية الثابتة في محرك أسرار يعتمد على نظام المفتاح/القيمة (KV)، ويتيح للمستخدمين المصرح لهم استرجاعها عبر واجهة المستخدم الرسومية أو سطر الأوامر. يوضح هذا الدليل آلية العمل على جهاز Linux محلي. يستخدم محرك الأسرار KV v2 ووضع تطوير Vault، وهو وضع غير آمن عمدًا، حيث يحتفظ بالبيانات في الذاكرة فقط، ويحذفها عند إيقاف التشغيل. استخدم قيمة افتراضية هنا؛ لا تُدخل كلمة مرور حقيقية أو مفتاح API أو بيانات اعتماد خاصة. بالنسبة للبيانات الحساسة الدائمة، انشر Vault في وضع غير التطوير مع تخزين دائم وضوابط وصول مناسبة.
قم بتثبيت Vault على Debian أو Ubuntu
استخدم مستودع حزم HashiCorp الرسمي بدلاً من رابط تنزيل قديم مُثبّت عليه إصدار مُحدد. تُضيف الأوامر أدناه مفتاح التوقيع ومستودع apt، ثم تُثبّت Vault. إذا كنت تستخدم RHEL أو Fedora أو Amazon Linux، فاختر تعليمات الحزمة المُطابقة على صفحة تثبيت Vault الرسمية .
تأكد من وجود واجهة سطر الأوامر (CLI) في مسار النظام لديك:
vault --version
ابدأ تشغيل خادم تجريبي محلي
أبقِ هذه العملية مفتوحة في نافذة طرفية أثناء اتباعك للشرح. اربطها بعنوان الاسترجاع بحيث لا يمكن الوصول إليها إلا من جهاز الكمبيوتر الخاص بك.
vault server -dev -dev-listen-address=127.0.0.1:8200
يقوم Vault بتهيئة خادم التطوير هذا وفتحه تلقائيًا. تتضمن مخرجات بدء التشغيل رمزًا رئيسيًا؛ ستحتاج إليه لتسجيل الدخول إلى واجهة المستخدم. يتمتع هذا الرمز بصلاحيات إدارية واسعة، لذا احتفظ به على جهازك المحلي ولا تشاركه مع أي جهة. يستخدم وضع التطوير أيضًا إعدادات افتراضية غير آمنة وتخزينًا في الذاكرة. تُصرّح HashiCorp صراحةً بأنه مخصص للتجربة، وليس للإنتاج. واجهة المستخدم متاحة على [رابط واجهة المستخدم]. http://127.0.0.1:8200/uiيستخدم العرض التوضيحي بروتوكول HTTP عاديًا على منفذ محلي؛ لا تعرض هذا المنفذ للشبكة أبدًا.
للحصول على مثال قابل للتكرار، أنشئ نقطة ربط KV v2 منفصلة باسم linux-kv. في نافذة طرفية ثانية، حدد عنوان الخادم وقم بتمكين نقطة الربط مرة واحدة أثناء تشغيل هذا العرض التوضيحي:
احفظ سرًا تجريبيًا في واجهة المستخدم الرسومية لـ Vault
افتح http://127.0.0.1:8200/uiالمتصفح. أدخل رمز الجذر الموضح في نافذة الخادم وسجّل الدخول. واجهة مستخدم Vault مُفعّلة افتراضيًا في وضع التطوير؛ راجع وثائق واجهة المستخدم الرسمية .
حدد "الأسرار" ، ثم افتح linux-kv/المركبة، واختر خيار إنشاء سر. يجب أن تُعرّف صفحة المحركات هذه المركبة على أنها إصدار المفتاح/القيمة 2.
أدخل المسار السري linux-demo. في خانتي المفتاح/القيمة، أدخل api_keyالمفتاح test-valueوالقيمة. انقر على "حفظ" . هذه سلاسل نصية نموذجية، وليست بيانات اعتماد.
يُحدد كل من نقطة التحميل والمسار هذا السجل على أنه linux-kv/linux-demo. استخدم أسماء مسارات ومفاتيح محايدة: يمكن أن تظهر الأسماء في قوائم الملفات أو البيانات الوصفية، لذا تجنب وضع كلمة مرور أو أي معلومات حساسة أخرى فيها. بالنسبة لسجلات المفتاح/القيمة العادية القابلة لإعادة الاستخدام، استخدم KV. يقتصر نطاق محرك Cubbyhole الخاص بـ Vault على رمز مميز فردي ويتم حذفه عند انتهاء صلاحية هذا الرمز.
اكتب واسترجع السر باستخدام واجهة سطر الأوامر
يقوم خادم التطوير تلقائيًا بمصادقة واجهة سطر الأوامر المحلية لـ Vault. في نافذة طرفية أخرى، حدد عنوانها إذا لزم الأمر، ثم استخدم صيغة الربط الصريحة الموضحة أدناه:
export VAULT_ADDR='http://127.0.0.1:8200'
vault kv put -mount=linux-kv linux-demo api_key=test-value
vault kv get -mount=linux-kv linux-demo
يطبع الأمر getالقيمة، ولذلك يستخدم المثال عنصرًا نائبًا فقط. يقوم الأمر KV v2 putبكتابة نسخة جديدة واستبدال البيانات الحالية للسر؛ لذا، أضف جميع الحقول التي ترغب في الاحتفاظ بها. تجنب وضع بيانات الاعتماد الحقيقية مباشرةً في أوامر سطر الأوامر، حيث قد تبقى في سجل الأوامر أو تكون مرئية لفحص العمليات المحلية. استخدم هوية غير هوية الجذر وسياسة تحكم بالوصول (ACL) ذات نطاق ضيق للمستخدمين أو التطبيقات الحقيقية.
أوقف العرض التوضيحي وجهّز Vault للبيانات الحقيقية
ارجع إلى الطرفية التي تُشغّل الخادم واضغط على Ctrl+C . سيتوقف العرض التوضيحي، وستُفقد بياناته السرية ورمزه المميز المخزنة في الذاكرة. إعادة تشغيله تُنشئ نسخة جديدة؛ ولن تستعيد السجلات السابقة.
للحفاظ على الأسرار الحقيقية، قم بتهيئة خادم Vault غير مخصص للتطوير مع نظام تخزين خلفي متين. توصي HashiCorp باستخدام التخزين المتكامل للعديد من عمليات النشر ذاتية الإدارة؛ وتشرح وثائق Raft الخاصة بها ميزات الثبات والنسخ الاحتياطي/الاستعادة. يُعد نظام الملفات الخلفي خيارًا آخر مدعومًا للاستخدام الدائم على خادم واحد، ولكنه لا يوفر توافرًا عاليًا.
يتطلب النشر الفعلي أيضًا استخدام بروتوكول TLS لاتصالات العملاء، ومصادقة بيئة الإنتاج، وسياسات أقل الامتيازات، وحماية بيانات التهيئة وفك التشفير، وتقييد الوصول إلى نظام الملفات، ونسخ احتياطية مُختبرة. يقوم Vault بتشفير البيانات المخزنة، ولكن لا يزال الخادم ورموزه ونسخه الاحتياطية بحاجة إلى الحماية. اتبع تحذير وضع التطوير من HashiCorp وإرشادات النشر في بيئة الإنتاج قبل تخزين بيانات الاعتماد التي تعتمد عليها.