PDA

View Full Version : مخفی کردن روال های بانک اطلاعاتی



Galawij
یک شنبه 28 فروردین 1390, 08:58 صبح
سلام.
چه تنظیمات و یا دستوراتی برای مخفی کردن روال های ایجاد شده بانک اطلاعاتی داریم که بشه امنیت بانک اطلاعاتی رو بالا برد؟

singel
دوشنبه 29 فروردین 1390, 13:19 عصر
با سلام امیدوارم که این مطالب مفید واقع شود

یکی از مشکلاتی که طراحان پایگاه داده و توسعه گران با آن روبرو هستند این
است که اگر شخصی به پایگاده داده دسترسی داشته باشد در حقیقت به محتوای
تمام روال های ذخیره شده (stored procedure) و View ها دسترسی دارد.

با توجه به اینکه معمولا پایگاه داده برنامه ها بر روی سرور های
اشتراکی(shared servers) بارگزاری می شوند، دیگر نمی توان به عدم دسترسی
برخی افراد به محتوای روال های ذخیره شده و View ها اطمینان خاطر صد در صد
داشت و حتی اگر اینگونه نباشد، باز هم مدیر سرور و سایر افرادی که دسترسی
کافی بر روی سرور دارند نیز می توانند محتوای روال های ذخیره شده را
ملاحظه نمایند و این موضوع می تواند مورد استفاده افراد بدخواه قرار گیرد.

برای حل این مشکل راه حل بسیار ساده ای برای پایگاه داده SQL Server وجود دارد که متاسفانه کمتر مورد استفاده قرار می گیرد.

هنگام ایجاد و یا تغییر یک روال ذخیره شده یا یک View می توانیم براحتی محتوای آن را رمزنگاری کنیم.

به تعریف روال ذخیره شده زیر دقت نمایید.



کد:
CREATE PROCEDURE uspSampleProcedure

WITH ENCRYPTION

AS

BEGIN

SELECT Field1,Field2 FROM MyTable

END</pre>


همانطور که ملاحظه می نمایید، تنها با استفاده از کلمه ی کلیدی Encryption
ما محتوای این روال را رمز نگاری نموده ایم. اکنون اگر با استفاده از
Management Studio این روال را مورد بررسی قرار دهیم، متوجه خواهیم شد که
یک علامت قفل بر روی آن ایجاد شده است. و در صورتی که روی روال کلیک راست
نماییم، ملاحظه می کنیم که گزینه Modify غیر فعال شده است و در نتیجه محتوای این روال برای هیج شخصی قابل نمایش نمی باشد.


<DIV align=center>

singel
دوشنبه 29 فروردین 1390, 13:21 عصر
تذکر بسیار بسیار مهم:


با توجه به اینکه پس از رمز نگاری روال های ذخیره شده و View ها،
دیگر دسترسی به محتوای آن ها امکان پذیر نمی باشد، به یاد داشته باشید که قبل
از رمز نگاری این عناصر، حتما یک نسخه پشتیبان برای خود نگهداری نمایید و
در غیر اینصورت دیگر خود شما نیز به محتوای این عناصر دسترسی نخواهید داشت!

Galawij
سه شنبه 30 فروردین 1390, 08:46 صبح
با تشکر از راهنمایی های دوست خوبم،

در ادامه ...
این مقاله برای Encryption کردن کلید های اصلی کاربرد داره.
http://www.4shared.com/document/fbbi4XUv/SQLEncryption.html

ghasem110deh
پنج شنبه 09 بهمن 1393, 21:30 عصر
سلام
واسه جداول چنین کاری نمیشه کرد ؟
امنیت اونجا که مهمتره !