إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

خفايف mysql

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • [مقال] خفايف mysql

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

    الامر الثاني وهو امر مفيد ومهم الجميع يضعه في ملف الاعداد لكن البعض لا يفهم ما هي الوظيفة الرئيسية له وسنشرح لكم ان شاء الله ما وظيفته
    يستخدم هذا الامر لمنع تحميل البيانات المحلية 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
    سيكون المخرج عباره عن 50 خانه من الاحرف والارقام وبعدها نكتب الامر التالي

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

    التالي سيكون حذف قاعده البيانات test المتواجده في mysql وهذه القاعده تستخدم للاختبار على السيرفر ويمكن الوصول اليها من اي مستخدم مجهول وبالتالي وببساطه تستخدم للهجمات على السيرفر
    والحل لها هو كالتالي :
    حذف هذه القاعده عن طريق الامر التالي بعد الدخول ل mysql عن طريق ssh
    كود:
    mysql> drop database test;
    التالي هو التأكد من التصاريح للمجلدات المتعلقه ب mysql وهذا مهم جدا في النظام وحاليا لندخل المجلد التالي على الخادم او الجهاز
    كود:
    /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]
    الملفات يملكها المجموعه mysql واليوزر الذي يملك هذه الملفات ايضا هو mysql

    وايضا ندخل على المجلد التالي على الخادم بتطبيق الامر التالي
    كود:
    cd /usr/bin/
    ونكتب بعدها
    كود:
    ls -l | grep my
    ونتأكد ايضا من تصاريح هذه الملفات يكون فقط للمستخدم الجذر root
    مثال من المخرج
    كود:
    -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]

    كود:
    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 فهذا السكربت يقوم بعمل كل شيء عنك ويحسب القيم ويعطي لك تقرير بالقيم لكي تقوم بتغيرها في الملف يمكنك سحبة وتشغيله بهذه الاوامر
    كود:
    [COLOR=RoyalBlue]wget http://mysqltuner.com/mysqltuner.pl
    chmod u+x mysqltuner.pl
    ./mysqltuner.pl
    [/COLOR]
    قبل التعديل على القيم التي سعرضها السكربت لك عليك اولاًَ اخذ نسخة احتياطية من ملف القواعد بحاله حدوث اخطاء يمكنك استعادته او تدقيق به مره اخرى وطريقة هي
    كود:
    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

    الى هنا ينتهي هذا الجزء وان شاء الله عندما اجد الوقت الكافي سأقوم بكتابه الجزء الثاني او التكملة
    ارجوا ان يكون الموضوع قد نال اعجابكم تمنياتي لكم بالتوفيق
    التعديل الأخير تم بواسطة GeekZ; الساعة 25-10-2010, 05:55 PM.

  • #2
    بالنسبة للعنوان هل تقصد خفايا ؟

    تعليق


    • #3
      بارك الله فيك أخي العزيز على الموضوع والذي لا شك أنه سيكون مفيدا للكثيرين ومرجعا لهم، لي تحفظ على هذه الجملة

      ايها الاعزاء يبدو ان البعض من مستخدمين لينوكس و مدراء الخوادم يعانون من مشكله فهم اوامر mysql
      أول قراءة توحي بأن مستخدمي GNU/Linux الوحيدون الذين فيهم من لا يملك معرفة بالـ MySQL

      تحياتي لك أخي العزيز.
      والمرء ساع لأمر ليس يدركه .. والعيش شح وإشفاق وتأميل
      مدونتي
      http://www.silencker.com

      تعليق


      • #4
        بسم الله الرحمن الرحيم

        تم التعديل بناء على اقتراح المشرف العزيز إيهاب ،


        بارك الله فيك ،
        التعديل الأخير تم بواسطة مصعب الزعبي; الساعة 25-10-2010, 04:38 PM.
        (لَا تَحْسَبَنَّ الَّذِينَ يَفْرَحُونَ بِمَا أَتَوا وَّيُحِبُّونَ أَن يُحْمَدُوا بِمَا لَمْ يَفْعَلُوا فَلَا تَحْسَبَنَّهُم بِمَفَازَةٍ مِّنَ الْعَذَابِ وَلَهُمْ عَذَابٌ أَلِيمٌ)
        آل عمران 188
        قال رسول الله صلى الله عليه و سلم :
        {لا يشكر الله من لا يشكر الناس}
        {من كان يؤمن بالله واليوم الآخر،فليقل خيراً أو ليصمت}

        جميع المساهمات الحاملة لهذا التوقيع تخضع لرخصة وقف
        أسأل الله العظيم رب العرش العظيم أن يحسن من حال أمتي

        تعليق


        • #5
          المشاركة الأصلية بواسطة إيهاب الجداوى مشاهدة المشاركة
          بالنسبة للعنوان هل تقصد خفايا ؟
          اهلا بالاخ ايهاب منور ﻷ انا اقصد بالموضوع كما هو هي ليست خفايا لكن تقدر تتكلم عنها انها عباره عن رؤوس اقلام لبعض المواضيع وقصدت خفايف اي امور بسيطه وخفيفه
          الا اذا اقترحت اسم جديد وانا جاهز ﻷني احترت بالاسم

          تعليق


          • #6
            المشاركة الأصلية بواسطة SilenCker مشاهدة المشاركة
            بارك الله فيك أخي العزيز على الموضوع والذي لا شك أنه سيكون مفيدا للكثيرين ومرجعا لهم، لي تحفظ على هذه الجملة

            أول قراءة توحي بأن مستخدمي GNU/Linux الوحيدون الذين فيهم من لا يملك معرفة بالـ MySQL

            تحياتي لك أخي العزيز.
            اشكرك على دقة الملاحظة التي لديك يبدوا ان الخطأ لم انتبه له واستميحك عذرا وسأقوم بتعديلها
            دخول استاذ مثلك على موضوعي شرف لي
            احترامي

            تعليق


            • #7
              المشاركة الأصلية بواسطة مصعب الزعبي مشاهدة المشاركة
              بسم الله الرحمن الرحيم

              تم التعديل بناء على اقتراح المشرف العزيز إيهاب ،


              بارك الله فيك ،
              اهلا بك نورت يا غالي

              تعليق


              • #8
                بسم الله الرحمن الرحيم

                ممكن اضيف لك
                اول ماتعمل تسطيب لل mysql ممكن تستخدم
                mysql_secure_installation
                دى سكريبت جاهز بينزل مع الماى سيكول وفى شوية اعدادت جميله جدا بتظبط السيكيورتيى زى امك تمسح جدول ال test وانك تسمح للروت ان يعمل لوج ان من ريموت سيستم والا لا و و و

                فى امان الله
                سلام
                Mostafa Hamouda
                Master Linux
                Redhat Certified Engineer

                تعليق

                يعمل...
                X