Настройка firewall google cloud platform

Обновлено: 06.07.2024

У меня есть 2 экземпляра Google Compute Engine, и я хочу открыть порт 9090 в обоих экземплярах. Я думаю, что нам нужно добавить некоторые правила брандмауэра.

Можете ли вы сказать мне, как я могу это сделать?

Перейти к моей консоли

Выберите свой проект

Выберите «Сеть»> «Сеть VPC».

Выберите «Правила брандмауэров»

Выберите «Создать правило брандмауэра»

Чтобы применить правило для выбора экземпляров ВМ, выберите «Цели»> «Заданные целевые теги» и введите в «Целевые теги» имя тега. Этот тег будет использоваться для применения нового правила брандмауэра к любому экземпляру, который вы хотите. Затем убедитесь, что к экземплярам применен сетевой тег.

Чтобы разрешить входящие TCP-подключения к порту 9090, в поле «Протоколы и порты» введите tcp:9090

Я надеюсь, это поможет вам.

Обновление Пожалуйста, обратитесь к документации, чтобы настроить ваши правила.

Да, сейчас нет опции «Сети», обновленный путь - «Проект» -> «Сеть» -> «Правила брандмауэра»

Вот подход командной строки, чтобы ответить на этот вопрос:

Это откроет порт 9090 для названных вами экземпляров. Опуская --source-tags и --source-ranges применив правило ко всем экземплярам. Более подробная информация в документации Gcloud и в firewall-rule create руководстве команды

Предыдущие ответы великолепны, но Google рекомендует использовать более новые gcloud команды вместо gcutil команд.

PS: Чтобы получить представление о правилах брандмауэра Google, запустите gcloud compute firewall-rules list и просмотрите все правила брандмауэра.

Я получаю жалобы, когда использую --description часть, но в остальном это работает для меня. Я не уверен, что они изменили API, но источник и цель, кажется, противоположны ответу @ modulitos. Согласно документации команды firewall-rules , source означает входящий трафик, тогда как target относится к экземплярам, ​​к которым применяется правило. Каков последующий тест @modulitos? Это telnet :instance_ip :port или nmap -p :port :instance_ip ? @alper Вы должны выполнить эту команду раньше: «gcloud auth login» и login

Вам нужно будет добавить правило брандмауэра, чтобы открыть входящий доступ tcp:9090 к вашим экземплярам. Если у вас есть более двух экземпляров, и вы хотите открыть 9090 для этих двух экземпляров, вы должны убедиться, что есть тег, который разделяют эти два экземпляра. Вы можете добавлять или обновлять теги через консоль или командную строку; Я бы рекомендовал использовать графический интерфейс для этого, если это необходимо, потому что он обрабатывает цикл чтения-изменения-записи с setinstancetags .

Если вы хотите открыть порт 9090 для всех экземпляров, вы можете создать правило брандмауэра, например:

который будет применяться ко всем вашим экземплярам.

Если вы хотите открыть порт 9090 только для двух экземпляров, обслуживающих ваше приложение, убедитесь, что у них есть тег, подобный этому my-app , а затем добавьте брандмауэр, например, так:

gcutil больше недоступно; пожалуйста, перепишите ваши командные строки, используя gcloud .

Этот вопрос старый, и ответ Карлоса Рохаса хороший, но я думаю, что я должен опубликовать несколько вещей, которые следует учитывать при попытке открыть порты.

Первое, что нужно запомнить, это то, что раздел Networking переименован в VPC Networking . Так что, если вы пытаетесь выяснить, где доступна опция « Правила межсетевого экрана» , посмотрите на VPC Networking .

Во-вторых, если вы пытаетесь открыть порты на виртуальной машине Linux, ни в коем случае не пытайтесь открыть порт с помощью ufw команды. Я попытался использовать это и потерял доступ SSH к виртуальной машине. Так что не повторяй мою ошибку.

В-третьих, если вы пытаетесь открыть порты на виртуальной машине Windows, вам необходимо создать правила брандмауэра внутри виртуальной машины также в брандмауэре Windows вместе с сетью VPC -> Правила брандмауэра . Порт должен быть открыт в обоих правилах брандмауэра, в отличие от виртуальной машины Linux. Поэтому, если вы не получаете доступ к порту извне виртуальной машины, проверьте, открыли ли вы порт в консоли GCP и брандмауэре Windows.

