شروحات الاستضافة والسيرفرات

خطوات تهيئة PostgreSQL remote access على Linux للوصول البعيد بأمان

أن تهيئة PostgreSQL remote access على Linux واحدة من أكثر أنظمة إدارة قواعد البيانات شعبية وأمانًا في عالم البرمجيات الحديثة. عنصر رئيسي يُميز PostgreSQL هو قدرته الشديدة على التعامل مع البيانات بكفاءة، مما يجعله خيارًا مفضلًا للعديد من المشاريع والتطبيقات. لكن ماذا يعني الوصول عن بُعد (remote access) في هذا السياق؟

بالنسبة لـ PostgreSQL، فإن الوصول عن بُعد يعني إمكانية الاتصال بقاعدة البيانات عبر شبكة من جهاز آخر غير الجهاز الذي يستضيف قاعدة البيانات نفسها. هذا الأمر يصبح بالغ الأهمية عند التفكير في التطبيقات الحديثة التي تعمل في بيئات متعددة، مثل التطبيقات التي تعمل داخل حاويات Docker.

على سبيل المثال، إذا كان لديك تطبيق Spring Boot يعمل في حاوية Docker وترغب في الاتصال بقاعدة بيانات PostgreSQL المحلية لديك، فإن أي محاولة اتصال مباشرة ستفشل. الحاويات مصممة لتكون معزولة، وعند محاولة الاتصال بقاعدة بيانات على المضيف، يُعتبر ذلك طلبًا للاتصال عن بُعد. ولدى PostgreSQL إعدادات معينة تمنع الاتصال عن بُعد بشكل افتراضي، مما يستدعي ضرورة تهيئته يدويًا قبل استخدامه.

أهمية فهم خطوات تهيئة PostgreSQL remote access

ليس من الجيد فقط أن نتمكن من الوصول إلى قاعدة البيانات عن بُعد، بل من الضروري أن نفهم كيف يمكننا تنفيذ ذلك بأمان. تهيئة PostgreSQL remote access هي عملية تتطلب عدة خطوات دقيقة، وتتطلب بعض المعرفة بأساسيات النظام والتقنيات المستخدمة.

لماذا يعتبر فهم خطوات التهيئة أمرًا مهمًا؟

  1. تحقيق الأمان: تمكين الوصول عن بُعد يمكن أن يُعرّض قاعدة البيانات لمخاطر أمنية، لذا من المهم معرفة كيف نتعامل مع هذه المخاطر.
  2. التحكم في الوصول: من خلال إعدادات التهيئة، يمكنك تحديد من يمكنه الوصول إلى قاعدة البيانات وإلى أي قواعد بيانات معينة، مما يسهل إدارة المستخدمين.
  3. تحسين الأداء: من خلال إعداد الوصول بشكل صحيح، يمكن تحسين أداء الاستعلامات وزيادة فعالية التطبيقات الموصلة بقاعدة البيانات.
  4. توافق التطبيقات: مع زيادة استخدام الحاويات والأنظمة السحابية، يجب أن تكون قادراً على تأمين الاتصالات بين التطبيقات وقواعد البيانات الخاصة بها.

خطوات تهيئة PostgreSQL remote access

لتسهيل فهم العملية أكثر، يمكن تقسيم خطوات تهيئة PostgreSQL remote access إلى تفاصيل محددة:

  • تعديل ملف الإعدادات: مثل postgresql.conf و pg_hba.conf.
  • تحديث جدار الحماية: للتأكد من السماح بالاتصالات عبر المنفذ 5432، المنفذ الافتراضي لـ PostgreSQL.
  • التحقق من صحة الاتصال: باستخدام أدوات مثل pgAdmin أو من خلال الاتصال المباشر.

بتطبيق هذه الخطوات مع الالتزام بأفضل الممارسات الأمنية، يمكن للمستخدمين الاستفادة من ميزات PostgreSQL بشكل آمن وفعّال. أخيرًا، تعتبر معرفة كيفية إجراء اتصال آمن عن بُعد حجر الزاوية في التطوير الحديث، حيث يمكن أن يسهل العملية ويزيد من الإنتاجية.

 

تهيئة PostgreSQL على نظام Linux

تهيئة PostgreSQL على نظام Linux

تثبيت PostgreSQL على Linux

