یکشنبه 1 مهر 1397
بازدید امروز : 4357 نفر
موتور جستجوی سایت نیازمندیهای دانشجویی موتور جستجوی پیشرفته مقالات و تحقیقات و ...
تلگرام سایت تحقیق

موضوع : تنطیمات امنیتی برای سیستم دیتابیس mysql
تحویل در محیط : word

عنوان سفارش :
تنطیمات امنیتی برای سیستم دیتابیس .docx.mysql
تعداد صفحه :
20
قیمت :
3000 تومان

تنطیمات امنیتی برای سیستم دیتابیس MySQL
بعد از نصب سرور دیتابیس MySQL باید تغیراتی در تنظیمات آن انجام دهیم تا به یک سطح قابل قبول از امنیت برای این برنامه برسیم چرا که با کمترین بی¬توجهی باعث از دست رفتن و دستکاری اطلاعات یک شبکه و در نتیجه صدمات جبران¬ناپذیری به محتوای اطلاعات حاصل می¬گردد.
  به صورت قراردادی پورت سرویس¬دهی این دیتابیس بر روی 3306 قرار گرفته که می¬توان با استفاده از دستور زیر از آن اطمینان حاصل کرد:
shell> telnet server_host 3306
از مهمترین مشکلاتی که می¬توان به آن اشاره نمود دسترسی به آن بدون وجود تشخیص هویت و پسورد مناسب با دستور زیر می¬توان بررسی نمود.
mysql -u root
در صورت موفقیت در اجرای این دستور به تمام اطلاعات این دیتابیس دسترسی کامل می¬توان داشت
از مهمترین دستوراتی که برای ارتباط و کنترل این دیتابیس استفاده می¬شود می¬توان به GRANT ͵ REVOKE اشاره کرد.
SHOW GRANTS
که می¬بایستی در صورت امکان محدود شوند.
با استفاده از فایروال و فیلترکننده¬ها از ورود بعضی از کارکترها جلوگیری کنید برای مثال در صورت وجود این رشته "; DROP DATABASE mysql; " که حاوی کارکترهای ΄ می¬باشد نفوذگر می¬تواند دیتابیس mysql رو پاک کنه. بنابراین برسی کارکترهای ورودی برای ارتباط با این دیتابیس امریست ضروری.
رشته¬هایی مانند "̀ و "̀ در ورودی¬ها می¬تواند باعث به وجود آمدن خطاهایی در نتایج به Query گردد.
%22 (`"'), %23 (`#'), %27 (`'')
www.example.com/index.php?user=”ali”&pass=”1234”
www.example.com/index.php?user= ali”&pass=”1234”
www.example.com/index.php?user=’ali”&pass=”1234”
www.example.com/index.php?us er=”ali”&pass=”1234”
تغییرات در لینک ورودی تابع به صورت جایگزین کردن کاراکترها:
( "̀ ) 27% ͵ ( ̀ # ̀ ) 23% ͵ ( ''' ̀ ) 22%
استفاده از توابع () addslashes و () mysql- escape – string موجود در 4.0.3 می¬تواند کمک-کننده باشد.
با استفاده از برنامه tcpdump به صورت زیر می¬توان رشته¬های ورودی به دیتابیس رو مورد بررسی قرار داد تا در صورت ایجاد خطا از طرف کاربران مشکل رو آشکار کرد.
shell> tcpdump -l -i eth0 -w - src or dst port 3306 | strings
ابتدا پسورد ورودی رو برای کاربر ریشه تعیین می¬کنیم:
shell> mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('new_password')
-> WHERE user='root';
mysql> FLUSH PRIVILEGES;
به هیچ عنوان سرور MySQL رو با کاربر ریشه اجرا نکنید با این کار امکان ایجاد فایل با استفاده از دستورات MySQL در سطح مدیریت وجود خواهد داشت !!
لذا برای حل این مشکل ابتدا کاربری با سطح دسترسی کم بنام MySQL ایجاد می¬کنیم سپس برای اطمینان عدم اجرای سرور MySQL در کاربر ریشه از برنامه mysqld برای راه¬اندازی سرور استفاده می¬کنیم.
در فایل̀ cnf.my / etc/ ̀ گزینه زیر رو وارد می¬کنیم.
[mysqld]
user=mysql
برای ره¬اندازی سرور از دستور:
safe_mysqld
یا
mysql.server
استفاده می¬کنیم.
حال می¬توان با ورود به MySQL و اضافه کردن پسوردی برای این کاربر کار رو تکمیل کرد:
Mysql
> UPDATE user SET password=PASSWORD('not_secure')
در صورتی که سرور به صورت واحد با یک کاربر می¬تواند به کار خود ادامه دهد می¬توان با تعیین مقدار برای متغییر max – user – connections از mysqld استفاده کرد.
انتخابهای موجود برای mysqld
--local-infile[=(0|1)]
در صورت استفاده از این پارامتر با مقدار صفر امکان استفاده از دستورات LOAD DATA LOCAL INFILE نخواهد بود.
--safe-show-database
با این گزینه هنگام استفاده از دستور SHOW DATABASE فقط دیتابیسی که به کابر اختصاص داده شده نمایش داده خواهد شد.
--safe-user-create
محدود کردن ایجاد کاربر جدید در صورت استفاده از دستور GRANT به صورت زیر:
mysql> GRANT INSERT(user) ON mysql.user TO 'user'@'hostname';
--skip-grant-tables
هدف از این انتخاب عدم دسترسی به کل سیستم که در صورت استففاده نکردن آن هر کسی امکان دسترسی به کل سیستم دیتابیس خواهد داشت برای صرف¬نظر از این انتخاب می¬توان از دستور زیر استفاده کرد.
mysqladmin reload
--skip-name-resolve
امکان نمایش hostname غیرفعال می¬شود.
--skip-show-database
غیرفعال کردن دستور SHOW DATABASE تا زمانی که مجوز این دستور داده شده باشد.
نمونه¬ای از دستوراتی که می¬توان بر محدودیت لواکل بودن فائق آمد: ( اهمیت فیلتر کردن کاراکترهای خاص )
mysql> GRANT ALL PRIVILEGES ON db.*
-> TO david@'192.58.197.0/255.255.255.0';
با اجرای دستور زیر امکان وصل شدن به دیتابیس به هر آدرس آی پی میسر می¬شود.
user_ip & netmask = host_ip.
که به شکل زیر با دستور زیر به سرور اعلام می¬شود.
..................


ترجمه انگلیسی به فارسی سایت تحقیق

برای پیدا کردن ما فقط کافیست «سایت تحقیق» را در گوگل سرچ کنید

ترجمه فارسی به انگلیسی سایت تحقیق
با کلیک روی +۱ ما را در گوگل محبوب کنید
Tel : 09118370377
Email : tahghighnet@yahoo.com
Telegram : @tahghighnet
channel: https://t.me/tahghighchannel
Instagram : tahghighnetinsta
www.tahghigh.net
2018 - 2007