Pular para conteúdo

Amazon S3

Você pode configurar o Wallarm para enviar arquivos com informações sobre os hits detectados para o seu bucket Amazon S3. As informações serão enviadas em arquivos no formato JSON a cada 10 minutos.

Campos de dados para cada hit:

  • time - data e hora da detecção do hit no formato Unix Timestamp

  • request_id

  • ip - IP do atacante

  • Tipo de fonte do hit: datacenter, tor, remote_country

  • application_id

  • domain

  • method

  • uri

  • protocol

  • status_code

  • attack_type

  • block_status

  • payload

  • point

  • tags

Os arquivos serão salvos em seu bucket S3 usando a convenção de nomes wallarm_hits_{timestamp}.json ou wallarm_hits_{timestamp}.jsonl. O formato, seja Array JSON ou Delimitado por Nova Linha JSON (NDJSON), dependerá da sua escolha durante a configuração da integração.

Configurando a integração

Ao configurar a integração com o Amazon S3, você precisa decidir qual método de autorização irá usar:

  • Via role ARN (recomendado) - usando funções com a opção de ID externo para conceder acesso aos recursos é recomendado pela AWS como método que aumenta a segurança e previne ataques do tipo "delegado confuso". O Wallarm fornece tal ID único para sua conta de organização.

  • Via chave de acesso secreta - método mais comum, mais simples, que requer a chave de acesso compartilhada do seu usuário AWS IAM. Se você escolher este método, é recomendado usar a chave de acesso de um usuário IAM separado, com apenas permissão de gravação no bucket S3 usado na integração.

