سوالف اندرويد




العودة   سوالف سوفت > سوالف الشبكات والاستضافة وما يتعلق بهما > الشبكات والخوادم وقواعد البيانات
التسجيل المدوّنات البحث مشاركات اليوم جعل الأقسام مقروءة

الرد على الموضوع
 
LinkBack أدوات الموضوع
عضو جديد
#1  
Mini MySQL


السلام عليكم ورحمة الله وبركاته
ايها الاعزاء يبدو ان البعض من مستخدمين لينوكس و مدراء الخوادم يعانون من مشكله فهم اوامر mysql
وهذا الموضوع شروحات لبعض الاوامر التي ستفيدنيا في هذا الموضوع ان شاء الله :
البعض منكم يعرف كيفية ضبط ملف اعداد قواعد البيانات my.cnf
هناك خيار يمكن وضعه في هذا الملف يمنع عملية ربط القواعد بأي خادم خارجي وهي مفيده ايضا في عمليات الحماية للقواعد توضع العباره في خانه [mysqld] وهي جمله
كود:
skip-networking
او حل اخر نضع الجمله التالية بنفس المكان وهي
كود:
bind-address=127.0.0.1
اي لا تعمل القواعد استماع الى من خلال localhost او الخادم نفسه

الامر الثاني وهو امر مفيد ومهم الجميع يضعه في ملف الاعداد لكن البعض لا يفهم ما هي الوظيفة الرئيسية له وسنشرح لكم ان شاء الله ما وظيفته
يستخدم هذا الامر لمنع تحميل البيانات المحلية LOAD DATA LOCAL INFILE من داخل قواعد البيانات في السيرفر وهي تساعد على كشف ملفات مهمه على السيرفر مثل /etc/passwd او ايا كان , وهذا الامر يمنع تحميل هذه البيانات وقرائتها من داخل القواعد .
ولتجربه وتأكد من صحة الكلام طبق التالي في ssh mysql
كود:
mysql> LOAD DATA LOCAL INFILE '/etc/passwd' INTO TABLE hardnix
او
كود:
mysql> SELECT load_file("/etc/passwd")
اﻷن نأتي لصيغه الصحيحه للامر وهي
كود:
set-variable=local-infile=0
وتضع داخل خانه
[mysqld]

اﻷن عملية وضع باسورد mysql وهذا الموضوع مهم البعض يتركه سهل جدا وهذا يعد خلل امني داخل النظام والمرجو وضع كلمة المرور ان تكون قوية بعض الشيء تحتوي الرموز والارقام والحروف وطريقة تغير الباسورد هي كالتالي :
اكتب في الشل الامر التالي لتوليد كلمة مرور قوية مكونة من 50 خانه
كود:
</dev/urandom tr -dc A-Za-z0-9 | head -c50
سيكون المخرج عباره عن 50 خانه من الاحرف والارقام وبعدها نكتب الامر التالي

كود:
mysqladmin -u root password 'CRXYlfCkJC1z'
مع تغير
كود:
CRXYlfCkJC1z
الى كلمة المرور التي قمت باستخراجها

التالي سيكون حذف قاعده البيانات test المتواجده في mysql وهذه القاعده تستخدم للاختبار على السيرفر ويمكن الوصول اليها من اي مستخدم مجهول وبالتالي وببساطه تستخدم للهجمات على السيرفر
والحل لها هو كالتالي :
حذف هذه القاعده عن طريق الامر التالي بعد الدخول ل mysql عن طريق ssh
كود:
mysql> drop database test;
التالي هو التأكد من التصاريح للمجلدات المتعلقه ب mysql وهذا مهم جدا في النظام وحاليا لندخل المجلد التالي على الخادم او الجهاز
كود:
/var/lib/mysql
عن طريق الامر التالي
كود:
cd /var/lib/mysql
وبعدها طبق
كود:
 ls -l
