هنگام راه اندازي زيرساخت هاي cloud ، به روزرساني برنامه ها اغلب دغدغه اصلي شما خواهد بود. با اين حال ، عملكرد صحيح برنامه هاي كاربردي شما بدون پرداختن به نيازهاي امنيتي زيرساخت هاي تان مي تواند عواقب مخربي را در پي داشته باشد ، بنابراين بهتر است كه اين مورد را به عنوان بخشي از راه اندازي اوليه زيرساخت خود در نظر بگيريد.
در اين راهنما ، ما برخي از شيوه هاي اساسي امنيتي را براي پشتيباني از شما در پيكربندي و تنظيم زيرساخت ها ، انجام خواهيم داد.
كليدهاي SSH
SSH يا همان پوسته ايمن، پروتكل رمزگذاري شده است كه براي اداره و برقراري ارتباط با سرور مجازي ها استفاده مي شود. هنگام كار با يك سرور مجازي ، احتمالاً بيشتر وقت خود را در يك بخش ترمينال متصل به سرور مجازي خود از طريق SSH مي گذرانيد. گزينه هاي امن تر براي ورود به سيستم مبتني بر رمز عبور ، كليدهاي رمزنگاري SSH روشي مطمئن براي ورود به سرور مجازي شما فراهم مي كنند و براي همه كاربران توصيه مي شود.
با استفاده از كليدهاي SSH ، يك جفت كليد خصوصي و عمومي به منظور احراز هويت ايجاد مي شود. كليد خصوصي توسط كاربر مخفي و ايمن نگه داشته مي شود ، در حالي كه مي توان كليد عمومي را به اشتراك گذاشت.

براي پيكربندي احراز هويت كليد SSH ، بايد كليد عمومي كاربر را روي يك سرور مجازي در يك ديركتوري مخصوص قرار دهيد. هنگامي كه كاربر به سرور مجازي متصل ميشود، سرور مجازي از شما مي خواهد اثبات كنيد كه كلاينت داراي كليد خصوصي مرتبط است. كلاينت SSH براي تأييد اعتبار مالكيت، از كليد خصوصي استفاده مي كند. سرور مجازي سپس به كلاينت اجازه مي دهد بدون پسورد وصل شود. براي كسب اطلاعات بيشتر در مورد چگونگي عملكرد كليدهاي SSH ، مقاله ما درمورد درك فرآيند رمزگذاري و اتصال SSH را بررسي كنيد.
كليدهاي SSH چگونه امنيت را تقويت مي كنند؟
با SSH ، هر نوع تأييد هويت – از جمله تأييد گذرواژه – كاملاً رمزگذاري ميشود. با اين حال ، هنگامي كه ورود به سيستم مبتني بر رمز عبور مجاز است ، كاربران مخرب مي توانند براي دستيابي به سرور مجازي ، خصوصاً با سرور مجازي هايي كه داراي آدرس IP عمومي هستند ، بارها و بارها تلاش كنند. با داشتن قدرت محاسباتي مدرن ، مي توان با خودكار كردن اين فرآيند ها و امتحان رمزهاي پي در پي پسورد درست را پيدا كرد.
تنظيم تأييد اعتبار كليدي SSH به شما امكان مي دهد تأييد هويت مبتني بر گذرواژه را غيرفعال كنيد. كليدهاي SSH به طور كلي تعداد بيشتري بيت هاي داده نسبت به رمز عبور دارند ، به اين معني كه تركيب هاي احتمالي بسيار بيشتري وجود دارد كه يك حمله كننده مجبور به اجراي آن ها باشد. بسياري از الگوريتم هاي كليد SSH توسط سخت افزار محاسباتي مدرن غيرقابل ركورد محسوب مي شوند ، زيرا به مدت زمان زيادي براي اجراي همه حالت هاي قابل اجرا احتياج دارند.
نحوه اجراي كليدهاي SSH
كليدهاي SSH روش پيشنهادي براي ورود از راه دور به هر سرور مجازي لينوكس است. يك جفت كليد SSH در دستگاه محلي شما ايجاد مي شود و مي توانيد طي چند دقيقه كليد عمومي را به سرور مجازي هاي خود منتقل كنيد.
براي كسب اطلاعات در مورد نحوه تنظيم كليدها ، يكي از راهنماهاي ما را در مورد SSH ، مانند نحوه تنظيم كليدهاي SSH در اوبونتو 20.04 را دنبال كنيد. اگر هنوز هم احراز هويت مبتني بر رمز عبور را ميپسنديد ، براي محدود كردن حدس هاي رمزعبور ، راهكاري مانند fail2ban را روي سرور مجازي هاي خود در نظر بگيريد.
فايروال ها
فايروال بخشي از نرم افزار است كه كنترل مي كند چه سرويس هايي در معرض شبكه قرار دارند. اين به معناي سد كردن يا محدود كردن دسترسي به هر پورت به جز مواردي است كه بايد در دسترس عموم باشد.

