اذهب إلى المحتوى

مقدِّمة

يحتاج الكثيرُ من المستخدمين إلى نظام إدارة قواعد بيانات Database Managment System, DBMS مثل MySQL، إلّا أنّهم قد لا يكونون مرتاحين للتّفاعل مع النّظام من خلال سطر أوامر MySQL فقط.
أُنشئ phpMyAdmin بحيث يتفاعل هؤلاء المستخدمون مع MySQL عن طريق واجهة ويب. سنعرض في هذا الدّرس لكيفيّة تثبيت وتأمين phpMyAdmin بحيث يُمكن استخدامُه بأمان من أجل إدارة قواعد بيانات MySQL على أوبنتو 14.04.

المُتطلَّبات

نفترض، قبل البدء مع خطوات هذا الدّرس، أنّك تتوفّر على المتطلَّبات التّاليّة:

بإكمال الخطوات أعلاه تكون مستعدا لمتابعة هذا الدّرس.

الخطوة الأولى: ثبِّت phpMyAdmin

نبدأ بتنزيل وتثبيت phpMyAdmin من مستودعات أوبنتو عن طريق مدير الحزم apt:

sudo apt-get update
sudo apt-get install phpmyadmin

ستُطرَح عليك بعضُ الأسئلة لإعداد التّثبيت بما يُناسِب:

  • عند اختيار خادوم الويب اختَر apache2. ملحوظة: إن لم تضغط زر المسافة SPACE على لوحة المفاتيح لاختيّار Apache فلن ينقُل برنامج التّثبيت الملفّات الضّرورية أثناء التّثبيت. اختر زر SPACE على لوحة المفاتيح ثمّ زر TAB ثمّ زرّ ENTER لاختيّار Apache.
  • اختَر نعم (YES) عند السّؤال إذا ما كنت تُريد استخدام dbconfig-common لضبط قاعدة البيانات.
  • أدخِل كلمة سرّ مدير قاعدة البيانات عندما يُطلَب منك ذلك.
  • سيُطلب منك أيضًا اختيّار وتأكيد كلمة سرّ تطبيق phpMyAdmin نفسِه.

تُضيف عمليّة التّثبيت ملفّ إعداد phpMyAdmin إلى المُجلَّد /etc/apache2/conf-enabled/ حيثُ يقرؤه خادوم ويب Apache أوتوماتيكيًّا.

كلّ ما علينا فعله يدويًّا هو تفعيل امتداد Extension يحمل الاسم php5-mcrypt (واجهة للتّعامل مع مكتبة mcrypt الّتي تضم خوارزميّات للتّعميّة Encryption) عن طريق تنفيذ الأمر:

sudo php5enmod mcrypt

ستحتاج لإعادة تشغيل Apache لكي يتعرَّف على الامتداد الجديد:

sudo service apache2 restart

يُمكنك بعدها الولوج إلى واجهة الويب عن طريق إدخال عنوان IP العمومي لخادومك أو اسم النّطاق في شريط العناوين بمتصفّح الويب متبوعًا ب phpmyadmin/ كما يلي:

http://domain_name_or_IP/phpmyadmin

ملحوظة: إن كنت تجرِّب التّثبيت على جهازك المحلّي فيُمكنك الوصول إلى واجهة phpmyadmin عن طريق إدخال العنوان التّالي في شريط العناوين بمتصفّح الويب
http://127.0.0.1/phpmyadmin

يُمكنك الآن الولوج إلى واجهة الويب عن طريق حساب المستخدم الجذر الّذي أعددته أثناء تثبيت MySQL.
ستظهر عند تسجيل الدّخول واجهة المستخدِم والّتي تُشبه ما يلي:

الخطوة الثّانيّة: تأمين phpMyAdmin

أكملنا الآن تثبيت phpMyAdmin وسجلنا الدّخول إلى واجهة المستخدِم، لكن بقي أمر آخر. يستهدِف الكثيرُ من المخترقين phpMyAdmin نظرًا لشهرته، في محاولةٍ منهم لنيل طريقة للاتّصال بقاعدة البيانات. نحتاج لتأمين التّطبيق للمساعدة في الحماية من الاستخدام غير المُصرَّح به.
إحدى أسهل الطّرق لتأمين phpMyAdmin هيّ وضعُ بوّابة gateway أمام كامل التّطبيق. نستخدم الاستيثاق Authentication والتّصريح Authorization عن طريق ملفّات htaccess. المُضمَّنة في Apache.

1- إعداد Apache للسّماح بالتّجاوز Override في ملفّات htaccess.

يجب علينا أوّلًا تفعيل استخدام التّجاوز في ملفّات htaccess. وذلك بالتّعديل على ملفّ إعداد خاصّ بـ phpMyAdmin في خادوم ويب Apache. يعني تفعيل التّجاوز أنه يُمكن تعريف ملفّ htaccess. لمجلَّد مُحدَّد بحيثُ تُنفَّذ تعليمات ملفّ htaccess. الموجود في المجلَّد بدلًا من ملفّ htaccess. العامّ لخادوم الويب.
نُعدِّل على ملف إعداد phpMyAdmin الموجود في مجلّد Apache للإعدادات:

sudo nano /etc/apache2/conf-available/phpmyadmin.conf

نُضيف تعليمة AllowOverride All داخل مقطع

2- أنشئ ملفّ htaccess.

نبدأ الآن بعد أن فعَّلنا استخدامَ ملفّ htaccess. خاصّ بتطبيقنا، نبدأ بإنشاء هذا الملفّ من أجل إضافة إجراءات أمان إلى phpMyAdmin.
يجب أن يُنشَأ ملفّ htaccess. داخل مجلَّد التّطبيق. الأمر التّالي يُنشئ ثمّ يفتح الملفّ (يتطلّب صلاحيّات المستخدم الجذر):

sudo nano /usr/share/phpmyadmin/.htaccess

نُضيف التّعليمات التّالية داخل هذا الملفّ:

AuthType Basic
AuthName "Restricted Files
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

فلنلقِ نظرة على دلالة كل واحدة من هذه التّعليمات:

  • AuthType Basic: تُحدِّد AuthType نوع الاستيثاق الّذي سنطلُب وضعه. Basic تعني أنّنا سنستخدم الاستيثاق بكلمة سرّ عن طريق ملفّ يُسمّى ملفّ كلمة السّر.
  • AuthName: هذه التّعليمة تُحدِّد الرّسالة الّتي تظهر في مربّع طلب كلمة السّر عند محاولة الوصول إلى التّطبيق. يجب أن تكون هذه الرّسالة عامّة بحيثُ لا تُعطي أيّ معلومات عن ما تحميه كلمة السّر.
  • AuthUserFile: تُحدّد مكان حفظ ملفّ كلمة السّر المُستخدَمة للاستيثاق. يجب أن يُحفّظ الملفّ خارج المجلّدات الّتي يُقدّم منها خادوم الويب ملفّاتٍ للزوّار. سنُنشئ هذا الملفّ بعد قليل.
  • Require valid-user: تُحدّد نوعيةَ المستخدمين المسموح لهم بالوصول إلى المجلَّد المحمي. هذه التّعلمية أساسيّة من أجل منع وصول المستخدمين غير المُصرَّح لهم بالدّخول إلى التّطبيق.

احفَظ الملفّ (Ctrl + O) بعد التّعديل ثم أغلقه (Ctrl+ X).

3- أنشئ ملفّ htpasswd. للاستيثاق

عيّنّا أثناء إنشاء ملفّ htaccess. في الفقرة السّابقة طريقة استيثاق تعتمد على ملفّ كلمة سرّ، عبرَ تعليمة AuthUserFile. نُنشئ الآن هذا الملفّ.
سنحتاج إلى حزمة إضافيّة تعمل مع خادوم الويب لهذا الغرض، نُثبِّتها عبر الأمر:

sudo apt-get install apache2-utils

سنحصُل بعد اكتمال التّثبيت على أداة كلمات السّر في Apache.
الأمر التّالي يُنشئ ملفّ كلمة السّر في المسار الّذي عيّنّاه في ملفّ htaccess. ويُحدّد اسمَ مُستخدِم مرفقًا بهذا الملفّ:

sudo htpasswd -c /etc/phpmyadmin/.htpasswd username

سيُطلَب منك إعطاء ثمّ تأكيد كلمة سرّ المستخدِم الّذي تُنشئه (username في الأمر أعلاه).سيُنشأ بعدها ملفّ يحوي اسم المُستخدم وتلبيد Hash كلمة السّرّ (تُحفَظ كلمة السّرّ بعد تعميّتها Encryption).
تُمكن إضافة مُستخدم جديد عن طريق الأمر أعلاه ولكن بدون خيار c- كما يلي:

sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser

عند محاولة الولوج الآن إلى phpMyAdmin فسيُطلَب منك إدخال اسم الحساب الجديد وكلمة السّر المُصاحبة له الّذيْن ضبطتهما للتّو.

http://domain_name_or_IP/phpmyadmin

بعدَ تخطي استيثاق Apache ستُنقَل إلى واجهة phpMyAdmin حيثُ يجب عليك إدخال اعتمادات واجهة الويب الخاصّة بـ phpMyAdmin.
يُضيف هذا الإجراء طبقةً جديدة من الحماية تُساعِد في التّغلّب على أيّ نقاط ضعف قد تكون موجودة في phpMyAdmin.

خاتمة

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

ترجمة - وبتصرّف - لمقال How To Install and Secure phpMyAdmin on Ubuntu 14.04.


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...