السلام عليكم ورحمة الله وبركاته
ايها الاعزاء ارجوا ان ينال الموضوع على اعجابكم واني هنا اتحدث عن موضوع مهم لمستخدمين لينوكس ومدراء الخوادم وهو mysql
وهذا الموضوع شروحات لبعض الاوامر التي ستفيدنيا في هذا الموضوع ان شاء الله :
البعض منكم يعرف كيفية ضبط ملف اعداد قواعد البيانات my.cnf
هناك خيار يمكن وضعه في هذا الملف يمنع عملية ربط القواعد بأي خادم خارجي وهي مفيده ايضا في عمليات الحماية للقواعد توضع العباره في خانه [mysqld] وهي جمله
او حل اخر نضع الجمله التالية بنفس المكان وهي
اي لا تعمل القواعد استماع الى من خلال localhost او الخادم نفسه
الامر الثاني وهو امر مفيد ومهم الجميع يضعه في ملف الاعداد لكن البعض لا يفهم ما هي الوظيفة الرئيسية له وسنشرح لكم ان شاء الله ما وظيفته
يستخدم هذا الامر لمنع تحميل البيانات المحلية LOAD DATA LOCAL INFILE من داخل قواعد البيانات في السيرفر وهي تساعد على كشف ملفات مهمه على السيرفر مثل /etc/passwd او ايا كان , وهذا الامر يمنع تحميل هذه البيانات وقرائتها من داخل القواعد .
ولتجربه وتأكد من صحة الكلام طبق التالي في ssh mysql
او
اﻷن نأتي لصيغه الصحيحه للامر وهي
وتضع داخل خانه
اﻷن عملية وضع باسورد mysql وهذا الموضوع مهم البعض يتركه سهل جدا وهذا يعد خلل امني داخل النظام والمرجو وضع كلمة المرور ان تكون قوية بعض الشيء تحتوي الرموز والارقام والحروف وطريقة تغير الباسورد هي كالتالي :
اكتب في الشل الامر التالي لتوليد كلمة مرور قوية مكونة من 50 خانه
سيكون المخرج عباره عن 50 خانه من الاحرف والارقام وبعدها نكتب الامر التالي
مع تغير
الى كلمة المرور التي قمت باستخراجها
التالي سيكون حذف قاعده البيانات test المتواجده في mysql وهذه القاعده تستخدم للاختبار على السيرفر ويمكن الوصول اليها من اي مستخدم مجهول وبالتالي وببساطه تستخدم للهجمات على السيرفر
والحل لها هو كالتالي :
حذف هذه القاعده عن طريق الامر التالي بعد الدخول ل mysql عن طريق ssh
التالي هو التأكد من التصاريح للمجلدات المتعلقه ب mysql وهذا مهم جدا في النظام وحاليا لندخل المجلد التالي على الخادم او الجهاز
عن طريق الامر التالي
وبعدها طبق
الملفات يملكها المجموعه mysql واليوزر الذي يملك هذه الملفات ايضا هو mysql
وايضا ندخل على المجلد التالي على الخادم بتطبيق الامر التالي
ونكتب بعدها
ونتأكد ايضا من تصاريح هذه الملفات يكون فقط للمستخدم الجذر root
مثال من المخرج
ايضا امر مهم جدا وهو امر اظهار قواعد البيانات على السيرفر
يمكن للمهاجم ان يقوم ببعض الاوامر التي تظهر معلومات عن قواعد البيانات على السيرفر او سرقتها ومن المستحسن اضافة الامر التالي في ملف اعداد قواعد البيانات على الخادم my.cnf بأضافة الامر التالي :
كالتالي
اظهار ملف تسجيل الاحداث على الخادم والكل يعرف اهمية log ﻷي مدير خوادم على الانترنت نقوم بأضافة الامر التالي داخل ملف الاعداد
داخل خانه
والقرأة تكون عن طريق الاوامر التالي
هناك سكربتات تقوم بأعداد ملف قواعد البيانات وتعطي قيم مناسبة لسيرفرك اذا كنت غير خبير او دارس خيارات هذا الملف /etc/my.cnf فهذا السكربت يقوم بعمل كل شيء عنك ويحسب القيم ويعطي لك تقرير بالقيم لكي تقوم بتغيرها في الملف يمكنك سحبة وتشغيله بهذه الاوامر
قبل التعديل على القيم التي سعرضها السكربت لك عليك اولاًَ اخذ نسخة احتياطية من ملف القواعد بحاله حدوث اخطاء يمكنك استعادته او تدقيق به مره اخرى وطريقة هي
وايضا تأكد ان قواعد البيانات لها اكثر من 72 ساعه تعمل ولم تتوقف لتكون نتائج بشكل دقيق جدا ويمكنك تأكد من وقت عملها عن طريق الامر التالي
وايضا عمل الامر التالي ﻷصلاح قواعد البيانات قبل تعديل القيم
ﻷنشاء قاعده بيانات عن طريق الشل العملية ان شاء الله سهله ورح تفيد مجموعه من الاعضاء هنا بأذن لله
اولاً
ندخل mysql وبعد رح يطلب باسورد root mysql نضعه ونكمل المسير
بعدها عملية انشاء قاعده البيانات
غير hardnix الى اسم القاعده التي تريدها
اﻷن
ﻷنشاء مستخدم للقاعده + باسورد للقاعده وربطهم مع بعضهم البعض كما في سيبنل على سبيل المثال
نستخدم الامر التالي
اﻷن انتهينا من عملية الربط بقي خطوه وهي عملية عمل فلش للقاعده اي تحظيرها + الخروج من mysql
ثم
بالاخر نحصل على :
مكان قاعده البيانات :
اسم قاعده البيانات :
اسم مستخدم القاعده :
الباسورد :
الى هنا ينتهي هذا الجزء وان شاء الله عندما اجد الوقت الكافي سأقوم بكتابه الجزء الثاني او التكملة
ارجوا ان يكون الموضوع قد نال اعجابكم تمنياتي لكم بالتوفيق
ايها الاعزاء ارجوا ان ينال الموضوع على اعجابكم واني هنا اتحدث عن موضوع مهم لمستخدمين لينوكس ومدراء الخوادم وهو mysql
وهذا الموضوع شروحات لبعض الاوامر التي ستفيدنيا في هذا الموضوع ان شاء الله :
البعض منكم يعرف كيفية ضبط ملف اعداد قواعد البيانات my.cnf
هناك خيار يمكن وضعه في هذا الملف يمنع عملية ربط القواعد بأي خادم خارجي وهي مفيده ايضا في عمليات الحماية للقواعد توضع العباره في خانه [mysqld] وهي جمله
كود:
[COLOR=Blue]skip-networking[/COLOR]
كود:
[COLOR=DarkRed]bind-address=127.0.0.1[/COLOR]
الامر الثاني وهو امر مفيد ومهم الجميع يضعه في ملف الاعداد لكن البعض لا يفهم ما هي الوظيفة الرئيسية له وسنشرح لكم ان شاء الله ما وظيفته
يستخدم هذا الامر لمنع تحميل البيانات المحلية LOAD DATA LOCAL INFILE من داخل قواعد البيانات في السيرفر وهي تساعد على كشف ملفات مهمه على السيرفر مثل /etc/passwd او ايا كان , وهذا الامر يمنع تحميل هذه البيانات وقرائتها من داخل القواعد .
ولتجربه وتأكد من صحة الكلام طبق التالي في ssh mysql
كود:
mysql> LOAD DATA LOCAL INFILE '/etc/passwd' INTO TABLE hardnix
كود:
[COLOR=Olive]mysql> SELECT load_file("/etc/passwd")[/COLOR]
كود:
[COLOR=DimGray]set-variable=local-infile=0[/COLOR]
[mysqld]
اﻷن عملية وضع باسورد mysql وهذا الموضوع مهم البعض يتركه سهل جدا وهذا يعد خلل امني داخل النظام والمرجو وضع كلمة المرور ان تكون قوية بعض الشيء تحتوي الرموز والارقام والحروف وطريقة تغير الباسورد هي كالتالي :
اكتب في الشل الامر التالي لتوليد كلمة مرور قوية مكونة من 50 خانه
كود:
</dev/urandom tr -dc A-Za-z0-9 | head -c50
كود:
mysqladmin -u root password 'CRXYlfCkJC1z'
كود:
CRXYlfCkJC1z
التالي سيكون حذف قاعده البيانات test المتواجده في mysql وهذه القاعده تستخدم للاختبار على السيرفر ويمكن الوصول اليها من اي مستخدم مجهول وبالتالي وببساطه تستخدم للهجمات على السيرفر
والحل لها هو كالتالي :
حذف هذه القاعده عن طريق الامر التالي بعد الدخول ل mysql عن طريق ssh
كود:
mysql> drop database test;
كود:
/var/lib/mysql
كود:
cd /var/lib/mysql
كود:
[COLOR=Red]ls -l total 20484 -rw-rw---- 1 [COLOR=Green]mysql mysql[/COLOR] 10485760 Oct 21 23:28 ibdata1 -rw-rw---- 1 [COLOR=Green]mysql mysql[/COLOR] 5242880 Oct 21 23:28 ib_logfile0 -rw-rw---- 1 [COLOR=Green]mysql mysql[/COLOR] 5242880 Oct 21 23:28 ib_logfile1 drwx------ 2 [COLOR=Green]mysql mysql[/COLOR] 4096 Oct 21 23:28 mysql srwxrwxrwx 1 [COLOR=Green]mysql mysql [/COLOR] 0 Oct 21 23:28 mysql.sock[/COLOR]
وايضا ندخل على المجلد التالي على الخادم بتطبيق الامر التالي
كود:
cd /usr/bin/
كود:
ls -l | grep my
مثال من المخرج
كود:
-rwxr-xr-x 1 [COLOR=Green]root root[/COLOR] 347380 Aug 29 07:45 mythfilldatabase -rwxr-xr-x 1 [COLOR=Green]root root[/COLOR] 2062376 Aug 29 07:45 mythfrontend -rwxr-xr-x 1 [COLOR=Green]root root[/COLOR] 31024 Aug 29 07:45 mythjobqueue -rwxr-xr-x 1 [COLOR=Green]root root[/COLOR] 223752 Aug 29 07:45 mythlcdserver -rwxr-xr-x 1 [COLOR=Green]root root [/COLOR] 1529 Aug 29 07:12 mythpython -rwxr-xr-x 1 [COLOR=Green]root root [/COLOR] 88700 Aug 29 07:45 mythreplex
يمكن للمهاجم ان يقوم ببعض الاوامر التي تظهر معلومات عن قواعد البيانات على السيرفر او سرقتها ومن المستحسن اضافة الامر التالي في ملف اعداد قواعد البيانات على الخادم my.cnf بأضافة الامر التالي :
كود:
skip-show-database
[mysqld]
بأختصار لن يقوم احد من يوزر بأظهار اي قواعد بيانات ليوزر اخر على السيرفركود:
skip-show-database
اظهار ملف تسجيل الاحداث على الخادم والكل يعرف اهمية log ﻷي مدير خوادم على الانترنت نقوم بأضافة الامر التالي داخل ملف الاعداد
داخل خانه
[mysqld]
وايضا عمل سجل للاحداث البطيئة في استعلامات mysql لكي تتمكن من معالجة الاخطاء داخل قواعد البيانات مثل منتديات vb كود:
log =/var/log/secsql.log
كود:
log-slow-queries=/var/lib/mysql/slow.log
كود:
tail -f /var/log/secsql.log tail -f /var/lib/mysql/slow.log
كود:
[COLOR=RoyalBlue]wget http://mysqltuner.com/mysqltuner.pl chmod u+x mysqltuner.pl ./mysqltuner.pl [/COLOR]
كود:
cp /etc/my.cnf /etc/my.cnf.hardnix
كود:
mysqladmin version | grep Uptime
كود:
mysqlcheck -u root -p --auto-repair --check --optimize --all-databases
اولاً
ندخل mysql وبعد رح يطلب باسورد root mysql نضعه ونكمل المسير
كود:
mysql -p
كود:
create database hardnix;
اﻷن
ﻷنشاء مستخدم للقاعده + باسورد للقاعده وربطهم مع بعضهم البعض كما في سيبنل على سبيل المثال
نستخدم الامر التالي
كود:
grant all privileges on hardnix.* to 'GEEKZ'@'localhost' identified by "CIQDfoVUWC";
كود:
flush privileges;
كود:
exit;
مكان قاعده البيانات :
كود:
localhost
كود:
Hardnix
كود:
GEEKZ
كود:
CIQDfoVUWC
الى هنا ينتهي هذا الجزء وان شاء الله عندما اجد الوقت الكافي سأقوم بكتابه الجزء الثاني او التكملة
ارجوا ان يكون الموضوع قد نال اعجابكم تمنياتي لكم بالتوفيق
تعليق