در يك سرور مجازي معمولي ، خدمات متعددي به طور پيش فرض اجرا مي شوند. اينها را مي توان در گروههاي زير طبقه بندي كرد:
• خدمات عمومي كه براي هر كسي از طريق اينترنت ، غالباً به صورت ناشناس ، قابل دسترسي است. نمونه آن سرور مجازي وب است كه ممكن است به سايت شما دسترسي داشته باشد.
• خدمات خصوصي كه فقط بايد توسط گروه انتخابي از حسابهاي مجاز يا از مكانهاي خاص به آنها دسترسي پيدا كنيد. يك مثال ممكن ميتواند پنل كنترل بانك اطلاعاتي باشد.
• خدمات داخلي كه فقط بايد از درون خود سرور مجازي قابل دسترسي باشند ، بدون آنكه اين سرويس را در معرض ديد خارجي قرار دهند. به عنوان مثال ، ممكن است يك پايگاه داده باشد كه فقط اتصالات محلي را مي پذيرد.
فايروال ها مي توانند اطمينان حاصل كنند كه دسترسي به نرم افزار شما مطابق با مقوله هاي بالا با درجه هاي مختلف گرانولاريتي محدود شده است. خدمات عمومي مي توانند براي همه باز و در دسترس قرار بگيرند و خدمات خصوصي براساس معيارهاي مختلف از جمله انواع اتصال محدود شوند. خدمات داخلي مي توانند براي دنياي خارج كاملاً غيرقابل دسترس شوند. براي پورت هايي كه مورد استفاده قرار نمي گيرند ، دسترسي در اكثر پيكربندي ها كاملاً مسدود شده است.
فايروال ها چگونه امنيت را تقويت مي كنند؟
فايروال ها بخش اساسي هر پيكربندي سرور مجازي هستند. حتي اگر خدمات شما خود داراي ويژگي هاي امنيتي باشند يا به رابط هايي كه مي خواهيد روي آنها اجرا كنيد محدود شده باشند ، يك فايروال به عنوان لايه محافظت بيشتر عمل مي كند.
يك فايروال به درستي تنظيم شده ، دسترسي به همه چيز را به جز سرويس هاي خاصي كه بايد باز بمانند ، محدود مي كند. قرار گرفتن در معرض تنها چند قطعه نرم افزار ، سطح حمله سرور مجازي شما را كاهش مي دهد ، و مؤلفه هايي را كه در معرض سوء استفاده قرار مي گيرند ، محدود مي كند.
نحوه اجراي فايروال ها
فايروال هاي بسياري براي سيستم هاي لينوكس در دسترس هستند ، كه برخي از آنها پيچيده تر از سايرين ميباشند . به طور كلي ، راه اندازي فايروال فقط چند دقيقه طول مي كشد و فقط در هنگام تنظيم اوليه سرور مجازي شما يا هنگام تغيير در آنچه در رايانه شما ارائه مي شود ، بايد اين اتفاق بيفتد. در اينجا چند گزينه براي به روز رساني و اجرا وجود دارد:
⦁ UFW ، يا فايروال غير پيچيده ، به طور پيش فرض در برخي توزيع هاي لينوكس مانند اوبونتو نصب شده است. يك فايروال محبوب ، كه مي توانيد در مورد آن در آموزش نحوه تنظيم فايروال با UFW در اوبونتو 18.04 بيشتر اطلاعات كسب كنيد.
⦁ چگونه مي توان فايروال را با استفاده از Iptables در Ubuntu 14.04 تنظيم كرد
⦁ نحوه نصب و پيكربندي فايروال سرور مجازي (CSF) در اوبونتو
شبكه هاي VPC
شبكه هاي Virtual Private Cloud (VPC) شبكه هاي خصوصي براي منابع زيرساختي شما هستند. شبكه هاي VPC ارتباط امن تري بين منابع برقرار مي كنند زيرا رابط هاي شبكه از اينترنت عمومي و ديگر شبكه هاي VPC در Cloud غيرقابل دسترسي هستند.
چگونه شبكه هاي VPC امنيت را بالا ميبرند
استفاده از شبكه هاي خصوصي به جاي عمومي براي ارتباطات داخلي تقريباً هميشه ترجيح داده مي شود ، زيرا شبكه هاي VPC به شما امكان مي دهد گروه هايي از منابع را در شبكه هاي خصوصي خاص ايزوله كنيد. شبكه هاي VPC فقط با استفاده از رابط هاي شبكه خصوصي خود از طريق شبكه داخلي به يكديگر متصل مي شوند ، اين بدان معناست كه ترافيك بين منابع شما از طريق اينترنت عمومي هدايت نمي شود كه در آن ممكن است در معرض حمله يا رهگيري قرار گيرد. شبكه هاي VPC همچنين مي توانند براي جداسازي محيط هاي اجرايي استفاده شوند.
علاوه بر اين ، مي توانيد گيت هاي اينترنت را به عنوان تنها نقطه دسترسي بين منابع شبكه VPC و اينترنت عمومي خود تنظيم كنيد و به شما امكان كنترل و ديد بيشتري در ترافيك عمومي متصل به منابع خود مي دهد.
نحوه اجراي شبكه هاي VPC
بيشتر ارائه دهندگان زيرساخت هاي cloud اين امكان را به شما مي دهند تا منابع خود را به يك شبكه VPC در داخل ديتاسنترهاي خود اضافه كنيد.
پيكربندي دستي شبكه خصوصي شما مي تواند به پيكربندي پيشرفته سرور مجازي و دانش شبكه نياز داشته باشد.
بازرسي سرويس
بخش عمده اي از امنيت شامل تجزيه و تحليل سيستم هاي ما ، درك سطوح حمله موجود و قفل كردن مولفه ها به بهترين شكل ممكن است.
بازرسي سرويس (Service auditing) فرايندي است براي كشف سرويس هايي كه روي سرور مجازي هاي زيرساخت شما اجرا مي شوند. اغلب ، سيستم عامل پيش فرض براي اجراي برخي خدمات در هنگام بوت تنظيم مي شود. نصب نرم افزار اضافي گاهي اوقات مي تواند متعلقاتي را كه به صورت خودكار شروع به كار مي كنند به خود جلب كند.

