امنیت پایگاه داده یا DataBase Security و روش های آن
امروزه گسترش استفاده از سیستم های کامپیوتری، سایت های اینترنتی و برنامه های کاربردی موجب گردیده که مباحث مربوط به امنیت پایگاه داده دارای اهمیت بسیار بالایی باشد و در نتیجه با توجه به نقش اطلاعات به عنوان کالای با ارزش در تجارت امروز، لزوم حفاظت صحیح از آن ضروری تر به نظر می رسد. در این مقاله در مورد امنیت پایگاه داده و امن سازی دیتابیس برای شما می گوییم.
بحث امنیت اطلاعات و به طور خاص مدیریت امنیت پایگاه های داده نیازمند مهارتهای خاص همچون راهبری امنیت پایگاه داده است.
منظور از امنیت پایگاه داده چیست؟
امنیت پایگاه داده فرآیند حفاظت از داده های سازمان در برابر دسترسی و استفاده غیر مجاز، افشاگری، تخریب و یا تغییر می باشد.مدیریت امنیت داده زیر مجموعه ای از مدیریت تکنولوژی اطلاعات می باشد که خود نیز شامل زمینه های مختلفی می باشد. امینت پایگاه های داده و به طبع امنیت داده های سازمان در واقع اصلی ترین چالش مدیران عامل و مسئولان IT سازمان ها می باشد.
چهار مفهوم امنیت داده ها چیست؟
- محرمانگی(Confidentially)
- تمامیت (Integrity)
- اعتبار و سندیت(Authenticity)
- دسترسی پذیری (Availability)
محرمانگی(Confidentially) در امنیت داده ها
محرمانگی اطلاعات یعنی حفاظت از اطلاعات در مقابل دسترسی و استفاده غیر مجاز . داده های محرمانه تنها توسط افراد مجاز قابل دسترسی می باشند.
تمامیت (Integrity)
در بحث امنیت اطلاعات، تمامیت به این معناست که داده ها نمی توانند توسط افراد غیر مجاز ساخته، تغییر و یا حذف گردند. تمامیت ، همچنین یکپارچگی داده ها که در بخشهای مختلف پایگاه داده ذخیره شده اند را تحت الشعاع قرار می دهد. جهت کسب اطلاعات بیشتر راجب به اینکه یکپارچگی داده ها یا Data integrity چیست مقاله ای تهیه شده است که می توانید آنرا مطالعه نمایید.
اعتبار و سندیت (Authenticity)
اعتبار و سندیت دلالت بر موثق بودن داده ها و نیز اصلی بودن آنها دارد. به طریقی که اطمینان حاصل شود داده ها کپی یا جعلی نیستند.
دسترس پذیری (Availability) در امنیت داده ها
دسترس پذیری به این معنی می باشد که داده ها، پایگاه های داده و سیستمهای حفاظت امنیت، در زمان مناسب نیاز به اطلاعات در دسترس باشند.
روش های ایجاد امنیت در پایگاه داده
رمز نگاری اطلاعات مابین سرور وب و سرور پایگاه داده
یکی از روش های امنیت پایگاه داده برای جلوگیری از سرقت اطلاعات در بین راه (Sniffing) رمز نگاری است. متداول ترین روش تحت وب برای انجام این منظور استفاده از پروتکل SSL است. عموم اطلاعات امن که بر روی اینترنت منتقل میشوند از همین پروتکل استفاده میکنند. به عنوان مثال انتقال اطلاعات شناسایی با سرورهای معروف ایمیل، انتقال اطلاعات مربوط به کارت اعتباری و غیره.
اغلب این اشتباه پیش می آید که همین سطح از رمز نگاری را در مقابل حمله Sniffing کافی می دانند. باید دقت کرد که SSL به صورت عام تنها برای رمزنگاری اطلاعات مابین Client و سرور وب به کار می رود و به صورت عادی اطلاعات مابین وب سرور و سرور پایگاه داده به صورت عادی و بدون رمزنگاری (Plain Text) منتقل می شوند. بنابراین حتی اگر همه جوانب را در شبکه بیرونی رعایت کرده باشیم، یک نفوذگر داخلی به سادگی میتواند اطلاعات در حال انتقال مابین این دو سرور را شنود کند. این مطلب زمانی بسیار جدی میشود که بدانیم بر اساس داده های موجود، بالاتر از ۶۰٪ حملات موجود حملات درون سازمانی می باشد.
چاره کار استفاده از یک روش رمز نگاری مابین سرور وب و سرور پایگاه داده است. اغلب سرور های پایگاه داده امروزه از SSL پشتیبانی میکنند. MS SQL Server2000 ، Oracle،Sybase ازین جمله اند. البته استفاده از گواهینامه ssl برای ارتباط مابین این دو سرور لازمه اش اینست که برنامه اصلی شما (Web Application) با همین ملاحظه طراحی و پیاده سازی شده باشد.
استفاده از SSH
اما در صورتی که برنامه شما از قبل موجود باشد یا از SSL پشتیبانی نکند یا به هر صورت شما مایل به ایجاد هزینه اضافی نباشید استفاده از SSH یا یک برنامه مشابه می باشد.
اصولا SSH برنامه ای شبیه Telnet است اما نسخه امن شده ی آن. یکی از قابلیتهای SSH ایجاد یک تونل امن است. به این صورت که میتوان برنامه SSH را به گونه ای اجرا کرد که بر روی یک پورت شنود کند کل اطلاعات آن را رمز کرده به کامپیوتر مقصد ارسال کند و آنجا پس از تبدیل به حالت عادی به پورت مقصد تحویل دهد. با استفاده از این روش (SSH Port Forwarding) یک تونل امن به صورت شفاف مابین دو سرور ایجاد شده است.
عدم استفاده از Hub
عدم استفاده از Hub و جایگزین کردن Switch نیز از اقدامات امنیتی دیگر می باشد.
استفاده از فایروال
دیواره آتش پایگاه دادهها همانند یک لایه ی بالایی بر روی پایگاه دادهها است که به شکل یک دیوار منطقی بین کارگزار پایگاه دادهها و برنامههای کاربردی عمل میکند. مدیران پایگاه دادهها به خوبی میدانند که برنامه های کاربردیشان چگونه با پایگاه دادهها ارتباط برقرار میکنند، همچنین اطلاع دارند چه پرس و جوهایی در بین آنها رد و بدل میشوند، و این پرس و جوها از چه ساختارهایی استفاده میکنند.
به این ترتیب مدیران میتوانند از این اطلاعات جهت پیکربندی یک مجموعه قوانین در دیوار آتش پایگاه دادهها استفاده کنند. دیوار آتش پایگاه دادهها میتواند پرسوجوها را پیش از آنکه به پایگاه داده ها فرستاده شوند، بررسی نماید و آنهایی که خارج از این مجموعه قوانین هستند را فیلتر کند. در مورد فایروال می توانید مقاله فایروال چیست را بخوانید.
دیوار آتش، علاوه بر فیلتر کردن پرس و جوها بر اجرای آنها نیز نظارت دارد. تا در صورتی که دارای کدهای مخرب باشند آنها را شناسایی کند. به این ترتیب دیواره آتش باید دارای مکانیزمی برای تشخیص sql injection و حملات مرتبط با آن باشد. در صورتی که نمی دانید sql injection چیست در مقالات دیگر ما در این باره بخوانید.
به طور کلی دیوار آتش باید با نظارت بر عملکرد پایگاه دادهها حملات احتمالی را تشخیص و از اجرای آنها جلوگیری کند. همچنین با شناخت آسیبپذیریهای سیستم پایگاه دادهها از سوء استفاده آنها پیشگیری کند.
امن سازی دیتابیس My sql
امن سازی دیتابیس در لایه ها در سطوح مختلف انجام می شود. برای پیاده سازی این ساختار سه لایه در سرورهای مختلف توسط فایروال که rule ها را بر روی پورت ها تنظیم می کند بایستی ایجاد شود. از مسیر زیر برای انجام این کار استفاده کنید.
Internet -> Firewall -> Web -> Firewall -> Application -> Firewall -> Database
کنترل دسترسی
دسترسی به داده های جدول باید به شکل منظم باشد.با اعمال کنترل مستقیم بر روی جداول و از طریق view این دسترسی تعریف می شود. Views and privileges های نسبت داده شده به View ها می تواند دسترسی کاربران را محدود کند.کنترل بر روی دستوراتی مانند read, insert, update and delete می تواند توسط view ها انجام شود.
Role ها
Role های مشترک برای دسترسی به administrator, user, programmer and operator وجود دارد. اپراتورها نقش مهمی را بازی می کنند.هنگام تعریف آنها بایستی دقت لازم را در نظر بگیرید و همچنین توجه کنید که سایر role ها در حالت enable باشند تا پیگیری اتفاقات رخ داده امکان پذیر باشد.
به شما پیشنهاد می شود مقاله ما را برای کسب اطلاعات در حوزه تفاوت OLTP و OLAP چیست بدانید مطالعه نمایید.
با سلام
لطفا در رابطه با برقراری امنیت وب سایت در برابر نفوذ گران هم مطلبی منتشر نمایید
با تشکر
سلام. از این که بلاگ ایران هاست را مطالعه می کنید خوشحالیم.
در مورد امنیت وبسایت مطالب مفیدی در بلاگ ایران هاست منتشر شده است. این لینک آرشیو مقالات مربوط به امنیت وبسایت است.
http://blog.iranhostdir.ir/tag/%D8%A7%D9%85%D9%86%DB%8C%D8%AA
در صورتی که مطلب مورد نظر خود را در مطالب قبلی بلاگ نیافتید، می توانید موضوع مقاله پیشنهادی خود را اعلام فرمایید تا کارشناسان ایران هاست در اسرع وقت نسبت به تحقیق و تفحص در مورد موضوع اعلام شده اقدام کنند.
Salam ,man matlab rajb amniat dar paygah dade niaz daram