LetsEncrypt планує відкликати свої сертифікати через програмну помилку

LetsEncrypt планує відкликати свої сертифікати через програмну помилку
Компанія LetsEncrypt, що пропонує безкоштовні сертифікати ssl для шифрування, змушена анулювати деякі сертифікати.

Проблема пов'язана з програмною помилкою у керуючому ПЗ Boulder, що застосовується для побудови CA. Зазвичай перевірка DNS запису CAA відбувається одночасно з підтвердженням володіння доменом, а більшість передплатників отримують сертифікат відразу після перевірки, але розробники ПЗ зробили так, що результат перевірки вважається пройденим протягом наступних 30 днів. У деяких випадках можна перевіряти записи вдруге, безпосередньо перед видачею сертифіката, зокрема, потрібна повторна перевірка CAA протягом 8 годин до видачі, тому будь-який домен, перевірений раніше цього терміну, повинен перевірятися повторно.

У чому полягає помилка? Якщо запит на сертифікат містить N доменів, які вимагають повторної перевірки CAA, Boulder вибирав один із них і перевіряв його N разів. В результаті існувала можливість видачі сертифіката, навіть якщо потім (до X+30 днів) встановити запис CAA, що забороняє видачу сертифіката LetsEncrypt.

Для перевірки сертифікатів компанія підготувала онлайн-інструмент, що покаже докладний звіт.

Просунуті користувачі можуть зробити все самостійно, використовуючи наступні команди:

# проверка https
openssl s_client -connect example.com:443 -showcerts </dev/null 2>/dev/null | openssl x509 -text -noout | grep -A 1 Serial Number | tr -d :
# вариант проверки от @simpleadmin 
echo | openssl s_client -connect example.com:443 |& openssl x509 -noout -serial
# проверка почтового сервера, протокол SMTP
openssl s_client -connect example.com:25 -starttls smtp -showcerts </dev/null 2>/dev/null | openssl x509 -text -noout | grep -A 1 Serial Number | tr -d :
# проверка почтового сервера, протокол SMTP
openssl s_client -connect example.com:587 -starttls smtp -showcerts </dev/null 2>/dev/null | openssl x509 -text -noout | grep -A 1 Serial Number | tr -d :
# проверка почтового сервера, протокол IMAP
openssl s_client -connect example.com:143 -starttls imap -showcerts </dev/null 2>/dev/null | openssl x509 -text -noout | grep -A 1 Serial Number | tr -d :
# проверка почтового сервера, протокол IMAP
openssl s_client -connect example.com:993 -showcerts </dev/null 2>/dev/null | openssl x509 -text -noout | grep -A 1 Serial Number | tr -d :
# в принципе аналогично проверяются и другие сервисы

Далі треба дивитися тут серійний номер, і якщо він у списку — рекомендується оновити сертифікат(и).

Для оновлення сертифікатів можна скористатися certbot:

certbot renew --force-renewal

Проблему було знайдено ще 29 лютого 2020 року, для вирішення проблеми було припинено випуск сертифікатів з 3:10 UTC до 5:22 UTC. З внутрішнього розслідування помилку було внесено 25 липня 2019 року, детальніший звіт компанія надасть пізніше.

UPD: онлайн сервіс перевірки сертифікатів може не працювати з російськими IP-адресами.

Джерело: habr.com

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