ipasis
Blog/Technical Guide

Stop Banning AWS: A Guide to Allowlisting Good Bots

September 5, 20255 min read

It's a common knee-jerk reaction for developers facing a brute-force attack: "Just block all traffic from AWS! Real users don't browse from data centers!"

Technically, that's true. Real humans don't browse from EC2 instances. But legitimate services do. And by blocking the entire AWS ASN (Autonomous System Number), you might be breaking your business logic.

The "AWS Webhook" Problem

Modern web applications rely on webhooks for payments, notifications, and integrations. Guess where those webhooks originate?

  • Stripe: Uses AWS infrastructure.
  • Slack: Uses AWS.
  • Slack, Discord, Zoom bots: Often hosted on AWS.

If you blanket-ban AS16509 (Amazon.com), your Stripe payment confirmations might start failing silently. Your Slack notifications stop working. Your application becomes an island.

The Solution: Data Quality over Brute Force

You need a way to say: "Block AWS traffic trying to login, but allow AWS traffic sending a Payment Succeeded webhook."

This is where IPASIS helps. Instead of just returning is_datacenter: true, sophisticated logic allows you to combine IP intelligence with endpoint context.

Implementation Strategy

  1. Identify the Endpoint: Is this request hitting /api/webhooks/stripe? If yes, allow it (but verify the signature!).
  2. Identify the Action: Is this request hitting /login? If yes, check is_datacenter. If true, BLOCK IT. There is no legitimate reason for an AWS IP to be logging into a user account.

// Pseudo-code middleware

if (path === '/login' && ip_data.is_datacenter) {

return Response.block('No bots allowed on login');

}

if (path === '/webhooks' && ip_data.is_datacenter) {

return Response.allow(); // Proceed to signature verification

}

Nuance is the key to modern security. Don't use a sledgehammer when you need a scalpel.

Get smarter data.

Identify datacenters with precision using IPASIS.

Get API Key