بررسی مشکل دستکاری مانند حذف یا تغییر داده های سیستم یک سازمان و مدیر سیستم پایگاه داده DBA یا Data Base Administrator در قبال این مشکل چه وظیفه ای دارد و چه راهکارهایی را باید ارائه دهد.
سوالاتی که در زمینه دستکاری اطلاعات یک سیستم پایگاه داده سازمان مطرح می شود؟
یکی از مواردی که اخیراً خیلی مورد بحث است در خصوص روش پیدا کردن شخص و آی پی IP و مشخصات سیستم های کامپیوتری هست که مثلاً آمده داده ها را دستکاری کرده و یک سری جداول و اطلاعات را حذف و یا تغییر داده است می باشد.
قبل از هرچیز خیالتان راحت باشد که به صورت پیشفرض SQL Server این موارد را Log نمیگیرد و جایی ثبت نمیکند به جز یک مورد که در ادامه بیان خواهد شد.
اول اینکه چند تا سوال پیش میاد:
1. چرا اصلا باید این اتفاق بیافتد؟ مگر سازمانها DBA ندارند؟ شخصی که مسئول شبکه است و فقط بلد است SSMS را باز کند و در نهایت یک Shrink کند یا Backup بگیرد یا یک Login تعریف کند و یا یک Session را با استفاده از Activity monitor پیدا کند و kill نماید، DBA نخواهد بود.
۲- چرا باید Login sa شما دست هر کسی باشد؟ چرا هر شخصی به راحتی باید بتواند به سرور عملیاتی یک سازمان دسترسی پیدا کند؟
بارها مشاهده کردم که شرکتهای نرم افزاری درخواست دسترسی کامل به سرور را کردند و نیاز به لاگین SA داشتند (باعرض معذرت از تمامی عزیزان شرکتهای نرم افزاری) باید عرض کنم که به هیچ وجه، به هیچ وجه، به هیچ وجه اصلا شرکتهای نرم افزاری نباید دسترسی به سرور داشته باشند. وقتی نرم افزار نصب شد، مالک داده و دیتابیس سازمان هست نه شرکتها. متاسفانه شرکتهای نرم افزاری این را به اشتباه متوجه شدند در صورتی که اصلا تحت هیچ شرایطی نباید دسترسی داشته باشند.
اگر قرار هست تغییراتی روی دیتابیس صورت بگیرد بدون استثنا باید در حضور ادمین سازمان باشه و لاغیر.
۳- چطور یک سازمان، نمیداند چگونه باید موارد مختلف نظارتی را بر روی سرور دیتابیس ها که حساس ترین جز یک سازمان هست، پیاده سازی نکرده باشد؟
یافتن IP سیستمی که دیتا را دستکاری نموده است
خوب حالا برسیم به نوع Log ها. ببینید اگر دیتابیس شما Recovery Model آن روی Full باشد فقط میتوانید ببینید چه شخصی در چه زمانی چه دیتایی را تغییر داده همین! هیچ IP به شما نخواهد داد.
در Trace های پیش فرض خود SQL Server نیز این موارد لاگ نمی شوند. پس باید توسط DBA (بله یکی از وظایف DBA این هست) این موارد راه اندازی و تنظیم گردد و مرتب مانیتور شود.
مورد بعدی این هست که معمولا چون اکثر نرم افزارها با یک لاگین SQL یا windows به دیتابیس وصل می شوند، پس عملاً همه تغییرات موجود در فایل LDF نیز به نام همین لاگین ثبت خواهد شد!
پس بهتر است نرم افزارها راه حلی برای این مورد نیز داشته باشند.
مهارتهای لازم برای یک DBA
امیدوارم سازمانها، شرکتها و موسساتی که داده های آنها برایشان اهمیت دارد، به این بلوغ فکری برسند که وظیفه مدیر IT، مسئول شبکه، برنامه نویس، مدیر تیم نرم افزار، نگهداری از دیتابیس نیست. و اگر این افراد مهارتهای لازم در این حوزه را نداشته باشند به آنها DBA گفته نمی شود.
DBA شخصی است که باید در تمام زمینه های زیر مهارت کافی داشته باشد.
۱- مسلط به ساختار درونی SQL Server
2- مسلط به زبان T-SQL
۳- مسلط به مباحث Administration
۴- مسلط به مباحث Performance Tuning
۵- آشنایی کافی نسبت به سخت افزار سرور
۶- آشنایی با مباحث امنیتی و سطوح دسترسی در SQL Server
۷- شناخت کافی نسبت به سایر سرویس های SQL Server نظیر SSAS،SSRS,MDM,DQS,SSIS
اگر افرادی که درحال مدیریت دیتابیس های شما هستند دارای این مهارتها هستند که عالی است. درغیر اینصورت پیشنهاد میکنم تا یک مشکلی برای دیتابیس هایتان رخ نداده، یک شخصی که این توانایی ها را داشته باشه انتخاب کنید و در این پست قرار دهید.
علاقمندان به حوزه فناوری اطلاعات و شبکه می توانند برای مطالعه سایر مقالات و مطالب جدید مرتبط با سیستم های پایگاه داده به کانال تلگرام مهندسی شبکه پال نت مراجعه نمایند.