Назад | Перейти на главную страницу

Какой диапазон IP-адресов попросить системного администратора открыть для работы S3?

Я написал несколько программ для Raspberry Pi, к которым проявили интерес некоторые небольшие компании. Я продал им предварительно настроенные Raspberry Pi: s с моей программой на них, и они работают для всех, кроме одной из компаний. У них очень строгая политика, и это понятно.

Моя программа использует сервис Amazon S3. Я дал инструкции о том, какие порты и службы должны быть открыты, чтобы программа работала, чтобы получить доступ к S3, и системный администратор говорит «ОК» на все, кроме одного: они не могут разрешить порт 443 для всего Интернет. Говорят, мне нужно указать диапазоны IP.

Я провел некоторое исследование, и мне кажется, что для работы S3 нужен широкий диапазон IP-адресов, а количество необходимых IP-адресов постоянно увеличивается. В большей части найденной мной документации четко прописано, что «порт 80 и порт 443 должны быть открыты» и что IP-адреса серверов S3 различаются.

У вас есть предложения по поводу того, что я могу предложить? Существуют ли брандмауэры, которые могут фильтровать по доменному имени (* .amazonaws.com)? Или я могу еще что-нибудь сделать? Есть ли официальный список диапазонов IP-адресов для S3, который регулярно обновляется?

Любая помощь от вас будет очень признательна. Спасибо.

Прежде чем приступить к созданию разрешенного диапазона IP-адресов, определите регион. Список регионов S3 доступен Вот.

Предположим, вам нужен диапазон IP-адресов для s3-us-west-2.amazonaws.com.

Вы можете получить его, выполнив следующие команды в системе Linux или эквивалентные команды в других системах.

Получите IP-адрес для домена:

$ host s3-us-west-2.amazonaws.com
s3-us-west-2.amazonaws.com has address 54.231.161.248

С доменом будет связано несколько IP-адресов, которые, возможно, будут в разных сетях. Попробуйте выполнить эту команду несколько раз, чтобы проверить, находятся ли возвращенные IP-адреса в одной сети. Если нет, попробуйте определить IP-адреса из разных сетей и выполните следующую команду для всех таких IP-адресов. К сожалению, нет возможности попросить DNS-сервер вернуть все записи A, связанные с конкретным доменом.

Бегать whois чтобы получить информацию об IP-адресе:

$ whois 54.231.161.248
...
NetRange:       54.230.0.0 - 54.231.255.255
CIDR:           54.230.0.0/15
...

Вывод Whois будет включать множество дополнительной информации, которая вам не нужна, и вывод может отличаться для разных IP-адресов. Однако вы сможете найти в выходных данных диапазон IP-адресов.

Альтернативный подход:

У Amazon есть форум Почта который перечисляет их диапазоны IP-адресов и регулярно обновляется, так что вы также можете использовать его.

Поскольку эти диапазоны IP-адресов со временем меняются, в идеале вам понадобится сценарий, который будет их проверять и уведомлять об обнаружении новых IP-адресов. Как указано в комментарии ниже, вы, вероятно, не хотите, чтобы конфигурация вашего брандмауэра обновлялась без предварительного подтверждения правильности диапазонов IP-адресов.

Теперь Amazon публикует здесь автоматически обновляемый список диапазонов IP-адресов для каждой службы: https://ip-ranges.amazonaws.com/ip-ranges.json - видеть http://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html для семантики и как получать уведомления об изменениях.