اقدامات امنیتی پیشنهادی برای محافظت از سرورها

اقدامات امنیتی پیشنهادی برای محافظت از سرورها

اغلب اوقات تمرکز اصلی شما روی راه اندازی و اجرای برنامه های ابری خواهد بود. به عنوان بخشی از فرآیند راه اندازی و استقرار، مهم است که قبل از در دسترس قرار گرفتن عمومی سیستم ها و برنامه هایتان، اقدامات امنیتی قوی و کامل برای آن ها پیاده سازی کنید. اجرای اقدامات امنیتی ذکر شده در این آموزش، پیش از استقرار برنامه هایتان، تضمین می کند که هر نرم افزاری که روی زیرساخت خود اجرا می کنید یک پیکربندی پایه امن دارد، در مقابل اقدام های پراکنده ای که ممکن است پس از استقرار انجام شوند.

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

SSH Keys

SSH یا "شل امن"، یک پروتکل رمزگذاری شده است که برای مدیریت و ارتباط با سرورها استفاده می شود. هنگام کار با یک سرور، بیشتر وقتتان را در یک نشست ترمینال متصل به سرور از طریق SSH خواهید گذراند. به عنوان جایگزینی برای ورودهای مبتنی بر رمز عبور، کلیدهای SSH با استفاده از رمزنگاری روشی امن برای ورود به سرور فراهم می کنند و برای همه کاربران توصیه می شوند.

با کلیدهای SSH، یک جفت کلید خصوصی و عمومی برای احراز هویت ساخته می شود. کلید خصوصی نزد کاربر مخفی و امن نگه داشته می شود، در حالی که کلید عمومی قابل اشتراک گذاری است. به این روش معمولاً رمزنگاری نامتقارن گفته می شود، الگویی که ممکن است در جای دیگری نیز مشاهده کنید.

دیاگرام کلیدهای SSH

نحوه پیکربندی کلیدهای SSH

برای پیکربندی احراز هویت با کلید SSH، باید کلید عمومی خود را در مسیر مورد انتظار روی سرور قرار دهید (معمولاً ‎~/.ssh/authorized_keys). برای یادگیری بیشتر درباره نحوه کارکرد احراز هویت مبتنی بر کلید SSH، می توانید مقاله Understanding the SSH Encryption and Connection Process را مطالعه کنید.

چطور کلیدهای SSH امنیت را افزایش می دهند؟

در SSH، هر نوع احراز هویت — حتی احراز هویت مبتنی بر رمز عبور — کاملاً رمزگذاری می شود. با این حال، زمانی که ورود با رمز عبور مجاز باشد، کاربران مخرب می توانند بارها و بارها به طور خودکار تلاش کنند به سرور دسترسی پیدا کنند، به خصوص اگر سرور دارای یک IP عمومی باشد. اگرچه روش هایی برای قفل کردن دسترسی پس از چند تلاش ناموفق از یک IP وجود دارد، و در عمل کاربران مخرب محدود به سرعت تلاش هایشان هستند، اما هر شرایطی که اجازه دهد کاربری با حملات brute force تلاش به ورود کند، یک ریسک امنیتی محسوب می شود.

راه اندازی احراز هویت مبتنی بر کلید SSH به شما امکان می دهد ورود مبتنی بر رمز عبور را غیرفعال کنید. کلیدهای SSH معمولاً دارای بیت های بسیار بیشتری از داده نسبت به یک رمز عبور هستند — شما می توانید یک هش کلید SSH 128 کاراکتری را از یک رمز عبور 12 کاراکتری ایجاد کنید — که شکستن آن ها را بسیار دشوارتر می کند. برخی الگوریتم های رمزنگاری با تلاش برای مهندسی معکوس هش های رمز عبور در یک کامپیوتر بسیار قدرتمند قابل شکست در نظر گرفته می شوند. با این حال، دیگر الگوریتم ها، از جمله کلید پیش فرض RSA که توسط کلاینت های مدرن SSH تولید می شود، هنوز شکستن شان غیرممکن در نظر گرفته می شود.

