Масовий відгук сертифікатів Let's Encrypt

Некомерційний посвідчувальний центр Let's Encrypt, контрольований спільнотою і надає сертифікати безкоштовно всім бажаючим, попередив про подальший відгук багатьох раніше виданих TLS/SSL сертифікатів. З 116 млн нині діючих сертифікатів Let's Encrypt буде відкликано трохи більше 3 млн (2.6%), з яких приблизно 1 млн є дублікатами, прив'язаними до одного домену (помилка в основному зачепила сертифікати, що часто оновлюються, тому так багато дублікатів). Відкликання заплановано на 4 березня (точний час поки не визначено, але відгук буде проведено не раніше 3 ночі MSK).

Необхідність відкликання обумовлена ​​виявленою 29 лютого помилкою. Проблема проявляється з 25 липня 2019 року і торкається системи перевірки CAA-записів у DNS. Запис CAA (RFC-6844, Certificate Authority Authorization) дозволяє власнику домену явно визначити засвідчувальний центр, через який можна генерувати сертифікати для зазначеного домену. Якщо центр, що засвідчує, не перерахований у записах CAA, він зобов'язаний блокувати видачу сертифікатів для даного домену та інформувати власника домену про спроби компрометації. У більшості випадків сертифікат запитується відразу після перевірки CAA, але результат перевірки вважається дійсним ще 30 днів. Правила також наказують виконувати повторну перевірку не пізніше ніж за 8 годин до видачі нового сертифіката (тобто якщо при запиті нового сертифіката з моменту попередньої перевірки минуло 8 годин, потрібна повторна перевірка).

Помилка виявляється, якщо запит сертифіката охоплює відразу кілька доменних імен, для кожного з яких потрібна перевірка CAA. Суть помилки в тому, що в момент повторної перевірки замість валідації всіх доменів здійснювалася повторна перевірка лише одного домену зі списку (якщо в запиті було N доменів, замість N різних перевірок, один домен перевірявся N разів). Для інших доменів повторна перевірка не виконувалася і при ухваленні рішення використовувалися дані першої перевірки (тобто використовувалися дані давністю до 30 днів). Як наслідок, протягом 30 днів після першої перевірки Let's Encrypt міг видати сертифікат, навіть якщо значення CAA-запису було змінено і Let's Encrypt було прибрано зі списку допустимих центрів, що засвідчують.

Захисту користувачам надіслано повідомлення по email, якщо при отриманні сертифіката були заповнені контактні дані. Перевірити свої сертифікати можна завантаживши перелік серійних номерів відкликаних сертифікатів або скориставшись online-сервісом (розміщений на IP-адресі, заблокованому в РФ Роскомнаглядом). Дізнатися серійний номер сертифіката для домену, що цікавить, можна за допомогою команди:

openssl s_client -connect example.com:443 -showcerts /dev/null \
| openssl x509 -text -noout | grep -A 1 Serial\Number | tr -d :

Джерело: opennet.ru

Додати коментар або відгук