Ошибка известна как Heartbleed .
Я уязвим?
Как правило, это влияет на работу сервера, для которого в какой-то момент был создан ключ SSL. На большинство конечных пользователей это не влияет (напрямую); по крайней мере, Firefox и Chrome не используют OpenSSL. SSH не затрагивается. Распространение пакетов Ubuntu не затронуто (оно опирается на подписи GPG).
Вы уязвимы, если запускаете любой тип сервера, который использует OpenSSL версии 1.0–1.0.1f (кроме версий, которые были исправлены с момента обнаружения ошибки). Уязвимые версии Ubuntu - надежные предварительные выпуски от 11.10 до 14.04. Это ошибка реализации, а не недостаток протокола, поэтому затрагиваются только программы, использующие библиотеку OpenSSL. Если у вас есть программа, связанная со старой версией 0.9.x OpenSSL, это не затронуто. Это влияет только на программы, использующие библиотеку OpenSSL для реализации протокола SSL; Программы, использующие OpenSSL для других целей, не затрагиваются.
Если вы запустили уязвимый сервер, подключенный к Интернету, считайте его скомпрометированным, если в ваших журналах не было подключения после объявления 2014-04-07. (Это предполагает, что уязвимость не использовалась до ее объявления.) Если ваш сервер был открыт только для внутренних целей, необходимость изменения ключей будет зависеть от того, какие другие меры безопасности применяются.
Какое влияние?
Эта ошибка позволяет любому клиенту, который может подключиться к вашему серверу SSL, получить около 64 КБ памяти с сервера. Клиент не должен проходить проверку подлинности. Повторяя атаку, клиент может сбрасывать различные части памяти при последовательных попытках.
Одним из важных фрагментов данных, которые злоумышленник может получить, является закрытый ключ SSL сервера. С этими данными злоумышленник может выдать себя за ваш сервер.
Как я могу восстановить на сервере?
Переведите все затронутые серверы в автономный режим. Пока они работают, они потенциально могут передавать важные данные.
Обновите libssl1.0.0
пакет и убедитесь, что все затронутые серверы перезапущены.
Вы можете проверить, работают ли затронутые процессы с помощью `` grep 'libssl. (удалено) '/ proc / / maps`
Генерация новых ключей . Это необходимо, потому что ошибка могла позволить злоумышленнику получить старый закрытый ключ. Следуйте той же процедуре, которую вы использовали изначально.
- Если вы используете сертификаты, подписанные центром сертификации, отправьте новые открытые ключи в свой ЦС. Когда вы получите новый сертификат, установите его на своем сервере.
- Если вы используете самозаверяющие сертификаты, установите их на свой сервер.
- В любом случае, удалите старые ключи и сертификаты (но не удаляйте их, просто убедитесь, что они больше не используются).
Теперь, когда у вас есть новые бескомпромиссные ключи, вы можете снова подключить свой сервер .
Отмените старые сертификаты.
Оценка ущерба : любые данные, которые были в памяти процесса, обслуживающего SSL-соединения, потенциально могли быть утечки. Это может включать пароли пользователей и другие конфиденциальные данные. Вам необходимо оценить, какими могли быть эти данные.
- Если вы используете службу, которая разрешает аутентификацию по паролю, то пароли пользователей, которые подключились еще до того, как была объявлена уязвимость, должны считаться взломанными. (Немного раньше, потому что пароль, возможно, некоторое время не использовался в памяти.) Проверьте свои журналы и измените пароли любого затронутого пользователя.
- Также аннулируйте все сеансовые куки, поскольку они могут быть скомпрометированы.
- Сертификаты клиента не скомпрометированы.
- Любые данные, которые были обменены за некоторое время до появления уязвимости, могли остаться в памяти сервера и, таким образом, могли быть переданы злоумышленнику.
- Если кто-то записал старое SSL-соединение и получил ключи вашего сервера, теперь он может расшифровать свою расшифровку. (Если PFS не был обеспечен - если вы не знаете, это не так.)
Как мне восстановиться на клиенте?
Есть только несколько ситуаций, в которых затрагиваются клиентские приложения. Проблема на стороне сервера заключается в том, что любой может подключиться к серверу и использовать ошибку. Чтобы использовать клиента, должны быть выполнены три условия:
- Клиентская программа использовала ошибочную версию библиотеки OpenSSL для реализации протокола SSL.
- Клиент подключен к вредоносному серверу. (Так, например, если вы подключились к провайдеру электронной почты, это не проблема.) Это должно было произойти после того, как владелец сервера узнал об этой уязвимости, вероятно, после 2014-04-07.
- У клиентского процесса в памяти были конфиденциальные данные, которые не были переданы на сервер. (Так что, если вы просто побежали,
wget
чтобы загрузить файл, не было данных для утечки.)
Если вы сделали это в период между 2014-04-07 вечером по Гринвичу и обновлением библиотеки OpenSSL, сочтите все данные, которые были в памяти клиентского процесса, скомпрометированы.
Рекомендации