خودکار کردن حذف قوانین ورودی خاص از هر گروه امنیتی در AWS از طریق Config

همانطور که ایجاد منابع در ابر مانند AWS بسیار سرگرم کننده است، حفظ بررسی های امنیتی خود نیز بسیار مهم است. زیرا حتی یک نقض امنیتی برای از بین بردن زیرساخت ابری شما در برخی موارد کافی است.
بنابراین من اکنون یک داستان کوچک برای شما تعریف می کنم، من قبلاً برنامه ایجاد می کردم ساقه لوبیا الاستیک به عنوان یک توسعه دهنده، زیرا ایجاد و مدیریت آن بسیار آسان است که سرویس مدیریت شده aws است. سپس پس از مدتی متوجه شدم که ساقه لوبیا الاستیک کل فکر را به عنوان یک پشته تشکیل ابر ایجاد می کند. یکی از اشکالات این است که سرور EC2 را با قوانین گروه امنیتی پیشفرض (مانند SSH (پورت 22) به هر جایی باز است 0.0.0.0/0 که بزرگ است نه نه!!)
بنابراین هر بار که EB گروه های امنیتی را ایجاد، بازسازی یا به روز می کند، این قانون SSH به عنوان پیش فرض می آید. قبلاً از حذف دستی قوانین ssh پس از اخطار Trust Advisor استفاده می کردم که بسیار خسته کننده است اما مهم ترین خطر است زیرا ما هرگز نمی دانیم اگر پورت SSH را حتی برای 5 دقیقه باز کنیم چه اتفاقی می افتد.
اکنون راهی پیدا کردم که با آن می توانید به طور خودکار قانون را در آن تنظیم کنید پیکربندی AWS (به شما کمک میکند پیکربندیها و روابط منابع خود را ارزیابی، بررسی و ارزیابی کنید) و هر زمان که confid آن قانون را در هر یک از گروههای امنیتی شما شناسایی کرد، آن قوانین را با AWS SSM (Systems Manager) حذف کنید. بنابراین بیایید شروع کنیم و کل فرآیند را درک کنیم.
پیکربندی AWS به طور مداوم بر منابع و پیکربندی نظارت می کند و اقدامات اصلاحی را بر اساس قوانین پیکربندی انجام می دهد.
ایجاد نقش IAM برای مدیریت سیستم (AWS SSM)
1.) برو به کنسول مدیریت AWS.
2.) یک نقش IAM ایجاد کنید و به آن مجوز بدهید به SSM اجازه می دهد از طرف شما با خدمات AWS تماس بگیرد.
روی ایجاد نقش کلیک کنید، سپس AWS services را انتخاب کنید.
و مورد استفاده به عنوان مدیر سیستم ها
در مرحله بعد، را انتخاب کنید AmazonSSMAutomationRole سیاست از لیست
3.) در نهایت نام را بدهید و مجوزهای آن را بررسی کنید SSMAutomationRoleForConfig و نقش را ایجاد کنید
4.) پس از این یک خط مشی درون خطی برای دادن دسترسی Role برای حذف گروه های امنیتی ضمیمه کنید. در زیر خط مشی IAM برای آن آمده است.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"ec2:RevokeSecurityGroupIngress",
"ec2:DescribeSecurityGroups"
],
"Resource": "*"
}
]
}
قوانین پیکربندی AWS را برای محدود کردن دسترسی SSH تنظیم کنید.
5.) به AWS Config بروید، روی آن کلیک کنید قانون اضافه کنید.
6.) حالا نوع قانون as را انتخاب کنید قانون مدیریت شده AWS یعنی محدود-ssh از لیست قوانین
7.) قانون را پیکربندی کنید و نام بصری را مانند بگذارید محدود-ssh
منابع را به عنوان انتخاب کنید گروه های امنیتی در بخش تغییرات در حالت ارزیابی.
می توانید گزینه های دیگر مانند پارامترها و برچسب ها را به عنوان پیش فرض رها کنید.
در نهایت قانون Config را مرور کنید و پس از اتمام روی Add Rule کلیک کنید.
اصلاح قانون Config را مدیریت کنید.
پس از ایجاد، قانون را انتخاب کنید و در اقدامات کلیک کنید مدیریت اصلاح
حالا اکشن Remediation را به صورت خودکار انتخاب کنید.
سپس اقدام اصلاحی را به عنوان انتخاب کنید AWS-DisableincomingSShOnPort22 این کار ترافیک SSH ورودی نامحدود در پورت 22 را برای گروه های امنیتی EC2 غیرفعال می کند.
میتوانید محدودیتهای نرخ را بر اساس موارد استفاده خود بهروزرسانی کنید یا فعلاً آن را پیشفرض بگذارید. و در پارامتر Resource Id، را انتخاب کنید SecurityGroupIds(یا می توانید با انتخاب پارامتری که به نوع منبع وابسته است، شناسه منبع منابع ناسازگار را به یک اقدام اصلاحی منتقل کنید.). اما در اینجا ما می خواهیم این کار را برای همه گروه های امنیتی انجام دهیم.
در بخش بعدی پارامترها، SecurityGroupIds خاکستری خواهد شد، بنابراین نیازی به نگرانی در مورد آن نیست. و در AutomationAssumeRole، شماره ARN را قرار دهید. نقشی که در بالا ایجاد کردید یعنی SSMAutomationRoleForConfig در مورد ما.
در نهایت همه چیز را مرور کنید و ذخیره تغییرات.
تست کنید آیا واقعا کار می کند 🤔
- به داشبورد EC2 بروید، هر نمونه ای را انتخاب کنید و قانون ورودی آن گروه امنیتی را به صورت 🚨🚨 ویرایش کنید SSH (پورت 22) به 0.0.0.0/0 اجازه می دهد (هشدار: لطفاً این کار را با منابع تولید (یا منابع جدی) انجام ندهید، فقط از سرورهای آزمایشی استفاده کنید که در هر صورت چیزی برای به خطر انداختن ندارند.)
- اگر یک بدن سعی کند به ssh (پورت 22) قانون ورودی به یک سرور مهم اجازه دهد تا بتواند در داخل آن ssh کند و هر گونه داده را از بین ببرد یا به نوعی به برنامه آسیب برساند.
-
حتی اگر 5 دقیقه باشد، ما حتی نمی دانیم که شخصی داده ها را برداشته یا ssh را در ماشین مجازی انجام داده است. شما هیچ آلارمی نیز دریافت نخواهید کرد. اما با پیکربندی میتوانیم این مشکل را کاملاً حل کنیم و زیرساخت AWS Cloud خود را ایمن کنیم.
-
پس از مدتی شما اصلاح را مانند زیر مشاهده خواهید کرد. از قانون ssh محدود خود پیروی کنید
و قانون that ssh توسط حذف خواهد شد قانون پیکربندی و AWS SSM Automatic Exection API.