نحوه پیاده سازی کلیدهای SSH


کلیدهای SSH روش پیشنهادی برای ورود از راه دور به هر محیط لینوکس هستند. یک جفت کلید SSH می تواند روی دستگاه محلی شما با استفاده از دستور ssh تولید شود و سپس کلید عمومی به سرور منتقل گردد.

برای راه اندازی کلیدهای SSH روی سرور خود، می توانید آموزش How To Set Up SSH Keys for Ubuntu, Debian, or CentOS را دنبال کنید.

برای بخش هایی از سیستم که نیاز به دسترسی مبتنی بر رمز عبور دارند یا در معرض حملات brute force قرار می گیرند، می توانید روی سرورها ابزاری مانند fail2ban پیاده سازی کنید تا تعداد دفعات مجاز ورود با رمز را محدود کنید.

بهترین روش این است که اجازه ندهید کاربر root مستقیماً از طریق SSH وارد شود. در عوض، به عنوان یک کاربر عادی وارد شوید و سپس در صورت نیاز با ابزاری مانند sudo سطح دسترسی را افزایش دهید. این رویکرد برای محدود کردن مجوزها به عنوان اصل کمترین سطح دسترسی (principle of least privilege) شناخته می شود. پس از اتصال به سرور و ایجاد یک حساب کاربری عادی که ورود آن با SSH را تأیید کرده اید، می توانید ورود root را با تنظیم دستور PermitRootLogin no در فایل ‎/etc/ssh/sshd_config غیرفعال کنید و سپس سرویس SSH سرور را با دستوری مانند sudo systemctl restart sshd راه اندازی مجدد کنید.

Firewalls (فایروال ها)

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

دیاگرام فایروال

 

دسته بندی سرویس ها روی یک سرور معمولی:

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

فایروال ها می توانند تضمین کنند که دسترسی به نرم افزار شما مطابق دسته بندی های بالا با سطوح مختلف دقت محدود شود. سرویس های عمومی می توانند باز و در دسترس اینترنت باقی بمانند، سرویس های خصوصی می توانند بر اساس معیارهای مختلف مانند نوع اتصال محدود شوند، و سرویس های داخلی می توانند کاملاً از اینترنت غیرقابل دسترس شوند. برای پورت هایی که استفاده نمی شوند، در بیشتر پیکربندی ها دسترسی به طور کامل مسدود می شود.

دیوارهای آتش چگونه امنیت را افزایش می دهند؟

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

یک دیوار آتش به درستی پیکربندی شده دسترسی به همه چیز را محدود می کند جز سرویس های مشخصی که باید باز بمانند، معمولاً با باز کردن تنها پورت های مرتبط با آن سرویس ها. برای مثال، SSH معمولاً روی پورت ۲۲ اجرا می شود و دسترسی HTTP/HTTPS از طریق مرورگر وب معمولاً روی پورت های ۸۰ و ۴۴۳ اجرا می شوند. محدود کردن تنها چند نرم افزار سطح حمله سرور شما را کاهش می دهد و بخش هایی را که در معرض سوءاستفاده هستند محدود می کند.

چگونه دیوارهای آتش را پیاده سازی کنیم

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

  • UFW یا Uncomplicated Firewall به طور پیش فرض روی برخی توزیع های لینوکس مانند اوبونتو نصب می شود. می توانید درباره آن در مقاله How To Set Up a Firewall with UFW on Ubuntu 20.04 بیشتر بیاموزید.
  • اگر از Red Hat، Rocky، یا Fedora استفاده می کنید، می توانید How To Set Up a Firewall Using firewalld را برای استفاده از ابزار پیش فرض آن ها مطالعه کنید.
  • بسیاری از دیوارهای آتش نرم افزاری مانند UFW و firewalld قوانین پیکربندی شده خود را مستقیماً در فایلی به نام iptables می نویسند. برای یادگیری نحوه کار با پیکربندی iptables به طور مستقیم، می توانید Iptables Essentials: Common Firewall Rules and Commands را بررسی کنید. توجه داشته باشید که برخی نرم افزارهای دیگر که به صورت مستقل قوانین پورت را اعمال می کنند، مانند Docker، نیز مستقیماً به iptables می نویسند و ممکن است با قوانینی که با UFW ایجاد کرده اید تداخل داشته باشند، بنابراین دانستن نحوه خواندن پیکربندی iptables در چنین مواردی مفید است.

توجه: بسیاری از ارائه دهندگان میزبانی، از جمله DigitalOcean، اجازه می دهند دیوار آتش را به صورت سرویس پیکربندی کنید که به عنوان یک لایه خارجی بر روی سرورهای ابری شما اجرا می شود، به جای این که دیوار آتش را مستقیماً پیاده کنید. این پیکربندی ها که در لبه شبکه با ابزارهای مدیریت شده اجرا می شوند، در عمل معمولاً پیچیدگی کمتری دارند اما ممکن است نوشتن اسکریپت و تکرار آن ها چالش برانگیزتر باشد. می توانید به مستندات DigitalOcean درباره دیوار آتش ابری مراجعه کنید.

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

شبکه های VPC

شبکه های ابری خصوصی مجازی (VPC) شبکه های خصوصی برای منابع زیرساخت شما هستند. شبکه های VPC اتصال امن تری بین منابع فراهم می کنند زیرا رابط های شبکه آن ها از اینترنت عمومی غیرقابل دسترسی هستند.

چگونه شبکه های VPC امنیت را افزایش می دهند؟

برخی ارائه دهندگان میزبانی به طور پیش فرض به سرورهای ابری شما یک رابط شبکه عمومی و یک رابط شبکه خصوصی اختصاص می دهند. غیرفعال کردن رابط شبکه عمومی در بخش هایی از زیرساخت، باعث می شود این نمونه ها فقط بتوانند از طریق رابط شبکه خصوصی خود و شبکه داخلی به یکدیگر متصل شوند، به این معنی که ترافیک بین سیستم های شما از طریق اینترنت عمومی عبور نمی کند و در معرض افشا یا رهگیری قرار نمی گیرد.

با در معرض قرار دادن مشروط تنها چند دروازه اینترنت اختصاصی، که به آن ها دروازه های ورودی (ingress gateways) گفته می شود، به عنوان تنها نقطه دسترسی بین منابع شبکه VPC شما و اینترنت عمومی، کنترل و دید بیشتری روی ترافیک عمومی متصل به منابع خود خواهید داشت. سیستم های مدرن ارکستراسیون کانتینر مانند Kubernetes مفهوم بسیار دقیقی از دروازه های ورودی دارند، زیرا به طور پیش فرض بسیاری از رابط های شبکه خصوصی ایجاد می کنند که نیازمند انتخابی برای در معرض قرار گرفتن هستند.

چگونه شبکه های VPC را پیاده سازی کنیم

بسیاری از ارائه دهندگان زیرساخت ابری به شما امکان می دهند منابع خود را در یک شبکه VPC در داخل دیتاسنترهایشان ایجاد و اضافه کنید.

توجه: اگر از DigitalOcean استفاده می کنید و می خواهید دروازه VPC خود را راه اندازی کنید، می توانید راهنمای How to Configure a Droplet as a VPC Gateway را برای یادگیری نحوه انجام این کار روی سرورهای Debian، Ubuntu و CentOS دنبال کنید.

پیکربندی دستی شبکه خصوصی خود نیازمند دانش پیشرفته شبکه و تنظیمات سرور است. جایگزین دیگر برای ایجاد شبکه VPC، استفاده از اتصال VPN بین سرورهای شماست.

شبکه های خصوصی و VPN

یک VPN یا شبکه خصوصی مجازی، روشی است برای ایجاد ارتباطات امن بین کامپیوترهای راه دور و نمایش این اتصال به گونه ای که گویی یک شبکه خصوصی محلی است. این امکان را فراهم می کند تا سرویس های خود را همانند شبکه ای خصوصی پیکربندی کرده و سرورهای راه دور را از طریق اتصال های امن به هم متصل کنید.

