Как использовать Google Cloud Armor для внесения в белый список только нескольких IP-адресов в GKE? - PullRequest
0 голосов
/ 09 октября 2018

мы пытаемся заблокировать весь некластерный трафик, кроме нескольких внешних IP-адресов на основе этой облачной брони пройти через .

Кластер GKE распознает правила, но все еще блокируетразрешенный IP.Вот следующие шаги:

1) Создайте политику + правила

gcloud beta compute security-policies create allow-team-only \
    --description "Cloud Armor deny non-team IPs"


gcloud beta compute security-policies rules create 1000 \
    --security-policy allow-team-only \
    --description "Deny traffic from 0.0.0.0/0." \
    --src-ip-ranges "0.0.0.0/0" \
    --action "deny-404"


gcloud beta compute security-policies rules create 999 \
    --security-policy allow-team-only \
    --description "Allow traffic from <IP ADDRESS>." \
    --src-ip-ranges "<IP ADDRESS>/32" \
    --action "allow"    

2) Примените правила к нашим службам, которые находятся на порте 8080

metadata:
  annotations:
    beta.cloud.google.com/backend-config: '{"ports": {"8080":"allow-team-only"}}'  

Что я пропускаю?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

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

1) Вы создали с номером 1000, и, поскольку оно отрицает все, любое дальнейшее добавление правил с числом с 1000+ не будет работать.Так как весь трафик будет соответствовать 0.0.0.0/0 и правила номера 1000+ проверяться не будут.2) Согласно GCP, вы могли бы использовать правило по умолчанию и изменить действие на запрещение (отказ-закрытие).

Согласно документации GCP по Cloud Armor Security Policies

Каждая политика безопасности Cloud Armor содержит правило по умолчанию, которое сопоставляется, если не найдено ни одно из правил с более высоким приоритетом, либо если в политике нет других правил.Правилу по умолчанию автоматически присваивается приоритет 2147483647 (макс. Int32), и он всегда присутствует в Политике безопасности Cloud Armor.Правило по умолчанию не может быть удалено, но его можно изменить.Действие по умолчанию для правила по умолчанию - разрешить (fail-open), но вы можете изменить действие на deny (fail-close).

Я также заметил, что ваш сценарий очень похож на первое использованиеcase " Use case 1: ограничение доступа к распределителю нагрузки GCP HTTP (S) ", описанному в том же документе, которым вы поделились.

В соответствии с документом, чтобы создать эту конфигурацию, выполнитеэти шаги:

1) Создание политики безопасности Cloud Armor.
2) В Политике безопасности Cloud Armor добавьте правило, которое заносит в белый список в качестве первого правила.Это правило имеет описание «разрешить».
3) Измените правило по умолчанию в политике с правила разрешения на правило запрета.Правило по умолчанию управляет трафиком, который не соответствует ни одному из предыдущих правил.Это последнее правило в политике.Изменение правила с разрешения запретить блокирует весь трафик, который не создается в белом списке.
4) Свяжите эту политику с серверной службой балансировки нагрузки HTTP (S).

0 голосов
/ 09 октября 2018

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...