Developer Network

Documentação

Informações e instruções das APIs dos produtos Locaweb.

Firewalls

Manipulando regras de firewall em servidores cloud via API.

Listagem de regras de firewall

Lista todas regras de firewall vinculado aos IPs do servidor.

GET:
• https://DOMINIO/v1/cloud/servers/SERVER_NAME/firewalls

Retorno:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
{
  "links": {
    "self": "https://DOMINIO/v1/cloud/servers/SERVER_NAME/firewalls?page%5Bnumber%5D=1&page%5Bsize%5D=5"
  },
  "data": [
    {
      "type": "firewalls",
      "id": 19820,
      "attributes": {
        "filter_address": "0.0.0.0/0",
        "filter_protocol": "tcp",
        "filter_port": "80",
        "description": "HTTP - HyperText Transfer Protocol",
        "status": "done"
      },
      "relationships": {
        "ips": {
          "links": {
            "related": "https://DOMINIO/v1/cloud/servers/SERVER_NAME/ips/IP_ID"
          }
        }
      }
    },
    {
      "type": "firewalls",
      "id": 19821,
      "attributes": {
        "filter_address": "0.0.0.0/0",
        "filter_protocol": "tcp",
        "filter_port": "443",
        "description": "HTTPS - HyperText Transfer Protocol Secure",
        "status": "done"
      },
      "relationships": {
        "ips": {
          "links": {
            "related": "https://DOMINIO/v1/cloud/servers/SERVER_NAME/ips/IP_ID"
          }
        }
      }
    },
    {
      "type": "firewalls",
      "id": 19822,
      "attributes": {
        "filter_address": "0.0.0.0/0",
        "filter_protocol": "tcp",
        "filter_port": "21",
        "description": "FTP - File Transport Protocol",
        "status": "done"
      },
      "relationships": {
        "ips": {
          "links": {
            "related": "https://DOMINIO/v1/cloud/servers/SERVER_NAME/ips/IP_ID"
          }
        }
      }
    },
    {
      "type": "firewalls",
      "id": 19823,
      "attributes": {
        "filter_address": "0.0.0.0/0",
        "filter_protocol": "tcp",
        "filter_port": "22",
        "description": "SSH - Secure Shell",
        "status": "done"
      },
      "relationships": {
        "ips": {
          "links": {
            "related": "https://DOMINIO/v1/cloud/servers/SERVER_NAME/ips/IP_ID"
          }
        }
      }
    }
  ],
  "meta": {
    "total": 4
  }
}

Detalhes de uma regra específica

Exibe as informações de uma determinada regra.

Parâmetro Descrição Retornado por padrão
filter_address Range de IPs permitidos na notação CIDR Sim
filter_protocol
  • tcp
  • udp
  • gre
Sim
filter_port A porta onde se aplica a regra Sim
description Descrição do serviço utilizado na porta Sim
status Status da regra de firewall, podendo ser:
  • done
  • inserting
  • removing
Sim
GET:
• https://DOMINIO/v1/cloud/servers/SERVER_NAME/firewalls/ID

Retorno:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
  "data": {
    "type": "firewalls",
    "id": 19820,
    "attributes": {
      "filter_address": "0.0.0.0/0",
      "filter_protocol": "tcp",
      "filter_port": "80",
      "description": "HTTP - HyperText Transfer Protocol",
      "status": "done"
    },
    "relationships": {
      "ips": {
        "links": {
          "related": "https://DOMINIO/v1/cloud/servers/SERVER_NAME/ips/IP_ID"
        }
      }
    }
  },
  "links": {
    "self": "https://DOMINIO/v1/cloud/servers/SERVER_NAME/firewalls/IP_ID"
  }
}

Criar uma regra

Cria uma regra para um ou mais ips de determinado servidor.

POST:
• https://DOMINIO/v1/cloud/servers/SERVER_NAME/firewalls

Parâmetros:

Parâmetro Descrição Exemplo Obrigatório
filter_port A porta onde se aplica a regra. 80 Sim
filter_protocol Tipo de protocolo tcp/udp/gre Sim
filter_address Range de ips permitidos para a regra criada. "0.0.0.0/0" Sim
description Descrição da aplicação usada na porta.. 'HTTP - HyperText Transfer Protocol' Sim
ip_pair_ids Ids dos IPs em que a regra será criada. Pode ser passado um ou mais ids de IPs 1000/[1000, 1001] Sim
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
  "data": {
    "type": "firewalls",
    "attributes": {
      "firewall_rule": {
        "filter_port": 82,
        "filter_protocol": "tcp",
        "filter_address": "0.0.0.0/0",
        "description": "Teste 1"
      },
      "ip_pair_ids": "4660"
    }
  }
}

Retorno:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
  "data": [
    {
      "type": "firewalls",
      "id": 19943,
      "attributes": {
        "filter_address": "0.0.0.0/0",
        "filter_protocol": "tcp",
        "filter_port": 82,
        "description": "Teste 1",
        "status": "inserting"
      },
      "relationships": {
        "ips": {
          "links": {
            "related": "https://DOMINIO/v1/cloud/servers/SERVER_NAME/ips/IP_ID"
          }
        }
      }
    }
  ]
}

Excluir uma regra

Exclui uma regra de firewall.

DELETE:
• https://DOMINIO/v1/cloud/servers/SERVER_NAME/firewalls/ID

Retorno:

Código HTTP: 202