Lista de negação de endereços IP¶
Lista de negação é uma lista de endereços IP que não têm permissão para acessar seus aplicativos, mesmo que originem solicitações legítimas. O nó de filtragem em qualquer modo bloqueia todas as solicitações originadas de endereços IP na lista de negação (a menos que os IPs estejam duplicados na allowlist).
No Console Wallarm → Listas de IP → Lista de negação, você pode gerenciar endereços IP bloqueados da seguinte maneira:
-
Adicione um único endereço IP ou uma sub-rede
-
Adicione um grupo de endereços IP registrados em um país/região, data center, rede, etc. específicos
-
Personalize o tempo e o motivo para armazenar o endereço IP na lista
-
Delete o endereço IP da lista
-
Reveja o histórico de mudanças na lista
Nome antigo da lista
O nome antigo da lista de negação de endereços IP é "lista de endereços IP na blacklist".
Exemplos de uso da lista de negação de IP¶
-
Bloquear endereços IP dos quais vários ataques consecutivos se originaram.
Um ataque pode incluir várias solicitações originadas de um endereço IP e contendo cargas maliciosas de diferentes tipos. Um dos métodos para bloquear tais ataques é bloquear a origem das solicitações. Você pode configurar o bloqueio automático do IP de origem configurando o limite para bloqueio do IP de origem e a reação apropriada no gatilho.
-
Bloquear ataques baseados em comportamento.
O nó de filtragem Wallarm pode bloquear a maioria das solicitações de tráfego prejudiciais caso a caso se uma carga maliciosa for detectada. No entanto, para ataques baseados em comportamento quando cada solicitação individual é legítima (por exemplo, tentativas de login com pares de usuário/senha) o bloqueio por origem pode ser necessário.
Por padrão, o bloqueio automático de fontes de ataques comportamentais está desativado. Instruções sobre como configurar a proteção contra força bruta →
Adicionando um objeto à lista¶
Você pode habilitar o Wallarm para listar automaticamente os endereços IP na Lista de negação se eles produzirem algum tráfego suspeito, bem como listar objetos manualmente.
Adicionando um endereço IP à lista no nó multiusuário
Se você instalou o nó multiusuário, mude primeiro para a conta do inquilino para a qual o endereço IP é adicionado à lista.
População automática da Lista de negação (recomendado)¶
A funcionalidade gatilhos permite a inclusão automática de IPs na Lista de negação pelas seguintes condições:
-
Solicitações maliciosas dos seguintes tipos:
Força bruta
,Navegação forçada
,BOLA
. -
Número de cargas maliciosas
produzidos por um IP.
Gatilhos com a reação Lista de negação de endereço IP
aos eventos listados colocam automaticamente os IPs na Lista de negação por um período de tempo especificado. Você pode configurar gatilhos no Console Wallarm → Gatilhos.
População manual da Lista de negação¶
Para adicionar um endereço IP, sub-rede ou grupo de endereços IP à lista:
-
Abra Console Wallarm → Listas de IP → Lista de negação e clique no botão Adicionar objeto.
-
No menu suspenso, selecione a lista para adicionar o novo objeto.
-
Especifique um endereço IP ou grupo de endereços IP de uma das seguintes maneiras:
-
Digite um único Endereço IP ou uma sub-rede
Máscaras de sub-rede suportadas
A máscara de sub-rede máxima suportada é
/32
para endereços IPv6 e/12
para endereços IPv4. -
Selecione um país ou uma região (geolocalização) para adicionar todos os endereços IP registrados nesse país ou região
- Selecione o tipo de origem para adicionar todos os endereços IP que pertencem a esse tipo, por exemplo:
- Tor para endereços IP da rede Tor
- Proxy para endereços IP de servidores proxy públicos ou web
- Motores de busca para endereços IP de spiders de motores de busca
- VPN para endereços IP de redes privadas virtuais
- AWS para endereços IP registrados na Amazon AWS
-
Endereços IP maliciosos para endereços IP que são amplamente conhecidos por atividades maliciosas, conforme mencionado em fontes públicas, e verificado por análise de especialistas. Nós extraímos esses dados a partir de uma combinação dos seguintes recursos:
-
-
Selecione os aplicativos para os quais você permite ou restringe o acesso para os endereços IP especificados.
-
Selecione o período para o qual um endereço IP ou um grupo de endereços IP deve ser adicionado à lista. O valor mínimo é de 5 minutos, o valor máximo é para sempre.
-
Especifique a razão para adicionar um endereço IP ou um grupo de endereços IP à lista.
Lista de negação automática de IPs de bots¶
O módulo Prevenção de Abuso de API da Wallarm também preenche automaticamente a lista cinza ou a lista de negação com os IPs dos bots maliciosos.
Os IPs dos bots são distinguidos pelo Motivo Bot
e os detalhes sobre sua natureza, incluindo a taxa de confiança, por exemplo:
Recebendo notificações sobre IPs na lista de negação¶
Você pode receber notificações sobre novos IPs na Lista de negação através dos mensageiros ou sistemas SIEM que você usa todos os dias. Para habilitar as notificações, configure o gatilho apropriado, por exemplo:
Analisando objetos adicionados à lista¶
O console Wallarm exibe os seguintes dados sobre cada objeto adicionado à lista:
-
Objeto - Endereço IP, sub-rede, país/região ou fonte de IP adicionada à lista.
-
Aplicativo - aplicativo ao qual a configuração de acesso do objeto é aplicada.
-
Razão - razão para adicionar um endereço IP ou um grupo de endereços IP à lista. A razão é especificada manualmente ao adicionar objetos à lista ou gerada automaticamente quando os IPs são adicionados à lista por gatilhos.
-
Data de adição - data e hora em que um objeto foi adicionado à lista.
-
Remover - período de tempo após o qual um objeto será excluído da lista.
Revisando o histórico de alterações na lista de IPs¶
Quando você escolhe datas específicas para examinar o conteúdo da lista de IPs, o sistema retorna um histórico detalhado de suas mudanças, incluindo o momento exato e o método de inclusão, seja manual ou automatizado. O relatório também fornece dados sobre os indivíduos responsáveis pelas alterações e os motivos de cada inclusão. Esses insights auxiliam na manutenção de um rastro de auditoria para conformidade e relatórios.
Ao voltar para a guia Agora, você acessa o estado atual da lista de IPs, permitindo visualizar os objetos atualmente incluídos na lista.
Filtrando a lista¶
Você pode filtrar os objetos na lista por:
-
Endereço IP ou sub-rede especificado na linha de pesquisa
-
Período para o qual você deseja obter um status da lista
-
País/região em que um endereço IP ou uma sub-rede está registrado
-
Fonte à qual um endereço IP ou uma sub-rede pertence
Alterando o tempo que um objeto está na lista¶
Para alterar o tempo que um endereço IP está na lista:
-
Selecione um objeto da lista.
-
No menu do objeto selecionado, clique em Alterar período de tempo.
-
Selecione uma nova data para remover um objeto da lista e confirme a ação.
Excluindo um objeto da lista¶
Para excluir um objeto da lista:
-
Selecione um ou vários objetos da lista.
-
Clique em Excluir.
Re-adicionando o endereço IP excluído
Após excluir manualmente o endereço IP adicionado à lista pelo gatilho, o gatilho funcionará novamente apenas depois de metade do tempo anterior em que o endereço IP estava na lista.
Por exemplo:
- O endereço IP foi adicionado automaticamente à lista cinza por 1 hora porque 4 vetores de ataque diferentes foram recebidos deste endereço IP em 3 horas (como está configurado no gatilho).
- O usuário deletou este endereço IP da lista cinza via console Wallarm.
- Se 4 vetores de ataque diferentes são enviados a partir deste endereço IP dentro de 30 minutos, então este endereço IP não será adicionado à lista cinza.
Chamadas de API para obter, popular e excluir objetos da lista de IPs¶
Para obter, popular e excluir objetos da lista de IPs, você pode chamar a API Wallarm diretamente além de usar a interface do usuário do console Wallarm. Abaixo estão alguns exemplos das chamadas de API correspondentes.
Parâmetros de solicitação da API¶
Parâmetros a serem passados nas solicitações da API para ler e alterar listas de IPs:
Parameter | Description |
---|---|
X-WallarmApi-Token | Token to access Wallarm API, copy it from Wallarm Console → Settings → API tokens. |
clientid | ID of an account in Wallarm Cloud to populate/read IP list. |
ip_rule.list | The IP list type to add objects, can be: black (for denylist), white (for allowlist), gray (for graylist). |
ip_rule.rule_type | The type of objects to add to the list:
|
ip_rule.subnet ( rule_type:"ip_range" ) | IP or subnet to add to the list, e.g. "1.1.1.1" . |
ip_rule.source_values (for other rule_type values) | One of the options:
|
ip_rule.pools | Array of application IDs to allow or restrict access for IPs, e.g. [3,4] for applications IDs 3 and 4 or [0] for all applications. |
ip_rule.expired_at | Unix Timestamp date for IPs to be removed from the list. The maximum value is forever (33223139044 ). |
reason | Reason to allow or restrict access for IPs. |
force | If true and some objects specified in the request are already in the IP list, the script will overwrite them. |
Adicionar à lista as entradas do arquivo .csv
¶
Para adicionar à lista os IPs ou sub-redes do arquivo .csv
, use o seguinte script bash:
#!/bin/bash
UUID="<YOUR_UUID>"
SECRET="<YOUR_SECRET_KEY>"
CLIENT="<YOUR_CLIENT_ID>"
LIST="<TYPE_OF_IP_LIST>"
PATH_TO_CSV_FILE="<PATH_TO_CSV_FILE>" # path to the CSV file with IPs or subnets
APPLICATIONS="<APP_IDS_THROUGH_COMMA>"
REMOVE_DATE="TIMESTAMP_REMOVE_DATE"
REASON='<REASON>'
API="us1.api.wallarm.com"
index=0
while read line; do
subnets[$index]="$line"
index=$(($index+1))
done < "$PATH_TO_CSV_FILE"
for i in ${subnets[@]}; do
currentDate=`date -u +%s`
time=$REMOVE_DATE
remove_date=$(($currentDate+$time))
curl -X POST \
https://$API/v4/ip_rules \
-H "Content-Type: application/json" \
-H "X-WallarmApi-Token: <YOUR_TOKEN>" \
-d '{
"clientid": '$CLIENT',
"ip_rule": {
"list": "'$LIST'",
"rule_type": "ip_range",
"subnet": "'$i'",
"expired_at": '$remove_date',
"pools": [
'$APPLICATIONS'
],
"reason": "'"$REASON"'"
},
"force": false
}'
done
#!/bin/bash
UUID="<YOUR_UUID>"
SECRET="<YOUR_SECRET_KEY>"
CLIENT="<YOUR_CLIENT_ID>"
LIST="<TYPE_OF_IP_LIST>"
PATH_TO_CSV_FILE="<PATH_TO_CSV_FILE>" # path to the CSV file with IPs or subnets
APPLICATIONS="<APP_IDS_THROUGH_COMMA>"
REMOVE_DATE="TIMESTAMP_REMOVE_DATE"
REASON='<REASON>'
API="api.wallarm.com"
index=0
while read line; do
subnets[$index]="$line"
index=$(($index+1))
done < "$PATH_TO_CSV_FILE"
for i in ${subnets[@]}; do
currentDate=`date -u +%s`
time=$REMOVE_DATE
remove_date=$(($currentDate+$time))
curl -X POST \
https://$API/v4/ip_rules \
-H "Content-Type: application/json" \
-H "X-WallarmApi-Token: <YOUR_TOKEN>" \
-d '{
"clientid": '$CLIENT',
"ip_rule": {
"list": "'$LIST'",
"rule_type": "ip_range",
"subnet": "'$i'",
"expired_at": '$remove_date',
"pools": [
'$APPLICATIONS'
],
"reason": "'"$REASON"'"
},
"force": false
}'
done
Adicionar à lista um único IP ou sub-rede¶
To add particular IPs or subnets to the IP list, send the following request for each IP/subnet:
curl 'https://us1.api.wallarm.com/v4/ip_rules' \
-H 'X-WallarmApi-Token: <YOUR_TOKEN>' \
-H "accept: application/json" \
-H "Content-Type: application/json" \
--data-raw '{"clientid":<YOUR_CLIENT_ID>,"force":false,"ip_rule":{"list":"<TYPE_OF_IP_LIST>","reason":"<REASON_TO_ADD_ENTRIES_TO_LIST>","pools":[<ARRAY_OF_APP_IDS>],"expired_at":<TIMESTAMP_REMOVE_DATE>,"rule_type":"ip_range","subnet":"<IP_OR_SUBNET>"}}'
curl 'https://api.wallarm.com/v4/ip_rules' \
-H 'X-WallarmApi-Token: <YOUR_TOKEN>' \
-H "accept: application/json" \
-H "Content-Type: application/json" \
--data-raw '{"clientid":<YOUR_CLIENT_ID>,"force":false,"ip_rule":{"list":"<TYPE_OF_IP_LIST>","reason":"<REASON_TO_ADD_ENTRIES_TO_LIST>","pools":[<ARRAY_OF_APP_IDS>],"expired_at":<TIMESTAMP_REMOVE_DATE>,"rule_type":"ip_range","subnet":"<IP_OR_SUBNET>"}}'
Adicionar à lista vários países¶
curl 'https://us1.api.wallarm.com/v4/ip_rules' \
-H 'X-WallarmApi-Token: <YOUR_TOKEN>' \
-H "accept: application/json" \
-H "Content-Type: application/json" \
--data-raw '{"clientid":<YOUR_CLIENT_ID>,"ip_rule":{"list":"<TYPE_OF_IP_LIST>","rule_type":"country","source_values":[<ARRAY_OF_COUNTRIES_REGIONS>],"pools":[<ARRAY_OF_APP_IDS>],"expired_at":"<TIMESTAMP_REMOVE_DATE>","reason":"<REASON_TO_ADD_ENTRIES_TO_LIST>"},"force":false}'
curl 'https://api.wallarm.com/v4/ip_rules' \
-H 'X-WallarmApi-Token: <YOUR_TOKEN>' \
-H "accept: application/json" \
-H "Content-Type: application/json" \
--data-raw '{"clientid":<YOUR_CLIENT_ID>,"ip_rule":{"list":"<TYPE_OF_IP_LIST>","rule_type":"country","source_values":[<ARRAY_OF_COUNTRIES_REGIONS>],"pools":[<ARRAY_OF_APP_IDS>],"expired_at":"<TIMESTAMP_REMOVE_DATE>","reason":"<REASON_TO_ADD_ENTRIES_TO_LIST>"},"force":false}'
Adicionar à lista vários serviços de proxy¶
curl 'https://us1.api.wallarm.com/v4/ip_rules' \
-H 'X-WallarmApi-Token: <YOUR_TOKEN>' \
-H "accept: application/json" \
-H "Content-Type: application/json" \
--data-raw '{"clientid":<YOUR_CLIENT_ID>,"ip_rule":{"list":"<TYPE_OF_IP_LIST>","rule_type":"proxy_type","source_values":[<ARRAY_OF_PROXY_SERVICES>],"pools":[<ARRAY_OF_APP_IDS>],"expired_at":"<TIMESTAMP_REMOVE_DATE>","reason":"<REASON_TO_ADD_ENTRIES_TO_LIST>"},"force":false}'
curl 'https://api.wallarm.com/v4/ip_rules' \
-H 'X-WallarmApi-Token: <YOUR_TOKEN>' \
-H "accept: application/json" \
-H "Content-Type: application/json" \
--data-raw '{"clientid":<YOUR_CLIENT_ID>,"ip_rule":{"list":"<TYPE_OF_IP_LIST>","rule_type":"proxy_type","source_values":[<ARRAY_OF_PROXY_SERVICES>],"pools":[<ARRAY_OF_APP_IDS>],"expired_at":"<TIMESTAMP_REMOVE_DATE>","reason":"<REASON_TO_ADD_ENTRIES_TO_LIST>"},"force":false}'
Excluir um objeto da lista de IPs¶
Os objetos são excluídos das listas de IPs por seus IDs.
Para obter um ID de objeto, solicite o conteúdo da lista de IPs e copie objects.id
do objeto requerido de uma resposta:
Tendo o ID do objeto, envie a seguinte solicitação para excluí-lo da lista:
Você pode excluir vários objetos de uma vez, passando seus IDs como uma array na solicitação de exclusão.