2014-01-03 2 views
26

Мне поручено разработать интерфейс интрасети для программного обеспечения командной строки, и теперь я изучаю параметры безопасности. Наше приложение командной строки завершено, но я не начал писать веб-интерфейс. Я не знаю точно, что требования безопасности для потенциальных клиентов, хотя я считаю, что ssh, как правило, приемлемо для интерфейса командной строки. Имея это в виду, я прошу помочь разработать меню вариантов с их связанными плюсами/минусами. В какой-то день мы можем рассмотреть вопрос о выпуске нашего веб-интерфейса в Интернет, поэтому я готов рассмотреть вопрос о большей безопасности, чем в настоящее время, если это легко и/или бесплатно.Являются ли сертификаты полезными для интранета SSL?

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

Вот список вариантов безопасности, связанных с SSL, отсортированных по моему восприятию уровня безопасности с моими комментариями. Какой уровень защиты мне нужен?

  1. Нет SSL. Это может быть приемлемо, если наши клиенты не беспокоятся о том, что их сотрудники видят/изменяют данные друг друга. Их сотрудники, возможно, захотят поделиться результатами друг с другом в любом случае, и я мог бы использовать управление доступом на основе IP и/или пароли для обеспечения безопасности.

  2. У протокола SSL нет сертификата. Это шифрует сообщение, которое, по меньшей мере, защищает данные от чтения неавторизованными сотрудниками. Используя пароль, это тот же уровень безопасности, что и ssh в командной строке, не так ли? Мне не нужно беспокоиться о атаках «человек-в-середине» в интранете, не так ли? Кон таким подходом было бы, если бы были загружены предупреждающие сообщения браузера.

  3. Выполнение SSL с самозаверяющим сертификатом. Что это дает мне, что сертификат не дает? Если DNS можно изменить ненадлежащим образом, тогда клиент, то мое приложение является наименьшей из их проблем. Иными словами, если DNS может измениться, тогда я думаю, что ssh тоже будет уязвим.

  4. Выполнение SSL с местным центром сертификации. OpenSSL позволяет мне создать собственный центр сертификации. Что это дает мне, что самозаверяющий сертификат нет? Я предполагаю, что в локальной сети это менее важно для проверки сервера.

  5. Содержит ли SSL с внешним центром сертификации. Есть ли причина поехать по этому маршруту для интрасети? Я нашел несколько «сертификатов интрасети» для продажи в Интернете, но неясно, что они предлагают, я не могу сделать сам.

Для справки, эта страница может быть полезна для сравнения сертификатов:

http://httpd.apache.org/docs/trunk/ssl/ssl_faq.html#aboutcerts

[обновление]

Here's статья обсуждает риски и правила получения внутреннего сертификата из общественный центр сертификации.

+0

Возможно, я мог бы добавить слово «как» в начале заголовка. – amos

+1

Смешное закрытие. Вопрос не «слишком широк». Он имеет ответ «один раз» да/нет. Голосование для повторного открытия. – EJP

+0

«Слишком широкий» кажется неправильным, но это, вероятно, не программирование, может быть, серверная область? Во всяком случае: – bobince

ответ

16

Да, сертификаты по-прежнему полезны для протокола Intranet SSL.

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

С другой стороны, SSL-без-сертификата не хранит отпечаток сервера. Ваши сообщения будут по-прежнему зашифрованы, но если кто-то каким-то образом убьет DNS-сервер, как вы упомянули, или as Rushyo notes, отравит ARP или что-то подобное, они смогут выполнить атаку «человек в середине». SSH, как уже упоминалось ранее, будет (предположим, что вы когда-то связались с правильным сервером в прошлом) заметили, что отпечаток пальца изменился и предупредил вас.

Самозаверяющий сертификат будет сопоставим по безопасности с SSH. Человек в середине может создать свой собственный самозаверяющий сертификат, но пока ваши приложения настроены так, чтобы принимать только , что самозаверяющий сертификат, вы должны получить предупреждение, подобное тому, что предоставит вам SSH.

Локальный центр сертификации дает вам безопасность, аналогичную самоподписанным сертификатам, но может быть более масштабируемой. Если у вас есть несколько серверов, каждый может иметь свой собственный сертификат, но клиенту нужен только тот, кто доверяет всем им. Если сервер взломан, вы можете отменить его сертификат, а не изменять сертификат каждого сервера.

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

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

Отказ: Я не эксперт по безопасности.

+2

«Ваши сообщения по-прежнему будут зашифрованы, но если кто-то каким-то образом убьет DNS-сервер, как вы упомянули, они смогут выполнить атаку« человек в середине »». Есть намного более простые способы достижения этого, такие как отравление ARP. SSL не подходит для цели без сертификата, периода. – Rushyo

+0

«меньше настроек, если ваши машины уже имеют доверенный центр сертификации» важно, если работникам разрешено использовать BYOD. –

4
  1. Содержит ли SSL с внешним центром сертификации. Есть ли причина пойти по этому маршруту для интрасети? Я нашел несколько «сертификатов интрасети» для продажи в Интернете, но неясно, что они предлагают, я не могу сделать сам.

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

Однако, это на самом деле менее безопасно, потому что кто-то может приобрести сертификат для другой интрасети и использовать его в вашей сети. По этой причине поставщики SSL больше не предлагают эту услугу. Для получения дополнительной информации см .: https://www.godaddy.com/help/phasing-out-intranet-names-and-ip-addresses-in-ssls-6935

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

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

+0

Hey @geofflee chrome и IE продолжают предупреждать моих пользователей в интрасети с красной полосой на «https», даже если я добавлю свой самоподписанный сертификат в доверенный магазин, я бы хотел, чтобы эта зеленая панель, например, обычные веб-сайты, настроенные на интернет-SSL, можно добиться? – mounaim

+0

Да, это возможно. Вы установили сертификат в хранилище сертификатов «Доверенные корневые центры сертификации»? Убедитесь, что «Показать физические магазины» НЕ выбрано. – geofflee

+0

Я сделал это :) Что означает эта опция «показать физические магазины», доступна ли она как в chrome, так и в IE, или это опция ОС в диспетчере сертификатов? Можете ли вы изменить свой ответ, чтобы включить некоторые скриншоты? Это было бы прекрасно ! – mounaim

Смежные вопросы