Последнее (очевидное), что не открывайте порты без необходимости. Закройте порты, как только они вам больше не понадобятся.

Я надеюсь, что этот ответ полезен.

Хорошие советы, за исключением того, что я открыл некоторые конкретные порты с помощью ufw команды, и у меня все еще есть доступ по ssh.

У меня была та же проблема, что и у вас, и я мог ее решить, следуя инструкциям @CarlosRojas, с небольшой разницей. Вместо того, чтобы создавать новое правило брандмауэра, я отредактировал правило, default-allow-internal принимающее трафик из любой точки, поскольку создание новых правил не имело никакого значения.

За создание нового правила брандмауэра взимается плата. Вам удалось избежать этого, отредактировав это правило? @killjoy Я не уверен в этом. В настоящее время я не использую Google Compute Engine. Сожалею.

Создание правил брандмауэра

Пожалуйста, просмотрите компоненты правил брандмауэра [1], если вы не знакомы с правилами брандмауэра в GCP. Правила брандмауэра определяются на уровне сети и применяются только к сети, в которой они созданы; однако имя, которое вы выбираете для каждого из них, должно быть уникальным для проекта.

Для облачной консоли:

  1. Перейдите на страницу правил брандмауэра в консоли облачной платформы Google.
  2. Нажмите Создать правило брандмауэра.
  3. Введите имя для правила брандмауэра. Это имя должно быть уникальным для проекта.
  4. Укажите Сеть, в которой будет реализовано правило брандмауэра.
  5. Укажите Приоритет правила. Чем меньше число, тем выше приоритет.
  6. Для направления движения выберите вход или выход.
  7. Для действия на матч выберите разрешить или запретить.

Укажите Цели правила.

  • Если вы хотите, чтобы правило применялось ко всем экземплярам в сети, выберите Все экземпляры в сети.
  • Если вы хотите, чтобы правило применялось для выбора экземпляров по сетевым (целевым) тегам, выберите «Заданные целевые теги», затем введите теги, к которым правило должно применяться, в поле «Целевые теги».
  • Если вы хотите, чтобы правило применялось для выбора экземпляров по связанной учетной записи службы, выберите «Указанная учетная запись службы», укажите, находится ли учетная запись службы в текущем проекте или другую в области «Учетная запись службы», и выберите или введите имя учетной записи службы в целевой службе. поле аккаунта.

Для правила входа укажите фильтр источника:

  • Выберите диапазоны IP-адресов и введите блоки CIDR в поле «Диапазоны IP-адресов источника», чтобы определить источник входящего трафика по диапазонам IP-адресов. Используйте 0.0.0.0/0 для источника из любой сети.
  • Выберите «Подсети», затем отметьте те, которые вам нужны, во всплывающей кнопке «Подсети», чтобы определить источник входящего трафика по имени подсети.
  • Чтобы ограничить источник по сетевому тегу, выберите «Исходные теги», затем введите сетевые теги в поле «Исходные теги». Для ограничения количества исходных тегов см. Квоты и ограничения VPC. Фильтрация по тегу источника доступна только в том случае, если цель не указана учетной записью службы. Дополнительные сведения см. В разделе «Фильтрация по учетной записи службы и тегу сети».
  • Чтобы ограничить источник учетной записью службы, выберите «Учетная запись службы», укажите, входит ли учетная запись службы в текущий проект или другую в область действия учетной записи службы, и выберите или введите имя учетной записи службы в поле «Исходная учетная запись службы». Фильтрация по исходной учетной записи службы доступна только в том случае, если цель не указана сетевым тегом. Для получения дополнительной информации см. Раздел Фильтрация по учетной записи службы и сетевому тегу.
  • Укажите фильтр второго источника, если это необходимо. Фильтры вторичного источника не могут использовать те же критерии фильтра, что и первичный.