بازرسي سرويس راهي است براي دانستن اينكه چه خدماتي روي سيستم شما اجرا مي شود ، از كدام پورت ها براي ارتباط استفاده مي كنند و پروتكل هاي پذيرفته شده چيست. اين اطلاعات مي تواند به شما در پيكربندي تنظيمات فايروال كمك كند.
بازرسي سرويس چگونه امنيت را تقويت مي كند؟
سرور مجازي ها فرآيندهاي بسياري را براي اهداف داخلي و مديريت كلاينت هاي خارجي شروع مي كنند. هر يك از اين موارد سطح حمله گسترده اي را براي كاربران مخرب نشان مي دهد. هرچه سرويس هاي در حال اجراي بيشتري داشته باشيد احتمال آسيب پذيري موجود در نرم افزار قابل دسترسي شما بالاتر است.
هنگامي كه اطلاعات كافي درباره خدمات شبكه در حال اجرا در دستگاه خود داشتيد ، مي توانيد شروع به تجزيه و تحليل اين سرويس ها كنيد. برخي از سؤالاتي كه براي هر يك از خود ميپرسيد عبارتند از:
• آيا اين سرويس بايد اجرا شود؟
• آيا اين سرويس با رابط هاي شبكه اي اجرا مي شود كه نبايد در آن اجرا شود ؟
⦁ آيا بايد به يك IP اختصاص داده شود؟
• آيا قوانين فايروال من ايجاد شده اند تا ترافيك قانوني را به اين خدمات بدهد؟
• آيا قوانين فايروال من ترافيك غيرقانوني را مسدود مي كند؟
• آيا من روشي براي دريافت هشدارهاي امنيتي درباره آسيب پذيري براي هر يك از اين خدمات دارم؟
هنگام پيكربندي هر سرور مجازي جديد در زيرساخت هاي شما اين نوع بررسي سرويس يك روش استاندارد است. همچنين انجام بررسي هاي خدمات هر 6 ماه يكبار به شما كمك مي كند تا هرگونه خدماتي كه پيكربندي هايي آن ها ناخواسته تغيير كرده اند را پيدا كنيد.
نحوه انجام مميزي هاي سرويس
براي انجام يك مميزي اوليه سرويس ، مي توانيد با استفاده از دستور netstat ببينيد كه كدام سرويس ها پورت را در هر رابط گوش مي دهند. فرمان مثال كه نام برنامه ، PID و آدرسهايي را كه براي گوش دادن به ترافيك TCP و UDP استفاده مي شود نشان مي دهد به اين شرح است:
⦁ $ sudo netstat -plunt

