Я записал некоторые программы для Raspberry Pi, к которому некоторые небольшие компании проявили интерес. Я продал предварительно сконфигурированной Малине 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 имеет форум post, на котором перечислены их диапазоны 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 для получения информации о семантике и способах получения уведомлений об изменениях.