Skip to content
EN

ERR_SSL_BAD_RECORD_MAC_ALERT: причины и решение

Коротко:

ERR_SSL_BAD_RECORD_MAC_ALERT — клиент или сервер получил TLS-запись с неверным MAC (Message Authentication Code). Это означает искажение данных между двумя точками: проблема сети, proxy, antivirus с TLS-inspection или битая память. Исправление: отключить AV TLS-inspection, проверить MTU, обновить сетевые драйверы.

Эта ошибка блокирует HTTPS-доступ. Ниже: причины, исправление, рабочий конфиг, FAQ.

Проверить SSL своего сайта →

Причины ошибки

  • Антивирус/файрвол с TLS-inspection искажает данные
  • Проблемный прокси между клиентом и сервером
  • Неверный MTU на пути (фрагментация портит пакеты)
  • Битая RAM на сервере (rare, но случается)
  • Aggressive TCP offload на NIC корёжит пакеты
  • Клиент: устаревший OpenSSL с багом на AES-GCM

Пошаговое исправление

  1. Временно отключите антивирус (Kaspersky/Bitdefender) — проверьте, ушла ли ошибка
  2. Проверьте MTU: ping -M do -s 1472 8.8.8.8, если фрагменты — снизьте до 1400
  3. На сервере: ethtool -K eth0 tso off gso off gro off (отключить offload)
  4. Обновите OpenSSL на клиенте/сервере до 3.x
  5. Мониторьте uptime через Enterno Monitor — увидите паттерн сбоев

Проверить SSL-сертификат →

Пример: правильная настройка TLS в nginx

server {
    listen 443 ssl http2;
    server_name example.com;

    ssl_certificate     /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    ssl_protocols       TLSv1.2 TLSv1.3;
    ssl_ciphers         ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
    ssl_prefer_server_ciphers off;

    ssl_stapling        on;
    ssl_stapling_verify on;
}

Смежные SSL-ошибки

ERR_SSL_BAD_RECORD_MAC_ALERT — краткое описание проблемы

Ошибка ERR_SSL_BAD_RECORD_MAC_ALERT возникает, когда клиент и сервер не могут успешно расшифровать и проверить целостность передаваемых данных в процессе установления защищенного соединения через TLS. Это может быть связано с проблемами в конфигурации, несовместимостью версий протоколов или повреждением данных. Для устранения проблемы рекомендуется проверить настройки TLS, обновить программное обеспечение и протестировать соединение с помощью инструментов диагностики.

Причины возникновения ERR_SSL_BAD_RECORD_MAC_ALERT

Ошибка ERR_SSL_BAD_RECORD_MAC_ALERT может возникать по нескольким причинам:

  • Несоответствие версий TLS: Если клиент и сервер используют разные версии протокола TLS, это может привести к проблемам с шифрованием.
  • Проблемы с сертификатами: Некорректные или истекшие сертификаты могут вызывать сбои в установлении соединения.
  • Ошибки в конфигурации: Неправильные настройки на сервере, такие как неправильные параметры шифрования, могут привести к возникновению ошибки.
  • Повреждение пакетов: Пакеты данных могут быть повреждены во время передачи, что также может вызвать эту ошибку.

Чтобы диагностировать проблему, можно использовать команду openssl s_client -connect :, которая поможет установить соединение и выявить возможные проблемы с сертификатами и конфигурацией.

Практическое руководство по устранению ERR_SSL_BAD_RECORD_MAC_ALERT

Для устранения ошибки ERR_SSL_BAD_RECORD_MAC_ALERT выполните следующие шаги:

  1. Проверьте конфигурацию TLS на сервере: Убедитесь, что сервер поддерживает необходимые версии TLS. В файле конфигурации, например, nginx.conf, добавьте следующие строки:
ssl_protocols TLSv1.2 TLSv1.3;
  1. Проверьте сертификаты: Убедитесь, что сертификаты действительны и корректно установлены. Используйте команду openssl x509 -in -text -noout для проверки информации о сертификате.
  2. Обновите программное обеспечение: Убедитесь, что у вас установлены последние обновления для веб-сервера и библиотек шифрования. Это может помочь устранить проблемы с совместимостью.
  3. Тестируйте соединение: Используйте инструменты, такие как curl -v https://, чтобы протестировать соединение и выявить дополнительные проблемы, которые могут не отображаться в браузере.