تُعد عملية تثبيت PostgreSQL على نظام Linux خطوة مهمة لتهيئة قاعدة البيانات الخاصة بك للاستخدام. على الرغم من أن عملية التثبيت بسيطة نسبيًا، إلا أنها تتطلب بعض التحضيرات الأساسية.

للبدء، تأكد من أنك تستخدم إصدارًا مدعومًا من Linux، مثل Ubuntu 20.04. إذا كنت توفر نظامك بانتظام، يمكنك استخدام الأمر التالي لتحديث الحزم المتاحة:

sudo apt update

بمجرد تحديث النظام، يمكنك البدء بتثبيت PostgreSQL باستخدام الأمر التالي:

sudo apt install postgresql

بعد الانتهاء من التثبيت، يمكنك التحقق مما إذا كان PostgreSQL قد تم تثبيته بنجاح من خلال تنفيذ الأمر التالي:

psql --version

إذا رأيت رقم الإصدار، فإن تثبيت PostgreSQL كان ناجحًا.

تعديل ملف الإعدادات الرئيسي لـ PostgreSQL

بعد تثبيت PostgreSQL، يجب عليك تعديل إعدادات الملفات لتعزيز الوصول والتواصل مع قاعدة البيانات. الخطوة الأولى في هذا السياق هي تعديل ملف الإعدادات الرئيسي postgresql.conf، الذي يتم تخزينه عادة في المجلد /etc/postgresql/{version}/main/، بالتالي، قم بإستبدال {version} بإصدار PostgreSQL المثبت لديك.

للقيام بذلك، اتبع الخطوات التالية:

  1. فتح ملف الإعدادات: استخدم أي محرر نصوص تعلمه، مثل nano أو vim. لفتح الملف مع محرر nano، استخدم الأمر:
    sudo nano /etc/postgresql/12/main/postgresql.conf

    (استبدل الرقم 12 برقم الإصدار الذي قمت بتثبيته).

  2. تعديل الإعدادات: داخل الملف، ابحث عن السطر التالي:
    #listen_addresses = 'localhost'

    قم بإلغاء تعليق السطر (بحيث تضعي رزمة المسافة “الهاش”) ثم غير القيمة إلى * بدلاً من localhost، مما يجعل PostgreSQL يستمع على جميع عناوين IP المتاحة:

    listen_addresses = '*'
  3. تحديث إعدادات التحكم بالوصول: بعد ذلك، توجه إلى ملف pg_hba.conf، والذي يتحكم في كيفية مصادقة المستخدمين عن بُعد. افتح الملف بنفس الطريقة:
    sudo nano /etc/postgresql/12/main/pg_hba.conf

    ثم أضف السطر التالي للسماح باتصالات IPv4:

    host
    
    all
    
    all
    
    0.0.0.0/0
    
    md5

    يعني هذا السطر السماح لأي عنوان IP بالاتصال بقاعدة البيانات باستخدام كلمات المرور المُشفرة.

  4. تفعيل التغييرات: بعد التعديلات، يجب عليك تمكين الوصول عبر جدار الحماية للسماح بالاتصالات. استخدم الأمر التالي لتفعيل المنفذ 5432 (المنفذ الافتراضي لـ PostgreSQL):
    sudo ufw allow 5432/tcp
  5. إعادة تشغيل PostgreSQL: لتطبيق جميع التغييرات، يجب إعادة تشغيل خدمة PostgreSQL باستخدام الأمر التالي:
    sudo service postgresql restart

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

اختبر الاتصال بقاعدة البيانات عبر استخدام أدوات مثل pgAdmin أو psql من جهاز آخر وتأكد من أن كل شيء يعمل كما ينبغي.

 

تمكين الوصول البعيد لـ PostgreSQL بأمان

تمكين الوصول البعيد لـ PostgreSQL بأمان

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

تكوين ملف pg_hba.conf

ملف pg_hba.conf (PostgreSQL Host-Based Authentication) هو أحد الملفات الرئيسية التي تحدد كيفية التحكم في الوصول إلى قاعدة البيانات. يعتبر هذا الملف بمثابة حارس الحدود، حيث يتم فيه تحديد من يُسمح له بالوصول إلى قاعدة البيانات وكيف يتم ذلك.

