۰۱. پورتهای مدیریتی و درهای پشتی
باز بودن پورتهایی مانند SMB (445) و RPC (135) روی اینترنت یکی از دلایل اصلی شکست در تستهای نفوذ است. تجربه ما نشان داده که راهکار قطعی، استفاده از IPSec Policies در لایه هسته سیستمعامل برای مسدودسازی دائمی است.
۰۲. نشت اطلاعات فریمورک (Fingerprinting)
هدرهایی مثل Server یا X-Powered-By نقشه راه نفوذگر برای شناسایی نسخههای نرمافزاری و اکسپلویتهای مربوطه هستند. حذف این ردپاها در لایه وبسرور IIS و کدهای اپلیکیشن الزامی است.
۰۳. ثبت رخداد گواهیمند (Audit Integrity)
لاگها نباید در دیتابیس معمولی ذخیره شوند. ممیزین بر روی تغییرناپذیری لاگ تاکید دارند. هر سطر لاگ باید شامل هش (Hash) سطر قبلی باشد تا هرگونه دستکاری در سوابق بلافاصله شناسایی شود.
ثبت صریح وضعیت
لاگ باید صراحتاً وضعیت موفقیت یا شکست عملیات (Success/Failed) را برای هر اکشن کاربر ثبت کند.
استخراج IP واقعی
در ساختارهای چند لایه، استخراج IP کلاینت از هدر X-Forwarded-For برای مستندسازی صحیح ضروری است.
۰۴. رمزنگاری GCM به جای CBC
استفاده از مدهای CBC در پروتکل TLS شما را در برابر حملاتی مثل Lucky13 آسیبپذیر میکند. تمامی سایفرهای ضعیف باید حذف شده و فقط مدهای امن GCM در اولویت قرار گیرند.
۰۵. حملات زمانی (Timing Attacks)
اگر زمان پاسخ سرور برای «کاربر موجود» و «ناموجود» متفاوت باشد، نفوذگر میتواند لیست پرسنل شما را استخراج کند. پیادهسازی مکانیزم Fake Hashing برای یکسانسازی زمان پاسخ الزامی است.
۰۶. ابطال واقعی توکن (JWT Blacklist)
در سیستمهای مبتنی بر توکن، خروج کاربر نباید فقط در سمت مرورگر باشد. توکن باید تا زمان انقضا در یک حافظه سریع مثل **Redis** به لیست سیاه اضافه شود تا از حملات Replay جلوگیری گردد.
۰۷. هدر Strict-Transport-Security (HSTS)
هدر HSTS با پارامتر max-age=31536000 باید در تمامی پاسخها تزریق شود تا مرورگر از برقراری هرگونه اتصال غیرامن (HTTP) به طور خودکار جلوگیری کند.
۰۸. سیاست قفل حساب و مقابله با Brute-Force
حساب کاربری باید پس از ۵ بار تلاش ناموفق برای مدتی مشخص قفل شود. این تنظیمات در سیستمهای مدیریت هویت (Identity) باید صراحتاً برای جلوگیری از حملات حدس رمز عبور پیکربندی شود.
۰۹. مسدودسازی متدهای TRACE و TRACK
متدهای TRACE و TRACK ریسک حملات Cross-Site Tracing (XST) را ایجاد میکنند. این متدها برای عیبیابی هستند و باید در محیط عملیاتی به طور کامل مسدود شوند.
۱۰. پاکسازی کنسول و متغیرهای کلاینت
در محیط Production، هیچ لاگی نباید در کنسول مرورگر باقی بماند و متغیرهای سیستمی فریمورک مثل window.next باید از حافظه حذف شوند تا ساختار APIها افشا نشود.
محمد ارباب
بنیانگذار پلتفرم افتاچک و استراتژیست امنیت زیرساخت. متخصص در پیادهسازی استانداردهای امنیتی (AFTA / ISO 27001) برای سامانههای حساس ملی با تمرکز بر معماریهای توزیعشده داتنت و Next.js.
