Проверка работоспособности Google Cloud Platform Stackdriver для порта TCP: 3306

Я настроил проверку работоспособности на стековом драйвере GCP для мониторинга TCP-порта 3306, и он работает, если я устанавливаю правило брандмауэра в GCP, открывая порт 3306 с диапазоном IP-адресов 0.0.0.0/0, но это вызывает много хакеров-ботов попробуйте поразить наш сервер MySQL.

Кто-нибудь знает, какой диапазон IP-адресов у этого stackdriver'а для запуска проверки работоспособности? так что я могу поместить в правила брандмауэра.

Спасибо,


person Mapperkids Lee    schedule 13.12.2018    source источник


Ответы (1)


Google Cloud публикует диапазоны IP-адресов с помощью записи ресурса TXT DNS.

[Обновление 18.12.2018]. Теперь Google публикует метод получения IP-адресов StackDriver:

client = monitoring_v3.UptimeCheckServiceClient()
ips = client.list_uptime_check_ips()
print(tabulate.tabulate(
    [(ip.region, ip.location, ip.ip_address) for ip in ips],
    ('region', 'location', 'ip_address')
))

Получение IP-адресов для проверки работоспособности

[Конец обновления]

Google изменяет IP-адреса, поэтому вам понадобится автоматизированный инструмент для обработки обновлений. Ниже я покажу ручной метод получения блоков CIDR. На практике я бы написал облачную функцию на Python, которая обрабатывает этот список, а затем обновляет набор правил брандмауэра.

Мой источник информации - Google Qwiklabs. Я задокументировал это в одной из лабораторий - не помню, в какой.

nslookup -q=TXT _cloud-netblocks.googleusercontent.com  8.8.8.8

Это вернет запись TXT:

usercontent.com  8.8.8.8
Server:  google-public-dns-a.google.com
Address:  8.8.8.8

Non-authoritative answer:
_cloud-netblocks.googleusercontent.com  text =

        "v=spf1 include:_cloud-netblocks1.googleusercontent.com include:_cloud-netblocks2.googleusercontent.com include:_cloud-netblocks3.googleusercontent.com include:_cloud-netblocks4.googleusercontent.com include:_cloud-netblocks5.googleusercontent.com ?all"

Последняя строка включает ряд дополнительных записей для обработки, начиная с: _cloud-netblocks1.googleusercontent.com

nslookup -q=TXT _cloud-netblocks1.googleusercontent.com 8.8.8.8

Что возвращает блок информации, который вас интересует. Обратите внимание, что вам нужно повторить это для каждой из _cloud-xxxx записей, возвращенных выше.

Server:  google-public-dns-a.google.com
Address:  8.8.8.8

Non-authoritative answer:
_cloud-netblocks1.googleusercontent.com text =

        "v=spf1 include:_cloud-netblocks6.googleusercontent.com include:_cloud-netblocks7.googleusercontent.com ip4:8.34.208.0/20 ip4:8.35.192.0/21 ip4:8.35.200.0/23 ip4:108.59.80.0/20 ip4:108.170.192.0/20 ip4:108.170.208.0/21 ?all"

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

ip4:8.34.208.0/20 ip4:8.35.192.0/21 ip4:8.35.200.0/23 ip4:108.59.80.0/20 ip4:108.170.192.0/20 ip4:108.170.208.0/21
person John Hanley    schedule 13.12.2018
comment
Привет, Джон, Спасибо за информацию. и проверим. - person Mapperkids Lee; 13.12.2018
comment
@MapperkidsLee - Я только что обновил свой ответ новой информацией. Теперь Google публикует IP-адреса StackDriver. - person John Hanley; 18.12.2018