خطوات تكوين pg_hba.conf:

  1. فتح الملف: لتعديل الملف، يمكنك استخدام محرر نصوص مثل nano أو vim:
    sudo nano /etc/postgresql/12/main/pg_hba.conf

    استبدل الرقم 12 بأرقام الإصدار الخاصة بك إذا كنت تستخدم إصدارًا مختلفًا.

  2. إضافة قواعد جديدة: في نهاية الملف، قم بإضافة القاعدة التالية للسماح بالاتصالات من أي عنوان IP باستخدام مصادقة كلمة المرور:
    host
    
    all
    
    all
    
    0.0.0.0/0
    
    md5

    هذا السطر يتيح لأي شخص الاتصال بقاعدة البيانات شريطة أن يكون لديه كلمة المرور الصحيحة.

  3. تقييد الوصول: للمزيد من الأمان، يُفضل تحديد نطاق محدد من عناوين IP التي تُسمح لها بالوصول. على سبيل المثال:
    host
    
    all
    
    all
    
    192.168.1.0/24
    
    md5

    هنا، يتم السماح بالوصول للـ IPs من الشبكة 192.168.1.0 إلى 192.168.1.255 فقط.

  4. حفظ التغييرات: بعد إدخال التعديلات المناسبة، احفظ الملف وأغلق المحرر.

لماذا يعتبر pg_hba.conf مهمًا؟

تأمين قواعد البيانات هو أساس كل خطوة نقوم بها، وملف pg_hba.conf يوفر طبقة من الأمان من خلال التأكد من أن المستخدمين المصرح لهم فقط هم من يمكنهم الوصول إلى البيانات.

تهيئة ملف postgresql.conf

بعد إعداد ملف pg_hba.conf، حان الوقت لتحسين الإعدادات من خلال ملف postgresql.conf. هذا الملف يتحكم في كيفية عمل خادم PostgreSQL.

