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

۱) چرا هدف می‌شوید

سایتِ شما داده، پول و اعتبار دارد؛ همین سه، طعمه‌اند. حتی یک کسب‌وکارِ کوچک هم جذاب است، چون ورودیِ آسان‌تری دارد. پس تصورِ «ما که ارزشِ حمله نداریم» را دور بریزید؛ بیشترِ حملات، خودکار و بی‌هدف‌اند و هر درزِ بازی را امتحان می‌کنند. پس امنیت را نه واکنشی پس از حادثه، که عادتِ روزانه‌ای بسازید که در آن، هر لایه سنجیده و تکمیل می‌شود.

۲) لایهٔ پایه، رمزنگاری

هر تبادلِ داده باید رمزنگاری شود تا در مسیر، قابل‌خواندن نباشد. HTTPS را در کلِ سایت فعال کنید؛ چرا و چطورِ آن را در SSL و HTTPS توضیح داده‌ایم. این ساده‌ترین و درعین‌حال حیاتی‌ترین لایه است.

۳) نرم‌افزار را به‌روز نگه دارید

بیشترِ نفوذها از راهِ آسیب‌پذیریِ شناخته‌شدهٔ هسته، افزونه یا کتابخانه وارد می‌شوند. به‌روزرسانیِ منظم، همین درِ باز را می‌بندد. این کارکرد را در سرویس به‌روزرسانی امنیتی و مانیتورینگ پیاده می‌کنیم؛ کاری که تنبلی در آن، تاوانِ سنگین دارد.

۴) رمزِ عبور و احراز هویت

رمزهایِ ضعیف و قابل‌حدس، دعوتِ آشکار به نفوذند. سیاستِ رمزِ قوی بگذارید، تلاشِ ناموفق را محدود کنید و برای حساب‌هایِ مدیریتی، ورودیِ دومرحله‌ای فعال نمایید. بیشترِ ماجراجویی‌های امنیتی با یک رمزِ «۱۲۳۴۵۶» شروع می‌شوند.

۵) کمترین دسترسی

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

۶) فایروالِ برنامهٔ وب

یک فایروالِ لایهٔ اپلیکیشن، درخواست‌هایِ مخرب را پیش از رسیدن به کد فیلتر می‌کند: تزریق، درخواست‌هایِ غیرمتعارف و رفتارِ رباتی. این سپرِ بیرونی، بارِ حملاتِ خودکار را کم می‌کند و به تیم، زمانِ واکنش می‌خرد.

۷) ورودی‌ها را بسنجید

هر فرم، هر پارامترِ آدرس و هر نقطهٔ بارگذاری فایل، دروازهٔ بالقوه است. دادهٔ ارسالی را هرگز باور نکنید؛ اعتبارسنجی و پاک‌سازی کنید. بزرگ‌ترین آسیب‌ها از همان جایی می‌آیند که کد، ورودی را مطمئن فرض کرده است.

۸) تست نفوذ چیست

تست نفوذ، حملهٔ مجاز و هدفمندِ تیمِ امنیتی به سایتِ خودتان است، پیش از آنکه مهاجم این کار را بکند. متخصص، مثلِ دشمن فکر می‌کند و درزها را پیدا و گزارش می‌کند. این خدمت را در تست نفوذ ارائه می‌دهیم.

۹) جعبهٔ سیاه یا سفید

در تستِ جعبه‌سیاه، مهاجم هیچ اطلاعی از درون ندارد و از بیرون حمله می‌کند؛ در جعبه‌سفید، به کد و معماری دسترسی دارد و عمیق‌تر می‌نگرد. ترکیبِ این دو، تصویرِ واقعی‌تری از ریسک می‌دهد و هیچ گوشه‌ای در سایه نمی‌ماند.

۱۰) نتیجه را اصلاح کنید

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

۱۱) پایشِ پیوسته

امنیت، رویداد نیست، فرآیند. لاگ‌ها را پایش کنید، رفتارِ غیرعادی را هشدار بگیرید و با ابزارِ مانیتورینگ، چشمِ بیدارِ سیستم باشید. بیشترِ نفوذها مدتی آن‌جا هستند پیش از آنکه کشف شوند؛ پایش، زمانِ ماندِ دشمن را کوتاه می‌کند.

۱۲) برنامهٔ واکنش به حادثه

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

۱۳) بازیابی، تورِ ایمنی

حتی با بهترین دفاع، ممکن است چیزی بشکند. پشتیبان‌گیریِ رمزنگاری‌شده و آزموده‌شده، راهِ بازگشتِ سریع است؛ روشِ آن را در بکاپ و مهاجرت آمده. بازیابی که تمرین نشده، در روزِ بحران کار نمی‌کند.

۱۴) زنجیرهٔ تأمین

شما به کدِ خودتان محدود نیستید؛ افزونه‌ها، کتابخانه‌ها و سرویس‌هایِ بیرونی هم بخشی از سطحِ حمله‌اند. اجزایِ شخصِ ثالث را از منبعِ معتبر بگیرید و نسخه‌شان را زیر نظر داشته باشید. یک افزونهٔ رهاشده می‌تواند دروازه‌ای باشد که ساعت‌ها بسته نگهش داشته‌اید.

۱۵) امنیت و سئو

گوگل سایت‌هایِ ناامن را علامت می‌زند و در نتیجه، رتبه و اعتماد می‌افتد. امنیت، بخشی از سلامتِ فنیِ سایت است؛ همان چیزی که در سئوی تکنیکال دنبال می‌شود. سایتی که با بدافزار علامت بخورد، حتی با محتوای عالی، عقب می‌ماند.

۱۶) فرهنگِ امنیت

قوی‌ترین زنجیر، به‌اندازهٔ حلقهٔ ضعیفش است؛ و آن حلقه اغلب آدم‌ها هستند. تیم را آموزش دهید، از مهندسیِ اجتماعی آگاه‌شان کنید و امنیت را در روزمره جا بیندازید. سرویسِ به‌روزرسانی و مانیتورینگ را به‌عنوانِ مراقبتِ دائم ببینید، نه خرجِ یک‌باره.

سؤالات متداول

تست نفوذ چقدر طول می‌کشد؟ بسته به پهناوریِ سامانه، از چند روز تا چند هفته؛ مهم، گزارشِ دقیق و پیگیریِ اصلاحات است.

هر چند وقت تکرار کنم؟ در بازهٔ منظم و پس از هر تغییرِ بزرگ؛ دنیای تهدید ثابت نمی‌ایستد، پس دفاع هم نباید بایستد.

هاستِ امن کافی نیست؟ هاستِ خوب یک لایه است؛ امنیتِ واقعی، چندلایه است و کد، پیکربندی و رفتارِ تیم را هم در بر می‌گیرد.

برای ارزیابی و استحکامِ امنیت سایت، پروژهٔ خود را برای ما تعریف کنید و نمونه‌کارها را در پورتفولیو ببینید.