Google edge: как это устроено
В этом месяце парадная дверь флота переехала. Каждый запрос к каждому приложению, которое мы размещаем, теперь входит через единый глобальный edge — гугловский — прежде чем коснуться сервера приложений. Два прежних поста упоминали части этой картины (наша база WAF, выбор регионов); вот полная картина того, что запрос пересекает по пути внутрь.
Одна парадная дверь на весь флот
Каждый домен, который мы обслуживаем, резолвится в выделенные адреса на глобальном балансировщике Google: посетитель подключается к ближайшей точке присутствия Google и дальше едет по собственной сети Google. Сертификаты выпускает и обновляет Google, строгий транспорт (HSTS) включён, а весь edge — задекларированная конфигурация: проверенная, версионированная и воспроизводимая, как и всё остальное на платформе.
Самая дешёвая атака из тех, что можно пережить, — та, что до вас не долетела.
Проверен до прибытия
Перед каждым приложением стоит одна и та же броня. Бан по частоте прикрывает каждый логин — пять попыток за минуту стоят адресу десяти минут тайм-аута, — а страж запросов отбрасывает те, что несут очевидные шаблоны инъекций, ещё до приложения. Преднастроенные наборы правил OWASP от Google параллельно оценивают каждый запрос, а платёжные вебхуки намеренно выведены из шаблонного фильтра: они аутентифицируются подписью провайдера — потому что правило, не отличающее настоящий платёж от атаки, ломает вашу выручку.
Подписанные имена, охраняемые двери
Сами адреса теперь тоже часть периметра: наши пятнадцать доменов живут в Google Cloud DNS, и каждая зона подписана DNSSEC — резолвер может убедиться, что говорит с подлинной зоной, а не с самозванцем. Наши собственные операционные поверхности — панели флота, даже SSH к машинам — открываются только подтверждённой личности Google и никогда паролю в открытом интернете. А анонимным остаётся ровно то, что мы объявили анонимным: эндпоинты здоровья и платёжные вебхуки, перечисленные в реестре флота, и ничего больше.