На сегодняшний день обнаружена ошибка в OpenSSL , затрагивающая версии 1.0.1
через 1.0.1f
(включительно) и 1.0.2-beta
.
Начиная с Ubuntu 12.04, мы все уязвимы для этой ошибки. Чтобы исправить эту уязвимость, пострадавшие пользователи должны обновить систему до OpenSSL 1.0.1g
.
Как каждый пострадавший пользователь может применить это обновление сейчас ?
Ответы:
Обновления для системы безопасности доступны для 12.04, 12.10, 13.10 и 14.04, см. Примечание по безопасности Ubuntu USN-2165-1 .
Поэтому сначала нужно применить доступные обновления безопасности, например, запустив
из командной строки.
Не забудьте перезапустить службы (HTTP, SMTP и т. Д.), Которые используют уязвимую версию OpenSSL, в противном случае вы по-прежнему уязвимы. См. Также Heartbleed: что это такое и какие варианты можно смягчить? на Serverfault.com.
Следующая команда показывает (после обновления) все службы, которые необходимо перезапустить:
После этого вам нужно восстановить все серверные SSL-ключи , а затем оценить, возможно, произошла утечка ваших ключей, и в этом случае злоумышленники могли получить конфиденциальную информацию с ваших серверов.
источник
openssl version
даетOpenSSL 1.0.1 14 Mar 2012
. Это не исправленная версия, верно? Или я не правильно понял?1.0.1 14 Mar 2012
. Прочтите ответ Crimi, чтобы узнать, входит ли в вашу установку исправление.dpkg -l | grep ' openssl '
и вы получите,1.0.1-4ubuntu5.12
то вы можете идти.Ошибка известна как 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-соединения, потенциально могли быть утечки. Это может включать пароли пользователей и другие конфиденциальные данные. Вам необходимо оценить, какими могли быть эти данные.
Как мне восстановиться на клиенте?
Есть только несколько ситуаций, в которых затрагиваются клиентские приложения. Проблема на стороне сервера заключается в том, что любой может подключиться к серверу и использовать ошибку. Чтобы использовать клиента, должны быть выполнены три условия:
wget
чтобы загрузить файл, не было данных для утечки.)Если вы сделали это в период между 2014-04-07 вечером по Гринвичу и обновлением библиотеки OpenSSL, сочтите все данные, которые были в памяти клиентского процесса, скомпрометированы.
Рекомендации
источник
openssl
содержит инструменты командной строки. Он не используется приложениями, которые используют библиотеку OpenSSL для реализации протокола SSL (например, Apache). Но вы должны просто применить обновления безопасности дистрибутива.Чтобы увидеть, какая версия OpenSSL установлена в Ubuntu, запустите:
Если вы видите следующую версию, патч для CVE-2014-0160 должен быть включен.
Глядя на https://launchpad.net/ubuntu/+source/openssl/1.0.1-4ubuntu5.12 , он показывает, какие ошибки исправлены:
источник
sudo service apache2 restart
openssl
не исправляет приложения, такие как Apache, Nginx или postfix. Вы должны обновитьlibssl1.0.0
и перезапустить их, как описано в других сообщениях.Если в ваших репозиториях apt-get нет предварительно скомпилированной версии 1.0.1g OpenSSL , просто скачайте исходники с официального сайта и скомпилируйте его.
Ниже единственной командной строки для компиляции и установки последней версии openssl.
curl https://www.openssl.org/source/openssl-1.0.1g.tar.gz | tar xz && cd openssl-1.0.1g && sudo ./config && sudo make && sudo make install
Замените старый двоичный файл openssl на новый по символической ссылке.
У вас все хорошо!
Сравни это сообщение в блоге .
NB: Как указано в сообщении в блоге, этот обходной путь не исправит «Nginx и сервер Apache, которые должны быть перекомпилированы с исходными кодами openSSL 1.0.1g».
источник
Для тех, кто не хочет выполнять обновление пакета для всего сервера. Сегодня я прочитал кучу этих руководств, и
apt-get upgrade openssl
===apt-get upgrade
здесь будут применены все исправления безопасности, необходимые для вашей машины. Замечательно, если вы явно не опираетесь на старую версию пакета.Это минимальное действие, необходимое для Ubuntu 12.04 LTS, работающей под управлением Apache 2:
Перейдите по этому адресу и докажите, что у вас есть уязвимость. Вы должны использовать ПРЯМОЙ ВНЕШНИЙ АДРЕС ВАШЕГО Веб-сервера. Если вы используете балансировщик нагрузки (например, ELB), вы можете не связываться с вашим веб-сервером напрямую.
Запустите следующий 1 вкладыш, чтобы обновить пакеты и перезапустить. Да, я видел, как все гиды говорили, что у вас должна быть метка времени позднее 4 апреля 2014 года, мне кажется, это не так.
apt-get update && apt-get install openssl libssl1.0.0 && /etc/init.d/apache2 restart
Убедитесь, что у вас установлены соответствующие версии пакетов, и еще раз проверьте ваш веб-сервер на наличие уязвимости.
Пакеты ключей следующие: я определил эту информацию с помощью команды ниже, а затем отредактировал ее (вам не нужно много знать о состоянии моих машин).
1.0.1-4ubuntu5.12
НЕ должно содержать уязвимости. Убедитесь, что это так, снова зайдя на веб-сайт ниже и протестировав свой веб-сервер.http://filippo.io/Heartbleed/
источник
apt-get install openssl libssl1.0.0
сделал это для меня. Запускopenssl version -a
сейчас показывает:built on: Mon Apr 7 20:33:29 UTC 2014
Я заметил здесь много комментаторов, которым срочно нужна помощь. Они следуют инструкциям, обновляются, перезагружаются и остаются уязвимыми при использовании некоторых тестовых веб-сайтов.
Вы должны проверить, чтобы убедиться, что у вас нет отложенных пакетов, таких как libssl.
Для обновления тех
apt-mark unhold libssl1.0.0
(например). Тогда обновление:apt-get upgrade -V
. Затем перезапустите затронутые службы.источник