برای مثال، شبکه های خصوصی DigitalOcean ارتباط ایزوله بین سرورها در همان حساب یا تیم و در همان منطقه را فراهم می کنند.

دیاگرام VPN

چگونه VPNها امنیت را افزایش می دهند؟

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

چگونه VPNها را پیاده سازی کنیم

استفاده از شبکه های خصوصی معمولاً نیازمند تصمیم گیری درباره رابط های شبکه هنگام اولین استقرار سرورها و پیکربندی برنامه ها و دیوار آتش برای ترجیح دادن این رابط ها است. در مقایسه، استقرار VPN نیازمند نصب ابزارهای اضافی و ایجاد مسیرهای شبکه اضافی است، اما معمولاً می تواند روی معماری موجود پیاده شود. هر سرور در VPN باید داده های امنیتی و پیکربندی مشترک لازم برای برقراری اتصال VPN را داشته باشد. پس از راه اندازی VPN، برنامه ها باید طوری پیکربندی شوند که از تونل VPN استفاده کنند.

اگر از اوبونتو یا CentOS استفاده می کنید، می توانید آموزش How To Set Up and Configure an OpenVPN Server on Ubuntu 20.04 را دنبال کنید.

Wireguard نیز یک روش محبوب دیگر برای استقرار VPN است. به طور کلی، VPNها همان اصل محدود کردن دسترسی به سرورهای ابری از طریق ایجاد چند رابط شبکه خصوصی پشت چند نقطه ورودی را دنبال می کنند، اما در حالی که پیکربندی های VPC معمولاً یک ملاحظه زیرساختی اصلی هستند، VPNها می توانند به صورت منعطف و بر پایه نیاز استقرار یابند.

ممیزی سرویس ها

امنیت خوب شامل تحلیل سیستم ها، درک سطح حمله موجود و محدود کردن مؤلفه ها تا جای ممکن است.

دیاگرام Service Auditing

 

ممیزی سرویس ها روشی است برای دانستن اینکه چه سرویس هایی روی یک سیستم اجرا می شوند، از چه پورت هایی برای ارتباط استفاده می کنند و چه پروتکل هایی توسط آن سرویس ها به کار گرفته می شوند. این اطلاعات به شما کمک می کند تا تصمیم بگیرید کدام سرویس ها باید به طور عمومی در دسترس باشند، تنظیمات دیوار آتش، پایش و هشدارها چگونه باشند.

چگونه ممیزی سرویس ها امنیت را افزایش می دهد؟

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

زمانی که درک خوبی از سرویس های شبکه در حال اجرا داشته باشید، می توانید آن ها را تحلیل کنید. هنگام انجام ممیزی سرویس، از خود بپرسید:

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

این نوع ممیزی باید هنگام پیکربندی هر سرور جدید استاندارد باشد و انجام آن هر چند ماه یک بار نیز به شناسایی سرویس هایی با پیکربندی تغییر یافته به طور ناخواسته کمک می کند.

چگونه ممیزی سرویس ها را انجام دهیم
برای ممیزی سرویس های شبکه در حال اجرا، از دستور ss برای فهرست کردن تمام پورت های TCP و UDP استفاده کنید. یک نمونه دستور که نام برنامه، PID و آدرس های مورد استفاده برای گوش دادن به ترافیک TCP و UDP را نمایش می دهد:

sudo ss -plunt

گزینه های p، l، u، n و t به این صورت کار می کنند:

  • p: نمایش پردازش خاصی که از سوکت استفاده می کند.
  • l: نمایش فقط سوکت هایی که فعالانه برای اتصال گوش می دهند.
  • u: شامل سوکت های UDP (علاوه بر TCP).
  • n: نمایش مقادیر عددی ترافیک.
  • t: شامل سوکت های TCP (به علاوه UDP).
