Все ли серверы должны использовать протокол HTTPS или только общедоступные серверы?

38

У меня есть интерфейсный веб-сервер, работающий по протоколу HTTPS - это общедоступный интерфейс, т. Е. Порт открыт.

У меня также есть сервер API бэкэнда, к которому мой веб-сервер отправляет запросы API - это общедоступное и требует аутентификации - порт открыт.

Эти 2 сервера работают по протоколу HTTPS.

За сервером API есть много других серверов. Сервер API обратного прокси на этих серверах. Порты для этих других серверов не открыты для входящего трафика. С ними можно разговаривать только через сервер API.

Мой вопрос ... Нужно ли «большому количеству других серверов» работать по протоколу HTTPS или, учитывая, что к ним нельзя получить доступ извне, вместо этого они могут безопасно использовать HTTP?

Я думал, что это будет общий вопрос, но я не мог найти ответ на него. Спасибо. Если это обман, пожалуйста, укажите мне правильный ответ.

danday74
источник
35
В свете того, как АНБ подключилось к зарубежным ссылкам, которые Google и Yahoo использовали для связи между незашифрованными центрами обработки данных, я бы порекомендовал вам всегда предполагать, что соединение подозрительно. Вы никогда не знаете, где кто-то может слушать, и лучше быть в безопасности, чем потом сожалеть. Единственный раз, когда я хотел бы рассмотреть возможность использования только HTTP, - это служба, работающая на той же машине, которая его использует, открытая только для локальных подключений.
childofsoong
7
Это известно как ssl-разгрузка и ssl-завершение, если вы хотите провести дальнейшие исследования.
Эсбен Сков Педерсен
31
Это все равно что спросить: «Все ли двери нуждаются в замках или только наружные двери?» Только вы можете ответить на этот вопрос при рассмотрении угроз внутри и вне вашей сети.
Райан Григгс
5
Как говорится в FAQ по Security.SE : «Безопасность - это очень контекстуальная тема: угрозы, которые считаются важными в вашей среде, могут быть несущественными для кого-то другого, и наоборот. Вы пытаетесь защитить что-то глобальное от современных постоянных угроз? Или Вы ищете экономически эффективный подход для малого бизнеса? Чтобы получить наиболее полезные ответы, вы должны сказать нам: какие активы вы пытаетесь защитить, кто использует актив, который вы пытаетесь защитить, и кто вы думаю, может захотеть злоупотребить этим (и почему); ...
DW
2
какие шаги вы уже предприняли для защиты этого актива; какие риски, как вы думаете, вам все еще необходимо смягчить. "Этот вид контекста имеет важное значение. Я предлагаю вам отредактировать свой вопрос, чтобы включить эту информацию.
DW

Ответы:

50

Это вопрос мнения, а также имеет отношение к нормативным вопросам (если вы сталкиваетесь с ними).

Даже если в настоящее время в этом нет необходимости, я активно поддерживаю поддержку HTTPS между любыми брандмауэрами уровня приложений / балансировщиками нагрузки / интерфейсными серверами и внутренними серверами. Это на одну поверхность атаки меньше. Я заключил контракт с местами, которые необходимо было преобразовать, так как стала передаваться более конфиденциальная информация - лучше начать с нее.

Я обычно советую использовать внутренний CA (если есть) или самоподписаться (если нет внутреннего CA) на внутренних серверах. Мы установили бы срок годности хорошо и далеко в будущем, чтобы избежать ненужных изменений.

Тим Бригам
источник
1
лучше начать там - слова, которые дали вам очки :)
danday74
12
Это хорошая идея. Вы не хотите, чтобы АНБ делало глупые рисунки вашей сетевой топологии .
Кевин
3
Шифрование всех ваших сообщений также защищает от внутреннего перехвата - будь то в виде компьютера интерна, который подцепил трояна во время просмотра изображений кошек, или небольшого сниффера, подключенного к сетевому порту за неиспользованным рабочим столом, или общего доступа к паролю Wi-Fi слишком слабо
Доктор Дж
8
" We'd set the expiration date nice and far into the future to avoid unnecessary changes." и, пожалуйста, добавьте правило в предпочитаемый вами комплект мониторинга, чтобы предупредить вас о том, когда он истекает. Пожалуйста!
GnP
2
@GnP Я тоже так делаю - если это сертификат с 10-летним периодом, наша политика всегда обязывает замену внутреннего сервера в течение этого периода. Это делает его немного избыточным и, по-видимому, нет необходимости упоминать в ответе.
Тим Бригам
19