Следуя этим шагам, вы сможете устранить ошибку ERR_SSL_BAD_RECORD_MAC_ALERT и восстановить стабильное соединение.

СертификатСрок, издатель, домены (SAN)
ЦепочкаПроверка промежуточных и корневых CA
TLS-протоколВерсия TLS и набор шифров
УязвимостиHeartbleed, POODLE, слабые шифры

Почему нам доверяют

TLS 1.3
поддержка
Полная
цепочка CA
<2с
результат
30/14/7
дней до истечения

Как это работает

1

Введите домен

2

Проверка цепочки TLS

3

Дата истечения и уязвимости

Что проверяет SSL-тест?

SSL/TLS — протокол шифрования, который защищает данные между браузером и сервером. Наш инструмент анализирует сертификат, цепочку доверия, версию TLS и известныеуязвимости.

Детали сертификата

Издатель, срок действия, алгоритм подписи, покрываемые домены (SAN) и тип валидации (DV/OV/EV).

Цепочка доверия

Проверка полной цепочки: от конечного сертификата через промежуточные до корневого CA.

Анализ TLS

Версия протокола (TLS 1.2/1.3), набор шифров, поддержка Perfect Forward Secrecy (PFS).

Оповещения об истечении

Создайте монитор — получайте уведомления в Telegram и email за 30/14/7 дней до истечения.

DV vs OV vs EV сертификаты

DV (Domain Validation)
  • Подтверждение только владения доменом
  • Выдаётся за минуты автоматически
  • Бесплатно через Let's Encrypt
  • Подходит для большинства сайтов
  • Самый распространённый тип
OV / EV
  • Проверка организации (OV) или расширенная проверка (EV)
  • Выдаётся за 1-5 рабочих дней
  • Стоимость от $50 до $500/год
  • Для финансов, e-commerce, госсайтов
  • Повышает доверие пользователей

Кому это нужно

DevOps

мониторинг SSL-сертификатов

Безопасность

аудит TLS-конфигурации

SEO

HTTPS как фактор ранжирования

E-commerce

доверие покупателей

Частые ошибки

Истёкший сертификатБраузеры блокируют сайт с истёкшим SSL. Настройте автопродление или мониторинг.
Неполная цепочка сертификатовБез промежуточного CA некоторые браузеры и боты не смогут верифицировать сертификат.
Mixed content на HTTPS-сайтеHTTP-ресурсы на HTTPS-странице — замок в браузере пропадает, снижается доверие.
Использование TLS 1.0/1.1Устаревшие версии TLS содержат известные уязвимости. Используйте TLS 1.2+ или 1.3.
Несовпадение домена в сертификатеСертификат должен покрывать все домены сайта, включая www и поддомены.

Лучшие практики

Настройте автопродлениеLet's Encrypt + certbot с cron — сертификат обновляется автоматически каждые 60-90 дней.
Включите HSTSЗаголовок Strict-Transport-Security заставляет браузер всегда использовать HTTPS.
Используйте TLS 1.3TLS 1.3 быстрее (1-RTT handshake) и безопаснее — убраны устаревшие шифры.
Мониторьте срок действияСоздайте монитор на Enterno.io — получайте уведомления задолго до истечения.
Проверяйте цепочку после обновленияПосле обновления сертификата убедитесь, что промежуточные сертификаты установлены.

Получите больше с бесплатным аккаунтом

Мониторинг SSL-сертификатов, история проверок и уведомления за 30 дней до истечения.

Зарегистрироваться (FREE)

Больше по теме

Источники

Часто задаваемые вопросы

Что такое MAC в TLS?

Message Authentication Code — криптографический хеш, встроенный в каждую TLS-запись. Проверяет, что данные не изменены в пути. Bad MAC = данные искажены.

Это атака?

Обычно нет. Чаще — баги железа/ПО. Но постоянные bad MAC могут указывать на MITM-атаку (очень редко).

Почему АВ всё портит?

TLS-inspection расшифровывает трафик, вставляет свой сертификат, зашифровывает обратно. При багах — MAC не совпадает.

Ошибка только в мобильном браузере — почему?

Мобильные сети часто имеют низкий MTU (1400–1460). Десктоп через WiFi — 1500. Разница → фрагментация на TLS-слое.

Запустить инструмент, который описан в этой статье

Бесплатный тариф — 10 мониторов, проверки каждые 5 мин, без карты. Платные тарифы — интервал от 1 минуты и проверки из нескольких регионов.