Клоп відомий як 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, потенційно можуть просочитися. Це може включати паролі користувачів та інші конфіденційні дані. Потрібно оцінити, якими були ці дані.
- Якщо ви працюєте з сервісом, який дозволяє перевірити паролі, то паролі користувачів, які підключились трохи раніше, ніж було оголошено про вразливість, слід вважати компрометованими. (Трохи раніше, оскільки пароль певний час може залишитися невикористаним у пам'яті.) Перевірте свої журнали та змініть паролі будь-якого зачепленого користувача.
- Також недійсні всі файли cookie сеансу, оскільки вони можуть бути порушені.
- Клієнтські сертифікати не ставлять під загрозу.
- Будь-які дані, якими було обмінено трохи раніше, ніж вразливість, можливо, залишилися в пам’яті сервера і тому можуть потрапити до зловмисника.
- Якщо хтось записав старе з’єднання SSL та отримав ключі вашого сервера, він тепер може розшифрувати свою стенограму. (Якщо не було забезпечено PFS - якщо ви не знаєте, це не було.)
Як відновити клієнта?
Є лише кілька ситуацій, в яких впливають клієнтські програми. Проблема на стороні сервера полягає в тому, що кожен може підключитися до сервера та використовувати помилку. Для використання клієнта необхідно виконати три умови:
- Клієнтська програма використовувала баггічну версію бібліотеки OpenSSL для реалізації протоколу SSL.
- Клієнт підключився до шкідливого сервера. (Так, наприклад, якщо ви підключились до постачальника електронної пошти, це не викликає занепокоєння.) Це мало статися після того, як власник сервера зрозумів про вразливість, імовірно, після 2014-04-07.
- Клієнтський процес мав конфіденційні дані в пам'яті, які не поділялися з сервером. (Тож якщо ви просто запустили
wget
завантажити файл, даних протікати не було.)
Якщо ви це робили між 2014-04-07 вечором UTC та оновленням своєї бібліотеки OpenSSL, вважайте, що будь-які дані, що знаходяться в пам’яті клієнтського процесу, були порушені.
Список літератури