total 20484
-rw-rw---- 1 mysql mysql 10485760 Oct 21 23:28 ibdata1
-rw-rw---- 1 mysql mysql  5242880 Oct 21 23:28 ib_logfile0
-rw-rw---- 1 mysql mysql  5242880 Oct 21 23:28 ib_logfile1
drwx------ 2 mysql mysql     4096 Oct 21 23:28 mysql
srwxrwxrwx 1 mysql mysql        0 Oct 21 23:28 mysql.sock
الملفات يملكها المجموعه mysql واليوزر الذي يملك هذه الملفات ايضا هو mysql

وايضا ندخل على المجلد التالي على الخادم بتطبيق الامر التالي
كود:
cd /usr/bin/
ونكتب بعدها
كود:
ls -l | grep my
ونتأكد ايضا من تصاريح هذه الملفات يكون فقط للمستخدم الجذر root
مثال من المخرج
كود:
-rwxr-xr-x  1 root root      347380 Aug 29 07:45 mythfilldatabase
-rwxr-xr-x  1 root root     2062376 Aug 29 07:45 mythfrontend
-rwxr-xr-x  1 root root       31024 Aug 29 07:45 mythjobqueue
-rwxr-xr-x  1 root root      223752 Aug 29 07:45 mythlcdserver
-rwxr-xr-x  1 root root        1529 Aug 29 07:12 mythpython
-rwxr-xr-x  1 root root       88700 Aug 29 07:45 mythreplex
ايضا امر مهم جدا وهو امر اظهار قواعد البيانات على السيرفر
يمكن للمهاجم ان يقوم ببعض الاوامر التي تظهر معلومات عن قواعد البيانات على السيرفر او سرقتها ومن المستحسن اضافة الامر التالي في ملف اعداد قواعد البيانات على الخادم my.cnf بأضافة الامر التالي :
كود:
skip-show-database
كالتالي
[mysqld]

كود:
skip-show-database
بأختصار لن يقوم احد من يوزر بأظهار اي قواعد بيانات ليوزر اخر على السيرفر

اظهار ملف تسجيل الاحداث على الخادم والكل يعرف اهمية log ﻷي مدير خوادم على الانترنت نقوم بأضافة الامر التالي داخل ملف الاعداد
داخل خانه
[mysqld]

كود:
log =/var/log/secsql.log
وايضا عمل سجل للاحداث البطيئة في استعلامات mysql لكي تتمكن من معالجة الاخطاء داخل قواعد البيانات مثل منتديات vb
كود:
log-slow-queries=/var/lib/mysql/slow.log
والقرأة تكون عن طريق الاوامر التالي
كود:
tail -f /var/log/secsql.log
tail -f /var/lib/mysql/slow.log
هناك سكربتات تقوم بأعداد ملف قواعد البيانات وتعطي قيم مناسبة لسيرفرك اذا كنت غير خبير او دارس خيارات هذا الملف /etc/my.cnf فهذا السكربت يقوم بعمل كل شيء عنك ويحسب القيم ويعطي لك تقرير بالقيم لكي تقوم بتغيرها في الملف يمكنك سحبة وتشغيله بهذه الاوامر
كود:
wget http://mysqltuner.com/mysqltuner.pl
chmod u+x mysqltuner.pl
./mysqltuner.pl
قبل التعديل على القيم التي سعرضها السكربت لك عليك اولاًَ اخذ نسخة احتياطية من ملف القواعد بحاله حدوث اخطاء يمكنك استعادته او تدقيق به مره اخرى وطريقة هي
كود:
cp /etc/my.cnf /etc/my.cnf.hardnix
وايضا تأكد ان قواعد البيانات لها اكثر من 72 ساعه تعمل ولم تتوقف لتكون نتائج بشكل دقيق جدا ويمكنك تأكد من وقت عملها عن طريق الامر التالي
كود:
mysqladmin version | grep Uptime
وايضا عمل الامر التالي ﻷصلاح قواعد البيانات قبل تعديل القيم
كود:
mysqlcheck -u root -p --auto-repair --check --optimize --all-databases
ﻷنشاء قاعده بيانات عن طريق الشل العملية ان شاء الله سهله ورح تفيد مجموعه من الاعضاء هنا بأذن لله
اولاً
ندخل mysql وبعد رح يطلب باسورد root mysql نضعه ونكمل المسير
كود:
mysql -p
بعدها عملية انشاء قاعده البيانات
كود:
create database hardnix;
غير hardnix الى اسم القاعده التي تريدها
اﻷن
ﻷنشاء مستخدم للقاعده + باسورد للقاعده وربطهم مع بعضهم البعض كما في سيبنل على سبيل المثال
نستخدم الامر التالي
كود:
grant all privileges on hardnix.* to 'GEEKZ'@'localhost' identified by "CIQDfoVUWC";
اﻷن انتهينا من عملية الربط بقي خطوه وهي عملية عمل فلش للقاعده اي تحظيرها + الخروج من mysql

