Назад | Перейти на главную страницу

Любой инструмент / команда для проверки, действительно ли ведро Google Cloud Storage недоступно для публики?

В журнале Google App Engine я обнаружил несколько странных запросов:

2620: 0: 1000: 3001: 1c2f: 1188: 9a2a: f8d8 - - [26 октября 2015: 16: 29: 55 -0700] "HEAD / an / object / path HTTP / 1.1" 404 - - "curl / 7.35.0 "" xxx.appspot.com "ms = 2 cpu_ms = 0 cpm_usd = 0 instance = - app_engine_release = 1.9.27 trace_id = -

где / an / object / path - это путь к объекту в сегменте по умолчанию в Google Cloud Storage, который должен быть неизвестен пользователю.

Я попытался перечислить содержимое корзины, используя другую учетную запись:

gsutil ls gs: //xxx.appspot.com

что дает "AccessDeniedException: 403 Forbidden", и

https://storage.cloud.google.com/xxx.appspot.com/

который ничего не показывает.

gsutil acl получить gs: //xxx.appspot.com / ...

выходы:

[
  {
    "entity": "project-owners-1096471376163",
    "projectTeam": {
      "projectNumber": "1096471376163",
      "team": "owners"
    },
    "role": "OWNER"
  },
  {
    "entity": "project-editors-1096471376163",
    "projectTeam": {
      "projectNumber": "1096471376163",
      "team": "editors"
    },
    "role": "OWNER"
  },
  {
    "entity": "project-viewers-1096471376163",
    "projectTeam": {
      "projectNumber": "1096471376163",
      "team": "viewers"
    },
    "role": "READER"
  },
  {
    "entity": "user-00b4903a978e00507e97b8a0898de74c6896e15ea3bf3e4c4fcdcbc4eb209c8f",
    "entityId": "00b4903a978e00507e97b8a0898de74c6896e15ea3bf3e4c4fcdcbc4eb209c8f",
    "role": "OWNER"
  }
]

Так что я подозреваю, что либо

  1. мой аккаунт взломан и / или
  2. неправильно установлено разрешение ведра / объектов, и / или
  3. есть некоторые API-интерфейсы с ошибками, которые могут быть доступны для просмотра / запроса содержимого корзины.

Предположим, что моя учетная запись взломана, хакер может напрямую получить объекты корзины, ему / ей на самом деле не нужно отправлять запросы в GAE, поэтому шансы 2 и 3 также высоки.

Итак, я хочу спросить, какой инструмент / команду я могу использовать, чтобы проверить, действительно ли моя корзина защищена от открытого доступа.

В случае 3, возможно, затронуты и многие другие учетные записи.

Как объяснено в документы, вы можете сделать это с помощью gsutil.

Что-то вроде :

gsutil acl get gs://«path-to-object»

Из того, что я могу прочитать из вашего обновленного вопроса, оглядываясь на ту же документацию, которую я только что связал, вы можете видеть, что возврат означает следующее:

владельцы проекта ТАКЖЕ владеют объектом,

редакторы проекта ТАКЖЕ владеют объектом,

зрители проекта ТАКЖЕ имеют доступ на ЧТЕНИЕ к объекту,

и парень, который первым загрузил объект, владеет им.