Для выходного правила укажите фильтр назначения:

  • Выберите диапазоны IP-адресов и введите блоки CIDR в поле «Диапазоны IP-адресов назначения», чтобы определить назначение для исходящего трафика по диапазонам IP-адресов. Используйте 0.0.0.0/0, чтобы значить везде.
  • Выберите «Подсети», затем отметьте те, которые вам нужны, во всплывающей кнопке «Подсети», чтобы определить назначение для исходящего трафика по имени подсети.

Определите протоколы и порты, к которым будет применяться правило:

Выберите Разрешить все или Запретить все, в зависимости от действия, чтобы правило применялось ко всем протоколам и портам.

Определите конкретные протоколы и порты:

  • Выберите tcp, чтобы включить протокол TCP и порты. Введите все или список портов через запятую, например 20-22, 80, 8080.
  • Выберите udp, чтобы включить протокол UDP и порты. Введите все или список портов через запятую, например 67-69, 123.
  • Выберите Другие протоколы, чтобы включить протоколы, такие как icmp или sctp.

(Необязательно) Вы можете создать правило брандмауэра, но не применять его, установив для него состояние принудительного отключения отключенным. Нажмите Отключить правило, затем выберите Отключено.


Мануал

Хотите узнать, как разрешить или запретить сетевой поток на Google Cloud Platform (GCP? )

Каждый проект, созданный в GCP, имеет стандартные правила брандмауэра.

Давайте исследуем, что это такое.

Поскольку вы можете видеть, что правила по умолчанию позволяют базовому подключению разрешать пингование и вход в систему на сервере.

Вам нужно больше, чем это?

Я уверен, что вы это делаете.

Вот что вам нужно знать, как настроить его на основе потребностей.

Правила брандмауэра Google Cloud сохраняются.

Вся конфигурация выполняется либо через консоль GCP, либо через команды.

Однако я объясню, как это сделать с помощью консоли.

Правила брандмауэра доступны в сети VPC в разделе сети в левом меню.

Когда вы нажмете на создание правила брандмауэра, он спросит вас о деталях подключения.

Давайте разберем, какие у нас все варианты и что это значит.

Network. Если вы не создали VPC, вы увидите только значение по умолчанию и оставьте его как есть. Однако, если у вас несколько VPC, выберите сеть, в которой вы хотите применить правила брандмауэра.

Пример: вы можете иметь первый исходный фильтр в качестве исходных тегов и второй фильтр в качестве учетной записи службы. Какое бы ни было совпадение, это будет разрешено / запрещено.

Вы изменили SSH-порт с 22 на что-то еще (скажем, на 5000) по соображениям безопасности. С тех пор вы не можете попасть на виртуальную машину.

Ну, вы можете легко догадаться, потому что порт 5000 не разрешен в брандмауэре.

Чтобы разрешить, вам необходимо создать правило брандмауэра, как показано ниже.

Попробуйте подключить свою виртуальную машину с портом 5000, и все должно быть в порядке.

Некоторые из лучших практик для управления правилами брандмауэра:

  • Разрешить только то, что требуется (на основе потребности)
  • По возможности укажите индивидуальный IP-адрес источника или диапазоны вместо 0.0.0.0/0 (ANY)
  • С вязать экземпляры виртуальной машины с тегами и использовать их в целевом месте вместо всех экземпляров
  • Объединение нескольких портов в одном правиле для сопоставления источника и назначения
  • Периодически проверяйте правила

Графическим интерфейсом GCP легко управлять и понять его особенности.

Надеюсь, это даст вам представление об управлении правилами брандмауэра Cloud Cloud.

Как настроить правила брандмауэра в Google Cloud Platform?

Хотите знать, как разрешить или запретить сетевой поток на облачной платформе Google (GCP)??

Каждый проект, который вы создаете в GCP, поставляется с правилами брандмауэра по умолчанию..


Давайте посмотрим, что они.

Как вы можете видеть, правила по умолчанию разрешают базовое подключение, чтобы включить пинг и вход на сервер.

Вам нужно больше, чем это?

Я уверен, что вы делаете. Вот где вам нужно знать, как настроить в зависимости от потребностей.

Правила брандмауэра Google Cloud соответствуют состоянию.

