loremOS Admin

"Системное администрирование – это культура"

Squid + SSL Bump. Не работают приложения

Опубликовано 25th Jun 2018 08:11:13 в категории Linux

Здравствуй, дорогой друг! Если ты "поднял" у себя прокси-сервер Squid с функцией SSL Bump, ты конечно же сделал .der сертификат с сервера Squid для импорта в браузеры. Импортировал, всё работает. Но имеется проблема: приложения, где просто напросто нет функции импорта сертификатов, работать у тебя не будут. С этим столкнулся и я. А именно с тем, что Viber не хотел отправлять мультимедиа. Мы с коллегой довольно долго анализировали логи. Я предположил, что Viber использует pinning. В таком случае, нужно добавить pinning-домены в лист, который будет идти на стороне Squid в Splice, а не Bump. В результате долгого анализа мы так и не смогли найти все нужные домены (уж очень там хитрая схема), и никакого решения, кроме как пускать в Splice весь Amazon, не нашли. Но так как это вообще бредовый бред, мы искали решение дальше. Я запустил Wireshark, насобирал кучу логов. Что бросилось в глаза: при отправке мультимедиа, соединение обрывалось. Я зафиксировал это время. Нашел в логах Squid записи на этот момент времени, предварительно убедившись, что время у меня на ПК и на прокси синхронизировано секунда в секунду. Squid соединение разрешал, ничего не обрывал, но в Wireshark - обрыв, поэтому возникло предположение, что соединение рвет сам же Viber ;) Честно говоря, на работе очень устал, и как-то сразу не подумал о том, что такие приложения, как Viber или Curl просто понятия не имеют о том, что у нас там где-то импортирован какой-то самопальный сертификат. Конечно же, не имеет, ведь в системе его нигде нет! Он есть в хранилище Firefox/Google Chrome (кстати, виндовый Хром использует системное хранилище, а в Линукс у него есть своё). Решение напрашивалось само собой: импортировать сертификат в системное хранилище. Как? Я искал. Находил древние статьи и не очень, где люди писали всякую фигню, вплоть до того, что в Linux нет системного хранилища сертификатов (ну, ну)... Хранилище есть. Чтобы ВСЕ приложения стали нормально работать при SSL Bump, необходимо:

  1. Скопировать .der сертификат, который ты делал для импорта в браузеры, в каталог (нужны root права!)
    /etc/ca-certificates/trust-source/anchors/
  2. Выполнить команду (нужны root права!)
    update-ca-trust

Вуаля, можно пользоваться всеми приложениями в полном объеме. И кстати, судя по логам Squid, медиаконтент виден на стороне Squid при SSL Bump ;-)

Примечание:
вышенаписанные пути и команда справедливы для ArchLinux. Для Deb-подобных систем путь будет
/usr/local/share/ca-certificates

а команда
update-ca-certificates


Поделиться:


Теги