Para configurar uma integração com o Amazon S3:

  1. Crie um bucket Amazon S3 para o Wallarm, seguindo as instruções.

  2. Execute diferentes passos de acordo com o método de autorização selecionado.

    1. No UI da AWS, navegue até S3 → seu bucket → guia Properties e copie o código da Region AWS e o Nome do Recurso da Amazon (ARN) do seu bucket.

      Por exemplo, us-west-1 como uma região e arn:aws:s3:::test-bucket-json como ARN.

    2. No UI do Console Wallarm, abra a seção Integrations.

    3. Clique no bloco AWS S3 ou clique no botão Add integration e escolha AWS S3.
    4. Digite um nome para a integração.
    5. Digite o código da região AWS do seu bucket S3 que você copiou anteriormente.
    6. Digite o nome do seu bucket S3.
    7. Copie o ID da conta Wallarm fornecido.
    8. Copie o ID externo fornecido.
    9. No UI da AWS, inicie a criação de uma nova função em IAM → Access ManagementRoles.
    10. Selecione AWS accountAnother AWS Account como tipo de entidade confiável.
    11. Cole o Account ID do Wallarm.
    12. Selecione Require external ID e cole o ID externo fornecido pelo Wallarm.
    13. Clique em Next e crie uma política para a sua função:

      {
          "Version": "2012-10-17",
          "Statement": [
              {
                  "Sid": "VisualEditor0",
                  "Effect": "Allow",
                  "Action": "s3:PutObject",
                  "Resource": "<YOUR_S3_BUCKET_ARN>/*"
              }
          ]
      }
      
    14. Complete a criação da função e copie o ARN da função.

    15. No UI do Console Wallarm, no diálogo de criação da sua integração, na guia Role ARN, cole o ARN da sua função.

      Amazon S3 integration

    1. No UI da AWS, navegue até S3 → seu bucket → guia Properties e copie o código da Region AWS, por exemplous-west-1.
    2. Navegue até IAM → Dashboard → seção Manage access keysAccess keys.
    3. Obtenha o ID da chave de acesso que você armazena em algum lugar ou crie uma nova chave/recupere a chave perdida como descrito aqui. De qualquer forma, você precisará da sua chave ativa e do seu ID.
    4. No UI do Console Wallarm, abra a seção Integrations.
    5. Clique no bloco AWS S3 ou clique no botão Add integration e escolha AWS S3.
    6. Digite um nome para a integração.
    7. Digite o código da região AWS do seu bucket S3 que você copiou anteriormente.
    8. Digite o nome do seu bucket S3.
    9. Na guia Secret access key, digite o ID da chave de acesso e a própria chave.
  3. Selecione o formato para os dados do Wallarm: ou um Array JSON ou um Novo Delimitado por Nova Linha JSON (NDJSON).

  4. Na seção Regular notifications, certifique-se de que os hits nos últimos 10 minutos são selecionados para serem enviados. Se não forem escolhidos, os dados não serão enviados para o bucket S3.

  5. Clique em Test integration para verificar a correção da configuração, a disponibilidade do Wallarm Cloud e o formato da notificação.

    Para o Amazon S3, o teste de integração envia o arquivo JSON com dados para o seu bucket. Aqui está um exemplo do arquivo JSON com os dados sobre os hits detectados nos últimos 10 minutos:

    [
    {
        "time":"1687241470",
        "request_id":"d2a900a6efac7a7c893a00903205071a",
        "ip":"127.0.0.1",
        "datacenter":"unknown",
        "tor":"none",
        "remote_country":null,
        "application_id":[
            -1
        ],
        "domain":"localhost",
        "method":"GET",
        "uri":"/etc/passwd",
        "protocol":"none",
        "status_code":499,
        "attack_type":"ptrav",
        "block_status":"monitored",
        "payload":[
            "/etc/passwd"
        ],
        "point":[
            "uri"
        ],
        "tags":{
            "lom_id":7,
            "libproton_version":"4.4.11",
            "brute_counter":"c188cd2baa2cefb3f3688cb4008a649e",
            "wallarm_mode":"monitoring",
            "final_wallarm_mode":"monitoring"
        }
    },
    {
        "time":"1687241475",
        "request_id":"b457fccec9c66cdb07eab7228b34eca6",
        "ip":"127.0.0.1",
        "datacenter":"unknown",
        "tor":"none",
        "remote_country":null,
        "application_id":[
            -1
        ],
        "domain":"localhost",
        "method":"GET",
        "uri":"/etc/passwd",
        "protocol":"none",
        "status_code":499,
        "attack_type":"ptrav",
        "block_status":"monitored",
        "payload":[
            "/etc/passwd"
        ],
        "point":[
            "uri"
        ],
        "tags":{
            "lom_id":7,
            "libproton_version":"4.4.11",
            "brute_counter":"c188cd2baa2cefb3f3688cb4008a649e",
            "wallarm_mode":"monitoring",
            "final_wallarm_mode":"monitoring"
        }
    }
    ]
    
    {"time":"1687241470","request_id":"d2a900a6efac7a7c893a00903205071a","ip":"127.0.0.1","datacenter":"unknown","tor":"none","remote_country":null,"application_id":[-1],"domain":"localhost","method":"GET","uri":"/etc/passwd","protocol":"none","status_code":499,"attack_type":"ptrav","block_status":"monitored","payload":["/etc/passwd"],"point":["uri"],"tags":{"lom_id":7,"libproton_version":"4.4.11","brute_counter":"c188cd2baa2cefb3f3688cb4008a649e","wallarm_mode":"monitoring","final_wallarm_mode":"monitoring"}}
    {"time":"1687241475","request_id":"b457fccec9c66cdb07eab7228b34eca6","ip":"127.0.0.1","datacenter":"unknown","tor":"none","remote_country":null,"application_id":[-1],"domain":"localhost","method":"GET","uri":"/etc/passwd","protocol":"none","status_code":499,"attack_type":"ptrav","block_status":"monitored","payload":["/etc/passwd"],"point":["uri"],"tags":{"lom_id":7,"libproton_version":"4.4.11","brute_counter":"c188cd2baa2cefb3f3688cb4008a649e","wallarm_mode":"monitoring","final_wallarm_mode":"monitoring"}}
    
  6. Clique em Add integration.

Para controlar a quantidade de dados armazenados, é recomendado configurar a exclusão automática de objetos antigos do seu bucket Amazon S3, conforme descrito aqui.

Desabilitando e excluindo uma integração

Você pode excluir ou desativar temporariamente a integração. Embora a exclusão interrompa o envio de notificações e exclua completamente todas as configurações, a desativação apenas interrompe o envio de notificações que você pode reativar a qualquer momento com as mesmas configurações.

Se para a integração os eventos Relacionados ao sistema forem selecionados para disparar notificações, a Wallarm notificará sobre ambas as ações.

Indisponibilidade do sistema e parâmetros incorretos de integração

Notificações ao sistema são enviadas por meio de solicitações. Se o sistema estiver indisponível ou os parâmetros de integração estiverem configurados incorretamente, o código de erro é retornado na resposta à solicitação.

Se o sistema responder à solicitação de Wallarm com qualquer código diferente de 2xx, Wallarm reenvia a solicitação com o intervalo até que o código 2xx seja recebido:

  • Os intervalos do primeiro ciclo: 1, 3, 5, 10, 10 segundos

  • Os intervalos do segundo ciclo: 0, 1, 3, 5, 30 segundos

  • Os intervalos do terceiro ciclo: 1, 1, 3, 5, 10, 30 minutos

Se a porcentagem de solicitações mal sucedidas atingir 60% em 12 horas, a integração é automaticamente desabilitada. Se você receber notificações do sistema, você receberá uma mensagem sobre a integração ser automaticamente desabilitada.