۷ اقدام امنیتی جهت محافظت از سرور
هنگام آماده سازی زیرساخت، اغلب نصب و راه اندازی برنامه هایتان اصلی ترین نگرانی شماست. با این حال، اگر بدون توجه به نیاز های امنیتی زیرساختتان سعی در راه اندازی صحیح نرم افزار های خود داشته باشید، ممکن است پیامد های ویرانگری در پی داشته باشد.
در این راهنما، در مورد برخی از شیوه های امنیتی اولیه صحبت می کنیم که برای تنظیم قبل یا همزمان با نصب برنامه هایتان بهترین هستند.
کلیدهای SSH
کلید SSH یک جفت کلید رمزنگاری شده است که می تواند برای تأیید اعتبار به یک سرور SSH به عنوان جایگزین برای ورودهای مبتنی بر رمز عبور استفاده شود. یک جفت کلید خصوصی و عمومی قبل از احراز هویت ایجاد می شود. کلید خصوصی مخفی و امن توسط کاربر نگهداری می شود، در حالی که کلید عمومی را می توان با هر کسی به اشتراک گذاشت.
برای پیکربندی احراز هویت (تصدیق) کلید SSH، باید کلید عمومی کاربر را روی سرور در یک پوشه خاص قرار دهید. هنگامی که کاربر به سرور متصل می شود، سرور مدرکی درخواست می کند مبنی بر اینکه سرویس گیرنده دارای کلید خصوصی مرتبط است یا خیر. کلاینت SSH از کلید خصوصی برای پاسخ دادن به شیوه ای استفاده می کند که مالکیت کلید خصوصی را ثابت می کند. پس از آن سرور به کلاینت اجازه می دهد بدون رمز عبور لاگین کند.
کلید های SSH چگونه باعث افزایش امنیت می شوند؟
با استفاده از SSH، هر نوع احراز هویتی، از جمله احراز هویت توسط رمز عبور، به طور کامل رمزگذاری می شود. اگرچه، زمانی که لاگین های مبتنی بر رمز عبور مجاز باشد، کاربران مخرب می توانند بارها و بارها برای دسترسی به سرور تلاش کنند. با استفاده از قدرت محاسباتی مدرن، می توان از طریق خودکار سازی این تلاش ها به سرور دسترسی پیدا کرد و اینقدر ترکیب های مختلف پسورد امتحان می شود تا بالاخره پسورد صحیح پیدا شود.
راه اندازی احراز هویت کلید SSH به شما اجازه غیر فعال کردن احراز هویت مبتنی بر رمز عبور را می دهد. به طور کلی کلیدهای SSH تعداد بیت بیشتری از داده ها نسبت به رمز عبور دارند، برخورداری از تعداد بیت بیشتر بدین معناست که یک کاربر مخرب برای ورود باید ترکیبات بسیار بیشتری را امتحان کند. بسیاری از الگوریتم های کلید SSH به دلیل سخت افزار محاسباتی مدرن، غیرقابل تشخیص هستند، چون اگر هکر بخواهد از روش ترکیبات احتمالی برای ورود استفاده کند به زمان زیادی احتیاج دارد تا بتواند پسورد را حدس بزند.
انجام این کار چقدر سخت و پیچیده است؟
تنظیم کلیدهای SSH بسیار ساده است و راهیست که برای ورود به هر محیط سرور لینوکس یا یونیکس از راه دور توصیه می شود. یک جفت کلید SSH می تواند بر روی دستگاه شما تولید شود و شما می توانید در عرض چند دقیقه کلید عمومی را به سرورهای خود منتقل کنید.
فایروال ها
فایروال یک قطعه سخت افزاری (یا نرم افزاری) است که کارش کنترل خدماتی است که باید در شبکه در دسترس قرار گیرد. این به معنی مسدود کردن یا محدود کردن دسترسی به هر پورت به جز مواردی است که باید در دسترس عموم قرار بگیرند.
روی یک سرور معمولی، تعدادی از خدمات ممکن است به صورت پیش فرض اجرا شود. این خدمات را می توان به گروه های زیر تقسیم کرد:
دسته اول، خدمات عمومی، این خدمات می تواند توسط هر کسی در اینترنت مورد دسترسی قرار گیرد، اغلب هم به صورت ناشناس دسترسی صورت می پذیرد. یک مثال خوب از این نوع، وب سروریست که ممکن است اجازه دسترسی به سایت شما را بدهد.
دسته دوم، خدمات خصوصیست که فقط باید توسط یک گروه انتخاب شده از اکانت های مجاز یا از مکان های خاص قابل دسترس باشد. مثال این نوع خدمات می تواند کنترل پنل پایگاه داده باشد.
دسته سوم، خدمات داخلی هستند که فقط باید از درون سرور قابل دسترس باشند، بدون ارائه خدمات به جهان خارج. مثال این نوع خدمات می تواند یک پایگاه داده باشد که تنها اتصالات محلی را می پذیرد.
کار یک فایروال این است که اطمینان حاصل کند، دسترسی به نرم افزار شما با توجه به دسته های بالا محدود شده است. خدمات عمومی را می توان برای هر کس باز و در دسترس قرار داد و خدمات خصوصی را می توان بر اساس معیارهای مختلف محدود کرد. خدمات داخلی می تواند برای جهان خارح به طور کامل غیر قابل دسترس شود. برای پورت هایی که استفاده نمی شوند، دسترسی به طور کامل در اکثر تنظیمات مسدود می شود.
چگونه فایروال می تواند باعث افزایش امنیت شود؟
فایروال ها بخش مهمی از پیکربندی هر سرور هستند. حتی اگر سرویس دهنده شما ویژگی های امنیتی را خودش اجرا کرده باشد یا آنها را روی رابط هایی که شما برای اجرا انتخاب کردید، محدود کرده باشد، باز هم فایروال به عنوان یک لایه محافظ اضافه عمل می کند.
فایروالی که به درستی پیکربندی شده باشد دسترسی به همه چیز را محدود می کند به غیر از خدمات خاصی که نیاز دارید تا باز بماند. نمایش تنها قسمتهای کمی از نرم افزار و محدود کردن اجزای آسیب پذیر در مقابل بهره برداری، سطح حمله به سرور را کاهش می دهد.
پیکربندی فایروال چقدر پیچیدگی دارد؟
فایروال های زیادی برای سیستم های لینوکس وجود دارند، بعضی از آنها منحنی یادگیری سریع تر از بقیه دارند. هرچند، به طور کلی، تنظیم فایروال فقط چند دقیقه طول می کشد و فقط هنگام تنظیم اولیه سرور و یا زمانی که تغییری در خدماتی که روی سرور ارائه می دهید اتفاق می افتد، نیاز است انجام شود.
VPN ها و شبکه های خصوصی
شبکه های خصوصی شبکه هایی هستند که فقط برای سرورها یا کاربران خاص در دسترس هستند. به عنوان مثال، در DigitalOcean، شبکه خصوصی در بعضی از مناطق به عنوان یک شبکه گسترده دیتاسنتر وجود دارد.
VPN یا شبکه خصوصی مجازی راهی برای ایجاد ارتباط ایمن بین کامپیوترهای راه دور و برقرای اتصال به عنوان یک شبکه محلی خصوصی است. این امکان، راهی را برای پیکربندی سرویس های شما فراهم می کند بطوریکه آنها در یک شبکه خصوصی قرار دارند و سرور های راه دور را از طریق اتصالات ایمن به آنها وصل می شوند.
چگونه VPN باعث افزایش امنیت می شود؟
در انتخاب بین دو گزینه، استفاده از شبکه خصوصی به جای عمومی برای ارتباطات داخلی تقریبا همیشه ترجیح داده می شود. با این حال، به خاطر اینکه دیگر کاربران آن دیتاسنتر به همان شبکه دسترسی دارند، شما هنوز هم باید اقدامات لازم برای امنیت ارتباطات بین سرورهای خود را انجام دهید.
استفاده از VPN، به طور موثر، راهی برای طراحی یک شبکه خصوصی است که فقط سرورهای شما می توانند ببینند. بنابراین ارتباطات کاملا خصوصی و ایمن خواهند بود. برنامه های دیگر می توانند طوری پیکربندی شوند که ترافیک خود را از طریق رابط مجازی که نرم افزار VPN ایجاد کرده است عبور دهند. به این ترتیب، تنها خدماتی که به وسیله مشتریان در اینترنت عمومی مصرف می شوند، باید در شبکه عمومی قرار بگیرند.
پیکر بندیVPN چقدر پیچیدگی دارد؟
استفاده از شبکه های خصوصی در دیتاسنتری که دارای این قابلیت است به همان اندازه فعال سازی رابط کاربری در خلال ایجاد سرور و تنظیم برنامه های کاربردی و فایروال برای استفاده از شبکه خصوصی، ساده است. به یاد داشته باشید که شبکه های خصوصی گسترده دیتاسنتر، فضا را با دیگر سرور هایی که از همان شبکه استفاده می کنند به اشتراک می گذارند.
همانطور که برای VPN، راه اندازی اولیه کمی بیشتر زمان می برد، به همان اندازه امنیت افزایش می یابد که در بسیاری موارد این امنیت ارزشمند است. هر سرور در یک VPN باید داده ها و تنظیمات مشترک مورد نیاز برای نصب و پیکربندی یک اتصال ایمن را داشته باشد. پس از اینکه VPN نصب رو راه اندازی شد، برنامه ها باید برای استفاده از تونل VPN پیکربندی شوند.
زیرساخت کلید عمومی و رمزگذاری SSL/TLS
زیرساخت کلید عمومی یا PKI به سیستمی اطلاق می شود که برای ایجاد، مدیریت و تایید گواهی شناسایی افراد و ارتباطات رمزگذاری شده طراحی شده است. گواهینامه های SSL یا TLS می تواند برای تأیید هویت های مختلف به یکدیگر استفاده شود. پس از احراز هویت، همچنین می توانند برای برقراری ارتباط رمز شده استفاده شوند.
گواهینامه های SSL/TLS چگونه باعث افزایش امنیت می شوند
ایجاد یک مجوز گواهینامه و مدیریت این گواهینامه ها روی سرورهای شما، به هر موجودیت در زیرساخت اجازه می دهد، هویت دیگر اعضا را اعتبار سنجی کرده و ترافیک آنها را رمزگذاری کند. این کار از حملات میان راهی که یک مهاجم در زیرساخت شما نقش یک سرور را برای ردگیری ترافیک تقلید می کند، جلوگیری می کند.
هر سرور می تواند برای اعتماد به یک مجوز گواهینامه متمرکز پیکربندی شود. پس از آن، هر گواهی نامه ای که به آن مجوز داده شود، می تواند به صورت ضمنی مورد اعتماد شناخته شود. اگر برنامه ها و پروتکل هایی که برای برقراری ارتباط استفاده می کنید از رمزگذاری TLS / SSL پشتیبانی کند، این روشی رمزگذاری سیستم شما را بدون سربار تونل VPN رمزگذاری می کند. (که اغلب از SSL نیز به طور داخلی استفاده می کند)