Я хочу сохранить наш ключ SSL для нашего сайта в тайне. Он хранится на 2 USB-флешках, одна в сейфе, а другая в безопасности. И тогда я единственный, кто применяет его к веб-серверу, чтобы он был полностью безопасным.
Кроме...
По крайней мере, на IIS вы можете экспортировать ключ. Таким образом, любой, кто является администратором, может получить копию ключа. Есть ли способ обойти это? Или по определению все администраторы имеют полный доступ ко всем ключам?
Обновление: у меня есть системные администраторы, которым я полностью доверяю. Это привело к тому, что один из них ушел (у нас был час, чтобы добраться до нашей компании, 5 минут - до новой). Хотя я доверяю этому человеку, так же как мы отключаем его учетную запись Active Directory, когда кто-то уходит, я подумал, что у нас должен быть способ гарантировать, что они не сохранят возможность использовать наш SSL.
И что мне показалось легче всего, так это то, что я единственный, у кого это есть. Срок действия нашего сертификата истекает в январе, поэтому пришло время изменить практику, если бы мы могли. Судя по ответам, похоже, что мы не можем.
Таким образом, это приводит к новому вопросу - когда кто-то, имеющий доступ к сертификату, уходит, это обычная практика - получить новый сертификат и отозвать существующий. Или если человек, который ушел, заслуживает доверия, тогда мы продолжим с имеющимся у нас сертификатом?
источник
Ответы:
Человек с административным (или часто даже физическим) доступом к серверу сможет извлечь секретный ключ. Будь то через экспорт, анализирование памяти или другие подобные хитрости.
Ваши администраторы имеют доступ к закрытым ключам ваших веб-серверов. Примите это как факт и обойдите это. Если ваши системные администраторы не заслуживают доверия, вам могут потребоваться лучшие системные администраторы или, по крайней мере, меньшее количество системных администраторов с доступом к веб-серверам. Если это вопрос паранойи безопасности управления, то может возникнуть более серьезная проблема, связанная с их способностью доверять сисадмину.
Это не значит, что вы должны просто позволить всем иметь доступ к закрытому ключу. Всегда должен быть доступ, прежде чем доступ будет предоставлен. Имея это в виду, собираетесь ли вы принять крайние меры, чтобы системный администратор с полным контролем над веб-сайтом не мог экспортировать закрытый ключ, но мог бы по-прежнему манипулировать самим сайтом любым количеством практически недоступных для отслеживания способов? Мы вернулись к доверию, и я думаю, что это является ядром проблемы, которую необходимо решить.
источник
Когда вы импортируете ключ, у вас есть возможность пометить его как неэкспортируемый. Это не позволит вам использовать IIS или сертификат MMC для его экспорта. По крайней мере, это немного усложняет.
Однако, если у них есть учетная запись администратора или физический доступ к ней, они все равно смогут получить ключ другими способами.
источник
Здесь может помочь «промежуточный ЦС».
«Root CA» в этом примере ниже принадлежит компании SSL, а не вам.
У вас нет прямого контроля над ключами, созданными корневым центром сертификации, поэтому, если ключ, подписанный корневым центром сертификации, скомпрометирован, вы должны пройти через них, чтобы отозвать его.
Но:
Если вы разместите другой центр сертификации в середине и купленный SSL-сертификат будет подписывать ваш собственный сертификат CA вместо прямой подписи сертификата сервера, вы можете сохранить контроль над сертификатами сервера, указанными ниже, и выдавать сертификаты отзыва или делать что-либо еще, если что-то ниже этого будет скомпрометировано. ,
Вы храните закрытый ключ Intermediate CA при себе, и администраторы не должны его видеть.
Вы также можете сделать это:
Вы можете подготовиться к компромиссу и сгенерировать сертификаты заранее, чтобы вы могли быстро переключаться в случае отзыва отдельного ключа. Администраторы не получают ключи на 2 или 3 до тех пор, пока не скомпрометируют 1. Вы можете разместить на своем сайте уведомление об этой схеме, и это также сообщит вашим администраторам, что вы готовы в случае компромисса и что смешной бизнес на их конец не разрушит ваш сайт.
источник
Есть много статей, которые предлагают хранить закрытые ключи где-то, кроме сервера, но эти закрытые ключи предназначены для сертификатов подписи кода . Представьте, что у вас есть ключи на автономном компьютере, к которым есть доступ только у вас, написано какое-то программное обеспечение, вы получаете закрытый ключ с автономного сервера, подписываете код, а затем вам больше не нужен закрытый ключ, пока вам не понадобится подписать некоторые из них. Снова код
Узнайте больше по адресу: https://www.thesslstore.com/blog/heres-what-happens-when-your-private-key-gets-compromised/
В противоположность этому, SSL-сертификаты предназначены для веб-сайтов, обеспечивающих связь HTTPS: закрытый ключ необходим во время каждого рукопожатия веб-сервером. Поэтому хранение его в автономном режиме не будет работать.
источник