خلاصه اجرایی

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

# امنیت وب اپلیکیشن چیست و چگونه از داده‌ها محافظت کنیم؟

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

هرچه اهمیت اطلاعات بیشتر باشد، امنیت نیز اهمیت بیشتری پیدا می‌کند.

امنیت وب‌اپلیکیشن فقط نصب SSL یا قراردادن یک رمز عبور روی پنل نیست.

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

در این مقاله با مهم‌ترین بخش‌های امنیت Web Application آشنا می‌شویم و بررسی می‌کنیم چگونه می‌توان احتمال نفوذ، سوءاستفاده و ازدست‌رفتن اطلاعات را کاهش داد.

امنیت وب‌اپلیکیشن چیست؟

Web Application Security مجموعه‌ای از اقدامات و طراحی‌های فنی برای محافظت از نرم‌افزار تحت وب در برابر دسترسی غیرمجاز، دست‌کاری اطلاعات، سوءاستفاده و اختلال است.

هدف اصلی محافظت از سه موضوع است:

محرمانگی اطلاعات صحت و یکپارچگی داده‌ها دردسترس‌بودن سرویس

یک سیستم امن باید تلاش کند افراد فقط به اطلاعاتی دسترسی داشته باشند که مجاز به مشاهده آن هستند.

امنیت باید از طراحی شروع شود

یکی از اشتباهات رایج این است که امنیت را به پایان پروژه موکول کنیم.

معماری سیستم باید از ابتدا مشخص کند:

  • کاربران چگونه وارد می‌شوند؟
  • نقش‌ها چیست؟
  • اطلاعات حساس کجا هستند؟
  • چه بخش‌هایی عمومی هستند؟
  • API چگونه محافظت می‌شود؟
  • فایل‌ها کجا ذخیره می‌شوند؟
  • لاگ چگونه ثبت می‌شود؟

رفع مشکل معماری بعد از توسعه معمولاً بسیار پرهزینه‌تر است.

HTTPS

ارتباط میان مرورگر و سرور باید رمزگذاری شود.

HTTPS باعث می‌شود اطلاعات در مسیر انتقال به‌صورت ساده قابل مشاهده نباشند.

این موضوع برای:

  • رمز عبور
  • توکن
  • فرم
  • اطلاعات کاربر
  • فایل
  • سفارش

ضروری است.

اما HTTPS به‌تنهایی کل امنیت نرم‌افزار نیست.

احراز هویت

Authentication مشخص می‌کند کاربر چه کسی است.

سیستم ورود باید به‌درستی طراحی شود.

موضوعات مهم:

  • نگهداری امن رمز
  • محدودیت تلاش ورود
  • بازیابی رمز
  • نشست
  • ورود دومرحله‌ای
  • خروج از دستگاه‌ها

صفحه ورود یکی از اولین اهداف حملات خودکار است.

رمز عبور

رمز کاربر نباید به‌صورت متن ساده در پایگاه داده ذخیره شود.