8 نکته اساسی برای ایمن سازی سرور برنامه وب

در بیشتر موارد ، سرورهای برنامه وب باید در دسترس عموم باشند ، به این معنی که در معرض انواع تهدیدات قرار دارند.


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

قبل از شروع لیست راهنمایی ، باید بدانید که یک سرور برنامه وب جزیره نیست. سرور جزء اصلی در مزرعه برنامه وب است که میزبانی و عملکرد یک برنامه وب را امکان پذیر می کند. بنابراین ، برای تأمین امنیت ، باید کلیه مؤلفه های موجود در آن را مد نظر داشته باشید و کل محیط برنامه وب را ایمن کنید.

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

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

دیوار آتش تغییر شکل داده است

ممکن است شما وسوسه شوید که به سرعت این مورد را بررسی کنید ، فکر می کنید “خوش شانس باشید ، من در حال حاضر یک فایروال دارم که از شبکه خود محافظت می کند.” اما شما بهتر اسبهای خود را نگه دارید.

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

چگونه?

ساده: فایروال شبکه شما حداقل باید ترافیک ورودی را در درگاه های 80 و 443 (یعنی HTTP و HTTPS) مجاز کند ، و نمی داند چه کسی یا چه چیزی از آن پورت ها عبور می کند.

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

برای مؤثر بودن ، WAF باید پایگاه داده خود را دائماً با الگوهای جدید تهدید به روز کند تا بتواند آنها را مسدود کند. مشکل پیشگیری از حمله مبتنی بر الگوی این است که برنامه وب شما می تواند یکی از اولین اهداف یک تهدید جدید باشد که WAF شما هنوز از آن آگاه نیست..

به همین دلایل ، برنامه وب شما علاوه بر فایروال شبکه ، به لایه های محافظتی اضافی احتیاج دارد.

برای آسیب پذیری های خاص وب اسکن کنید

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

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

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

به توسعه دهندگان خود آموزش دهید

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

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

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

عملکرد غیر ضروری را خاموش کنید

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

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

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

برای توسعه ، آزمایش و تولید از محیط های جداگانه استفاده کنید

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

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

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

نرم افزار سرور خود را به روز کنید

هرچه به نظر می رسد واضح است ، این یکی از کارهای بسیار نادیده گرفته است. SUCURI دریافت که 59٪ از برنامه های CMS منسوخ شده است ، که در معرض خطر است.

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

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

دسترسی و امتیازات را محدود کنید

یک اقدام امنیتی اصلی ، نگه داشتن ترافیک دسترسی از راه دور – مانند RDP و SSH – رمزگذاری شده و تونل است. همچنین ایده خوبی است برای نگه داشتن لیست کاهش یافته از آدرس های IP از جایی که دسترسی از راه دور مجاز است ، اطمینان حاصل کنید که هرگونه تلاش برای ورود از راه دور از هر IP دیگر مسدود شده است..

سرپرستان گهگاه همه امتیازات ممکن را به حسابهای خدماتی می دهند زیرا می دانند با این کار “همه کارها” خواهد شد. اما این روش خوبی نیست زیرا مهاجمان می توانند از آسیب پذیری در سرویس ها برای نفوذ به سرور استفاده کنند. اگر این سرویس ها با امتیازات سرپرست اداره شوند ، می توانند کل سرور را تصرف کنند.

تعادل مناسب بین امنیت و عملی نیاز دارد که هر حساب – اعم از حساب های ورود به سیستم و حساب های خدمات – از امتیازات لازم برای انجام کار خود برخوردار باشد و هیچ چیز دیگری.

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

مراقب گزارش های سرور باشید

پرونده های ثبت شده به دلایلی در آنجا هستند.

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

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

نکته پاداش: خود را آگاه نگه دارید

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

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

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map