امنیت سایت
امنیت وب سایت چیست؟
اینترنت مکان خطرناکی است! به طور منظم، ما در مورد از دسترس نبودن وب سایت ها به دلیل حملات انکار سرویس، یا نمایش اطلاعات تغییر یافته (و اغلب مخرب) در صفحات اصلی خود می شنویم. در سایر موارد پرمخاطب، میلیونها رمز عبور، آدرس ایمیل و جزئیات کارت اعتباری به صورت عمومی درز کرده است که کاربران وبسایت را در معرض شرمساری شخصی و ریسک مالی قرار میدهد.
هدف از امنیت وب سایت جلوگیری از این (یا هر گونه) حملاتی است. تعریف رسمیتر امنیت وبسایت، عمل/عمل محافظت از وبسایتها در برابر دسترسی، استفاده، تغییر، تخریب یا اختلال غیرمجاز است .
امنیت وب سایت مؤثر مستلزم تلاش طراحی در کل وب سایت است: در برنامه وب شما، پیکربندی وب سرور، خط مشی های شما برای ایجاد و تمدید رمزهای عبور، و کد سمت سرویس گیرنده. در حالی که همه اینها بسیار شوم به نظر می رسد، خبر خوب این است که اگر از یک چارچوب وب سمت سرور استفاده می کنید، تقریباً مطمئناً “به طور پیش فرض” مکانیسم های دفاعی قوی و فکر شده در برابر تعدادی از حملات رایج تر را فعال می کند. . سایر حملات را می توان از طریق پیکربندی وب سرور شما کاهش داد، برای مثال با فعال کردن HTTPS. در نهایت، ابزارهای اسکنر آسیب پذیری در دسترس عموم وجود دارد که می تواند به شما کمک کند تا دریابید که آیا اشتباهات آشکاری مرتکب شده اید یا خیر.
بقیه این مقاله جزئیات بیشتری در مورد چند تهدید رایج و برخی از مراحل ساده ای که می توانید برای محافظت از سایت خود بردارید، به شما ارائه می دهد.
این بخش تنها تعدادی از رایجترین تهدیدات وب سایت و نحوه کاهش آنها را فهرست می کند. همانطور که می2خوانید، توجه داشته باشید که چگونه تهدیدها زمانی که برنامه وب به داده های دریافتی از مرورگر اعتماد دارد یا به اندازه کافی پارانویا نیست ، موفقتر هستند .
اسکریپت بین سایتی (XSS)
XSS اصطلاحی است که برای توصیف دسته ای از حملات استفاده میشود که به مهاجم اجازه می دهد تا اسکریپتهای سمت کلاینت را از طریق وب سایت به مرورگرهای سایر کاربران تزریق کند. از آنجایی که کد تزریق شده از سایت به مرورگر می آید، کد مورد اعتماد است و می تواند کارهایی مانند ارسال کوکی مجوز سایت کاربر برای مهاجم را انجام دهد. هنگامی که مهاجم کوکی را داشته باشد، میتواند وارد سایتی شود که انگار همان کاربر است و هر کاری که کاربر میتواند انجام دهد، مانند دسترسی به جزئیات کارت اعتباری، دیدن جزئیات تماس، یا تغییر رمز عبور.
آسیبپذیریهای XSS بر اساس اینکه سایت چگونه اسکریپتهای تزریقشده را به مرورگر برمیگرداند، به دو دسته منعکس شده و پایدار تقسیم میشوند.
تهدیدهای دیگر...
سایر حملات/آسیب پذیری های رایج عبارتند از:
کلیک جک . در این حمله، یک کاربر مخرب کلیک هایی را که برای یک سایت سطح بالای قابل مشاهده است ربوده و آنها را به صفحه مخفی زیر آن هدایت می کند. این تکنیک ممکن است، برای مثال، برای نمایش یک سایت بانکی قانونی استفاده شود، اما اعتبار ورود به سیستم را در یک نامرئی که <iframe>توسط مهاجم کنترل می شود، ضبط کند. Clickjacking همچنین می تواند برای واداشتن کاربر به کلیک بر روی دکمه ای در یک سایت قابل مشاهده استفاده شود، اما در انجام این کار در واقع ناخواسته روی یک دکمه کاملاً متفاوت کلیک کنید. به عنوان یک دفاع، سایت شما می تواند با تنظیم هدرهای HTTP مناسب از قرار گرفتن خود در iframe در سایت دیگر جلوگیری کند.
انکار سرویس (DoS). DoS معمولاً با پر کردن یک سایت هدف با درخواست های جعلی به دست می آید تا دسترسی به یک سایت برای کاربران قانونی مختل شود. درخواست ها ممکن است متعدد باشند، یا ممکن است به صورت جداگانه مقادیر زیادی از منابع را مصرف کنند (به عنوان مثال، خواندن آهسته یا آپلود فایل های بزرگ). دفاعهای DoS معمولاً با شناسایی و مسدود کردن ترافیک «بد» و در عین حال اجازه دادن به پیامهای قانونی کار میکنند. این دفاع ها معمولاً قبل یا در وب سرور قرار دارند (آنها بخشی از خود برنامه وب نیستند).
پیمایش دایرکتوری (پرونده و افشاء). در این حمله، یک کاربر مخرب سعی می کند به قسمت هایی از سیستم فایل وب سرور دسترسی پیدا کند که نباید به آنها دسترسی داشته باشد. این آسیبپذیری زمانی رخ میدهد که کاربر بتواند نام فایلهایی را که شامل کاراکترهای ناوبری سیستم فایل هستند (به عنوان مثال، ../../) ارسال کند. راه حل این است که ورودی را قبل از استفاده ضدعفونی کنید.
گنجاندن فایل . در این حمله، کاربر می تواند یک فایل “ناخواسته” را برای نمایش یا اجرا در داده های ارسال شده به سرور مشخص کند. هنگامی که بارگذاری می شود، این فایل ممکن است در سرور وب یا سمت سرویس گیرنده (که منجر به حمله XSS می شود) اجرا شود. راه حل این است که ورودی را قبل از استفاده ضدعفونی کنید.
تزریق فرمان . حملات تزریق فرمان به کاربر مخرب اجازه می دهد تا دستورات سیستم دلخواه را بر روی سیستم عامل میزبان اجرا کند. راه حل این است که ورودی کاربر قبل از اینکه در تماس های سیستمی استفاده شود، پاکسازی شود.