Вся конфигурация выполняется либо с помощью консоли GCP, либо с помощью команд. Тем не менее, я объясню, как это сделать с помощью консоли.

Правила брандмауэра доступны в сети VPC в разделе сети в боковом меню..


Когда вы нажмете на создание правила брандмауэра, он спросит вас о деталях подключения. Давайте разберемся, какие у нас есть варианты и что это значит.

Пример: вы можете иметь первый фильтр источника в качестве тегов источника и второй фильтр в качестве учетной записи службы. Какой бы матч он ни позволил / запретил.


Из соображений безопасности вы изменили порт SSH с 22 на другой (скажем, 5000). С тех пор вы не можете попасть в ВМ.

Ну, вы можете легко догадаться, потому что порт 5000 не разрешен в брандмауэре. Чтобы разрешить, вам нужно создать правило брандмауэра, как показано ниже.

  • Укажите имя правила
  • Выберите вход по направлению движения
  • Выберите, чтобы разрешить действие матча
  • Выберите все экземпляры в сети в целевом (при условии, что вы хотите подключиться к любой виртуальной машине с портом 5000)
  • Выберите диапазоны IP-адресов в исходном фильтре (при условии, что вы хотите подключиться к ЛЮБЫМ источникам)
  • Укажите исходные IP-диапазоны как 0.0.0.0/0
  • Выберите указанные протоколы и порты и введите tcp: 5000
  • Нажмите создать


Попробуйте подключить виртуальную машину к порту 5000, и все должно быть в порядке..

Некоторые из лучшие практики для управления правилами брандмауэра.

  • Разрешить только то, что требуется (потребность-основа)
  • Везде, где возможно, укажите отдельный IP-адрес источника или диапазоны вместо 0.0.0.0/0 (ЛЮБОЙ)
  • Свяжите экземпляры виртуальной машины с тегами и используйте их в целевом объекте вместо всех экземпляров.
  • Объедините несколько портов в одном правиле для сопоставления источника и назначения
  • Периодически проверяйте правила брандмауэра

Графический интерфейс GCP прост для понимания и управления.

Надеюсь, это даст вам представление об управлении правилами брандмауэра Google Cloud Platform. Если вы хотите узнать больше, я бы порекомендовал это онлайн курс.


Работа с Google Cloud Platform (compute firewall) и Terraform в Unix/Linux

Google Compute Engine предоставляет виртуальные машины, работающие в инновационных центрах обработки данных Google и всемирной сети.

Установка terraform в Unix/Linux

Установка крайне примитивная и я описал как это можно сделать тут:

Вот еще полезные статьи по GCP + Terrafrom:

Так же, в данной статье, я создал скрипт для автоматической установки данного ПО. Он был протестирован на CentOS 6/7, Debian 8 и на Mac OS X. Все работает должным образом!

Чтобы получить помощь по использованию команд, выполните:

Приступим к использованию!

Работа с Google Cloud Platform (compute firewall) и Terraform в Unix/Linux

У меня есть папка terraform, в ней у меня будут лежать провайдеры с которыми я буду работать. Т.к в этом примере я буду использовать google_cloud_platform, то создам данную папку и перейду в нее. Далее, в этой папке, стоит создать:

Начнем писать модуль, но для этой задачи, я создам папку:

Переходим в нее:

В данный файл, вставляем:

Собственно в этом файле храняться все переменные. Спасибо кэп!

Открываем последний файл:

И в него вставить нужно следующие строки:

Переходим теперь в папку google_cloud_platform/examples и создадим еще одну папку для проверки написанного чуда:

Внутри созданной папки открываем файл:

Все уже написано и готово к использованию. Ну что, начнем тестирование. В папке с вашим плейбуком, выполняем:

Этим действием я инициализирую проект. Затем, подтягиваю модуль:

PS: Для обновление изменений в самом модуле, можно выполнять:

Мне вывело что все у меня хорошо и можно запускать деплой:

Весь материал аплоаджу в github аккаунт для удобства использования:

Чтобы поглядеть какие рулы фаервола есть, заюзайте:

Вот и все на этом. Не уверен что это полный солюшен, но для моего примера и моей таски пойдет. По возможности, добавлю новые рулы.

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Читайте также: