النتائج 1 إلى 4 من 4

الموضوع: Mini MySQL

  1. #1
    عضو جديد
    تاريخ التسجيل
    Apr 2010
    المشاركات
    2

    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


  2. #2
    عضو فعال
    تاريخ التسجيل
    Apr 2008
    المشاركات
    1,020


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





    __________________
    Host.jo

    screen -ls Love You
    مهندس برمجيات
    ماجستير نظم امن وحمايه المعلومات

  3. #3
    عضو سوبر نشيط
    تاريخ التسجيل
    Nov 2005
    المشاركات
    779


    شكرا اخي

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





    التعديل الأخير تم بواسطة عبقري العرب ; 05-12-2010 الساعة 10:29 AM
    __________________
    أهلا و سهلا بكم في :-
    موقع دار الأوائل
    تفضل معنا خدمات الاستضافة
    موقع العبقري لخدمات الاستضافة

  4. #4
    عضو نشيط
    تاريخ التسجيل
    May 2010
    المشاركات
    52


    بارك الله فيك










ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

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