CVE-2014-0160
OpenSSL OpenSSL
2022-05-04
The TLS and DTLS implementations in OpenSSL do not properly handle Heartbeat Extension packets, which allows remote attackers to obtain sensitive information.
Технический анализ и план устранения
Суть уязвимости
Уязвимость (Heartbleed) позволяет удаленному злоумышленнику отправлять специально сформированные Heartbeat-пакеты уязвимому серверу (TLS/DTLS) и получать в ответ до 64 КБ данных из оперативной памяти процесса. Это может привести к утечке конфиденциальной информации: закрытых ключей, паролей пользователей, сессионных кук и других данных.
Как исправить
Необходимо обновить библиотеку OpenSSL до исправленной версии и перезапустить все сервисы, которые её используют (веб-серверы, почтовые серверы, VPN и т.д.).
Для Debian/Ubuntu:
# Обновление списка пакетов и установка исправленной версии
sudo apt update
sudo apt install --only-upgrade openssl libssl1.0.0
Исправленные версии: 1.0.1g-1 или выше для ветки 1.0.1.
Для RHEL/CentOS 6/7:
# Обновление пакета openssl
sudo yum update openssl
Исправленная версия: 1.0.1e-16.el6_5.7 или выше для RHEL6, 1.0.1e-34.el7_0.3 или выше для RHEL7.
Для Windows: Обновление зависит от дистрибутива ПО (например, Apache, Nginx). Необходимо скачать исправленные бинарные сборки с официальных сайтов поставщиков программного обеспечения, которые используют OpenSSL.
После обновления библиотеки обязательно перезапустите все зависимые сервисы:
# Пример для nginx и apache2
sudo systemctl restart nginx apache2
# Или для всех сервисов, использующих openssl (рекомендуется перезагрузка сервера)
sudo reboot
Временное решение
Если немедленное обновление невозможно, примите следующие меры:
- Перевыпустите SSL-сертификаты. Поскольку ключи могли быть скомпрометированы, отзовите старые сертификаты и сгенерируйте новые пары ключей на незараженной машине.
- Используйте WAF (Web Application Firewall). Настройте правила для блокировки Heartbeat-запросов (тип записи TLS
heartbeat).- Пример для ModSecurity: Создайте правило, проверяющее наличие
TLS:heartbeatв трафике.
- Пример для ModSecurity: Создайте правило, проверяющее наличие
- Перезагрузите уязвимые сервисы. Это очистит активную память, но не устранит саму уязвимость.
- Рассмотрите возможность отключения TLS/DTLS на критичных системах до момента установки патча (крайняя мера, нарушающая работу сервисов).