7 روش افزایش امنیت زیرساخت‌های ابری...

آشنایی با رایانش ابری
7 روش افزایش امنیت زیرساخت‌های ابری (بخش دوم)

در این راهنما قصد داریم در مورد بعضی روش ­های امنیتی پایه برای پیکربندی بهتر سرور ابری یا دیتا سنتر ابری، قبل یا بعد از راه اندازی برنامه­ ها صحبت کنیم.

راههای افزایش سطح امنیتی سرور ابری

در بخش نخست مقاله 7 روش افزایش امنیت زیرساخت‌های ابری نکاتی پیرامون راههای افزایش سطح امنیتی سرور ابری شما ارائه شد. در بخش دوم این مطلب، توضیحات بیشتری پیرامون این مبحث ارائه شده و سایر موارد دارای اهمیت که میتواند به شما برای بالا بردن ایمنی سرویس کمک کند، بیان شده است.

 زیرساخت کلید عمومی و رمزگذاری SSL/TLS

زیرساخت کلید عمومی به سیستمی گفته می‌­شود که با هدف ایجاد، مدیریت و اعتبارسنجی گواهی نامه­‌ها برای شناسایی افراد و ارتباطات رمزنگاری شده، طراحی شده است. گواهی SSL یا TLS می‌­تواند برای احراز هویت موجودیت‌­های متفاوت نسبت به یکدیگر استفاده شود و پس از احراز هویت، جهت انتشار ارتباطات رمز شده بکار گرفته شود.

 زیرساخت کلید عمومی و رمزگذاری SSL/TLS

چگونه باعث افزایش امنیت می­‌شود؟

وجود مرجع صدور گواهی نامه و مدیریت گواهی‌­ها در سرورها، به هر موجودیتی در زیرساخت شما اجازه اعتبارسنجی سایر اعضا و رمز کردن ترافیک آنها را می‌­دهد. این فرآیند می­‌تواند جلوی حمله‌های man-in-the-middle را بگیرد که در آن، حمله کننده، یک سرور از زیرساخت شما را کپی می‌کند تا جلوی ترافیک را بگیرد.

هر سرور ابری می‌­تواند طوری پیکربندی شود که به یک مرجع صدور گواهی اعتماد کند. پس از آن هر گواهی ­که امضاء احراز هویت را دارد، قابل اعتماد است. اگر شما قصد استفاده از برنامه‌­ها و پروتکل­‌هایی را که از رمزگذاری TLS/SSL پشتیبانی می‌کنند داشته باشید، از یک روش رمزگذاری سیستم بدون سربار تانل بهره برده‌اید.

پیاده‌سازی آن چقدر سخت است؟

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

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

 

سرویس حسابرسی

بخش قابل توجهی از امنیت از طریق تحلیل سیستم‌های ما تامین می‌شود. شناسایی سطوح آسیب‌پذیر و تلاش برای ایمن‌سازی این بخش‌ها بسیار حائز اهمیت است.

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

سرویس حسابرسی

 چطور باعث افزایش امنیت می‌­شود؟

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

 

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

  • آیا این سرویس باید اجرا شود؟
  • آیا این سرویس بر روی رابط‌های شبکه‌ای اجرا می‌شود که نباید از آنها استفاده شود؟
  • آیا قوانین فایروال برای عبور ترافیک مجاز بدرستی تعریف شده است؟
  • آیا قوانین فایروال ترافیک غیر مجاز را مسدود کرده است؟
  • آیا روشی برای دریافت اخطارهای امنیتی درباره آسیب‌پذیری هرکدام از این سرویس­‌ها وجود دارد؟

این نوع سرویس حسابرسی باید برای هر زمانی‌که یک سرور ابری جدید را در زیرساخت خودتان پیکربندی می­‌کنید، استاندارد باشد.

 

پیاده‌سازی آن چقدر سخت است؟

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

$ Sudo ss -plunt

