Ensieh Khademi
Ensieh Khademi
خواندن ۱۰ دقیقه·۲ سال پیش

امنیت پایگاه داده و اطلاعات (Data Security)

امنیت پایگاه داده فرآیند حفاظت از داده های سازمان در برابر دسترسی و استفاده غیر مجاز، افشاگری، تخریب و یا تغییر می باشد. امینت پایگاه های داده و به طبع امنیت داده های سازمان در واقع اصلی ترین چالش مدیران عامل و مسئولان IT سازمان می باشد.

امروزه گسترش استفاده از سیستم های کامپیوتری، سایت های اینترنتی و برنامه های کاربردی موجب گردیده که مباحث مربوط به امنیت پایگاه داده دارای اهمیت بسیار بالایی باشد و در نتیجه با توجه به نقش اطلاعات به عنوان کالای با ارزش در تجارت امروز، لزوم حفاظت صحیح از آن ضروری تر به نظر می رسد.

حال به عنوان یک مدیرعامل، مدیر فناوری اطلاعات و یا راهبر پایگاه داده باید از خود بپرسیم:

  • به چه میزان از امنیت اطلاعات سازمان خود اطمینان داریم ؟
  • آیا منابع اطلاعاتی ( پایگاه های داده ) سازمان خود را به خوبی می شناسیم ؟
  • آیا دسترسی و استفاده از این اطلاعات به خوبی کنترل می شود؟
  • آیا تا به حال به این موضوع اندیشیده ایم که در صورت افشای اطلاعات حساس موجود در پایگاه های داده ما چه می شود؟

از آنجایی که مسائل امنیتی اغلب به سادگی دیگر بخشهای فن آوری اطلاعات، توجیه اقتصادی محسوسی ندارند، بنابراین این امر در بسیاری از موارد ( به طور گسترده در کشور ما) مورد توجه مدیران ارشد سازمان قرار گرفته نمی شود.

مفاهیم اصلی امنیت اطلاعات

به طور کلی، امنیت پایگاه داده سه مفهوم کلیدی را در بر می‌گیرد که در ادامه به آن‌ها پرداخته می‌شود:

  • محرمانگی(Confidentially)
  • تمامیت (Integrity)
  • دسترس پذیری (Availability)

محرمانگی (Confidentially)

«حفظ محرمانگی اطلاعات» به عنوان اولین معیار در نظر گرفته می‌شود. امکان ایجاد محرمانگی از طریق رمزنگاری داده‌های ذخیره شده در پایگاه داده امکان‌پذیر است.

رمزنگاری یک روش یا فرآیندی است که در آن داده‌ها کدگذاری می‌شوند. این کدگذاری به گونه‌ای انجام می‌شود که تنها کاربران مجاز امکان خواندن داده‌ها را داشته باشند.

  • رمزنگاری یعنی داده‌های حساس برای کاربران غیرمجاز به صورت غیرقابل خواندن هستند. الگوریتم‌های رمزنگاری مختلفی مانند DES ،AES و Triple DES برای برقراری و حفظ محرمانگی در پایگاه داده استفاده می‌شوند.

تمامیت (Integrity)

تمامیت از طریق تنظیمات مربوط به کنترل‌های دسترسی کاربری (UAC) اعمال می‌شود.

با استفاده از این مفهوم، به هر کاربر دسترسی به پایگاه داده تا سطح مورد نیاز داده خواهد شد. به عنوان مثال، ممکن است به یک کارمند اجازه دیدن رکوردها و تغییر بخش‌هایی از اطلاعات، مثل جزییات شماره تماس داده شود، اما کارمند بخش منابع انسانی دسترسی‌های بیش‌تری داشته باشد. برای اطمینان از تمامیت پایگاه داده روش‌هایی وجود دارند که در ادامه به آن پرداخته می‌شود:

  • پس از نصب پایگاه داده، باید رمز عبور تغییر داده شود. علاوه بر این، بررسی‌های دوره‌ای گوناگونی لازم است تا این اطمینان به وجود بیاید که رمز عبور در خطر قرار نگرفته است.
  • باید آن دسته از حساب‌های کاربری که استفاده نمی‌شوند، قفل شوند. در شرایطی که یک حساب کاربری به طور قطعی هیچ‌گاه دوباره استفاده نخواهد شد، بهترین اقدام حذف آن است.
  • لازم است سیاست‌های پیشرفته مختلفی برای رمزهای عبور قوی ایجاد شوند. یکی از ایده‌های کارامد در این خصوص، الزام در تغییر رمز عبور به صورت ماهانه است.
  • بررسی نقش‌ها و تنظیم دسترسی‌ها بر اساس آن‌ها بسیار اهمیت دارد. در واقع، باید این اطمینان حاصل شود که کاربران تنها به مواردی دسترسی دارند که مجاز به ‌استفاده از آن‌ها هستند. با وجود اینکه بررسی این موضوع برای پایگاه داده‌های بزرگ بسیار زمان‌بر است، اما اگر دسترسی‌ها به درستی تنظیم شوند، ورود یا دسترسی غیرمجاز به راحتی قابل بررسی خواهد بود.
  • بررسی اینکه آیا کسب و کار مربوطه چندین ادمین پایگاه داده دارد یا خیر؛ در صورتی که پاسخ این سوال مثبت باشد، بهتر است وظایف میان این مدیران پایگاه داده تقسیم شوند.

دسترسی پذیری(Availability)

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

در واقع، برای جلوگیری از رخداد برنامه‌ریزی نشده چنین اتفاق‌هایی، می‌توان از اقدامات مختلفی استفاده کرد که در ادامه فهرست شده‌‌اند:

  • محدود کردن میزان فضای ذخیره‌سازی برای کاربران در پایگاه داده
  • ایجاد محدودیت در تعداد نشست‌های (Session) موازی قابل دسترسی برای هر کاربر پایگاه داده
  • پشتیبانی‌گیری از داده‌ها به صورت دوره‌ای به منظور کسب قابلیت بازیابی داده در صورت بروز مشکلاتی در اپلیکیشن
  • ایجاد ایمنی در پایگاه داده در برابر آسیب‌های امنیتی
  • استفاده از پایگاه داده‌های خوشه‌ای با هدف افزایش دسترسی پذیری

تهدیدات احتمالی

خطرات احتمالی مختلفی برای امنیت پایگاه داده وجود دارند که ما در این جا به چند مورد از مهم ترین آن ها اشاره می کنیم:

1- اولین و مهم ترین و خطرناک‌ترین تهدیدی که امنیت پایگاه داده را به خطر می‌اندازد، دسترسی غیرمجاز هکرها و دستکاری‌کنندگان به سیستم‌های امنیتی و ایجاد مخاطره در اطلاعات مهم کاربر خارج از پایگاه داده است.آن‌ها می‌توانند به پایگاه داده آسیب برسانند یا آن ها را به گونه‌ای دستکاری کنند تا به هدف های سوء خود برسند.

2-حملات مختلف از طریق نرم‌افزار، اسکریپت یا سایر سیستم‌های غیرقانونی که شامل استفاده از بدافزارها و ویروس‌ها می‌شوند. این مسئله در واقع مسیر را برای هکر ها هموار می کند.

3- تمام تهدیدات که در دو مورد فوق به آن اشاره کردیم منجر به بروز اختلال، عملکرد نادرست برنامه‌های مختلف و قطع دسترسی افراد مجاز به سیستم شود.

4 -اگر فایل‌های آلوده حذف یا از سیستم سرور پاک نشوند، ممکن است منجر به بروز آسیب‌های فیزیکی مختلفی مانند داغ شدن بیش از حد یا حتی از کار افتادگی سیستم مورد استفاده شود.

5-خرابی داده‌ها می‌تواند در موارد نقض یا تهدید در کنترل‌های امنیتی مختلفی رخ دهد که در مرحله اول برای جلوگیری از وقوع چنین حوادثی به وجود آمده‌اند.

در ادامه به بررسی روش های کنترل های امنیتی برای پایگاه داده می پردازیم :

کنترل‌های امنیتی

کنترل دسترسی (Access Control) داده‌ها در حمل و نقل، به سیستم امنیتی خاصی اطلاق می‌شود که با کمک آن، اطمینان لازم از فرآیند انتقال حاصل خواهد شد.

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

هدف اصلی در این نوع از امنیت پایگاه داده محدود کردن هرگونه گره (Node) مربوط به رخنه یا دسترسی غیرمجاز به سیستم‌های سرور در هر زمانی است.