خطوات تهيئة postgresql.conf:

  1. فتح الملف: استخدم الأمر التالي لفتح الملف:
    sudo nano /etc/postgresql/12/main/postgresql.conf
  2. تعديل listen_addresses: ابحث عن السطر التالي:
    #listen_addresses = 'localhost'

    قم بإلغاء تعليق هذا السطر (إزالة الـ #) غير القيمة إلى * ليتمكن PostgreSQL من الاستماع على جميع عناوين IP:

    listen_addresses = '*'
  3. تعديل إعدادات المنفذ: تأكد من أن المنفذ 5432، المنفذ الافتراضي لـ PostgreSQL، مفتوح ويعمل:
    port = 5432
  4. حفظ التغييرات: احفظ الملف بعد إدخال التعديلات ثم أغلق المحرر.

اختصار مفيد

  • تفاصيل التحكم في الوصول: لا تُحِد فقط عبر عنوان IP مخصص؛ يكون من الحكمة دائمًا أن يكون لديك بعض القيود. يمكن أن تتسبب الشبكة المفتوحة في مخاطر أمنية.

التحقق من الأمان

بعد القيام بتعديلات على ملفات الإعدادات، من المهم التحقق من أن كل شيء يعمل بشكل صحيح. استخدم أدوات مثل pgAdmin أو psql من جهاز آخر للتأكد من إمكانية الاتصال.

بالإضافة إلى ذلك، تأكد من أن لديك ممارسات أمان صحيحة، مثل استخدام كلمات مرور قوية وتحديث جدار الحماية لديك.

تتيح هذه الخطوات لك تمكين الوصول البعيد بطريقة آمنة، مما يعزز من تجربة المستخدمين ويعزز من إنتاجية الأعمال.

 

اختبار الوصول البعيد

اختبار الوصول البعيد

بعد إتمام إعداد PostgreSQL للسماح بالوصول البعيد، يأتي وقت اختبار هذه التهيئة للتأكد من أن كل شيء يعمل بشكل صحيح. يعتبر اختبار الوصول عن بُعد خطوة أساسية لضمان أن المستخدمين يمكنهم الاتصال بقاعدة البيانات بسلاسة وأمان.

استخدام أدوات الاتصال البعيد مثل pgAdmin

إذا كنت تبحث عن طريقة مريحة وفعّالة لاختبار الاتصال بقاعدة بيانات PostgreSQL البعيدة، فإن استخدام أدوات مثل pgAdmin يُعتبر خيارًا ممتازًا. تُعد pgAdmin واجهة رسومية تجعل من السهل إدارة بياناتك واختبار الوصول إلى قاعدة البيانات.

خطوات استخدام pgAdmin لاختبار الاتصال:

  1. تثبيت pgAdmin: إذا لم يكن لديك pgAdmin مثبتًا، يمكنك تنزيله وتثبيته من الموقع الرسمي.
  2. فتح pgAdmin: بعد التثبيت، افتح pgAdmin. ستظهر لك واجهة المستخدم الرئيسية.
  3. إضافة خادم جديد:
    • انقر على “Add New Server” من القائمة.
    • سيظهر لك نموذج لتعبئة بيانات الخادم.
  4. تعبئة المعلومات المطلوبة:
    • في علامة التبويب “Connection”، قم بإدخال المعلومات التالية:
      • Host: أدخل عنوان IP الخاص بالخادم البعيد أو اسم المضيف (hostname).
      • Port: استخدم الرقم 5432، إذا كنت تستخدم المنفذ الافتراضي.
      • Username: اكتب اسم المستخدم الخاص بك في قاعدة البيانات.
      • Password: أدخل كلمة المرور الخاصة بك.
    • بعد الانتهاء، انقر “Save”.
  5. التحقق من الاتصال: عند الانتهاء من الخطوات السابقة، يجب أن يظهر الخادم الجديد في قائمة الخوادم. انقر عليه للتحقق مما إذا كانت كل المعلومات صحيحة وقابلة للوصول.

pgAdmin سيوفر لك واجهة مستخدم رسومية حيث يمكنك إدارة القواعد، والاستعلام عن البيانات، وحتى إعداد التقارير.

التحقق من صحة الاتصال البعيد

بعد إضافة الخادم في pgAdmin، يمكن إجراء اختبار فعلي للتأكد من صحة الاتصال. إذا كان قد تم إعداد كل شيء بشكل صحيح، يجب أن تتمكن من الاتصال بقاعدة البيانات دون مشاكل. ولكن ماذا تفعل إذا واجهت أي مشكلة؟

خطوات للتحقق من صحة الاتصال:

  1. التأكد من إعدادات pg_hba.conf: إذا لم تتمكن من الاتصال، تحقق من ملف pg_hba.confمرة أخرى. تأكد من أن الخطوط التي قمت بإضافتها صحيحة وتسمح للعنوان IP الذي تحاول الاتصال منه.
    • يمكنك اختبار ذلك عن طريق إضافة سطر آخر في النهاية، على سبيل المثال لمنح الوصول لجميع المستخدمين:
      host
      
      all
      
      all
      
      0.0.0.0/0
      
      md5
  2. التأكد من إعدادات postgresql.conf: تأكد من أن السطر listen_addresses يسمح بالاتصالات من العناوين المناسبة. يُفضل استخدام * للسماح بكل العناوين، لكن يمكنك أيضًا تقييد ذلك لتحقيق المزيد من الأمان.
  3. فحص جدار الحماية: تأكد من أن جدار الحماية على الخادم يسمح بمرور الاتصالات على المنفذ 5432. يمكنك استخدام الأوامر التالية للتأكد من ذلك:
    sudo ufw status
  4. استخدام psql كأداة اختبار: إذا كنت متأكدًا من أن كل شيء محدد بشكل صحيح، يمكنك استخدام أداة سطر الأوامر psqlلاختبار الاتصال:
    psql -h  -U  -d 

    سيطلب منك إدخال كلمة المرور. هذا سوف يظهر لك ما إذا كان الاتصال ناجحًا أم لا.

نصائح للتأكد من الاتصال:

  • كلمات المرور القوية: دائمًا تأكد من أن هذه الكلمات قوية وصعبة التخمين.
  • التحقق من السجلات: تحقق من سجلات PostgreSQL للحصول على مزيد من المعلومات عن أي أخطاء قد تحدث عند محاولة الاتصال. السجلات يمكن أن تكون مفيدة لتشخيص المشاكل.

اختبار الوصول البعيد هو جزء لا يتجزأ من عملية إعداد قاعدة بيانات PostgreSQL. من خلال استخدام pgAdmin واستخدام psql، يمكن توفير الوقت والمجهود وتجنب الأخطاء الشائعة. تأكد دائماً من أن كل التفاصيل صحيحة وستتمكن من الوصول إلى قواعد بياناتك بكل سهولة وأمان!

 

الخطوات الأمنية الإضافية

الخطوات الأمنية الإضافية

بعد الانتهاء من إعداد PostgreSQL وتمكين الوصول البعيد، تأتي المرحلة التالية المتعلقة بالأمان. إن تأمين قاعدة البيانات ليس خيارًا، بل ضرورة. سنتناول في هذه الفقرة بعض الخطوات الأمنية الإضافية التي يمكنك تنفيذها، بدءًا من استخدام تشفير SSL/TLS إلى تنشيط ميزة التحقق بواسطة كلمة مرور.

استخدام تشفير SSL/TLS

تشفير SSL/TLS هو من بين أكثر الوسائل فعالية لحماية البيانات المتبادلة بين العميل والخادم. عندما يتم الاتصال بقاعدة بيانات PostgreSQL عبر الشبكة، فإن البيانات قد تتعرض للاعتراض من قبل طرف ثالث. لذلك، يعتبر استخدام SSL/TLS ضروريًا لحماية المعلومات الحساسة.

لماذا يجب عليك استخدام SSL/TLS؟

  • حماية البيانات: تشفير البيانات يعني أنه حتى لو تمكن مهاجم من التقاط البيانات المنقولة، فلن يتمكن من قراءتها.
  • المصداقية: تعزيز الثقة بين المستخدمين والسيرفر. يشير وجود SSL/TLS إلى أن المؤسسة تأخذ أمن البيانات على محمل الجد.
  • متطلبات الامتثال: العديد من القوانين والمتطلبات التنظيمية تتطلب تشفير البيانات، خاصة تلك التي تنطوي على معلومات حساسة.

كيفية إعداد SSL/TLS في PostgreSQL:

  1. إنشاء شهادة SSL: يمكنك إنشاء شهادة SSL باستخدام أدوات مثل OpenSSL. يمكن القيام بذلك من خلال الأوامر التالية:
    openssl req -new -text -out server.csr
    
    openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
  2. تحديث ملف postgresql.conf: أضف أو غير الأسطر التالية في ملف postgresql.conf:
    ssl = on
    
    ssl_cert_file = 'path/to/server.crt'
    
    ssl_key_file = 'path/to/server.key'
  3. إعادة تشغيل الخدمة: بعد التحديثات، تأكد من إعادة تشغيل PostgreSQL لتفعيل التشفر:
    sudo systemctl restart postgresql
  4. اختبار الاتصال: عند الاتصال، تأكد من استخدام خاصية SSL من خلال إضافة الخيار --sslmode=require عند استخدام أدوات مثل psql.

تنشيط ميزة التحقق بواسطة كلمة مرور

إحدى الطرق الأكثر فعالية لتأمين الوصول إلى قاعدة بيانات PostgreSQL هي من خلال تنشيط ميزة التحقق بواسطة كلمة مرور. استخدام كلمات مرور قوية سيزيد من مستوى الأمان ويمنع أي هجمات محتملة.

نقاط يجب مراعاتها عند تنشيط كلمات المرور:

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

كيفية تنشيط ميزة التحقق بواسطة كلمة مرور:

  1. تحقق من pg_hba.conf: تأكد من أن ملف pg_hba.confيحتوي على السطر المناسب الذي يضمن استخدام كلمة مرور:
    host
    
    all
    
    all
    
    0.0.0.0/0
    
    md5
  2. تعيين كلمات المرور: تأكد من إنشاء أو تغيير كلمات مرور قوية للمستخدمين. يمكنك ذلك باستخدام:
    ALTER USER username WITH PASSWORD 'your_secure_password';
  3. مراقبة السجلات: تحقق من السجلات بانتظام لرصد أي نشاط مشبوه، مثل محاولات تسجيل الدخول الفاشلة أو أي تغييرات غير مصرح بها.

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

 

كيف أسمح لـ PostgreSQL في UFW؟

بعد الانتهاء من تهيئة قاعدة بيانات PostgreSQL لتسمح بالوصول البعيد، تأتي خطوة مهمة تهدف إلى ضمان أن الاتصالات تتم بسلاسة وأمان. هذه الخطوة تتضمن إعداد جدار الحماية باستخدام UFW (Uncomplicated Firewall). يعمل UFW كحارس مهم يقوم بتحديد أنواع الاتصالات المسموح بها، مما يمنحك السيطرة على حركة البيانات المتدفقة إلى وخارج خادم PostgreSQL.

لماذا يجب استخدام UFW؟

تُعتبر أدوات جدار الحماية مثل UFW ضرورية لأي خادم يعمل عبر الإنترنت. فهي تحمي النظام من الهجمات المحتملة وتعزز الأمان العام. إليك بعض الأسباب التي تجعل استخدام UFW أمرًا مهمًا:

  • تحكم أفضل في الشبكة: يوفر UFW واجهة بسيطة للتحكم في حركة المرور الواردة والصادرة.
  • سهولة الاستخدام: على عكس أدوات firewall المعقدة، يتميز UFW بقابلية استخدامه البسيطة.
  • تخصيص الأذونات: يمكنك تحديد التطبيقات أو الخدمات التي يمكن أن تتلقى الاتصالات دون الحاجة إلى تعقيد كبير.

كيفية السماح بالاتصال لـ PostgreSQL في UFW

إليك الخطوات السهلة والسريعة لتسمح لـ PostgreSQL عبر UFW:

  1. فتح الطرفية: سجّل دخولك إلى خادم Linux الخاص بك وفتح الطرفية.
  2. التأكد من تثبيت UFW: إذا لم يكن مثبتًا بالفعل، يمكنك تثبيته باستخدام الأمر التالي:
    sudo apt install ufw
  3. التحقق من حالة UFW: قبل إجراء أي تغييرات، تحقق من حالة UFW باستخدام الأمر:
    sudo ufw status

    إذا كنت ترى أنه مغلق، يمكنك فتحه باستخدام:

    sudo ufw enable
  4. السماح بالمنفذ 5432 لـ PostgreSQL: باستخدام UFW، يمكنك السماح لحركة المرور عبر المنفذ 5432، المنفذ الافتراضي لـ PostgreSQL. يمكنك القيام بذلك باستخدام الأمر التالي:
    sudo ufw allow 5432/tcp

الاختيار بين السماح بكل العناوين أو عناوين محددة

نصائح إضافية:

  • تحديد عناوين IP: بدلاً من السماح للجميع بالوصول إلى قاعدة بياناتك، يمكنك تقييد الوصول عن طريق السماح فقط لعنوان IP المعين. يمكنك استخدام الأمر التالي (استبدل بعنوان IP الخاص بك):
     sudo ufw allow from  to any port 5432
  • مراجعة القواعد الموجودة: بعد إضافة القواعد، تأكد من مراجعة القاعدة المضافة باستخدام الأمر:
     sudo ufw status verbose

    سيمكنك ذلك من رؤية جميع القواعد التي قمت بإعدادها.

  1. إعادة تشغيل UFW: بعد إجراء التعديلات، يُفضل إعادة تشغيل UFW للتأكد من تنفيذ جميع القواعد بشكل صحيح:
    sudo ufw reload

التحقق من إعدادات جدار الحماية

بعد السماح بالوصول إلى المنفذ 5432، يُفضّل التحقق من أن كل شيء تم إعداده بشكل صحيح وأن قاعدة البيانات تعمل على تلبية الطلبات. يمكنك القيام بذلك باستخدام أدوات مثل pgAdmin أو واجهة الأوامر psql.

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

 

هل يستخدم psql ssh؟

عند العمل مع قواعد بيانات PostgreSQL، قد تتبادر إلى الأذهان عدة تساؤلات حول كيفية تأمين الاتصالات والتحكم في الوصول. واحدة من هذه التساؤلات هي حول استخدام psql، الأداة الرسمية لتفاعل المستخدمين مع قاعدة بيانات PostgreSQL، وشبكة SSH. كيف يمكن أن تعمل هذه الأدوات معًا؟ دعونا نتعمق في هذا الموضوع.

الفهم الأساسي لـ psql و SSH

psql هو واجهة سطر الأوامر لقاعدة بيانات PostgreSQL، حيث يمكنك من إدخال الاستعلامات، تعديل البيانات، تشغيل النصوص، وإدارة النظام. في المقابل، SSH (Secure Shell) هو بروتوكول يوفر وسيلة آمنة للدخول إلى خادم عن بُعد.

لماذا تحتاج إلى SSH مع psql؟

  • الأمان: عند الاتصال بقاعدة البيانات عن بُعد، يُفضل دائمًا استخدام ارتباط آمن. يوفر SSH تشفيرًا يضمن أن البيانات المتبادلة بين الجهاز المحلي وخادم قاعدة البيانات محمية من التهديدات الخارجية.
  • الوصول الآمن: في بعض الأحيان، قد تتطلب إعدادات الأمان الخاصة بالخادم عدم السماح بالاتصالات المباشرة من الشبكة العامة. باستخدام SSH، يمكنك إنشاء نفق (Tunnel) يسمح لك بتجاوز هذه القيود.

كيفية استخدام psql مع SSH

لإجراء اتصال باستخدام psql عبر SSH، يمكنك اتباع عدة خطوات. سأعطي مثالًا عمليًا يوضح كيفية تنفيذ ذلك.

الخطوة 1: إعداد النفق SSH

لنفترض أنك تريد الاتصال بقاعدة بيانات PostgreSQL التي تعمل على خادم بعيد. يمكنك إنشاء نفق SSH باستخدام الأمر التالي من الطرفية على جهازك المحلي:

ssh -L 5432:localhost:5432 user@remote_host
  • -L 5432:localhost:5432: يقوم بتوجيه الاتصالات من port 5432 على الجهاز المحلي إلى port 5432 على الخادم البعيد، مما يعني أن جميع البيانات التي تمر عبر هذا المنفذ ستكون مشفرة.
  • user@remote_host: هنا يجب استبدال user باسم المستخدم الخاص بك على الخادم وremote_host بعنوان IP أو اسم النطاق الخاص بالخادم.

الخطوة 2: الاتصال بقاعدة البيانات باستخدام psql

بعد إعداد النفق SSH، يمكنك فتح نافذة جديدة على الطرفية وبدء psql للإتصال بقاعدة البيانات:

psql -h localhost -p 5432 -U your_username -d your_database
  • -h localhost: يشير إلى أنك تتصل بالمضيف المحلي، حيث أن النفق يوجه الاتصالات إلى الخادم البعيد.
  • -p 5432: منفذ قاعدة البيانات.
  • -U your_username: اسم المستخدم الخاص بك.
  • -d your_database: اسم قاعدة البيانات التي ترغب في الاتصال بها.

فوائد استخدام psql مع SSH

  • تأمين البيانات: استخدام SSH يقلل من خطر التعرض للاعتراض من قبل المهاجمين.
  • إمكانية الوصول: يسمح لك بالاتصال بخوادم بعيدة دون الحاجة لفتح المنفذ 5432 للجمهور، مما يحسن الأمان.
  • سهولة الاستخدام: بعد إعداد SSH، يصبح الاتصال بقاعدة البيانات من الجهاز المحلي بسيطًا وسلسًا.

نصائح إضافية

  • تابع تحديثات الأمان: تأكد من تحديث البرامج المستخدمة بانتظام لتفادي أي ثغرات.
  • استخدام كلمات مرور قوية: تأكد من أن لديك كلمات مرور قوية لحساباتك في PostgreSQL لتقليل خطر الاختراق.
  • مراقبة النشاط: كن واعيًا بأنشطة النظام باستخدام أدوات مراقبة لمراقبة الوصول غير المصرح به.

استخدام psql مع SSH هو أسلوب فعال وآمن للتواصل مع قواعد بيانات PostgreSQL عن بُعد. يُعتبر تحسين الاتصالات وتأمين البيانات من الضرورات، مما يجعل هذا الأسلوب خيارًا مثاليًا للمطورين ومديري قواعد البيانات. سواء كنت تعمل في بيئة تطوير أو إنتاج، فإن الاتصالات المحمية بواسطة SSH توفر طمأنينة كبيرة وتساهم في تحسين أمان قواعد البيانات.

 

كيف أسمح بمزيد من الاتصالات في PostgreSQL؟

عندما تعمل مع قاعدة بيانات PostgreSQL، قد تحتاج إلى السماح بمزيد من الاتصالات، خاصة إذا كان هناك العديد من المستخدمين الذين يحتاجون إلى الدخول إلى قاعدة البيانات في الوقت نفسه. تهيئة PostgreSQL لتقبل المزيد من الاتصالات تتطلب بعض الخطوات الدقيقة. دعونا نستعرض هذه الخطوات بتفصيل.

الخطوة 1: تعديل إعدادات PostgreSQL

أول خطوة هي تعديل ملف إعدادات PostgreSQL الرئيسي، وهو postgresql.conf. يتضمن هذا الملف العديد من الإعدادات التي تحدد كيفية عمل قاعدة البيانات، بما في ذلك عدد الاتصالات المتزامنة المسموح بها.

خطوات التعديل:

  1. فتح الملف: يمكن فتح ملف postgresql.conf باستخدام محرر نصوص من النمط المفضل لديك. عادةً ما يكون مكانه في /etc/postgresql/12/main/على الأنظمة التي تعمل بنظام Ubuntu. استخدم الأمر التالي في الطرفية:
    sudo nano /etc/postgresql/12/main/postgresql.conf
  2. تغيير إعدادات العدد الأقصى للاتصالات: ابحث عن السطر الذي يحتوي على max_connections(أو قم بإضافته إذا لم يكن موجودًا) وقم بتعديله. القيمة الافتراضية عادةً ما تكون 100، يمكنك زيادتها إلى 200 أو أكثر بناءً على احتياجات التطبيق الخاص بك:
    max_connections = 200
  3. حفظ التغييرات: بعد أن قمت بإجراء التعديلات، احفظ الملف وأغلق المحرر.

الخطوة 2: تعديل ملف pg_hba.conf

لتسمح بالاتصالات، تحتاج أيضًا إلى تعديل إعدادات التحكم في الوصول في ملف pg_hba.conf. هذا الملف هو المسؤول عن تحديد كيفية المصادقة على المستخدمين.

خطوات التعديل:

  1. فتح الملف: استخدم نفس محرر النصوص لفتح ملف pg_hba.confالموجود في نفس المجلد:
    sudo nano /etc/postgresql/12/main/pg_hba.conf
  2. إضافة قواعد جديدة: أضف سطرًا يسمح بالاتصالات باستخدام MD5:
    host
    
    all
    
    all
    
    0.0.0.0/0
    
    md5

    ملحوظة: يسمح هذا السطر لأي عميل متصل من أي عنوان IP بالوصول. قد ترغب في تحديد عنوان IP معين إذا كان ذلك أكثر أمانًا.

  3. حفظ التغييرات: احفظ الملف مرة أخرى بعد إدخال التعديلات.

الخطوة 3: تهيئة جدار الحماية للسماح بالاتصالات

من المهم التأكد من أن جدار الحماية المحلي يسمح بالمرور من وإلى PostgreSQL. ينبغي عليك فتح المنفذ 5432 في جدار الحماية لاتصالات PostgreSQL.

خطوات التهيئة:

  1. التحقق من UFW: استخدم الأمر التالي للتحقق من حالة UFW:
    sudo ufw status
  2. فتح المنفذ 5432: إذا كان جدار الحماية مفعلًا، يمكنك فتح المنفذ 5432 باستخدام:
    sudo ufw allow 5432/tcp
  3. إعادة تشغيل UFW: الأفضل إعادة تشغيل J firewall لتأكيد التغييرات:
    sudo ufw reload

الخطوة 4: إعادة تشغيل PostgreSQL

لكي تسري جميع التغييرات، تحتاج إلى إعادة تشغيل خدمة PostgreSQL. استخدم الأمر التالي:

sudo systemctl restart postgresql

مراجعة متعددة الاتصالات

بعد إعادة تشغيل PostgreSQL، يمكنك اختبار الاتصال بالقاعدة من عدة عملاء مختلفين في نفس الوقت. استخدم أدوات مثل pgAdmin أو psql لتأكيد أن كل مستخدم يمكنه الاتصال بشكل متزامن.

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

 

أمل أن تكون قد وجدت هذا الدليل حول كيفية تهيئة PostgreSQL remote access على Linux مفيدًا وملهمًا. إذا كان لديك أي أسئلة أو استفسارات، أو إذا كنت ترغب في مشاركة تجربتك في هذا المجال، فلا تتردد في الكتابة في قسم التعليقات أدناه. نحن هنا لمساعدتك ومناقشة أفكارك! شكرًا لقراءتك.

(5/5 - 3 من الأصوت... شارك الأن برأيك وشجّع الآخرين على التقييم! ) 🌟
⚠️ تنويه مهم: هذه المقالة حصرية لموقع اكتشف الاستضافة، ويُمنع نسخها أو إعادة نشرها أو استخدامها بأي شكل من الأشكال دون إذن خطي من إدارة الموقع. كل من يخالف ذلك يُعرض نفسه للمساءلة القانونية وفقًا لقوانين حماية الملكية الفكرية.
📣 هل وجدت هذا المقال منسوخًا في موقع آخر؟ أبلغنا هنا عبر البريد الإلكتروني
اظهر المزيد

اترك تعليقاً

زر الذهاب إلى الأعلى