مقدمه

در تجارت فروش راه حل های امنیتی، چندی پیش عبارت “دفاع در عمق” بر سر زبان افتاد. این عبارت به معنای ایجاد تصویری از دفاع در هر لایه از زیرساخت فناوری اطلاعات با راه حل های منحصر به فرد بود. اکنون همه می دانند که مفاهیم مربوط به دفاع محیطی، ناقص هستند. زیرا امنیت واقعی در خود شیء نهفته است نه در محیط اطراف آن. در پشت پرده فناوری اطلاعات رفتارهایی وجود دارد که نشان می دهد مسئولیت مراقبت از داده ها بر عهده امنیت لایه ای است. این امر در هیچ کجا به اندازه امنیت لایه در دیتابیس مشهود نیست. این بدان معنا نیست که پایگاه های داده امنیت لازم را ندارند. بلکه به نظر می رسد اکثر آنها امنیت ارائه شده استفاده نمی کنند و تا حد زیادی از وجود آن بی اطلاع هستند. در این مقاله، ما نحوه کشف، بررسی حملات و افزایش امنیت برنامه Ms SQL Server را بررسی می کنیم.

بررسی حملات به MS SQL Server

حملات به SQL Server به طور معمول ماهیتی عظیم دارند و هدف خاصی دنبال نمی کنند. مهاجمان در جستجوی سروری با رمز عبور ضعیف شبکه های فرعی را اسکن می کنند. حمله با بررسی از راه دور آغاز می شود که از طریق آن مهاجم متوجه شود که آیا سیستم مجهز به برنامه MS SQL Server است. در مرحله بعد، متجاوزان اقدام به تغییر اجباری گذرواژه برای دسترسی به سیستم می کنند. علاوه بر تغییر گذرواژه به صورت اجباری، مهاجمان همچنین می توانند از طریق هک رمز حساب کاربری، به صورت قانونی به دستگاهی که آلوده کرده اند، وارد شوند.
به محض انجام نفوذ، مهاجمان پیکربندی سرور را تغییر می دهند تا به خط فرمان دسترسی پیدا کنند. با انجام این کار، آنها می توانند مخفیانه با استفاده از کاربردهایی که برای SQL Server ایجاد کرده اند، برای اجرای بدافزار در سیستم مورد نظر، امنیت ایجاد کنند.
هیچ روش صحیح و واحدی برای افزایش صددرصد امنیت برنامه MS SQL Server وجود ندارد. هر برنامه از نظر نیازها، محیط استقرار و جمعیت کاربر منحصر به فرد است. برنامه ای که در زمان استقرار آن از امنیت قابل قبولی برخوردار باشد، می تواند با گذشت زمان با کاهش ایمنی مواجه شود.
پیش بینی دقیق تهدیدات احتمالی در آینده غیرممکن است. SQL Server، به عنوان یک محصول، سعی کرده در نسخه های جدید به تکامل بهتری برسد تا آخرین ویژگی های امنیتی در آن ایجاد شود و توسعه دهندگان بتوانند امنیت پایگاه داده را تامین کنند. با این حال، امنیت دائمی در نرم افزار وجود ندارد. بلکه نیاز به نظارت و به روز رسانی مداوم دارد.

بررسی رایج ترین تهدیدات امنیتی

توسعه دهندگان باید تهدیدات امنیتی، ابزارهای ارائه شده برای مقابله با آنها و نحوه جلوگیری از حفره های امنیتی را درک کنند. در بهترین حالت امنیت را می توان به عنوان یک زنجیره در نظر گرفت، شکستن هر پیوند در این زنجیر، قدرت کل را به خطر می اندازد. لیست زیر شامل برخی از تهدیدات امنیتی رایجی است که سعی می کنند امنیت برنامه MS SQL Server را کاهش دهند.

  •  تزریق SQL

SQL Injection فرآیندی است که طی آن یک کاربر مخرب به جای ورودی قانونی، دستورات Transact-SQL را وارد می کند. اگر ورود بدون تایید اعتبار به سرور منتقل شود و برنامه به طور ناخواسته کد تزریق شده را اجرا کند، احتمال آسیب رساندن یا از بین بردن داده ها بر اثر این حمله وجود دارد. شما می توانید حملات تزریق SQL Server را با استفاده از روش های ذخیره شده و دستورات پارامتری، اجتناب از SQL پویا و محدود کردن مجوزها برای همه کاربران، خنثی کنید.

  •  ارتقاء امتیاز

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

  • حملات با استفاده از کاوش و مشاهده هوشمند

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