خروجي دريافت خواهيد كرد كه اينگونه ميباشد:
Output
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 887/sshd
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 919/nginx
tcp6 0 0 :::22 :::* LISTEN 887/sshd
tcp6 0 0 :::80 :::* LISTEN 919/nginx

ستونهاي اصلي كه مورد توجه شما هستند ستونهاي نام Proto ، Local Address و PID / Program هستند. اگر آدرس 0.0.0.0 باشد ، خدمات در كليه رابط هاي شبكه اتصالات را مي پذيرند.
به روزرساني هاي بدون نظارت
حفظ به روزرساني در سرور مجازي مي تواند ابزاري قدرتمند براي امنيت باشد. سرور مجازي هاي unpatched عامل اكثر ناسازگاري ها هستند ، اما به روزرساني منظم مي تواند از آسيب پذيري جلوگيري كند.
به روزرساني هاي معمول به يك ادمين نياز دارند تا به روز رساني بسته هاي مختلف روي سرور مجازي را به صورت دستي بررسي و نصب كند. اين كار مي تواند وقت گير باشد و ممكن است برخي از بروزرساني هاي اصلي فراموش شوند يا از دست بروند. در مقابل ، به روزرساني هاي بدون نظارت به سيستم اجازه مي دهند تا اكثر بسته ها را به صورت خودكار بروزرساني كنيد.
چگونه به روزرساني هاي بدون نظارت امنيت را تقويت مي كنند؟
اجراي به روزرساني هاي بدون نظارت سطح تلاش لازم براي ايمن نگه داشتن سرور مجازي شما و كوتاه كردن مدت زماني كه سرور مجازي شما در برابر يك اشكال شناخته شده آسيب پذير است را كاهش مي دهد. حتي با به روزرساني هاي بسيار منظم ، اشكال زدايي در روزهاي پنج شنبه يا جمعه به اين معني است كه شما احتمالاً حداقل تا دوشنبه unpatched و آسيب پذير خواهيد بود.
در رابطه با بازرسي سرويس كه قبلاً گفته شد ، انجام به روزرساني خودكار مي تواند قرار گرفتن در معرض حملات را به شدت كمتر كند و مدت زمان صرف شده براي حفظ امنيت سرور مجازي شما را كاهش دهد.
نحوه به روزرساني هاي بدون نظارت
اكثر توزيعهاي ر اكنون به روزرساني هاي بدون نظارت را به عنوان گزينه اي ميبينند. به عنوان مثال ، در اوبونتو يك ادمين مي تواند اين دستور را اجرا كند:
⦁ $ sudo apt install unattended-upgrades

