Это хорошая практика, чтобы удалить пароль из SSL-сертификата?

10

Сейчас я читал в нескольких блогах, что нужно удалять пароли из SSL-сертификатов, чтобы избежать запросов пароля при перезапуске Apache.

Это правда, и это представляет угрозу безопасности?

giorgio79
источник
Если вас это действительно беспокоит, есть доступное оборудование, где ваш закрытый ключ может храниться на USB-устройстве и никогда не будет восстановлен. Это не будет действительно работать в размещенной среде, хотя.
Зоредаче
Попутно отмечаю, чтобы избежать путаницы, что сертификат никогда не шифруется, и в этом нет никакого смысла; чтобы завершить рукопожатие SSL, сертификат должен предлагаться в виде открытого текста любому, кто его запрашивает. Сертификат - это просто открытый ключ, подписанный третьей стороной. Это закрытый ключ , асимметричный аналог открытого ключа (который может расшифровывать трафик, зашифрованный на открытый ключ), который может храниться в зашифрованном виде и о котором вы спрашиваете.
MadHatter

Ответы:

22

Да, он остановит отправку запросов на терминал при запуске веб-сервера.

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

Представляет ли это значительный риск для безопасности, зависит от того, каковы будут последствия, если это случится с вами, и какую выгоду вы получите от этого.

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

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

  1. Злоумышленник все равно будет иметь копию сертификата, даже если он зашифрован, поэтому вы все равно должны будете отозвать его.
  2. В наши дни злоумышленнику гораздо проще получить действительный сертификат для вашего сайта с помощью социальной инженерии, чем украсть его рабочую копию.
  3. Срок действия сертификатов истекает, что ограничивает их поверхность атаки.
  4. Системы безопасности на основе хоста, такие как традиционные разрешения и SELinux, предлагают надежные средства защиты сертификатов на платформе.
  5. Сертификат не является основной защитой системы. Есть много других аспектов, которые следует учитывать, таких как данные, которые вы храните, носители, на которых вы их храните, а также ценность и / или личный характер данных.

Вещи, которые могут сделать меня зашифрованным:

  1. Если вы использовали сертификат для выполнения взаимной аутентификации.
  2. Это подстановочный сертификат или сертификат, который содержит несколько доменов (потери могут быть двойными или тройными, или сколько угодно хостов может быть использовано для него)
  3. Сертификат является многоцелевым другим способом.
  4. Целью сертификатов является обеспечение целостности данных высокой ценности (медицинские записи, финансовые операции и тому подобное).
  5. Другой конец ожидает высокую степень доверия и / или зависит от целостности вашей системы для принятия оперативных решений.

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

Мэтью Ифе
источник
8

Это обеспечивает еще большую безопасность, но реальность такова, что если кто-то зашел достаточно далеко в вашу систему, чтобы получить доступ к вашему личному ключу SSL, у вас, вероятно, возникли более серьезные проблемы.

С практической точки зрения, вы действительно хотите быть там каждый раз, когда нужно перезапустить apache, чтобы ввести пароль?

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

Пратик Амин
источник
0

Ключи Cient, используемые для входа в систему, должны быть защищены паролем.

Если вы хотите, чтобы службы на основе SSL перезапускались без ручного вмешательства, у вас есть два варианта:

  1. Не используйте пароль на ключе и защищайте его, чтобы к нему могли обращаться только те службы, которые в нем нуждаются.
  2. Сохраните пароль в виде простого текста или эквивалентного текста на сервере, чтобы службы, которые в нем нуждаются, могли предоставить пароль. (Вы можете получить несколько копий пароля в плохо защищенных файлах конфигурации.)

Резервные копии ключа должны быть защищены паролем и защищены, как если бы они не были защищены паролем.

BillThor
источник