بهترین شیوه های اجرا شده در امنیت برنامه MS SQL Server

SQL Server یکی از محبوب ترین پلتفرم های داده در جهان است که برای اجرای عملیات و فرآیندهای حیاتی یک سازمان استفاده می شود. در نتیجه، انواع مختلفی از ابزارهای امنیتی را برای محافظت در برابر حملات مخرب و ایمن سازی موارد SQL Server ارائه می دهد. با این حال، استفاده از تنظیمات امنیتی پیش فرض می تواند شکاف های امنیتی ایجاد کند و شبکه را در برابر حملات آسیب پذیر نماید. در اینجا یک لیست امنیتی سرور SQL وجود دارد تا با اجرای آن بتوانید تهدیدهای پلتفرم دیتابیس را کاملا از بین ببرید.

1. چندین بازرسی امنیتی SQL Server را اجرا کنید

امنیت منظم سرور، بررسی بخش ورود به سیستم و بازرسی مجوزها، پیش نیازها لازم برای پیشگیری از حملات احتمالی و کمک به هرگونه تجزیه و تحلیل قانونی در حوزه نقض احتمالی داده ها است. با این حال، بازرسی امنیتی در امنیت برنامه MS SQL Server در سطح شرکت صرفاً یک سرمایه گذاری امنیتی نیست، بلکه به عنوان یک الزام قانونی پس از قوانین جدید مانند HIPAA و GDPR تبدیل شده است.
برای آغاز این مرحله، آنچه را که می خواهید بازرسی کنید را به صورت دقیق و شفاف تعریف کنید. ممکن است بخواهید موارد زیر را در مرحله بازرسی سرور خود کنترل کنید.

  • ورود کاربران با User login
  • بازرسی C2 یا C2 Auditing
  • معیارهای مطابقت مشترک
  • بازرسی بخش ورود یا Login Auditing
  • تغییرالگو
  • بررسی SQL Server
  • تغییر روش ضبط داده ها

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

2. از یک سیاست قوی برای گذرواژه خود استفاده کنید.

  • دومین مورد در افزایش کیفیت امنیت برنامه MS SQL Server این است که همه حساب های مدیریت پایگاه داده باید دارای رمز عبور قوی باشند که این روش به مبارزه با حملات وحشیانه و پیشگیری از آنها کمک می کند.
  •  رمز ورود باید حداقل 10 کاراکتر شامل اعداد، حروف بزرگ و کوچک و نویسه های ویژه را در بر بگیرید. همچنین می توانید از کلمات عبور متشکل از حداقل 15 کاراکتر با حروف و اعداد استفاده کنید.
  •  از گذرواژه هایی که به راحتی قابل حدس زدن هستند مانند “گذرواژه” ، “qwerty” یا نام و تاریخ تولد همسر خود اجتناب کنید. همچنین، از استفاده از رمز عبور یکسان برای چندین سیستم خودداری کنید.
  • گذرواژه را به صورت دوره ای تغییر دهید.
  • از ابزارهای مدیریت رمز عبور با کلید اصلی قوی برای ذخیره چندین رمز عبور استفاده کنید.

3. از اصل حداقل امتیاز استفاده کنید

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

4. از یک استراتژی قوی برای تهیه نسخه پشتیبان از دیتابیس استفاده کنید

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

نتیجه گیری

در سراسر جهان، شرکت های بزرگ و کوچک از Microsoft SQL Server برای مدیریت دیتابیس استفاده می کنند. این DBMS بسیار محبوب و در عین حال محافظت نشده است، بنابراین مناسب ترین هدف برای هکرها است. یکی از رایج ترین حملات به Microsoft SQL Server حمله از راه دور بر اساس رفتارهای مخرب است.
به همین دلیل، امنیت برنامه MS SQL Server همیشه نگران کننده بوده است. حتی برای قدیمی ترین نسخه SQL DBA این نگرانی وجود داشته است. صرف نظر از نسخه آن، پایگاه داده SQL دائماً در معرض تهدید است زیرا اطلاعات بسیار حساسی که هکرها تمایل به دسترسی به آنها را دارند، در این برنامه وجود دارد. با اجرای برخی اصول مانند تغییر مکرر گذرواژه و بازرسی های امنیتی می توانند کیفیت این برنامه را ارتقا دهید.