TL; DR вы должны шифровать трафик, если он не находится на том же хосте.

Вы не можете доверять своей сети. Вредоносные программы в вашей собственной сети могут перехватывать / изменять запросы http.

Это не теоретические атаки, а пример из реальной жизни:

Том
источник
16

Нужно ли «большому количеству других серверов» работать по протоколу HTTPS или, учитывая, что к ним нельзя получить внешний доступ, вместо этого они могут безопасно работать по HTTP?

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

Это на самом деле больше вопрос мнения, но ответ зависит. Что ты пытаешься сделать? Какие данные вы шифруете? От каких угроз вы пытаетесь защищаться? Есть ли у вас законное требование (например, PCI-DSS, HIPAA и т. Д.), Согласно которому вам необходимо шифровать данные при передаче? Если данные конфиденциальны, и вы обеспокоены тем, что они могут быть использованы не по назначению во время их передачи в вашей сети, я бы посоветовал собраться вместе с руководством, чтобы решить эту проблему. Итак, в конце концов, что вы пытаетесь защитить и почему вы пытаетесь защитить это?

user5870571
источник
13

Когда-то люди предполагали, что внутренние сети безопасны как дома. Однажды я вступил в спор с руководителем, который был потрясен тем, что на моих внутренних серверах работают встроенные брандмауэры. «Если вы не можете доверять своей внутренней сети, кому вы можете доверять?» Я указал, что у нас во внутренней сети есть студенческие ноутбуки и что между студенческими ноутбуками и моими серверами не было брандмауэра. Он, будучи новичком в научных кругах, похоже, разбил всю свою вселенную от этой информации.

Внутренние сети больше не считаются безопасными, даже если в вашей сети нет ноутбуков для студентов. Посмотрите ответ Тома для некоторых примеров.

Тем не менее, да, это зависит от того, какая информация передается, какие-либо вопросы соблюдения законодательства и т. Д. Вы можете решить, что вам все равно, если кто-то нюхает, скажем, данные о погоде. Тем не менее, вполне возможно , что даже если передаваемые данные не чувствительны в настоящее время , кто - то может решить , добавлять новые функции в приложение позже , что являются чувствительными, поэтому я бы рекомендовал более паранойю (включая HTTPS).

Кэтрин Вилляр
источник
Данные о погоде могут быть достаточно конфиденциальными: кто-то может основывать свои неправильные решения на данных о несанкционированном доступе.
Хаген фон Айцен
1
Справедливо, это зависит от того, для чего вы используете данные о погоде. Я пытался придумать что-нибудь безобидное. :)
Кэтрин Вилльярд
1
@HagenvonEitzen или злоумышленник внедрит туда вредоносное ПО / рекламу, поэтому бабушку забивают, когда она проверяет погоду на своем компьютере с Windows XP.
Андре Бори
8

Сегодня со специализированными инструкциями ЦП для ускорения шифрования и новыми транспортными протоколами, которые вообще не будут работать или работать с ухудшенной производительностью по незашифрованному каналу (HTTP / 2, gRPC и т. Д.), Возможно, лучший вопрос: есть ли причина, по которой вам требуется понизить сетевую ссылку до HTTP? Если нет конкретной причины, то ответ остается с HTTPS.

Аарон
источник
Хороший мыслительный процесс
danday74
5

Единственная причина, по которой я могу отключить шифрование - это производительность. Тем не менее, в вашем случае внутренние серверы взаимодействуют через HTTP, то есть они уже несут затраты на производительность работы веб-сервера, поддержки протокола HTTP и кодирования данных в HTTP / JSON / что угодно. Отключение шифрования освободит, возможно, 100 КБ ОЗУ и принесет вам несколько микросекунд на КБ передаваемых данных, что не окажет заметного влияния на общую производительность. С другой стороны, вам придется уделять гораздо больше внимания безопасности, поскольку теперь вы запускаете HTTP в своей интрасети. На самом деле, возможно, что более строгая настройка брандмауэра замедлит работу в большей степени, чем отключение шифрования, что ускорит их, что приведет к ухудшению производительности, воспринимаемой конечными пользователями.

Это будет все равно что поставить спойлер на трактор: теоретически вы получаете практически ничего, а неудобств практически нет.

Дмитрий Григорьев
источник