Список и удаление неофициально установленных сертификатов CA

Эта статья раскрывает, как около 18% HTTPS-соединений обнаруживаются как перехваченные прокси-серверами MITM. Как говорится в замечательной статье по теме :

Чтобы обойти эту проверку, локальное программное обеспечение вводит самозаверяющий сертификат CA в корневое хранилище браузера клиента во время установки.
[...]
Вопреки широко распространенному мнению, закрепление открытого ключа [19] - функция HTTPS. который позволяет веб-сайтам ограничивать соединения определенным ключом - не предотвращает этот перехват. Chrome, Firefox и Safari применяют закрепленные ключи только тогда, когда цепочка сертификатов завершается центром сертификации, поставляемым с браузером или операционной системой. Дополнительная проверка пропускается, когда цепочка завершается локально установленным корнем (т. Е. Сертификатом CA, установленным администратором) [34].

Довольно часто для компаний , настольных антивирусов и вредоносного / рекламного ПО добавляют корневой ЦС. Иногда даже по честным причинам. Но чтобы прояснить ситуацию : Просмотр веб-сайтов через SSL настолько же силен, как и самый слабый CA (включая DNS, если DNS-over-HTTPS ).


Я хочу проверить, перехватывается ли мой HTTPS-трафик, по крайней мере, в трех аспектах (лучше всего с помощью интерфейса командной строки):

Итак, настоящие вопросы таковы:

  • Как вывести список неофициально установленных сертификатов ЦС (не поставляется с Ubuntu / Firefox / Chrome), чтобы избежать атак MITM / перехвата HTTPS?
  • Как сбросить хранилища доверенных сертификатов к значениям по умолчанию ?

Некоторые исследования и связанные вопросы

  • checkmyhttps кажутся устаревшими и не заслуживающими доверия

  • Chrome : chrome: // settings / Certificates .
    Это подмножество того, что возвращают некоторые из этих команд?

     # Общесистемные (I)
    awk -v cmd = 'openssl x509 -noout -subject' '/ BEGIN / {close (cmd)}; {print | cmd} '
  • Firefox

     certutil -L -d ~ / .mozilla / firefox / *. По умолчанию * /
    
  • Я уже sudo update-ca-Certific -v -f .Это просто обновляет, не удаляя уже установленный сертификат?

Ссылка

1
задан 15 October 2019 в 12:35

1 ответ

dpkg -S somefile сообщит вам, к какому пакету принадлежит somefile. Вы можете использовать dpkg --verify pkgname или debsums, чтобы узнать, были ли они изменены.

Вы можете использовать их для проверки /etc/ca-certificates.conf и каталогов, на которые он ссылается — в основном, для проверки принадлежности файлов CA ca-certificates + dpkg-reconfigure -plow ca-certificates, чтобы выбрать один из них. Как вы могли догадаться, update-ca-certificates использует эти данные для воссоздания файлов хранилища глобального ЦС.

У меня нет простого ответа для магазинов приложений, таких как Chrome и Firefox. В основном вы должны начать с поиска глобальных каталогов конфигурации, если они есть (dpkg -L), а затем просмотреть каждый профиль пользователя, чтобы увидеть, были ли установлены пользовательские ЦС в этом профиле: просмотрите файлы, diff с новым, проверьте, является ли учетная запись корпоративной, ... StackOverflow или SuperUser могут помочь более непосредственно.

Обязательное примечание: установка пакетов от ненадежных третьих лиц может во многом испортить систему (на самом деле запуск любого ненадежного скрипта). Я думаю, что ваш вопрос по-прежнему справедлив, поскольку доброкачественное программное обеспечение иногда добавляет ЦС и не пытается скрыть этот факт. Однако, если вы подозреваете, что кто-то мог изменить вашу систему за вашей спиной, намного безопаснее переустановить ее.

0
ответ дан 5 May 2020 в 03:04

Другие вопросы по тегам:

Похожие вопросы: