Один файл, который положил сайт Gazgolder

DarkBuffer

🔹 Member
INITIATED
Знаете, в чем самая большая ирония веб-безопасности? В том, что тебя могут убить не хакеры с zero-day эксплойтами, а твой собственный лень или забывчивость. История со взломом сайта лейбла Gazgolder - идеальный тому пример.

Никакого взлома там, по сути, и не было. Не было подбора паролей, не было инъекций в базу данных, не было даже фишинга. Был просто неправильно залитый конфиг и открытая папка, которую забыли закрыть.

Судя по разбору, который сделали ребята из башебаша, доступ открылся из-за того, что сервер был настроен "на тестовом сервере" - пока все работает, а переезжать на прод уже некогда. Итог: кто угодно мог зайти в чувствительные директории, посмотреть структуру, скачать бэкапы и, что самое опасное, вытащить данные, которые вообще не должны были быть в вебе.

Что именно пошло не так​

Обычно таких дыр три штуки, которые встречаются чаще всего:

  1. Открытый .git - если сервер не запрещает доступ к папке .git, злоумышленник может скачать всю историю репозитория. А там часто бывают пароли, ключи API, старые конфиги.
  2. .env в открытую - этот файл должен лежать за пределами веб-директории. Но если он доступен по HTTP - привет, база данных, ключи шифрования и секреты администраторов.
  3. Бэкапы в публичной папке - backup.sql, site_old.tar.gz, config.php.bak. Разработчики часто делают дампы прямо на сервере, а потом забывают их удалить. И любой может скачать этот файл, открыть блокнот и прочитать всё.

    В случае с Gazgolder, судя по всему, сработала одна из таких комбинаций. Исследователь просто перебирал стандартные пути и наткнулся на открытый доступ. Ни взлома, ни подбора - просто "ой, а тут не закрыто".

Почему это смешно и страшно одновременно​

Смешно, потому что защититься от такого можно за пять минут. Выключить DirectoryListing в nginx, закрыть доступ к .git* через .htaccess или конфиг, хранить .env за пределами public_html. Базовая гигиена.
Страшно, потому что так делают даже крупные проекты. Gazgolder - не какой-то студенческий сайт-визитка, а лейбл с сотнями тысяч фанатов, известными артистами, контрактами и, вероятно, какими-то платежами. И вот у них такой прокол.

Кто в зоне риска​

Все, кто:

  • копирует проект с тестового сервера на боевой через FTP и тащит лишнее;
  • не проверяет права доступа после деплоя;
  • думает, что "никто не будет ломиться";
  • прячет конфиги не туда.
Инструменты массового сканирования давно шарятся по интернету в поисках открытых .env и .git. Это автоматизировано. Если твой сайт делает такую ошибку - он будет найден в течение суток, даже если ты никто.

Что делать, чтобы не стать следующим​

  • Запретить доступ к любым скрытым файлам и директориям через веб-сервер.
  • Хранить конфиденциальные файлы выше корневой директории сайта.
  • Использовать автоматические проверки (например, git-secrets или CI-сканеры).
  • Сделать правило: "Если файл не должен быть доступен по HTTP - дай ему права 600 или 640".
И самое главное - никогда не доверять фразе "у нас же всё настроено". Проверить конфиг nginx/Apache после каждого деплоя занимает минуту. Одна минута может спасти от слива базы данных и репутации в газетной статье.

Итог​

Взлом сайта Gazgolder - не повод улюлюкать. Это повод задуматься: как часто вы сами оставляете такие дыры? Потому что хакеры уже не нужны. Мы сами идеально справляемся с ролью собственных врагов, когда забываем закрыть за собой дверь.
 
Верх