پرش به محتوا
امنیتOWASPافتانرم‌افزار سازمانی

امنیتِ نرم‌افزارِ سازمانی: چک‌لیستِ عملی بر پایهٔ OWASP و افتا

تیم اپوآپ۷ دقیقه مطالعه

امنیت را نمی‌شود در پایانِ پروژه «اضافه» کرد. در نرم‌افزارِ سازمانی که با دادهٔ واقعیِ کاربر و کسب‌وکار سروکار دارد، امنیت باید از روزِ اولِ طراحی بخشی از تصمیم‌ها باشد. این نوشته یک چک‌لیستِ عملی بر پایهٔ OWASP و استانداردهای افتا ارائه می‌دهد.

اصلِ اول: اعتماد نکن، اعتبارسنجی کن

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

  • اعتبارسنجیِ همهٔ ورودی‌ها در سمتِ سرور.
  • استفاده از کوئریِ پارامتری برای جلوگیری از تزریقِ SQL.
  • کدگذاریِ خروجی برای جلوگیری از XSS.
  • محدودسازیِ نرخ (rate limiting) روی اندپوینت‌های حساس و فرم‌ها.

احراز هویت و کنترلِ دسترسی

بسیاری از رخنه‌ها از کنترلِ دسترسیِ ناقص می‌آیند، نه از رمزِ ضعیف.

  1. کنترلِ دسترسی را در سمتِ سرور و روی هر درخواست بررسی کنید، نه فقط در رابطِ کاربری.
  2. اصلِ کمترین دسترسی: هر نقش فقط به آنچه لازم دارد دسترسی داشته باشد.
  3. رمزها را با الگوریتم‌های قوی هش کنید؛ هرگز متنِ ساده ذخیره نکنید.
  4. نشست‌ها را امن مدیریت کنید و منقضی‌شدن را جدی بگیرید.

داده در حالِ انتقال و در حالِ سکون

ارتباطات را با TLS رمزنگاری کنید و داده‌های حساس را در پایگاه‌داده نیز رمزنگاری یا دستِ‌کم محافظت کنید. یک اشتباهِ رایج این است که داده فقط در مسیر محافظت شود اما در پایگاه‌داده بی‌دفاع بماند.

پیکربندی و نگهداری

  • پیکربندیِ امن به‌صورتِ پیش‌فرض؛ قابلیت‌های غیرلازم را خاموش کنید.
  • به‌روزرسانیِ منظمِ وابستگی‌ها برای بستنِ آسیب‌پذیری‌های شناخته‌شده.
  • ثبتِ رویداد (logging) و پایش برای کشفِ رفتارِ مشکوک.
  • ممیزیِ امنیتیِ دوره‌ای و آزمونِ نفوذ.
امنیت یک ویژگی نیست که یک‌بار اضافه شود؛ یک انضباطِ مستمر در طولِ عمرِ نرم‌افزار است.

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