[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Outgoing firewall and CNAMES



Hi guys,

I use an outgoing policy of deny on webservers, and allow explicitely what I need them to connect to. This has never posed a problem, until today. I need to allow a website to pull in a feed from another site, hosted on amazon's elastic cloud thingy. The problem is, the DNS name is a CNAME to a CNAME to a CNAME, like:

;; ANSWER SECTION:
api.example.com.s3.amazonaws.com. 7519 IN CNAME s3-directional-w.amazonaws.com. s3-directional-w.amazonaws.com. 3129 IN CNAME s3-directional-w.geo.amazonaws.com. s3-directional-w.geo.amazonaws.com. 3722 IN CNAME s3-1-w.amazonaws.com. s3-1-w.amazonaws.com. 16 IN A 207.171.163.34

The final IP varies wildly. Now, I have compiled what I think is the entire range, and I have found some lists online that more or less match. But here's the problem. If I allow apache to make outbound connections to anything hosted on Amazon, then nothing stops an attacker from putting his remote includes on amazon too.

The only thing I can think of is something along the lines of:

1. Add one amazon IP to /etc/hosts for api.example.com
2. Allow that IP on the OUTGOING chain
3. Script something to run the feed request against the IP and verify that the response is what we expect. If it isn't, I can do some futher checks to see if the feed down or if the IP has changed, or it can just alert me.

How do you guys deal with this kind of problem?

Thanks


Reply to: