Подробный гайд: устранение ошибки certificate verification failed в Astra Linux
Ошибка возникает, когда система или приложение не может проверить цепочку доверия SSL/TLS-сертификата удалённого сервера.
В Astra Linux (Debian-совместимая ОС) это чаще всего связано с:
- неверным системным временем,
- устаревшим хранилищем корневых сертификатов,
- корпоративным MITM,
- подключением к сервисам с ГОСТ-сертификатами,
- повреждённой конфигурацией репозиториев.
Быстрая диагностика (ответьте на 3 вопроса)
- Ошибка возникает в
apt,curl,wget, браузере или другом приложении? - Работаете ли вы в корпоративной сети с ZScaler/Kaspersky?
- Пытаетесь ли подключиться к государственным порталам или внутренним ресурсам РФ?
От ответов зависит дальнейший путь. Если не уверены, начните с Шага 1.
Пошаговое решение
Шаг 1. Проверьте и синхронизируйте системное время
Неверные дата/время – причина №1 ошибок проверки сертификатов.
date
timedatectl status
Если время отстаёт/спешит >5 минут:
sudo timedatectl set-ntp true
sudo systemctl restart systemd-timesyncd
timedatectl status # должно быть `System clock synchronized: yes`
Шаг 2. Обновите и пересоберите хранилище корневых сертификатов
Astra Linux использует стандартный пакет ca-certificates.
sudo apt update
sudo apt install --reinstall ca-certificates
sudo update-ca-certificates
Если появились предупреждения о дубликатах или отозванных сертификатах:
sudo dpkg-reconfigure ca-certificates
# Выберите `ask`, снимите галочки с проблемных сертификатов, подтвердите
Шаг 3. Исправление для конкретных приложений
| Приложение | Решение |
|---|---|
apt / wget |
sudo update-ca-certificates (шаг 2) + проверка /etc/apt/sources.list |
curl |
curl -vI https://example.com для диагностики. При необходимости: curl --cacert /путь/к/ca.crt |
git |
git config --global http.sslCAInfo /etc/ssl/certs/ca-certificates.crt |
Python/pip |
pip install --upgrade certifi |
Java |
Импортируйте в cacerts: sudo keytool -importcert -trustcacerts -alias mycert -file cert.crt -keystore /etc/ssl/certs/java/cacerts |
Firefox/Chromium |
Браузеры используют собственное хранилище. Добавьте сертификат через Настройки → Безопасность → Сертификаты. |
Шаг 5. Проверка репозиториев Astra Linux
Ошибка при sudo apt update часто связана с сертификатами зеркал.
cat /etc/apt/sources.list
ls -l /etc/apt/sources.list.d/
Убедитесь, что подключены официальные зеркала Astra.
Пример для Common Edition:
deb https://dl.astralinux.ru/astra/stable/2.12_x86-64/repository/ orel main contrib non-free
Очистите кэш и обновите:
sudo apt clean
sudo apt update
Если ошибка сохраняется, проверьте DNS и доступность зеркала:
nslookup dl.astralinux.ru
ping -c 3 dl.astralinux.ru
Специфика Astra Linux
ГОСТ-сертификаты и КриптоПро
Если ошибка возникает при подключении к государственным порталам, ЕЦП, ФНС, ГИС, внутренним ресурсам силовых/государственных структур, высока вероятность, что сервер использует ГОСТ-алгоритмы (RDSA, GOST R 34.10-2012).
Стандартный OpenSSL в Astra Linux не поддерживает ГОСТ из коробки.
Требуется:
- Установка
cprocsp(КриптоПро CSP) илиVipNet CSP. - Установка плагинов для OpenSSL:
openssl-gost,cprocsp-cpopenssl. - Настройка доверенных корневых сертификатов Минцифры/УЦ ФСБ.
Astra Linux Special Edition (SE)
В редакции SE включён мандатный контроль целостности и изоляция.
Если вы работаете в режиме mcs или parsec:
- Убедитесь, что процесс имеет права на чтение
/etc/ssl/certs/. - Проверьте метки безопасности:
ls -Z /etc/ssl/certs/ - При необходимости добавьте исключение в профиль AppArmor/Parsec или обратитесь к администратору ИБ.
Диагностика и логи
| Команда | Назначение |
|---|---|
curl -vI https://target.ru |
Покажет цепочку сертификатов и точку отказа |
openssl s_client -connect target.ru:443 -servername target.ru |
Диагностика TLS-рукопожатия |
journalctl -u apt --since "1 hour ago" |
Логи ошибок apt |
grep -i cert /var/log/syslog |
Системные сообщения о сертификатах |
cat /etc/ssl/certs/ca-certificates.crt | grep "BEGIN CERTIFICATE" | wc -l |
Количество установленных корневых сертификатов (должно быть >100) |
Чего НЕ делать
- Не используйте
curl --insecure,wget --no-check-certificate,apt --allow-unauthenticatedв production. - Не копируйте случайные
.crtиз интернета в/etc/ssl/certs/. - Не отключайте
update-ca-certificatesбез понимания последствий. - Не игнорируйте ошибки в
apt update– это может привести к установке неподписанных пакетов.
Шпаргалка: команды в одном блоке
# 1. Время
sudo timedatectl set-ntp true
# 2. Сертификаты
sudo apt update && sudo apt install --reinstall ca-certificates
sudo update-ca-certificates
# 3. Проверка
curl -vI https://example.com
openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null | openssl x509 -noout -dates -subject -issuer