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

Дадаць каментар