بنابراین : این تنظیمات داده‌ها به عنوان کنترل دسترسی نیز شناخته می‌شوند.

  • هر گره داده مشخصی که از سیستم سرور ایمن خارج و وارد آن می‌شود، کاملاً رمزنگاری شده و غیرقابل خواندن است. مگر اینکه به طور امن در پایگاه داده سیستم ایمن سپرده شود یا به کاربر درخواست کننده آن دیتا، نمایش داده شود.

احراز هویت (Authentication)

احراز هویت (Authentication) به عنوان مورد بعدی از انواع امنیت پایگاه داده مطرح می‌شود این پروتکل امنیتی دارای لایه‌های مختلفی در درون خود است.

به طور کلی: احراز هویت راهی است که از طریق آن تأیید می‌شود آیا کاربر همان شخصی است که مجاز است به اطلاعات دسترسی داشته باشد یا خیر.

به عبارت ساده‌تر: Authentication به معنی احراز هویت درخواست یا کوئری ارسال شده توسط پرسنل مجاز یا کاربر اختصاصی است.

روش‌های احراز هویت

  • رمزهای عبور | Password ها | OTP ها

رمز های عبور ممکن است افشا شوند و به همین دلیل بایستی از آنها محافظت شود . اگر بخواهیم ایده آل در مورد امنیت فکر کنیم ، هر رمز عبور فقط بایستی یکبار استفاده شود. به این نوع رمز های عبور ، رمز های عبور یکبار مصرف یا One Time Password گفته می شود .در این روش حداکثر امنیت ممکن در رمزهای عبور را می توانیم داشته باشیم به دلیل اینکه در هر باز استفاده شدن رمز عبور ، این رمز تغییر کرده و در بار بعدی نمی توان از رمز قبلی استفاده کرد.

رمز عبوری که در هر بار ورود به سیستم ثابت مانده و تغییر نمی کند را رمزهای عبور ایستا یا Static می نامند و رمزهای عبوری که در هر بار ورود به سیستم تغییر می کنند را رمز های عبور پویا یا Dynamic می نامند. مقایسه تغییر رمز در بین این دو نوع رمز عبور واقعه غیر قابل مقایسه است .

رمزهای عبور بسته به نوع استفاده و حساسیت مصرف آنها در نوع منابعی که از آنها محافظت می کنند ، به صورت ماهیانه ، هفتگی و یا حتی روزانه تعویض می شوند . در حقیقت هر چقدر زمان استفاده از رمز های عبور طولانی تر شود ، امکان سوء استفاده و افشای آن بیشتر می شود .

یک Passphrase ترتیبی از کاراکترها است که معمولا بیشتر از طول رمزهای عبور یا Password ها هستند و برای امنیت بیشتر سیستم های اطلاعاتی به رمز عبور کمک می کنند ، Passphrase در هنگام استفاده در قالب یک رمز عبور مجازی فعالیت می کند .

توکن ها ابزاهای فیزیکی هستند که در اندازه ای مانند اندازه کارت های هوشمند ، و یا حافظه های فلش وجود دارند ، این ابزارها وظیفه نگهداری و یا تولید رمزهای عبور ایستا و یا پوسا را بر عهده دارند .

توکن ها ابزاهای فیزیکی هستند که در اندازه ای مانند اندازه کارت های هوشمند ، و یا حافظه های فلش وجود دارند ، این ابزارها وظیفه نگهداری و یا تولید رمزهای عبور ایستا و یا پوسا را بر عهده دارند .

به عنوان مثال : یک کارت بانکی یا ATM اطلاعات خاصی در مورد شما را در خود ذخیره می کند . کارت های هوشمند پا را از این نیز فراتر می گذارند و در درون خود پردازنده نیز قرار می دهند ، در واقع کارت های هوشمند توانایی پردازش اطلاعات را نیز دارند.

در ادامه به معرفی چهار نوع از این نوع کارت های هوشمند می پردازیم :

  • توکن های رمزهای عبور ایستا ( Static Password Tokens )

مالک خود را به توکن احراز هویت می کند

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

  • توکن های رمزهای عبور پویای همگام

توکن در مرحله های زمانی معین و تعیین شده رمزهای عبور منحصر به فرد جدید ایجاد می کند .( این رمزعبور می تواند با یک کلید دیگر رمزنگاری شود)

این رمز عبور منحصر به فرد به همراه پین کد یا PIN مالک به سیستم یا ایستگاه کاری وارد می شود.

