نمایش نتایج: از شماره 1 تا 2 , از مجموع 2

موضوع: امن سازی بانک اطلاعاتی MySql

  1. #1
    عضو انجمن iranserver.com آواتار ها
    تاریخ عضویت
    Oct 2010
    نوشته ها
    100
    تشکر تشکر کرده 
    0
    تشکر تشکر شده 
    75
    تشکر شده در
    33 پست

    Exclamation امن سازی بانک اطلاعاتی MySql







    Mysql سرویس پایگاه داده بسیار معروف و پراستفاده از سرورهای لینوکسی و البته ویندوزی میباشد و با توجه گستردگی و پرکاربرد بودن این سرویس، امنیت آن نیز قابل توجه خواهد بود.‌ افزایش امنیت نرم افزارهای سرور قسمت مهمی از ساختار امنیتی یک سرور را تشکیل میدهد، در این مقاله سعی کردیم راهکارهای افزایش امنیت در سرویس Mysql سرور را بررسی کرده و از نفوذ و آسیب پذیری های متداول در این سرویس جلوگیری نماییم.



    غیرفعال سازی امکان دسترسی ناامن از راه دور به سرور:

    سرویس MySql بصورت پیش فرض از طریق پورت TCP/3306 از راه دور قابل دسترس است. چنانچه نیازی به دسترسی از راه دور به پایگاه داده ها وجود ندارد، این دسترسی را غیر فعال کنید.
    خط زیر را در فایل my.cnf ( ویا فایل پیکر بندی Mysql ) قرار دهید.



    skip-networking

    همچنین می توانید پورت ۳۳۰۶ را در فایروال سرور مسدود نمایید.

    بهینه سازی تنظیمات پیکربندی سرور:

    برای بهبود امنیت محلی، بهتر است استفاده از Local Data Local Infile غیرفعال شد. با اینکار از خواندن غیرمجاز فایل های محلی با استفاده از این دستور جلوگیری می شود. ازین دستور در تزریق دستورات SQL طریق سایت های تحت PHP بسیار استفاده میشود. برای غیرفعال سازی دستور زیر را به my.cnf اضافه کنید.



    local-infile=0

    برای اطمینان از اینکه دستور SHOW DATABASES فقط پایگاه داده هایی را نمایش میدهد که کاربر حق دسترسی به آن ها را ارد، باید دستور زیر به my.cnf اضافه شود.


    safe-show-database

    برای اطمینان از ایجاد کاربر جدید (با استفاده از دستور GRANT) تنها توسط کاربرانی که دارای مجوز INSERT بروی جدول user هستند، باید دستور زیر را به my.cnf اضافه کنید.



    safe-user-create


    افزودن دستور زیر به my.cnf برای جلوگیری از احراز هویت کاربرانی که پسورد آن ها با نسخه های قبل از MySql 4.1 ایجاد شده است، پیشنهاد می شود.


    safe-auth

    بهتر است اجازه استفاده از لینک های نمادین (symlink) برای ارتباط با جداول لغو شود، زیرا در صورتی که MySql با کاربر root فراخوانی می شود، هر کاربری حق نوشتن بروی مسیرهای داده سرور را دارد و می تواند فایل های پایگاه داده ها را از روی سیستم حذف کند. برای این منظور عبارت زیر را به my.cnf اضافه کنید.



    skip-symbolic-links
    حدف اشیا غیرضروری:

    پیشنهاد می شود اشیا غیرضروری در پایگاه داده MySql حذف شود زیرا ممکن است این موارد باعث بروز آسیب پذیری در MySql شود. از جمله این موارد دیتابیس های تستی و حساب های کاربری بی نام Anonymous هستند. برای حذف این موراد می توانید با کاربر root داده ها را Drop کنید.



    ;mysql> DROP DATABASE test
    حذف کردن فایل تاریخچه Mysql

    در هنگام نصب و کانفیگ mysql فایل مربوط به تاریخچه با جزئیاتی شامل اطلاعات نصب و راه اندازی و پیکربندی در مسیر زیر ذخیره می شود که دست یابی به اطلاعات آن به هر دلیلی منجر به افشا داده های حیاتی Mysql سرور شود. این فایل را حذف کنید. مسیر فایل بصورت زیر است.


    کد HTML:
    ~/.mysql_history
    تغییر نام کاربری root در MySql

    بهتر است نام کاربری اصلی سرویس MySql از root به نام جدید و غیرقابل حدس دیگری که براحتی قابل کشف نباشد تغییر دهید. برای این کار می توانید از کد زیر استفاده نمایید.



    ;mysql> USE mysql
    ;mysql> UPDATE user SET User=’new_username’ WHERE
    ;User=’root’
    ;mysql> FLUSH PRIVILEGES
    تنظیم حق دسترسی مناسب


    مطمئن شوید فایل my.cnf تنها توسط کاربر root قابل ویرایش باشد و این فایل در حالت read-only قرار گیرد. همچنین در مسیر ذخیره سازی اطلاعات دیتابیس از پرمیژن مناسب استفاده کنید. مسیر فایل my.cnf بصورت زیر است.



    etc/my.cnf/


    منبع :

    https://goo.gl/6Gp36s

  2. تعداد تشکر ها از iranserver.com به دلیل پست مفید


  3. # ADS




     

  4. #2
    کاربر اخراج شده
    تاریخ عضویت
    Oct 2015
    نوشته ها
    105
    تشکر تشکر کرده 
    98
    تشکر تشکر شده 
    47
    تشکر شده در
    35 پست

    پیش فرض پاسخ : امن سازی بانک اطلاعاتی MySql

    نقل قول نوشته اصلی توسط iranserver.com نمایش پست ها






    Mysql سرویس پایگاه داده بسیار معروف و پراستفاده از سرورهای لینوکسی و البته ویندوزی میباشد و با توجه گستردگی و پرکاربرد بودن این سرویس، امنیت آن نیز قابل توجه خواهد بود.‌ افزایش امنیت نرم افزارهای سرور قسمت مهمی از ساختار امنیتی یک سرور را تشکیل میدهد، در این مقاله سعی کردیم راهکارهای افزایش امنیت در سرویس Mysql سرور را بررسی کرده و از نفوذ و آسیب پذیری های متداول در این سرویس جلوگیری نماییم.



    غیرفعال سازی امکان دسترسی ناامن از راه دور به سرور:

    سرویس MySql بصورت پیش فرض از طریق پورت TCP/3306 از راه دور قابل دسترس است. چنانچه نیازی به دسترسی از راه دور به پایگاه داده ها وجود ندارد، این دسترسی را غیر فعال کنید.
    خط زیر را در فایل my.cnf ( ویا فایل پیکر بندی Mysql ) قرار دهید.



    skip-networking

    همچنین می توانید پورت ۳۳۰۶ را در فایروال سرور مسدود نمایید.

    بهینه سازی تنظیمات پیکربندی سرور:

    برای بهبود امنیت محلی، بهتر است استفاده از Local Data Local Infile غیرفعال شد. با اینکار از خواندن غیرمجاز فایل های محلی با استفاده از این دستور جلوگیری می شود. ازین دستور در تزریق دستورات SQL طریق سایت های تحت PHP بسیار استفاده میشود. برای غیرفعال سازی دستور زیر را به my.cnf اضافه کنید.



    local-infile=0

    برای اطمینان از اینکه دستور SHOW DATABASES فقط پایگاه داده هایی را نمایش میدهد که کاربر حق دسترسی به آن ها را ارد، باید دستور زیر به my.cnf اضافه شود.


    safe-show-database

    برای اطمینان از ایجاد کاربر جدید (با استفاده از دستور GRANT) تنها توسط کاربرانی که دارای مجوز INSERT بروی جدول user هستند، باید دستور زیر را به my.cnf اضافه کنید.



    safe-user-create


    افزودن دستور زیر به my.cnf برای جلوگیری از احراز هویت کاربرانی که پسورد آن ها با نسخه های قبل از MySql 4.1 ایجاد شده است، پیشنهاد می شود.


    safe-auth

    بهتر است اجازه استفاده از لینک های نمادین (symlink) برای ارتباط با جداول لغو شود، زیرا در صورتی که MySql با کاربر root فراخوانی می شود، هر کاربری حق نوشتن بروی مسیرهای داده سرور را دارد و می تواند فایل های پایگاه داده ها را از روی سیستم حذف کند. برای این منظور عبارت زیر را به my.cnf اضافه کنید.



    skip-symbolic-links
    حدف اشیا غیرضروری:

    پیشنهاد می شود اشیا غیرضروری در پایگاه داده MySql حذف شود زیرا ممکن است این موارد باعث بروز آسیب پذیری در MySql شود. از جمله این موارد دیتابیس های تستی و حساب های کاربری بی نام Anonymous هستند. برای حذف این موراد می توانید با کاربر root داده ها را Drop کنید.



    ;mysql> DROP DATABASE test
    حذف کردن فایل تاریخچه Mysql

    در هنگام نصب و کانفیگ mysql فایل مربوط به تاریخچه با جزئیاتی شامل اطلاعات نصب و راه اندازی و پیکربندی در مسیر زیر ذخیره می شود که دست یابی به اطلاعات آن به هر دلیلی منجر به افشا داده های حیاتی Mysql سرور شود. این فایل را حذف کنید. مسیر فایل بصورت زیر است.


    کد HTML:
    ~/.mysql_history
    تغییر نام کاربری root در MySql

    بهتر است نام کاربری اصلی سرویس MySql از root به نام جدید و غیرقابل حدس دیگری که براحتی قابل کشف نباشد تغییر دهید. برای این کار می توانید از کد زیر استفاده نمایید.



    ;mysql> USE mysql
    ;mysql> UPDATE user SET User=’new_username’ WHERE
    ;User=’root’
    ;mysql> FLUSH PRIVILEGES
    تنظیم حق دسترسی مناسب


    مطمئن شوید فایل my.cnf تنها توسط کاربر root قابل ویرایش باشد و این فایل در حالت read-only قرار گیرد. همچنین در مسیر ذخیره سازی اطلاعات دیتابیس از پرمیژن مناسب استفاده کنید. مسیر فایل my.cnf بصورت زیر است.



    etc/my.cnf/


    منبع :

    https://goo.gl/6Gp36s
    سلام
    این نوع کانفیگ برای سرور هاستینگ مشکلی ایجاد نمیکنه ؟

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. پاسخ ها: 2
    آخرين نوشته: March 9th, 2017, 19:27
  2. ****2 مشکل امنیتی جدید و حیاتی در MySQL*****
    توسط secure_host در انجمن PHP-MySQL
    پاسخ ها: 14
    آخرين نوشته: September 15th, 2016, 05:14
  3. مالتی مدیا آموزشی PHP & MySQL به زبان فارسی
    توسط rezakhan در انجمن شبکه های ویندوزی
    پاسخ ها: 0
    آخرين نوشته: September 29th, 2015, 15:41
  4. پاسخ ها: 14
    آخرين نوشته: August 11th, 2013, 00:44
  5. ارور Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (11)
    توسط pc.rootall در انجمن سوالات و مشکلات
    پاسخ ها: 8
    آخرين نوشته: July 20th, 2013, 16:37

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •