Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
externalip-webhook — CVE-2020-8554: Человек посередине с использованием LoadBalancer или ExternalIPs | Kitploit
Инструменты/GitHubGitHub/rancher/externalip-webhook
Безопасность контейнеровАудит конфигурацииСетевая безопасностьБезопасность облачных средНеправильная КонфигурацияБезопасность APIArchived
GitHubrancher/externalip-webhook

externalip-webhook

CVE-2020-8554: Человек посередине с использованием LoadBalancer или ExternalIPs

Репозиторий
3474 лет назадЕщё не проверено

Популярное

Смотреть все →

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

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

externalip-webhook

создан для устранения CVE-2020-8554

Примечание: Этот чарт устарел для версии Kubernetes 1.21 и не поддерживается начиная с 1.22. Чтобы смягчить CVE-2020-8554, включите DenyServiceExternalIPs admission controller в кластере.

externalip-webhook — это проверяющий вебхук, который предотвращает использование сервисами случайных внешних IP-адресов. Администраторы кластера могут указать список CIDR, разрешённых для использования в качестве внешних IP, задав параметр allowed-external-ip-cidrs. Вебхук разрешит создание только тех сервисов, которые не требуют внешнего IP или чьи внешние IP находятся в диапазоне, указанном администратором.

Этот репозиторий построен с помощью kubebuilder.

Развёртывание

Чтобы ограничить внешние IP определёнными CIDR, раскомментируйте и обновите allowed-external-ip-cidrs в webhook.yaml.

ПРИМЕЧАНИЕ: Если включён auth-proxy, обновите allowed-external-ip-cidrs в metrics_server_auth_proxy.yaml.

Развёртывание предварительно собранного вебхука

Чтобы развернуть вебхук с помощью манифестов в этом репозитории, необходимо иметь kustomize в вашем PATH. Вы можете скачать kustomize здесь: https://kubernetes-sigs.github.io/kustomize/installation/

root@kitploit:~
make deploy

Сборка и развёртывание вебхука

root@kitploit:~
make docker-build IMG=DOCKER_IMAGE_TAG
make deploy IMG=DOCKER_IMAGE_TAG

Сборка и развёртывание Helm-чарта

Для упрощения развёртывания создан Helm-чарт rancher-externalip-webhook.

Чтобы ограничить внешние IP определёнными CIDR, установите значение allowedExternalIPCidrs в команде helm.

Чтобы собрать Docker-образ вебхука и создать новую версию чарта:

root@kitploit:~
make rancher-ci

Чтобы просто создать новую версию чарта:

root@kitploit:~
make rancher-chart-ci

Ревизия Helm-чарта будет создана в папке build/chart. Архив Helm-чарта build/chart/latest/rancher-externalip-webhook-<VERSION>.tgz и папка чарта build/chart/rancher-externalip-webhook.

Развёртывание чарта:

root@kitploit:~
helm -n externalip-webhook template rancher-externalip-webhook build/chart/latest/rancher-externalip-webhook-<VERSION>.tgz --output-dir . --set metrics.enabled=true --set metrics.prometheusExport=true
kubectl apply -R -f ./rancher-externalip-webhook

Конфигурация

Обновление пространства имён вебхука

По умолчанию вебхук работает в пространстве имён externalip-validation-system. Это можно изменить, обновив namespace и namePrefix в файле kustomization.yaml.

Генерация сертификатов для вебхука

Сертификаты вебхука могут быть сгенерированы с помощью cert-manager или загружены вручную. В следующем разделе объясняется, как это сделать.

Использование cert-manager

Раскомментируйте все секции с 'CERTMANAGER' в файле kustomization.yaml.

Загрузка сертификатов вебхука

  1. Загрузите данные сертификатов (ca.crt, tls.crt и tls.key) как секрет Kubernetes с именем webhook-server-cert в том же пространстве имён, что и в kustomization.yaml.
  2. Обновите поле caBundle в manifests.yaml.

Включение конечной точки метрик

Вебхук выдаёт метрику webhook_failed_request_count при каждом отклонении операции создания или обновления сервиса.

Включение без auth-proxy

Раскомментируйте --metrics-addr и соответствующий раздел containers.Port в webhook.yaml.

Включение /metrics с auth-proxy

  1. Раскомментируйте все секции с 'METRICS_SERVER_RBAC' в файле kustomization.yaml.
  2. Создайте привязку роли кластера для роли кластера в auth_proxy_client_clusterrole.yaml.

Экспорт метрик в Prometheus

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

Сообщество, обсуждение, вклад и поддержка

Узнайте, как взаимодействовать с сообществом Kubernetes на странице сообщества.

Вы можете связаться с мейнтейнерами этого проекта через:

  • Slack
  • Mailing List

Кодекс поведения

Участие в сообществе Kubernetes регулируется Кодексом поведения Kubernetes.

Скачать инструмент