كيفية اعداد أس أس أل/تلس لـ ماي إس كيو إل على دبيان و أوبونتو

Configure SSL/TLS for MySQL on Ubuntu

طبقة المقبس الآمنة (SSL) وأمن طبقة النقل (TLS) هي بروتوكولات تشفير تستخدم لإنشاء اتصالات آمنة بين العميل والخادم. عندما يتعلق الأمر بأنظمة إدارة قواعد البيانات مثل MySQL، فإن إعدادات SSL/TLS يمكن أن يساعد في حماية البيانات الحساسة أثناء الإرسال. في هذه المقالة، سنرشدك خلال عملية إعدادات SSL/TLS لـ MySQL على Ubuntu.

متطلبات

قبل أن نبدأ، تأكد من أن لديك المتطلبات التالية:

  1. خادم Ubuntu / debian مع MySQL مثبت.
  2. وصول الجذر أو sudo إلى الخادم.
  3. اسم نطاق مسجل أو عنوان IP صالح.

الخطوة 1: إنشاء شهادات SSL/TLS

الخطوة الأولى هي إنشاء شهادات SSL/TLS لـ MySQL. اتبع هذه الخطوات:

1- افتح نافذة على خادم Ubuntu الخاص بك.

2- توليد مفتاح خاص من خلال تشغيل الأمر التالي:

$ openssl genrsa -out server-key.pem 2048 

سيولد هذا الأمر ملفًا مفتاحًا خاصًا يسمى server-key.pem.

3- بعد ذلك، قم بإنشاء طلب توقيع شهادة (CSR) من خلال تنفيذ الأمر التالي:

$ openssl req -new -key server-key.pem -out server-csr.pem 

سيولد هذا الأمر ملف CSR اسمه server-csr.pem. سيُطلب منك تقديم معلومات مثل البلد والدولة والتنظيم والاسم الشائع (اسم النطاق أو عنوان IP).

الآن، قم بإنشاء شهادة SSL/TLS موقعة ذاتيًا باستخدام CSR من خلال تشغيل الأمر التالي:

$ openssl x509 -req -in server-csr.pem -signkey server-key.pem -out server-cert.pem 

سيولد هذا الأمر شهادة موقعة ذاتيًا تسمى server-cert.pem.

5- أخيرًا، انقل الشهادة والملفات الرئيسية المولدة إلى دليل MySQL SSL/TLS عن طريق تشغيل الأوامر التالية:

$ sudo mv server-key.pem /etc/mysql/mysql-server-key.pem
$ sudo mv server-cert.pem /etc/mysql/mysql-server-cert.pem 
$ sudo mv server-csr.pem /etc/mysql/mysql-server-csr.pem 

هذه الأوامر تنقل الملفات إلى /etc/mysql/ الدليل، وهو دليل SSL/TLS الافتراضي لـ MySQL على Ubuntu.

الخطوة 2: ضبط MySQL لاستخدام SSL/TLS

بعد إنشاء شهادات SSL/TLS، نحتاج إلى إعدادات MySQL لاستخدامها. اتبع هذه الخطوات:

1- افتح ملف إعدادات MySQL باستخدام محرر نصوص. على سبيل المثال:

$ sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

2- حدد موقع [mysqld] في ملف الاعدادات.

3- تضاف السطور التالية لتمكين SSL/TLS:

ssl-ca=/etc/mysql/mysql-server-cert.pem 
ssl-cert=/etc/mysql/mysql-server-cert.pem 
ssl-key=/etc/mysql/mysql-server-key.pem 

تحدد هذه الخطوط المسارات إلى شهادة SSL/TLS والملفات الرئيسية التي تم إنشاؤها في الخطوة 1.

4- حفظ التغييرات وخرج من محرر النص.

5- إعادة تشغيل خدمة MySQL لتطبيق تغييرات التكوين:

$ sudo service mysql restart 

سيتم الآن تكوين MySQL لاستخدام SSL/TLS للاتصالات الآمنة.

الخطوة 3: إعداد اتصالات آمنة للعملاء عن بُعد

لتكوين اتصالات آمنة للعملاء عن بعد، اتبع هذه الخطوات:

1- افتح ملف إعدادات MySQL باستخدام محرر نصوص. على سبيل المثال:

$ sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

2- حدد موقع [mysqld] في ملف الإعدادات.

3-يضاف السطر التالي لتمكين العملاء عن بُعد من الحصول على خدمات SSL/TLS:

require_secure_transport=ON 

يضمن هذا الخط أن العملاء عن بعد يجب أن يستخدموا SSL/TLS للاتصال بخادم MySQL.

4- حفظ التغييرات وخرج من محرر النص.

5- إعادة تشغيل خدمة MySQL لتطبيق تغييرات التكوين:

$ sudo service mysql restart 

سيتطلب MySQL الآن من العملاء عن بُعد استخدام SSL/TLS للاتصالات الآمنة.

الخطوة 4: التحقق من الإعدادات SSL/TLS

للتحقق مما إذا كان SSL/TLS قد تم إعداده بشكل صحيح لـ MySQL، اتبع هذه الخطوات:

1- افتح عميل MySQL من خلال تشغيل الأمر التالي:

$ mysql -u root -p

2- أدخل كلمة مرور جذر MySQL عند الطلب.

3- بمجرد تسجيل الدخول إلى قوقعة MySQL، نفذ الأمر التالي للتحقق مما إذا كان SSL/TLS ممكنًا:

sql> SHOW VARIABLES LIKE 'have_ssl'; 

إذا أظهر الناتج have_ssl على أنه YES، يتم تمكين SSL/TLS ويعمل بشكل صحيح.

لعرض إعدادات SSL/TLS، نفذ الأمر التالي:

sql> SHOW VARIABLES LIKE 'ssl%'; 

سيعرض الناتج متغيرات مختلفة متعلقة بـ SSL/TLS، بما في ذلك المسارات إلى الشهادة والملفات الرئيسية.

5- يمكنك أيضًا اختبار اتصالات SSL/TLS من خلال محاولة الاتصال بخادم MySQL باستخدام SSL/TLS. على سبيل المثال:

$ mysql -u root -p --ssl-ca=/etc/mysql/mysql-server-cert.pem --ssl-cert=/etc/mysql/mysql-server-cert.pem --ssl-key=/etc/mysql/mysql-server-key.pem 

إذا كان الاتصال ناجحًا، فإن SSL/TLS تعمل بشكل صحيح.

خلاصة

يضيف تكوين SSL/TLS لـ MySQL على Ubuntu طبقة إضافية من الأمان إلى نظام قاعدة البيانات الخاص بك، مما يضمن بقاء البيانات الحساسة محمية أثناء الإرسال. من خلال اتباع الخطوات الموضحة في هذه المقالة، يمكنك إنشاء شهادات SSL/TLS، وتهيئة MySQL لاستخدامها، وتمكين الاتصالات الآمنة للعملاء عن بُعد. تذكر أن تقوم بتحديث شهادات SSL/TLS بانتظام للحفاظ على أعلى مستوى من الأمان لخادم MySQL الخاص بك.

LEAVE A COMMENT