📂
Модуль 2Безпека9 хв читання

Відкриті файли на сайті: що не повинні бачити ваші клієнти і конкуренти

.env, backup.zip, phpinfo.php — такі файли часто доступні публічно і містять паролі, ключі API і структуру бази даних.

Уявіть, що ви залишили на вхідних дверях свого офісу конверт із усіма паролями від сейфа, ключами від сервера, реквізитами банківського рахунку і списком всіх клієнтів. Будь-хто міг би взяти і скористатись. Саме це робить більшість власників сайтів, навіть не підозрюючи: залишають критичні файли публічно доступними в інтернеті.

Ця проблема настільки поширена, що існують спеціалізовані пошукові сервери (Shodan, Censys) і методи (Google Dorking) для пошуку таких незахищених файлів. Хакери, конкуренти і просто допитливі люди знають і використовують їх.

30+
типових "небезпечних" URL що Rank Sentinel перевіряє
100%
таких файлів — результат людської помилки або недбалості
Дні
від появи файлу до його виявлення автоматичними сканерами
0 грн
вартість закриття доступу до файлу (5 хвилин розробника)

Які файли найчастіше виявляються відкритими

ФайлРівень небезпекиЩо містить
.envКритичноПаролі БД, ключі API, секретні токени
backup.zip / backup.sqlКритичноВся база даних або весь сайт
phpinfo.phpКритичноТехнічна конфігурація сервера
.git/ директоріяКритичноПовна історія коду, включно з паролями
wp-config.php.bakКритичноРезервна копія конфігу з паролями
error.log / debug.logСереднійСтруктура БД, шляхи, помилки
composer.jsonНизькийВерсії залежностей (допомагає виявити вразливості)

Файл .env: чому це "ключ від усіх замків"

.env (environment variables) — файл, де зберігаються чутливі налаштування застосунку. Він ніколи не мав бути доступний публічно — але часто є.

Що зазвичай містить .env:

  • DATABASE_URL — адреса, логін і пароль бази даних
  • SECRET_KEY — секретний ключ для шифрування сесій і токенів
  • API ключі — Google Maps, Stripe, SendGrid, Twilio та інших сервісів
  • AWS або хмарні credentials — доступ до сховища, серверів
  • SMTP пароль — для відправки email від імені сайту
  • Ключі платіжних систем — доступ до вашого рахунку Stripe/LiqPay/Monobank
😱

Маючи вміст .env файлу, зловмисник може: повністю скачати вашу базу даних зі всіма клієнтами, використати ваші API ключі (наприклад, виставити вам рахунок на тисячі доларів через AWS), відправляти email від вашого імені, отримати доступ до платіжних систем.

Резервна копія: звичайна турбота яка стала катастрофою

Ось типовий сценарій. Розробник під час технічних робіт робить резервну копію — `database_backup_march_2024.sql.gz` — і завантажує на сервер для зручності. Або копіює весь сайт у `backup_site.zip`.

Після роботи забуває видалити. Файл залишається доступним за прямим посиланням. Через кілька днів автоматизований сканер знаходить файл. Зловмисник скачує — і отримує:

  • Всю базу даних зі всіма клієнтами (ПІБ, email, телефони, адреси)
  • Можливо — хешовані паролі клієнтів
  • Всі транзакції і замовлення
  • Особисту інформацію, яку ви зобов'язані захищати
⚖️

За Законом України "Про захист персональних даних" і GDPR — витік даних клієнтів означає обов'язкове повідомлення постраждалих і регулятора, штрафи і репутаційні збитки. І відповідальність — на власнику сайту.

Google Dorking: як конкуренти і хакери знаходять ваші файли

Google Dorking — це використання розширених операторів пошуку Google для пошуку файлів і сторінок з чутливою інформацією. Це легально і доступно будь-кому.

Приклади запитів:

  • `site:yoursite.com filetype:env` — шукає .env файли на вашому домені
  • `site:yoursite.com inurl:backup` — резервні копії
  • `site:yoursite.com inurl:phpinfo` — phpinfo-сторінки
  • `site:yoursite.com "DB_PASSWORD"` — файли з паролем до БД

Спробуйте прямо зараз. Якщо Google проіндексував ваш .env файл — він знайде його за секунди.

Автоматизовані сканери: ще швидше ніж Google

Але Google — не найшвидший метод. Існують спеціалізовані сканери (Shodan, Censys, ZoomEye) що постійно обходять весь інтернет і каталогізують відкриті файли і сервіси. Ваш .env файл може бути там протягом кількох днів після появи.

Також хакери запускають власні скрипти що перебирають типові URL (/backup.zip, /.env, /admin/config.php, /database.sql тощо) на тисячах сайтів автоматично.

Як Rank Sentinel перевіряє відкриті файли

Rank Sentinel щодня перевіряє більше 30 типових "небезпечних" URL на вашому сайті — чи повертають вони код 200 (публічно доступні). Це включає:

  • Типові шляхи до .env, .env.local, .env.production та аналогів
  • Можливі шляхи резервних копій (backup.zip, db_backup.sql, etc.)
  • Діагностичні сторінки (phpinfo.php, info.php)
  • .git/config та .git/HEAD (маркери відкритого репозиторію)
  • Типові адмінські файли і конфіги
  • Логи сервера (error.log, access.log, debug.log)

Якщо будь-який з них публічно доступний — ви отримуєте сповіщення з конкретним URL. Розробник закриває доступ (5 хвилин роботи) — і загроза усунута.