با اجرای دستور بالا، خروجی مشابه قالب زیر خواهد بود:

ستون­‌های اصلی که شما باید به آنها توجه کنید، Proto، Local Address و PID/Program name هستند. اگر آدرس محلی 0.0.0.0 باشد، یعنی سرویس، ارتباطات را از روی همه رابط‌های شبکه IPV4 می‌پذیرد. اما اگر آدرس [::] باشد، سرویس ارتباطات را از روی رابط‌های شبکه IPV6 قبول می‌کند.

 

حسابرسی فایل و سیستم‌­های تشخیص نفوذ

حسابرسی فایل فرآیندی است که سیستم فعلی را با وضعیت ثبت شده‌ای از فایل‌ها و مشخصات فایل‌های روی سرور ابری شما که به عنوان یک حالت مناسب در نظر گرفته می‌شود، مقایسه می‌کند. این روش برای تشخیص تغییرات اعمال شده روی یک سیستم استفاده می­‌شود:

یک سیستم تشخیص نفوذ، یا IDS بخشی از یک نرم‌افزار است که برای مانیتور کردن فعالیت‌های غیرمجاز روی یک سیستم یا شبکه کاربرد دارد. اکثر سیستم­های تشخیص نفوذ از حسابرسی فایل بعنوان روشی جهت چک کردن تغییرات اعمال شده بر روی یک سیستم استفاده می­کنند.

 

چگونه باعث افزایش امنیت می­شود؟

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

 

پیاده‌سازی آن چقدر سخت است؟

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

توضیحات بیشتر در را می توانید در مقاله سیستم تشخیص نفوذ (IDS) چیست؟ مطالعه کنید.

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

اگرچه این روش ممکن است بار نظارتی را افزایش دهد، اما تنها روشی است که مانع از تغییر فایل‌ها بدون اطلاع شما می‌شود. Tripwire و Aide نمونه‌ای از سیستم­‌های رایج تشخیص نفوذ یا حسابرسی فایل هستند.

 

محیط­های اجرایی ایزوله شده

ایزوله کردن محیط‌های اجرایی به روشی گفته می‌شود که هریک از اجزاء به صورت انفرادی در فضای اختصاصی خودشان اجرا می­شوند.

این فرآیند می‌تواند به جدا کردن اجزاء مجزای برنامه شما منجر شود و یا به پیکربندی سرویس­‌های شما در محیط­های chroot یا کانتینری اشاره داشته باشد. سطح ایزوله بودن به شدت به نیازمندی‌های برنامه و زیرساخت شما بستگی دارد.

 

 چگونه باعث افزایش امنیت می­شود؟

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

 

پیاده‌سازی آن چقدر سخت است؟

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

ایجاد یک محیط chroot برای هر بخش می­تواند سطوحی از ایزوله کردن را به خوبی فراهم کند، اما این روش نیز شیوه مطمئنی برای جداسازی نیست؛ چراکه معمولا راه‌هایی برای شکستن محیط chroot وجود دارد. بهترین و راحت‌ترین روش برای ایزوله کردن، قرار دادن کامپوننت­‌ها در سرورهای مجزا است؛ امکانی که به راحتی می‌توانید در سرویس دیتاسنتر ابری زس آن را پیاده‌سازی نمایید.

 

نتیجه گیری

استراتژی‌­های ذکر شده در بالا تنها برخی از مراحلی است که می­توانید برای بهبود امنیت سیستم­‌های خود بکار بگیرید. مهم است بدانید، هر چقدر استفاده از این روش‌ها را به تاخیر بیندازید، اثر بخشی آنها کمتر خواهد شد. بنابراین نباید بکارگیری روش‌های امنیتی را به بعد از نصب و راه‌اندازی سرویس­‌ها به تاخیر بیاندازید، بلکه فرآیند ایمن‌سازی باید از ابتدا درکنار سرویس­‌ها و برنامه­‌های شما انجام شود.

...
...