كود:
flush privileges;
ثم
كود:
exit;
بالاخر نحصل على :
مكان قاعده البيانات :
كود:
localhost
اسم قاعده البيانات :
كود:
Hardnix
اسم مستخدم القاعده :
كود:
GEEKZ
الباسورد :
كود:
CIQDfoVUWC

الى هنا ينتهي هذا الجزء وان شاء الله عندما اجد الوقت الكافي سأقوم بكتابه الجزء الثاني او التكملة
ارجوا ان يكون الموضوع قد نال اعجابكم تمنياتي لكم بالتوفيق


كامل حقوق الموضوع محفوظة ل
HardNix.com & Haitham Hani

Greets T0 Anass Atef & Abu Omar & Mustafa Mahmoud & Ramy Allam & Sameh
محمد شحاده و سامح الشورى
وجميع الباقين






__________________
HardNix For Information Technology
http://www.hardnix.com
GeekZ is offline   قديم 04-12-2010, 01:21 AM
الرد مع إقتباس
عضو فعال
#2  

ممتاز اخي شرح رائع






__________________
Host.jo

screen -ls Love You
مهندس برمجيات
ماجستير نظم امن وحمايه المعلومات
jh.jo is online now   قديم 05-12-2010, 01:44 AM
الرد مع إقتباس
عضو سوبر نشيط
#3  

شكرا اخي

بس عندي نقطه وحده في كلامك عن skip-show-database
انا افضل ان تستخدم safe-show-database بدل skip-show-database
حيث انها لا تستلزم صلاحيات show database;






__________________
أهلا و سهلا بكم في :-
موقع دار الأوائل
تفضل معنا خدمات الاستضافة
موقع العبقري لخدمات الاستضافة

آخر تعديل بواسطة عبقري العرب في 05-12-2010 الساعة 09:29 AM.
عبقري العرب is offline   قديم 05-12-2010, 09:25 AM
الرد مع إقتباس
عضو نشيط
#4  

بارك الله فيك






عمر القريشي is offline   قديم 01-01-2011, 06:44 PM
الرد مع إقتباس
الرد على الموضوع



أدوات الموضوع

قوانين المشاركات
لا يمكنك كتابة مواضيع جديدة
لا يمكنك إضافة ردود
لا يمكنك إرسال مرفقات
لا يمكنك تعديل مشاركاتك

كود vB متاح
كود [IMG] متاح
كود HTML غير متاح
Trackbacks are متاح
Pingbacks are متاح
Refbacks are متاح


المواضيع المشابهه
الموضوع كاتب الموضوع القسم الردود آخر مشاركة
What is Mac Mini Good for young coder القسم العام 9 17-06-2009 11:46 PM
MiNi-CallEr V.1 With AJAX MiNi.SpIdEr PHP 3 23-07-2008 03:30 PM
RAID 5 mini-HowTo LinuxAC الشبكات والخوادم وقواعد البيانات 14 18-07-2007 09:42 AM
Mini How To IPTables Eng. Amr سوالف الاستضافة 13 20-08-2006 09:23 PM
mini web shop مرعوب الويب والويب 2.0 والـ Semantic Web 8 31-12-2003 11:46 PM


جميع الأوقات بتوقيت غرينتش +3. الوقت الآن هو 11:58 AM.