Output
Netid       State        Recv-Q       Send-Q             Local Address:Port             Peer Address:Port      Process
tcp         LISTEN       0            128                      0.0.0.0:22                    0.0.0.0:*         users:(("sshd",pid=812,fd=3))
tcp         LISTEN       0            511                      0.0.0.0:80                    0.0.0.0:*         users:(("nginx",pid=69226,fd=6),("nginx",pid=69225,fd=6))
tcp         LISTEN       0            128                         [::]:22                       [::]:*         users:(("sshd",pid=812,fd=4))
tcp         LISTEN       0            511                         [::]:80                       [::]:*         users:(("nginx",pid=69226,fd=7),("nginx",pid=69225,fd=7))

ستون های اصلی که باید توجه کنید Netid، Local Address:Port و Process name هستند. اگر Local Address:Port برابر 0.0.0.0 باشد، سرویس روی تمام رابط های IPv4 گوش می دهد. اگر آدرس [::] باشد، سرویس روی تمام رابط های IPv6 گوش می دهد. در مثال ارائه شده، SSH و Nginx روی تمام رابط های عمومی، هم در شبکه IPv4 و هم IPv6 گوش می دهند.

شما می توانید تصمیم بگیرید که آیا می خواهید SSH و Nginx روی هر دو رابط گوش دهند یا فقط روی یکی از آن ها. به طور کلی، باید سرویس هایی که روی رابط های بلااستفاده اجرا می شوند را غیرفعال کنید.

 

به روزرسانی خودکار (Unattended Updates)

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

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

چگونه به روزرسانی خودکار را پیاده سازی کنیم

می توانید به مقاله How to Keep Ubuntu Servers Updated برای بررسی نحوه پیاده سازی به روزرسانی خودکار در اوبونتو مراجعه کنید.

 

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

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

دیاگرام SSL

چگونه PKI امنیت را افزایش می دهد؟

ایجاد یک مرجع صدور گواهی (CA) و مدیریت گواهی ها برای سرورها اجازه می دهد هر موجودیت در زیرساخت، هویت دیگر اعضا را تأیید کرده و ترافیک خود را رمزگذاری کند. این کار از حملات مرد میانی (MITM) جلوگیری می کند که در آن مهاجم به جای سرور شما قرار می گیرد تا ترافیک را رهگیری کند.

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

چگونه PKI را پیاده سازی کنیم

پیکربندی یک مرجع صدور گواهی و سایر اجزای زیرساخت کلید عمومی نیازمند تلاش اولیه قابل توجهی است. علاوه بر این، مدیریت گواهی ها می تواند بار مدیریت اضافی ایجاد کند، خصوصاً زمانی که گواهی های جدید ایجاد، امضا یا لغو شوند.

برای بسیاری از کاربران، پیاده سازی کامل PKI تنها زمانی منطقی است که نیازهای زیرساختی آن ها رشد کرده باشد. امن سازی ارتباط بین اجزا با استفاده از VPN ممکن است یک راهکار موقت بهتر باشد تا زمانی که PKI ارزش هزینه مدیریت اضافی را داشته باشد.

اگر می خواهید مرجع صدور گواهی خود را ایجاد کنید، می توانید به راهنمای How To Set Up and Configure a Certificate Authority (CA) بسته به توزیع لینوکسی که استفاده می کنید مراجعه کنید.

نتیجه گیری

استراتژی های بیان شده در این آموزش، نمای کلی از برخی اقدامات برای بهبود امنیت سیستم ها هستند. مهم است که بدانید هرچه در اجرای اقدامات امنیتی تأخیر داشته باشید، اثربخشی آن ها کاهش می یابد. امنیت نباید بعد از راه اندازی به یاد آورده شود و باید هنگام اولین تأمین زیرساخت پیاده شود. پس از ایجاد یک پایه امن، می توانید سرویس ها و برنامه های خود را با اطمینان نسبی از اجرای آن ها در یک محیط امن مستقر کنید.

حتی با یک محیط شروع امن، به یاد داشته باشید که امنیت یک فرآیند مستمر و تکراری است. همیشه از خود بپرسید تغییرات اعمال شده چه تأثیر امنیتی دارند و چه اقداماتی می توان انجام داد تا همیشه پیکربندی ها و محیط های پیش فرض نرم افزار شما امن باشند.

 

منبع DigitalOcean

۴۳
۱۴۰۴/۶/۹