موجودیتی که در سیستم یا ایستگاه کاری وجود دارد ، کلید محرمانه و PIN مالک را می شناسد ، این موجودیت رمز عبور وارد شده را اعتبار سنجی کرده و در مورد آن تصمیم گیری می کند که در صورت معتبر بودن و وارد کردن رمز در زمان معین به آن اجازه ورود می دهد.

  • توکن های رمزهای عبور پویای ناهمگام
    این نوع ساختار نیز مانند ساختار توکن های رمزهای عبور پویای همگام هستند با این تفاوت که رمز عبور جدید تولید شده فاکتور وارد کردن رمز در زمان معین شده را ندارد.
  • توکن های Challenge-Response

در این نوع ساختار ابتدا سیستم یا ایستگاه کاری یک رشته ( Challenge ) تصادفی تولید می کند و مالک این رشته را در داخل توکن به همراه PIN مربوطه قرار می دهد .

در ادامه توکن نیز یک رشته بازگشت می دهد که به سیستم یا ایستگاه کاری وارد می شود.

مکانیزم های احراز هویت در سیستم یا ایستگاه کاری بعدا تعیین می کند که مالک بایستی احراز هویت شود یا خیر.

در تمامی این ساختارها یک دستگاه احراز هویت جلودار یا Front-End و یک دستگاه احراز هویت پشتی یا Back-End وجود دارند که این قابلیت را به سیستم ها و سرویس های می دهند که براحتی فرآیند های احراز هویت را انجام دهند و این سرویس را پشتیبانی کنند .

  • نوع دوم احراز هویت : سیستم های بایومتریک یا Biometric

یکی از راهکارهای که می توان در کنار رمزهای عبور برای پیاده سازی کنترل های دسترسی استفاده کرد سیستم های بایومتریک هستند. سیستم های بایومتریک از مکانیزم های نوع سوم فاکتورهای احراز هویت یعنی آنچه شما هستید ، هستند . بایومتریک یک سیستم خودکار است که انسان ها را از روی ویژگی های فیزیولوژیکی و همچنین رفتارهای فرد شناسایی و احراز هویت می کند .

در اینگونه سیستم ها یک پایگاه داده از تصاویر مربوط به ویژگیهای فیزیولوژیکی افراد وجود دارد که به محض در خواست فرد برای احراز هویت ، این تصاویر با تصویر ویژگیهای فرد مقایسه شده و در نهایت در صورتیکه تصویر مربوطه در پایگاه داده وجود داشته باشد شخص احراز هویت می شود . معمولا تجهیزات و سیستم های احراز هویت بایومتریک در پیاده سازی کنترل های امنیتی فیزیکی و همچنین احراز هویت در کنترل های منطقی مورد استفاده قرار می گیرد.

  • نوع سوم احراز هویت : SSO یا Single Sing On

قابلیت Single Sign On یا SSO برای برطرف کردن مشکل ورود کاربر با نامهای کاربری و رمزهای عبور متعدد به سیستم های مختلف برای دسترسی به منابع را برطرف می کند. یک کاربر برای پیدا کردن دسترسی به منابع مختلف در شبکه مجبور است تعداد زیادی رمز عبور را حفظ باشد و یا آنها را در جایی یادداشت کند که این رمز ها فراموش نشوند ، معمولا همین رمز ها هستند که توسط مهاجمین مورد سوء استفاده قرار می گیرند .

در ساختار SSO کاربر صرفا یک نام کاربری و رمز عبور یکتا در شبکه دارد که بلافاصله بعد از اینکه وارد یک سیستم در ساختار SSO شود می تواند از تمامی منابعی که برای وی در شبکه تعریف شده است استفاده کند ، بدون نیاز به اینکه برای هر منبع اطلاعاتی نام کاربری و رمز عبور جدیدی وارد کند .

برای امنیت SSO مهمترین مسئله این است که رمزهای عبوری که در بین سیستم های اطلاعاتی رد و بدل می شوند بایستی بصورت رمزنگاری شده استفاده شوند ، این رمز ها نبایستی بر روی سیستم ها ذخیره شده و یا اینکه بصورت رمزنگاری نشده در شبکه منتقل شوند

تا این جا به طور کلی با مفهوم و روش هایی امنیت پایگاه داده و بالا بردن سطح آن پرداختیم در ادامه به بررسی صدور مجوز استراحت داده و ابزار ها می پردازیم با ما همراه باشید

#پایان_پارت_اول

احراز هویترمز عبورامنیتپایگاه دادهنفوذ
شاید از این پست‌ها خوشتان بیاید