على الرغم من أن PostgreSQL لا تقدم خيارات تشفير مدمجة، إلا أنه يمكنك إعداد تشفير البيانات أثناء عدم النشاط باستخدام طرق تشفير الطرف الثالث. يركز البرنامج التعليمي اليوم على استخدام طريقة تشفير البيانات الشفافة (TDE) لتمكين التشفير على مستوى نظام الملفات.
كيفية إعداد تشفير البيانات أثناء الراحة في PostgreSQL
عند ضبط تشفير البيانات في وضع الراحة في PostgreSQL، فإن الهدف هو جعل البيانات غير قابلة للقراءة على نظام الملفات عن طريق طلب مفتاح فك التشفير. وبهذه الطريقة، يتم القضاء على الوصول غير المصرح به.
عند تشغيل PostgreSQL على خادمك، يمكنك إعداد التشفير على مستوى نظام الملفات باستخدام أدوات خارجية مثل Linux Unified Key Setup (LUKS). يمكنك العثور على الحل المناسب لنظامك. هنا، نحن نعمل مع Ubuntu ونقوم بإعداد تشفير البيانات باستخدام الخطوات التالية.
الخطوة 1: تثبيت أداة تشفير نظام الملفات
بمجرد تحديد طريقة التشفير، يجب عليك تثبيت الأدوات المطلوبة. نختار طريقة التشفير على مستوى نظام الملفات ونقوم بتثبيت LUKS. لتثبيت LUKS، قم بتثبيت cryptsetup كما يلي:
sudo الرابطة بين الحصول على التثبيت cryptsetup
اضغط على 'y' لمواصلة التثبيت والتأكد من تثبيت كل شيء كما هو متوقع.
الخطوة 2: إعداد حاوية مشفرة
نظرًا لأننا نقوم بإعداد التشفير على مستوى نظام الملفات، فيجب علينا إنشاء دليل مشفر على القرص الخاص بنا والذي يحتوي على بيانات PostgreSQL. تحقق من الأجهزة المتوفرة على نظام التشغيل الخاص بك باستخدام الأمر التالي:
sudo fdisk -ل
بعد ذلك، حدد الجهاز المناسب وقم بتشغيل الأمر التالي. وهنا نستخدم /dev/sdb جهاز. سيُطلب منك تأكيد الإجراء عن طريق كتابة 'YES' ثم إدخال عبارة المرور.
يجب عليك بعد ذلك تشفيره باستخدام LUKS عن طريق تشغيل الأمر التالي:
الخطوة 3: تنسيق الحاوية
بالنسبة للحاوية التي تم إنشاؤها، يجب علينا تنسيقها. نستخدم الخيار “mkfs.ext4” عن طريق تشغيل الكود التالي:
sudo mkfs.ext4 / ديف / مصمم الخرائط / postgres_encrypted
الخطوة 4: تركيب الحاوية
بعد ذلك، لنقم بتركيب الحاوية المشفرة. ابدأ بإنشاء دليل في /منت/ على النحو التالي:
sudo mkdir / mnt / postgresبمجرد إنشاء الدليل، قم بالمضي قدمًا وقم بتثبيت الحاوية المشفرة باستخدام أمر 'mount' وحدد المسار.
sudo تتعدد / ديف / مصمم الخرائط / postgres_encrypted / mnt / postgres /الخطوة 5: نقل بيانات PostgreSQL
لقد قمنا حتى الآن بإنشاء حاوية مشفرة لتخزين بيانات PostgreSQL الخاصة بنا، ولكن لم ننقل البيانات بعد. قبل نقل البيانات، يجب علينا إيقاف خدمة PostgreSQL.
sudo توقف Systemctl عن Postgresqlلنقل بيانات PostgreSQL، قم بتشغيل أمر 'النسخ' التالي وتأكد من نسخه إلى الدليل الذي أنشأناه مسبقًا:
sudo rsync -ل / كان / ليب / postgresql / mnt / postgresبعد ذلك، قم بعمل نسخة احتياطية لبيانات PostgreSQL الأصلية عن طريق نقلها إلى موقع النسخ الاحتياطي.
sudo إم في / كان / ليب / postgresql / كان / ليب / postgresql_backup
ستحتاج بعد ذلك إلى إنشاء رابط رمزي للدليل للوصول السريع.
هذا كل شيء. لقد تمكنا من نسخ بيانات PostgreSQL ونقلها إلى الحاوية المشفرة على مستوى نظام الملفات لدينا لضمان تأمين البيانات أثناء عدم نشاطها.
الخطوة 6: تحرير ملف تكوين PostgreSQL
يعكس دليل البيانات الموجود في ملف التكوين موقع بيانات PostgreSQL الثمين. ومع ذلك، يجب علينا تحريرها لتتناسب مع موقع بيانات PostgreSQL في الحاوية المشفرة التي أنشأناها. لذا، افتح ملف تكوين PostgreSQL باستخدام محرر النصوص. حدد موقع قسم data_directory. ويظهر كما هو موضح أدناه قبل أن نقوم بتحريره. قد يختلف المسار اعتمادًا على إصدار PostgreSQL المثبت على نظامك.
قم بتغيير المسار للتوجيه إلى الحاوية المشفرة التي أنشأناها في الخطوة 4. وفي حالتنا، المسار الجديد هو كما يلي:
الخطوة 7: الحفظ والخروج وإعادة التشغيل
احفظ واخرج من ملف تكوين PostgreSQL. بعد ذلك، ابدأ أو أعد تشغيل PostgreSQL. لقد تمكنت من إعداد تشفير البيانات أثناء الراحة في PostgreSQL.
هذا كل شيء! يمكنك الاستمرار في استخدام PostgreSQL بشكل آمن والاستمتاع بالتشفير الجديد على مستوى نظام الملفات.
خاتمة
يتضمن إعداد تشفير البيانات في PostgreSQL تحديد طريقة التشفير التي سيتم استخدامها ثم إعدادها. لقد اخترنا تشفير TDE باستخدام LUKS لإعداد تشفير على مستوى نظام الملفات. علاوة على ذلك، قمنا بتفصيل كل خطوة يجب اتباعها لإعداده. هذا كل شيء! جربه واتبع الخطوات المقدمة.