امنیت داده‌ی فرم: چه چیزی جمع می‌کنید و چقدر نگهش می‌دارید

امن‌ترین داده، داده‌ای است که جمع نکرده‌اید. قبل از رمزنگاری و کنترل دسترسی، به این فکر کنید که چه چیزی واقعاً لازم دارید.

تیم پرسینو۶ آبان ۱۴۰۵۲ دقیقه خواندن

بحث امنیت فرم معمولاً از رمزنگاری شروع می‌شود، ولی مؤثرترین کار یک قدم قبل‌تر است.

۱. کمینه‌سازی: چه چیزی را اصلاً جمع نکنید

هر فیلدی که جمع می‌کنید، مسئولیت است. برای هر فیلد بپرسید: اگر این داده فردا درز کند، چه اتفاقی می‌افتد؟ و آیا واقعاً استفاده‌اش می‌کنم؟

مثال‌های رایجِ جمع‌آوری بی‌دلیل:

  • کد ملی، وقتی فقط می‌خواستید تکراری نباشد (شماره موبایل کافی بود).
  • تاریخ تولد کامل، وقتی فقط رده‌ی سنی لازم داشتید.
  • نشانی دقیق، وقتی فقط شهر کافی بود.

۲. چه چیزی خودکار جمع می‌شود

علاوه بر پاسخ‌ها، معمولاً IP، اطلاعات مرورگر و زمان هم ذخیره می‌شود. این‌ها برای ضداسپم مفیدند ولی در نظرسنجی ناشناس مشکل‌سازند: IP در یک سازمان می‌تواند به فرد برسد.

اگر نظرسنجی‌تان ناشناس است، جمع‌آوری IP را خاموش کنید و همین را به پاسخ‌دهنده بگویید.

۳. چه کسی می‌تواند ببیند

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

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

۴. چقدر نگه دارید

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

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

۵. مسائل فنی پایه

موردچرا
HTTPSبدون آن، پاسخ‌ها در مسیر قابل خواندن و دستکاری‌اند
پاک‌سازی HTML ورودیجلوگیری از تزریق اسکریپت در پنل مدیر
محدودیت نرخجلوگیری از استخراج انبوه و حمله
CSRF روی متدهای تغییردهندهجلوگیری از عمل ناخواسته با نشست کاربر

۶. به پاسخ‌دهنده بگویید

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

برچسب‌ها:امنیتحریم خصوصیداده