
روش های افزایش امنیت MySQL
پیش از بررسی افزایش امنیت MySQL بهتر است بدانیم، زمان زیادیست که پایگاه داده ها ( دیتابیس) به عنوان یک جزء مهم از ساختار وب سایت ها به شمار می روند؛ به طوری که حتی می توان از آن به عنوان مهم ترین بخش یاد کرد. امروزه، جریان به سمتی پیش رفته است که بسیاری از قسمت های زیر ساخت شما بی استفاده و به درد نخور تلقی می شوند و این، بار روی شانه پایگاه های داده را چند برابر می کند تا هم قابل اطمینان باشند و هم ایمن؛ زیرا پایگاه داده منبع اصلی داده های شما و در نتیجه هدف اصلی حملات هکر های می باشد.دیتابیس MySQL، به دلیل سرعت بالا و استفاده راحت، همواره از پایگاه های داده محبوب تولید کنندگان و مدیران بوده است. متأسفانه، راحتی استفاده، به قیمت کاهش امنیت می باشد؛ اما اقداماتی وجود دارد که می تواند امنیت آن را بالاتر ببرد. در ادامه با پنج مورد از این موارد که به ایمن سازی MySQL کمک می کنند آشنا خواهیم شد.
- 1. تنظیم کلمه عبور قوی و ایمن (Secure Password)
- دسترسی روت (Root)
- 2. حذف کاربر های ناشناس
- 3. پیروی از اصل کمینه سازی مجوز و privileges
1. تنظیم کلمه عبور قوی و ایمن (Secure Password)
پسورد امن برای MYSQL
داشتن یک رمز عبور قدرتمند برای تمام حساب های پایگاه داده مهم است. از آن جایی که غالب افراد، رمز عبور خود را در جایی ذخیره می کنند و یا از نرم افزار های مدیریت پسوورد استفاده می کنند و کمتر پیش می آید آن را هر بار به صورت دستی وارد کنند، داشتن یک رمز عبور با حروف زیاد و پیچیده چندان مشکل ساز نخواهد بود.
دسترسی روت (Root)
مهم ترین کاربری که حتما باید پسوورد قوی داشته باشد، کاربری است که دسترسی روت دارد. به صورت پیش فرض این کاربر هیچ رمزی ندارد، پس ما توصیه می کنیم هرچه سریع تر نسبت به ایجاد یک کلمه عبور پر قدرت اقدم کنید. شاید با خود فکر کنید رها کردن کاربر روت بدون پسوورد مشکل چندان بزرگی را به وجود نیاورد زیرا این کاربر روی root@localhost تنظیم شده است. این بدین معناست، که هر فردی که بتواند سیستم را مجاب کند که از هاست محلی به سرور متصل می شود، می تواند با دسترسی روت به سرور شما وارد شود. حال اگر یک کلمه عبور برای این حساب تعیین کنید، هر فردی نمی تواند کنترل پایگاه داده شما را به دست گیرد.
2. حذف کاربر های ناشناس
حذف یوزر های ناشناس در MYSQL
کاربر های ناشناس آن حساب هایی هستند که در MySQL نام کاربری و رمز عبور ندارند. شما نمی خواهید هکر ها هیچ دسترسی ای به پایگاه داده شما داشته باشند به ویژه بدون کلمه عبور. بنابراین، به دنبال کاربرانی در MySQL بگردید که ورود آن ها بدون نام کاربری و پسوورد ضبط شده است. برای این کار کافی است دستور زیر را وارد کنید.
> SELECT Host, User FROM mysql.user;
+ — — — — — — — — — — — — + — — — -+
| Host | User |
+ — — — — — — — — — — — — + — — — -+
| 127.0.0.1 | root |
| ::1 | root |
| localhost | |
| localhost | root |
+ — — — — — — — — — — — — + — — — -+
4 rows in set (0.00 sec)
اگر به مثال بالا توجه کنید، میان سه حساب روت، کاربری را مشاهده خواهید کرد که در قسمت نام کاربری خود دارای یک فضای خالی است. برای حذف این حساب از خط فرمان زیر استفاده کنید:
> drop user “”@”localhost”; > flush privileges;
3. پیروی از اصل کمینه سازی مجوز و privileges
اصل کمینه سازی مجوز یک اصل امنیتی است که به بیان ساده می گوید به هر کاربر به اندازه اجازه دسترسی بدهید که کارش را راه بیندازد و نه بیشتر. این اصل را می توان به چند طریق به MySQL تعمیم داد. اول این که هنگام استفاده از دستور GRANT برای اضافه کردن دسترسی کاربر به پایگاه داده، مطمئن شوید دسترسی آن را به تنها همان پایگاه داده ای که نیاز دارد محدود کنید:
> grant all privileges on mydb.* to someuser@”localhost” identified by ‘astrongpassword’; > flush privileges;
در دستور بالا mydb. اجازه دسترسی به تمام جداول را به کاربر می دهد.