Я хочу иметь безопасное соединение, когда я вхожу в свою электронную почту, phpMyAdmin, и т.д.
Поэтому я подписал свои собственные SSL-сертификаты с помощью OpenSSL и сказал Apache прослушивать порт 443.
Это действительно безопасно? Все ли мои пароли действительно отправляются через безопасный и надежный уровень? Какая разница, если я куплю сертификат SSL у Verisign или подписать свой? В конце концов, все данные все равно будут на моем сервере. Так в чем же большая разница?
Все дело в доверии. Если вы получаете подписанный сертификат от verisign, вы доказываете случайным клиентам, что вашему сертификату доверяют. Если вы подписываете сертификат самостоятельно, люди, у которых на компьютере не установлен ваш сертификат, не могут быть уверены, что они не подвергаются атаке со стороны Атака посредника.
Если ваш веб-сервер только что используется вами, вам не нужен настоящий ЦС (например, verisign) для подписи вашего сертификата. Просто установите сертификат на машины, которые вы хотите использовать, и все готово.
Изменить: Итак, чтобы ответить на ваш вопрос: Да, все зашифровано, и вы можете быть уверены, что никто не сможет прочитать ваши конфиденциальные данные, если вы знаете, что сертификат, представленный веб-браузеру, на самом деле является тем, с которым вы настроили веб-сервер.
Все дело в доверии.
Допустим, вы посещаете популярный веб-сайт, который представляет сертификат. На этом веб-сайте говорится: "Это я, вы можете мне доверять, потому что у меня есть рекомендательное письмо, подписанное кем-то ты доверять."
В этом случае «тот, кому вы доверяете» - это один из центров сертификации, который (надеюсь) проделал основную работу по установлению личности предъявителя сертификата от вашего имени.
То, что вы действительно доверяете, - это доверие автора браузера к доверию центра сертификации к личности человека, представляющего сертификат. Кроме того, часто между вами и докладчиком существует более одного авторитета, отсюда и термин «цепочка доверия». [1]
Когда вы подписываете свой собственный сертификат, цепочки доверия нет. Ваш сайт возвращает вам ваш собственный сертификат. Если вы установите свой собственный сертификат в браузере как тот, ты trust, то это рассматривается как авторитет, такой же, как и те, которые поставляются предустановленными. Тогда у вас будет цепочка доверия только с одним звеном.
Если вы затем посещаете свой из своих сайтов, и ваш браузер предупреждает вас о том, что он представляет ненадежный сертификат, у вас должны быть причины для беспокойства, поскольку, как и с любым другим сайтом, который представляет ненадежный сертификат, вы не можете быть уверены что вы общаетесь с настоящим сайтом.
Обратите внимание, что я пока не упоминал о шифровании. Сертификаты о удостоверение личности стороны, с которой вы общаетесь. С помощью доверенных сертификатов вы можете быть разумно уверены, что ваш магазин или банк настоящий. После того, как вы установили их личность, следующим шагом станет обеспечение безопасности связи между вами. Так получилось, что сертификаты также содержат в себе ключи, необходимые для обеспечения этой безопасности. Предполагая, что вы правильно настроили SSL, это общение будет таким же безопасным, как и общение с вашим магазином или банком, и ваши пароли также защищены. [2]
[1] Это ни в коем случае не безупречная система. Свободный рынок и низкомаржинальный крупномасштабный бизнес неизбежно приводят к сокращению затрат: http://www.theregister.co.uk/2011/04/11/state_of_ssl_analysis/
[2] По крайней мере, защищенный достаточно что для кого-то намного дешевле ворваться в ваш дом и выбить из вас ваши секреты, чем пытаться их раскрыть: http://xkcd.com/538/
Собственно самоподписанные сертификаты жестяная банка будь в безопасности, только не в рамках той модели, которую мы используем сейчас.
В рамках широко распространенной модели CA (центра сертификации), все В настоящее время используется, цель сертификата, подписанного доверенным центром сертификации, - обеспечить аутентификацию.
Когда мы получаем сертификат, все, что мы действительно видим, - это цифры 1 и 0, поступающие из разъема в стене; мы понятия не имеем, откуда взялись эти единицы и нули. Однако, поскольку сертификат подписанный с помощью ЦС - то, что не может сделать никто в мире, кроме ЦС, - и поскольку мы доверяем ЦС проверять личность владельца сертификата, мы уверены, что сертификат исходит от того, на кого он претендует.
Конечно, если CA взломан или неправильно проверяет владельца, все ставки сделаны.
Однако есть еще одна модель, согласно которой самозаверяющие сертификаты делать обеспечить подлинность. Это называется нотариальная модель.
По сути, вместо того, чтобы доверять одному ЦС, мы распределяем доверие между любым количеством нотариусы. Эти нотариусы рыщут по Интернету в поисках сертификатов, храня в кеше все сертификаты, которые они видели. Когда вы впервые посещаете сайт и получаете сертификат, вы спрашиваете у нескольких нотариусов, работающих по всему миру, какой последний сертификат они видели. Если они не согласны с тем, что вы видите, вы можете стать участником атаки «человек посередине».
В соответствии с этой моделью самоподписанные сертификаты совершенно безопасны, если мы предполагаем, что сервер не будет немедленно скомпрометирован до того, как нотариус сможет просмотреть его сертификат.
Модель нотариуса все еще находится в зачаточном состоянии, и сомнительно, что она когда-либо возьмет на себя модель CA (на самом деле, это не обязательно - их можно использовать в тандеме). Самым многообещающим проектом на данный момент является Convergence.io, в котором есть плагин для Firefox.
Дело не в доверии ...
Сертификаты SSL могут служить двум целям: 1) это веб-сервер, к которому вы подключаетесь, к которому вы хотите подключиться; и 2) для шифрования сообщений.
У вас может быть №2 без №1, чего вы и достигли. Остается подтвердить, что устройство, к которому вы подключаетесь, является именно тем, что вам нужно.
Если это МОЙ сервер, у меня нет проблем с использованием самоподписанного сертификата от меня, хотя есть некоторый риск, что кто-то может подделать что-то, чтобы заставить меня подключиться к их серверу вместо моего. Поскольку никто не заботится обо мне и моем сервере, а я мало что представляю, я не вижу в этом особого риска.
С другой стороны, если бы вместо моего сервера это был ваш сервер, я был бы обеспокоен.