Я написал несколько программ для 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 для семантики и как получать уведомления об изменениях.