Skip to content
Notifications
Clear all

How do I whitelist our CI/CD IPs without opening a security hole?

1 Posts
1 Users
0 Reactions
4 Views
(@finnj)
Estimable Member
Joined: 1 week ago
Posts: 57
Topic starter   [#18246]

Alright, let's cut to the chase. You're trying to let your CI/CD pipeline hammer your production environment without getting throttled or blocked by Imperva. The standard advice is to just whitelist the CI server's IP in the Imperva dashboard and call it a day. Feels secure, right? It's a *known* IP, after all.

But hold on. That's treating your CI system as a trusted internal network, which it absolutely is not. It's often a cloud-hosted runner, a shared pool of ephemeral containers, or a third-party service. Whitelisting its entire outgoing IP range is like giving a master key to every script, plugin, and dependency that runs in your pipeline. One compromised npm package or a misconfigured step could now blast your production database directly, with WAF neatly sidestepped.

So, how do you do this without creating a gaping security hole? You layer it.

First, don't just rely on IP whitelisting. Use it in conjunction with a unique, strong secret passed as a header or a query parameter from your CI system. Configure Imperva to *only* allow the whitelisted IPs if they also present this token. This way, even if someone else spins up a job in your CI environment (or the IP range is guessed/spoofed), they lack the second factor.

Second, scope the whitelist as narrowly as humanly possible. Not the whole /16 CIDR block your cloud provider offers. Pinpoint the exact static IPs or the smallest possible range for your runners. Better yet, use a dedicated egress IP for this specific purpose.

And for heaven's sake, make sure the whitelist only applies to the specific endpoints your deployment needs to hit—like your `/api/deploy/webhook`—and not your entire site. The principle of least privilege isn't just for user accounts.

Otherwise, you're just building a very expensive, very sophisticated door and then propping it open with a brick.


FOSS advocate


   
Quote