براي اطلاعات بيشتر در مورد نحوه اجراي به روزرساني هاي بدون نظارت ، راهنماهاي مربوط به Ubuntu و Fedora را بررسي كنيد.
توجه: اين مكانيزم ها فقط نرم افزار به روزرساني خودكار را از طريق مدير بسته سيستم شما نصب مي كنند. اطمينان حاصل كنيد كه هر نرم افزار اضافي كه ممكن است در حال اجرا است (به عنوان مثال برنامه هاي وب) يا براي به روزرساني هاي خودكار پيكربندي شده اند يا به صورت دستي و بطور مرتب چك مي شوند.
غيرفعال كردن ايندكس هاي ديركتوري
بيشتر سرور مجازي هاي وب به طور پيش فرض پيكربندي شده اند تا وقتي كاربر به دايركتوري كه فاقد فايل ايندكس است دسترسي پيدا ميكند ، ايندكس هاي ديركتوري را نمايش دهد. به عنوان مثال ، اگر مي خواهيد دايركتوري به نام دانلودها در وب سرور مجازي خود و بدون پيكربندي اضافي ايجاد كنيد ، همه فايل ها براي هر كسي كه در ديركتوري جستجو مي كند قابل مشاهده است. براي بسياري از موارد ، يك نگراني امنيتي نيست ، اما بسيار محتمل است كه چيزي محرمانه در معرض نمايش قرار گيرد. به عنوان مثال ، اگر مي خواهيد براي وب سايت خود ديركتوري ايندكس را در سرور مجازي وب خود ايجاد كنيد ، اين ديركتوري ممكن است حاوي فايل براي صفحه اصلي وب سايت شما و يك فايل پيكربندي شامل اعتبارات براي پايگاه داده backend وب سايت باشد. بدون غيرفعال كردن ايندكس هاي ديركتوري ، هر دو فايل در پوشه براي هر كسي كه ديركتوري را سرچ مي كند قابل مشاهده است.
چگونه غيرفعال كردن ايندكس ديركتوري امنيت را افزايش مي دهد؟
ايندكس هاي ديركتوري اهداف قانوني دارند ، اما اغلب ناخواسته فايل ها را در معرض ديد بازديد كنندگان قرار مي دهند. غيرفعال كردن ايندكس هاي ديركتوري به عنوان پيش فرض براي سرور مجازي وب شما خطر از دست دادن داده هاي تصادفي ، نشت يا بهره برداري را با ساختن فايل هاي ديركتوري براي بازديدكنندگان غيرفعال مي كند. اگر بازديد كنندگان در ديركتوري وجود داشته باشند ، بازهم مي توانند به فايل ها دسترسي پيدا كنند ، اما غيرفعال كردن ايندكسينگ باعث مي شود يافتن فايل ها به طور ناخواسته دشوارتر شوند.
چگونه ايندكس هاي دايركتوري را غيرفعال كنيم
در اكثر موارد ، غيرفعال كردن ايندكس هاي ديركتوري اضافه كردن يك خط به پيكربندي سرور مجازي وب شماست.
اين آموزش حاوي دستورالعملهاي عميق در مورد چگونگي غيرفعال كردن ر هاي ديركتوري براي چندين سرور مجازي وب محبوب است.
بكاپ گيري مكرر
اگرچه اين ممكن است به عنوان يك نكته امنيتي به نظر نرسد ، بكاپ گيري مي تواند در حفظ سيستم ها و داده هاي در معرض خطر و همچنين تجزيه و تحليل چگونگي سازگاري سيستم براي شروع ، بسيار مهم باشد. به عنوان مثال ، اگر سرور مجازي شما با باج افزار به خطر بيفتد ، فقدان بكاپ ممكن است به اين معنا باشد كه تنها انتخاب شما پرداخت باج براي بازگرداندن اطلاعات شما است. اگر به طور مرتب از سيستم ها و داده هاي خود نسخه پشتيبان تهيه كنيد ، ميتوانيد بدون تعامل با سيستم به خطر افتاده ، به داده هاي خود دسترسي پيدا كنيد و آن ها را بازيابي كنيد.
بكاپ هاي مكرر چگونه امنيت را افزايش ميدهند؟
بكاپ گيري با حفظ نسخه هاي دست نخورده از داده ها قبل از وقوع حملات ، باعث كاهش خطر حذف تصادفي و كاهش خطر از بين رفتن اطلاعات مي شود.
علاوه بر موارد باج افزار ، بكاپ گيري منظم مي تواند به تجزيه و تحليل قانوني حملات طولاني مدت كمك كند. اگر تاريخچه داده هاي خود را نداريد ، تشخيص زمان شروع حمله و اطلاعات به خطر افتاده دشوار يا غيرممكن است.
نحوه اجراي بكاپ هاي مكرر
بر خلاف ساير روش هاي اين ليست ، اجراي بكاپ گيري مي تواند از چيزي بي اهميت تا فرآيندي بسيار دشوار متفاوت باشد. هنگام فعال كردن نسخه هاي پشتيبان ، بايد از خود بپرسيد: اگر سرور مجازي من فردا ناپديد شد ، چگونه مي توانيم آن را به عقب برگردانم و راه اندازي كنم؟
در اينجا چند سؤال ديگر وجود دارد كه بايد هنگام تهيه يك برنامه بازيابي حوادث در نظر بگيريد:
• آيا هميشه بايد آخرين نسخه پشتيبان تهيه شود؟ بسته به دفعات تغيير داده هاي شما ، ممكن است خطر را از پيش فرض به بكاپ قديمي كاهش دهد
• روند واقعي براي بازيابي نسخه پشتيبان چيست؟ آيا نياز به ايجاد يك سرور مجازي جديد يا بازگرداندن سرور مجازي موجود داريد؟
• چه مدت مي توانيد بدون اين سرور مجازي در عمل باقي بمانيد؟
• آيا به نسخه پشتيبان offsite احتياج دارم؟
نتيجه
استراتژي هاي ذكر شده در بالا ، مروري بر برخي از پيشرفتهايي است كه مي توانيد براي بهبود امنيت سيستم هاي خود داشته باشيد. مهم است كه بدانيد ، اگرچه دير انجام دادن بهتر از هرگز انجام ندادن است ، اما اثربخشي اقدامات امنيتي با تاخير طولاني در اجراي آن ها كاهش مي يابد. امنيت نمي تواند يك امر فرعي باشد و بايد از ابتدا در كنار سرويس ها و برنامه هايي كه ارائه مي دهيد اجرا شود.