اسکن نشت اطلاعات
فایلهای حساسی مثل .env و نسخهی پشتیبان که نباید از اینترنت در دسترس باشند.
فایلهای حساسی مثل .env و نسخهی پشتیبان که نباید از اینترنت در دسترس باشند.
گاهی فایلهایی که هرگز نباید عمومی باشند، اشتباهی از اینترنت قابل دانلود میشوند؛ مثل فایل تنظیمات .env که رمز دیتابیس در آن است، یا نسخهی پشتیبان دیتابیس که بعد از انتقال سرور جا مانده است. بررسی نشت اطلاعات هر ۱۲ ساعت دنبال این فایلها میگردد.
wardex فهرستی از مسیرهای حساس شناختهشده را با درخواست سادهی GET امتحان میکند. این درخواستها فقط میخوانند و هیچ تغییری روی سایت نمیدهند. اگر سرور با کد 200 پاسخ دهد و محتوا هم تأیید کند که فایل واقعی است (مثلاً .git/config واقعاً با [core] شروع شود)، یافته ثبت میشود. این تأیید محتوا جلوی هشدار کاذب را در سایتهایی میگیرد که برای هر آدرسی صفحهی اصلی را برمیگردانند.
| مسیر | شدت | چرا خطرناک است |
|---|---|---|
/.env، /.env.local، /.env.production | بحرانی | رمز دیتابیس، کلیدهای API و رمزهای برنامه |
/.git/config، /.git/HEAD | بحرانی | امکان دانلود کل کد منبع سایت |
/backup.zip، /backup.sql، /database.sql، /db.sql | بحرانی | کل دادههای سایت و کاربران |
/.svn/entries | زیاد | ساختار و بخشی از کد منبع |
/phpinfo.php، /info.php | زیاد | جزئیات کامل سرور و نسخهها برای مهاجم |
/server-status | متوسط | آدرسها و IPهای بازدیدکنندهها در لحظه |
/composer.json | متوسط | فهرست کتابخانهها و نسخههایشان |
فهرست فایلها (Index of /) | متوسط | هر کسی میتواند همهی فایلهای پوشه را ببیند |
وضعیت بررسی: اگر حتی یک یافتهی بحرانی باشد «قطع»، اگر فقط یافتهی زیاد یا متوسط باشد «افت»، و اگر هیچ یافتهای نباشد «سالم».
فایل را از پوشهی عمومی سایت بردارید
فایلهای پشتیبان و تنظیمات نباید داخل پوشهای باشند که وبسرور منتشر میکند (public_html، www یا public).
دسترسی به فایلهای مخفی را ببندید
location ~ /\.(env|git|svn) { deny all; return 404; }
autoindex off;
<FilesMatch "^\.(env|git|svn)">
Require all denied
</FilesMatch>
Options -Indexes
رمزها و کلیدها را عوض کنید
هر مقداری را که در فایل نشتکرده بوده، باطل و دوباره صادر کنید.
بررسی را دوباره ببینید
در اجرای بعدی، مسیر باید 404 یا 403 برگرداند و بررسی «سالم» شود. رخداد باز هم خودکار بسته میشود.