Como bloquear endereços IP de exit nodes Tor

Tor exit nodes representam o ponto final para a conexão da rede Tor com a internet. Já que o tráfego da rede Tor não é mais criptografado, os dados acessados podem se tornar visíveis para o nó, resultando em preocupações com a segurança ou até mesmo em tráfego malicioso.

A Azion disponibiliza a network list Azion IP Tor Exit Nodes para todos os usuários registrados na plataforma. Essa lista pode ser utilizada para configurar um comportamento usando Rules Engine para bloquear todas as requisições vindas dos IPs contidos na network list.

saiba mais sobre network lists

Para criar uma regra:

  1. Acesse o Azion Console > Edge Firewall.
  2. Selecione o edge firewall no qual deseja configurar a regra.
  3. Clique na aba Rules Engine.
  4. Clique no botão New Rule.
  5. Dê um nome à sua regra e, opcionalmente, uma descrição.
  6. Na seção Criteria, selecione a variável Network.
  7. Como operador de comparação, selecione matches.
  8. Como argumento, selecione a lista Azion IP Tor Exit Nodes.
  9. Na seção Behavior, selecione Drop (Close Without Response) na lista de comportamentos.
  10. Clique no botão Save.

Se a sua aplicação receber uma requisição gerada a partir de um IP que está na lista, o edge firewall recusará a requisição.


  1. Execute a seguinte requisição GET para obter o id da lista Azion IP Tor Exit Nodes:
Terminal window
curl --location 'https://api.azionapi.net/network_lists' \
--header 'Accept: application/json; version=3' \
--header 'Authorization: Token [TOKEN VALUE]'
  1. Você receberá uma resposta semelhante a esta:
{
"count": 1,
"total_pages": 1,
"schema_version": 3,
"links": {
"previous": null,
"next": null
},
"results": [
{
"id": 2,
"last_editor": "user@email.com",
"last_modified": "2023-11-14T21:35:39.808175Z",
"list_type": "ip_cidr",
"name": "Azion IP Tor Exit Nodes",
"country_list": [],
"ip_list": [
"192.168.0.5"
]
}
]
}
  1. Execute a seguinte requisição POST no seu terminal, substituindo [TOKEN VALUE] pelo seu personal token, a variável <edge_firewall_id> pelo seu ID do edge firewall, e o valor <network_list_id> pelo ID da lista de nós de saída do Tor:
Terminal window
curl --location 'https://api.azionapi.net/edge_firewall/<edge_firewall_id>/rules_engine' \
--header 'Accept: application/json; version=3' \
--header 'Authorization: Token [TOKEN VALUE]' \
--header 'Content-Type: application/json' \
--data '{
"name": "Block Tor Exit Nodes",
"is_active": true,
"behaviors": [
{
"name": "drop"
}
],
"criteria": [
[
{
"variable": "network",
"operator": "is_in_list",
"conditional": "if",
"argument": "<network_list_id>"
}
]
]
}'
ChaveDescrição
nameNome da regra
behaviorsArray que armazena objetos que definem comportamentos
criteriaArray que armazena objetos que definem critérios

Consulte a documentação da API da Azion para obter mais informações sobre critérios e objetos de comportamento.

  1. Você receberá a seguinte resposta:
{
"results": {
"name": "Block Tor Exit Nodes",
"is_active": true,
"behaviors": [
{
"name": "drop"
}
],
"criteria": [
[
{
"variable": "network",
"operator": "is_in_list",
"conditional": "if",
"argument": "2"
}
]
],
"last_modified": "2023-12-12T21:36:20.114073Z",
"last_editor": "user@email.com",
"id": 29268,
"order": 5
},
"schema_version": 3
}
  1. Aguarde alguns minutos para que as alterações se propaguem.

Se a sua aplicação receber uma requisição gerada a partir de um IP que está na lista, o edge firewall recusará a requisição.




Contributors