Como obtener lista actualizada de IPs de distintos WebServices
Vamos a obtener la lista de IP de distintos servicios como Google, Amazon Web Services, Cloudflare, Yandex, etc.
Algunas podemos sacarlas directamente desde el registro SPF del dominio y otros desde las urls dinámicas que da cada servicio.
En la mayorÃa de los casos van a darnos los "CIDR blocks" que podremos también convertirlos a IPs ranges.
Si las vas a usar para agregarlos a un Firewall (ya sea permitir o bloquear acceso) deberás ver si es que el firewall te permite usar CIDR block que seria lo ideal, sino tendrás que convertirlas a IP Ranges o IP única.
Google:
nslookup -q=TXT _spf.google.com 8.8.8.8
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
_spf.google.com text = "v=spf1 include:_netblocks.google.com include:_netblocks2.google.com include:_netblocks3.google.com ~all"
Ahora cogemos el resultado de los SPF que nos dara 3 bloques:
_netblocks.google.com, _netblocks2.google.com, _netblocks3.google.com
y ahora tenemos que ver los registros de cada bloque:
nslookup -q=TXT _netblocks.google.com 8.8.8.8
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
_netblocks.google.com text = "v=spf1 ip4:35.190.247.0/24 ip4:64.233.160.0/19 ip4:66.102.0.0/20 ip4:66.249.80.0/20 ip4:72.14.192.0/18 ip4:74.125.0.0/16 ip4:108.177.8.0/21 ip4:173.194.0.0/16 ip4:209.85.128.0/17 ip4:216.58.192.0/19 ip4:216.239.32.0/19 ~all"
Por ultimo cogemos cada CIDR block del resultado.
Amazon Web Services:
En el caso de amazon tiene un JSON con todos los bloques de IP:
https://ip-ranges.amazonaws.com/ip-ranges.json
Resultado:
{
"syncToken": "1590091991",
"createDate": "2020-05-21-20-13-11",
"prefixes": [
{
"ip_prefix": "35.180.0.0/16",
"region": "eu-west-3",
"service": "AMAZON",
"network_border_group": "eu-west-3"
},
{
"ip_prefix": "52.94.76.0/22",
"region": "us-west-2",
"service": "AMAZON",
"network_border_group": "us-west-2"
},
{
"ip_prefix": "52.95.36.0/22",
"region": "ap-southeast-2",
"service": "AMAZON",
"network_border_group": "ap-southeast-2"
},
{
"ip_prefix": "120.52.22.96/27",
"region": "GLOBAL",
"service": "AMAZON",
"network_border_group": "GLOBAL"
..
..
..
..
Cloudflare:
Cloudflare también nos da una lista de los IP ranges que utilizan.
https://www.cloudflare.com/ips/
Tambien es posible coger la lista de IPv4 o IPv6
https://www.cloudflare.com/ips-v4
https://www.cloudflare.com/ips-v6
Yandex:
Tambien puedes obtenerlos por medio del registro SPF.
nslookup -q=TXT _spf.yandex.ru 8.8.8.8
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
_spf.yandex.ru text = "v=spf1 include:_spf-ipv4.yandex.ru include:_spf-ipv6.yandex.ru ~all"
Luego vemos el registro SPF:
nslookup -q=TXT _spf-ipv4.yandex.ru 8.8.8.8
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
_spf-ipv4.yandex.ru text = "v=spf1 ip4:213.180.223.192/26 ip4:37.9.109.0/24 ip4:37.140.128.0/18 ip4:5.45.192.0/19 ip4:5.255.192.0/18 ip4:77.88.0.0/18 ip4:87.250.224.0/19 ip4:93.158.136.48/28 ip4:95.108.130.0/23 ip4:95.108.192.0/18 ip4:141.8.132.0/24 ip4:5.45.254.0/25 ~all"
Términos de Búsqueda:
- google crawler ip ranges
- Google servers IP
- Google bot IP ranges
- Google robots ips