21 июля хабра-пользователь grumpysugar опубликовал статью о найденной им уязвимости в инфраструктуре нашей команды. Уязвимость действительно существовала, и мы ее устранили. Но если вы видите информацию о новых утечках из нашей базы данных, знайте, что это обычный вброс, не имеющий ничего общего с реальностью. В этом посте мы объясняем, почему.
Сразу хотим отметить, что пользователь заблаговременно с нами связался через саппорт месяц назад. Мы эскалировали проблему, устранили ее в первые же минуты после обнаружения и отправили пользователю ответным письмом благодарность и отчет о произошедшем.
Во время работ по инфраструктуре была допущена ошибка, и дашборд Kubernetes WebView, который наша команда разработки использует для отладки приложений, стал доступен по одному из наших известных почтовых доменов (на самом деле все домены, которые ресолвились в этот IP-адрес, но не имели своего сервиса, попадали на Kubernetes WebView, потому что он стал default backend).
Ошибка была допущена буквально в одной строчке yaml-конфига. В настройках явно не объявлено поле host, которое ограничило бы, на каком хостнейме работает сервис. В связи с этим сервис оказался доступным на хосте, который явно был не перечислен в других сервисах.
rules:
- host: # <-- обратите внимание на пустую строку здесь
http:
paths:
Из-за этого сервис стал доступен по адресу rus.vote и нескольким другим, которые ресолвились на тот же IP-адрес.
--- a/kube-web-view/templates/ingress.yaml
+++ b/kube-web-view/templates/ingress.yaml
Читать далее