در بخش اول این مطلب، در خصوص مواردی که هنگام توسعه راهبرد امنیت ابری خود باید به آنها توجه داشته باشید، کنترلهایی که باید در نظر بگیرید و همچنین نحوه پیادهسازی آنها صحبت کردیم.
در این بخش، امکانات و محدودیتهای موجود در راهکارهای امنیتی ارایه شده توسط وب سرویسهای آمازون (AWS[1]) را بررسی کرده و موضوع هایی مثل امنیت شبکه، مدیریت وضعیت امنیتی ابر، پلتفرمهای حفاظت از حجم کار ابر، مدیریت آسیبپذیری ها، امنیت مخازن ابری، SIEM و بعضی از ابزارهای امنیتی AWS برای امنیت حجم کار در محیط ابر را بررسی خواهیم نمود.
امنیت شبکه
بخشبندی شبکه
AWS از مدلی برای پیکربندی شبکه استفاده میکند که شباهت زیادی به شبکههای درون سازمانی دارد. مفاهیم، اصطلاح ها و توپولوژی شبکه مجازی مورد استفاده در این راهکار، شبیه چیزی است که معمولاً در شبکه های سازمانی مشاهده میشود. بنابراین مهندسان شبکه میتوانند با محیطی آشنا کار کرده که این امر باعث تسریع در انجام کارها میشود.
AWS، یک ابر خصوصی مجازی (VPC[2]) پیادهسازی میکند که تقریباً شبیه شبکههای سازمانی است. این شبکه دارای زیرشبکههایی (یا سابنت) می باشد که اجزای یک VPC بوده و از بلاکهای CIDR غیرهمپوشان استفاده میکنند. علاوه بر این، جداولی برای مسیریابی این زیرشبکهها که اجازه انتقال ترافیک شبکه یا مسدودسازی آن را دارند، ایجاد می شود. در این سیستم شما کنترل مسیریابی بین زیرشبکهها و همچنین مسیر زیرشبکه و اینترنت را در اختیار داشته و میتوانید جداول مسیریابی را به گونهای تنظیم کنید که باعث تفکیک اجزای مختلف حجم کاری شود.
فایروال سطح شبکه
AWS ابزارهایی در اختیار شرکتها قرار میدهد که شبیه فایروال شبکه هستند. از جمله آنها می توان به گروههای امنیتی (SG[3]) که در سطح شبکه فعالیت می کنند و همچنین فهرستهای کنترل دسترسی شبکه (NACL[4]) که در سطح زیرشبکه هستند، اشاره کرد. از گروههای امنیتی برای محدود کردن ترافیک در درون یک زیرشبکه استفاده می شود که فقط بر اساس منبع (آدرس آیپی یا یک گروه امنیتی دیگر) و شماره پورت اجازه تبادل ترافیک را می دهد. در عین حال، NACLها فاقد اطلاعات وضعیتی بوده و از آنها فقط برای ممنوع کردن جریان ترافیک به شکل صریح برای گروههای امنیتی استفاده می شود. بنابراین اگر از گروههای امنیتی استفاده میکنید باید توجه داشته باشید که NACLها به غیر از این ویژگی، قابلیت خاص دیگری ندارند.
توجه: این واقعیت که میتوانید یک گروه امنیتی را به عنوان منبع مجاز ترافیک برای یک گروه امنیتی دیگر تعریف کنید، یک ویژگی بسیار قدرتمند است که به شما این امکان را میدهد تا مسیرهای ترافیک مجاز را به شکل معناداری تعریف کرده و نیاز به بررسی و کار با انواع بلاکهای CIDR را نداشته باشید.
فایروال برنامههای کاربردی تحت وب
AWS، فایروال برنامههای کاربردی تحت وب (WAF[5]) خاص خودش را دارد. این فایروالها ترافیک HTTP بین کلاینتها و سرورهای وب را (معمولاً در اینترنت) بررسی کرده و میتوانند این ترافیک را تحلیل و فیلتر نموده تا از برنامههای کاربردی تحت وب در برابر حملاتی همچون تزریق کدهای SQL، تزریق اسکریپت از طریق وبگاه و انواع حملات دیگر حفاظت کنند. فایروال برنامههای کاربردی تحت وب AWS توانایی ادغام با سایر سرویسها مثل Elastic Load Balancing، Amazon API Gateway و CloudFrontAWS که جریان ورودی داده ها را از طریق وب تأمین میکنند، دارد. البته باید توجه داشت که از این فایروال نمی توان مستقیماً برای یک نمونه EC2 استفاده کرد.
امکان تعریف قوانین سرویس WAF در AWS وجود دارد. این سرویس تعدادی قوانین مدیریت شده دارد که به مقابله آسان با تهدیدات متداول مانند 10 تهدید امنیتی مهم تعریف شده توسط انجمن OWASP کمک میکند. این سرویس همچنین دارای بخشی به نام “Firewall Manager” است که به سادهتر شدن مدیریت AWS WAF و گروههای امنیتی VPC کمک کرده و حتی میتوان این کار را برای چندین حساب کاربری AWS نیز انجام داد.
حفاظت در برابر حملات محروم سازی از سرویس توزیع شده (DDoS)
در حالت پیش فرض، از شکل استاندارد AWS Shield استفاده شده که از بیشتر اجزای AWS در برابر حملات محروم سازی از سرویس توزیع شده محافظت میکند. AWS Shield Advanced قابلیتهای بیشتری برای شناسایی و مقابله با تهدیدات دارد. برای مثال، قوانین NACL را به صورت خودکار تنظیم نموده و به شما امکان حفاظت از نمونههای EC2 که در ارتباط مستقیم با اینترنت هستند را می دهد.
مدیریت وضعیت امنیت ابر (CSPM)
اجرایی کردن سیاستهای امنیتی و پیکربندیها
AWS Config ابزار بسیار مفیدی است که می بایست جزئی از راهبرد CSPM شما باشد. این ابزار به صورت مداوم کل منابع AWS شما را بررسی نموده و می تواند هر تغییری را در پیکربندی آنها شناسایی کند.
این ابزار همچنین قادر است پیکربندیهای شناسایی شده برای منابع را با قوانین تعریف شده مقایسه کرده و در صورت بروز هر گونه مشکلی، هشدار صادر کرده یا به شکل خودکار کارهای لازم برای رفع مشکل را انجام دهد. همچنین می توانید از قوانین پیش فرض تعریف شده توسط AWS استفاده نموده (مثل خودداری از باز کردن پورت 22 [SSH] به شکل عمومی) یا خودتان قوانین دلخواه تان را تعریف کنید. علاوه بر این، AWS Config به شما کمک میکند تا مطمئن شوید حجم کاری AWS شما با استانداردهای خاص (مثل HIPAA یا PCI) سازگاری دارد.
ارزیابیهای امنیتی در زمان اجرا
AWS Inspector ارزیابیهای امنیتی را در زمان اجرا بر روی نمونههای EC2 انجام میدهد. چنین ارزیابیهایی از دیدگاه CSPM اهمیت زیادی داشته و میتوانند مشکلات امنیتی را شناسایی و به مهندسان DevOps و توسعه دهندگان برای رفع سریع آنها کمک کنند.
AWS Security Hub هم میتواند به فرایند CSPM کمک نماید. این ابزار می تواند بررسیهای امنیتی و پیکربندی منابع را به صورت خودکار انجام دهد. معمولاً چنین کاری برای تطبیق حجم کار ابر با استانداردهایی مانند PCI و CIS انجام میشود. این بررسیها را می توان به عنوان بخشی از راهبرد CSPM نیز انجام داد.
مدیریت آسیبپذیری ها
وصلههای امنیتی
ابزار “Systems Manager Patch Manager” در AWS به شما این امکان را میدهد تا وصلههای امنیتی که باید در ویندوز و لینوکس نصب شده باشند را تعیین کنید. Patch Manager پس از تنظیم، در پس زمینه کار سیستم عامل کار کرده تا نصب وصلههای امنیتی لازم برای نمونههای انتخاب شده را تضمین کند. اگر Patch Manager به درستی پیکربندی شود میتواند به شما اطمینان خاطر دهد که نمونههای مختلف سیستم عاملهای مورد استفاده تان دارای آسیبپذیریهای شناخته شده نیستند.
با این وجود ممکن است کار با Patch Manager کمی سخت و پردردسر باشد؛ زیرا وصلههای امنیتی و سیستمهای مقصد باید به صورت دستی انتخاب شوند. این ابزار، پیکربندی پیش فرض هم دارد اما به احتمال زیاد این ویژگی تمام کاربردهای مدنظر شما را پوشش نخواهد داد.
پلتفرم حفاظت از حجم کاری ابر (CWPP)
هر چند ممکن است برای کاهش سطح حملات و احتمال وقوع حمله بر ضد سازمان تان از روشهای مختلفی استفاده کنید اما مهمترین قابلیتی که به آن نیاز دارید، شناسایی حملات در لحظه وقوع است. CWPP با ارایه هشدار درباره کدهای مخرب و بدون مجوز و هر گونه فعالیت مخرب دیگر به شما اطمینان میدهد تمام حملات شناسایی خواهند شد. CWPP با تمرکز بر سطح منابع رایانشی، پارامترهای مختلف مربوط به محیط زمان اجرا را بررسی میکند تا اجرای کدهای مشکوک را سریعاً تشخیص دهد. در نتیجه یک لایه حفاظتی مهم برای دادهها و نرمافزارهای شما فراهم میگردد.
AWS قابلیت CWPP را در اختیار شما قرار نمیدهد بنابراین باید از یک راهکار شخص ثالث استفاده کنید که قابلیت ادغام کامل با حجم کاری AWS را داشته باشد. برای حفاظت کامل از سرورهای تان میتوانید از سایر ارایه دهندگان چنین راهکارهایی مثل Intezer Protect استفاده نمایید. Intezer از یک رویکرد متمرکز بر حجم کار استفاده میکند تا یک نظارت جامع درباره وضعیت امنیتی را در محیطهای چندابری و ترکیبی در اختیار شما قرار دهد.
امنیت مخزن
Elastic Container Registry (ECR) قادر است تصاویر داکر ذخیره شده را بررسی کرده و با کمک پایگاه داده آسیبپذیریهای متداول (CVE[6]) که توسط پروژه کدمنبع باز Clair ارایه شده است، آسیبپذیریهای شناخته شده را پیدا کند.
اگر مخازن را در سرویس Elastic Container Service (ECS) اجرا میکنید، یکسری از جنبههای امنیتی آن شبیه به EC2 است؛ از جمله گروههای امنیتی و نقشهای IAM. اگر مخازن را در سرویس Elastic Kubernetes Service (EKS) اجرا نمایید، AWS عناصر امنیت کوبرنتیز مثل RBAC و سیاستهای شبکه را در اختیار شما قرار میدهد.
مدیریت رویداد و اطلاعات امنیتی (SIEM)
AWS قابلیت ادغام با سایر راهکارهای مطرح فعلی را داشته ولی خود آن هیچ ابزار SIEM مناسبی ندارد. برای بررسی جامع وضعیت امنیت در همه حسابهای AWS خودتان میتوانید از Security Hub استفاده کنید. این راهکار به شما اطمینان میدهد همه هشدارهای امنیتی با اولویت را دریافت نموده تا بتوانید کارهای اصلاحی لازم را به صورت خودکار یا دستی انجام دهید.
اگرچه Security Hub یک راهکار SIEM نیست اما بعضی از قابلیتهای مهم SIEM مثل تجمیع (Aggregation) را دارد. در واقع این راهکار دید جامعی از همه یافتهها در تمامی سرویسهای AWS شما را در یک مکان واحد فراهم میکند.
سایر قابلیتهای شناسایی تهدید
Amazon GuardDuty میتواند به نظارت بر ترافیک شبکه و تشخیص ناهنجاریها کمک زیادی کند. Amazon GuardDuty یک سرویس بدون عامل (Agentless) است که نه تنها طیف وسیعی از دادهها مثل ترافیک شبکه، دسترسی به S3 و فراخوانی API AWS را تحلیل می کند بلکه از یادگیری ماشینی و مدلهای رفتاری نیز برای شناسایی فعالیتهای مخرب همچون استخراج رمز ارزها، هک اطلاعات حسابهای کاربری، دسترسی غیرمجاز به دادهها و برقراری ارتباط با موجودیتهای مخرب مختلف استفاده مینماید.
GuardDuty حتی میتواند پس از تشخیص فعالیتهای مخرب، کارهای اصلاحی لازم را به صورت خودکار انجام دهد. هر چند GuardDuty بخشی از پلتفرم حفاظت حجم کاری ابر است ولی میتواند یک ابزار مکمل مفید برای راهکارهای CWPP باشد.
قابلیتهای نظارتی و گزارشهای امنیتی
AWS قابلیت ثبت گزارش صفحه داده[7] را داشته و حتی یک ابزار ویژه نیز برای انجام این کار در نظر گرفته است چون پردازش گزارشها یکی از قابلیتهای مهم یک ابر عمومی محسوب میشود. سیستم CloudWatch Logs قادر است فایلهای گزارش به دست آمده از برنامههای کاربردی، سرویسها و سیستم عاملهای شما را دریافت، پردازش و حفظ کند. یکی دیگر از قابلیتهای همراه این سرویس یعنی CloudWatch Logs Insights برای فیلتر اطلاعات از گزارشهای مختلف، مفید بوده و به شما کمک میکند تا اصطلاحاً بتوانید سوزنی را در یک انبار کاه به راحتی پیدا کنید.
CloudTrail هم یک ابزار مفید دیگر برای ثبت گزارشهای پنل کنترل است. این ابزار می تواند فراخوانیهای API AWS را شناسایی کند؛ از جمله اینکه چه شخصی یا چه چیزی فراخوانی را انجام داده، زمان و تاریخ فراخوانی و اینکه آیا اجازه انجام این کار داده شده یا از انجام آن جلوگیری شده است و غیره.
سایر کاربردهای CloudTrail عبارتند از:
- فعالیت به عنوان یک ابزار جرم شناسی
- تشخیص فعالیتهای غیرعادی
- کاربردهای قانونی برای استانداردهایی که نیاز به قابلیت ممیزی دارند.
در نهایت اینکه AWS می تواند به شما برای ثبت و نظارت بر ترافیک های ورودی و خروجی VPCها کمک کند. حتی میتوانید قابلیت گزارشهای گردش و روند کار را فعال کرده تا همه ترافیک شبکه مربوط به VPCها از جمله فیلدهایی از هدر بستههای شبکه و اینکه آیا امکان دسترسی به بستهها داده شده است یا خیر ثبت شود.
توجه: اگر قصد استفاده از GuardDuty را دارید، فعال کردن “VPC Flow Logs” ضروری است چون GuardDuty از این گزارشها برای شناسایی ترافیک مخرب استفاده میکند. همچنین میتوانید از آنها برای تحلیل جرم شناسی و پیروی از بعضی استانداردها مثل HIPAA نیز استفاده نمایید.
نتیجه گیری
پلتفرم وب سرویسهای آمازون ابزارهای امنیتی مختلفی دارد که قطعاً وقتی در حال ارزیابی راهکارهای مختلف هستید باید به آنها توجه کافی داشته باشید. با این وجود به جز در موارد استثنائی، درک و پیکربندی درست این ابزارها کار چالش برانگیز و سختی است. برای حوزههایی که خود AWS، سرویس و ابزاری ندارد میتوانید از یک راهکار مخصوص استفاده کنید.
در رابطه با امنیت ابر، این نکته را باید یادآوری کرد که AWS همیشه به امنیت اولویت داده است. آمازون هیچ کاری که موجب تهدید امنیت پلتفرم ابری خود شود انجام نمیدهد حتی اگر دستیابی به این هدف مستلزم عدم عرضه محصولات جدید یا بی توجهی به تقاضا برای کاربرپسندتر کردن محصولات این شرکت باشد.
فقدان ابزارهای AWS در رابطه با CWPP به نحو چشمگیری محسوس است. هر چند نرمافزارهای شخص ثالث را در بازار AWS می توان به شکل مستقیم از شرکتهای دیگر تهیه کرد. به عنوان مثال، Intezer Protect می تواند به شما کمک کند تا حجم کار را به صورت لحظهای و بلادرنگ امن سازی کنید. در مجموع AWS توانسته برای حفظ امنیت در زیرساختهای خود اعتبار خوبی کسب کند و همواره تلاش نموده در کلیه محصولاتی که در اختیار مشتریانش قرار میدهد، به امنیت توجه لازم را داشته باشد.
[1] Amazon Web Services
[2] Virtual Private Cloud
[3] Security Groups
[4] Network Access Control Lists
[5] Web Application Firewall
[6] Common Vulnerabilities and Exposures
[7] صفحه داده، بخشی از نرمافزار است که درخواست داده را پردازش میکند.
منبع: intezer