• Исправление ошибки assertion failed: http.cc:1533: «!Comm::MonitorsRead(serverConnection->fd)» на Squid 4

    У одного из читателей блога наблюдалась проблема в произвольной перезагрузке Squid при работе в режиме перехвата HTTPS трафика с использованием «bump all». В логах (/var/log/squid/cache) в момент перезагрузки Squid появляется запись assertion failed: http.cc:1533: «!Comm::MonitorsRead(serverConnection->fd)».

     

    Решается данная проблема путем применения не-официального патча (long-term fix for v4, take2 (unofficial)). В ниже описанном порядке действий, можно использовать материалы по сборке Squid c поддержкой HTTPS:

    БесполезноСлабоватоПриемлемоОтличноПревосходно (14 голос(ов), в среднем: 2,64 из 5)
    Загрузка...
  • Работа мессанджера Whatsapp через прокси-сервер Squid 4.9

    В работе имеется прокси-сервер Squid 4.9, работающий с HTTPS поддержкой. Столкнулся с проблемой в работе мессанджера Whatsapp (Web, Desktop версии) на конечных системах.

     

    Проблема заключается в том что web, desktop версии Whatsapp не соединяются со своими серверами и выдают сообщение что отсутствует подключение к сети интернет. В логах Squid (access.log) видны следующие события при попытке Whatsapp установить соединение:

    1582785108.113    154 10.10.15.9 TCP_MISS/400 231 GET https://web.whatsapp.com/ws - ORIGINAL_DST/31.13.72.52 -
    1582785108.278    161 10.10.15.9 TCP_REFRESH_MODIFIED/200 390 GET https://web.whatsapp.com/status.json - ORIGINAL_DST/31.13.72.52 text/json
    

     

    Видно что приложение пытается открыть WebSocket соединение, о чем свидетельствует /ws в строке запроса. Так же в браузере при просмотре кода можно увидеть что не удается выполнить WebSocket соединение (WebSocket connection to ‘wss://web.whatsapp.com/ws’ failed: Error during WebSocket handshake: Unexpected response code: 400)

    Читать далее…

    БесполезноСлабоватоПриемлемоОтличноПревосходно (1 голос(ов), в среднем: 4,00 из 5)
    Загрузка...
  • Перехват и просмотр HTTPS трафика на прокси-сервере Squid 4.9

    Рассмотрим как реализовать перехват пользовательских HTTPS-запросов в сеть интернет для дальнейшего анализа и учета их. Все ниже описанные действия производятся на Debian 9 Stretch с установленным прокси-сервером Squid 4.9.

     

    Для работы с HTTPS трафиком необходимо, чтобы Squid был собран с следующими параметрами:

    --enable-ssl-crtd --with-openssl
    ПОДСКАЗКА. Как собрать из исходников Squid 4.9 с необходимыми параметрами, можно посмотреть из этой статьи.

     

    Для просмотра HTTPS трафика, прокси-сервер Squid должен иметь свой собственный СА сертификат, который используется для подписывания динамически генерируемых сертификатов для серверов, к которым пользователи посылают запросы.

     

    Выполним генерацию CA сертификата и назначим права доступа для него, выполним команды:

    cd /usr/local/etc/squid/ssl
    openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 -keyout squidca.pem -out squidca.pem
    
    chown proxy:proxy squidca.pem 
    chmod 640 squidca.pem

     

    Конвертируем сертификат в формат для импорта на пользовательские системы:

    openssl x509 -outform der -in squidca.pem -out squidca.crt
    ПОДСКАЗКА. Как скачать сертификат из Linux системы в Windows, можно посмотреть из этой статье.
    Полученный сертификат необходимо установить в «Доверенные корневые сертификаты» на все пользовательские компьютеры, которые будут работать через прокси-сервер Squid. В доменной среде это проще всего сделать при помощи GPO (Group Policy objects).

    Читать далее…

    БесполезноСлабоватоПриемлемоОтличноПревосходно (Еще нет оценок)
    Загрузка...
  • Установка из исходников прокси-сервера Squid 4.6 на Debian 9 Stretch

    Рассмотрим как установить из исходников актуальную (на момент написания статьи) версию кеширующего прокси-сервера Squid 4.6 на Debian 9 Stretch.

    ИНФОРМАЦИЯ. Хочу сообщить что ниже описанное руководство, так же применимо к установке версии Squid 4.9.

     

    Подготовка системы

    Обновляем систему до актуального состояния:

    apt-get update && apt-get upgrade

    Устанавливаем необходимые пакеты для сборки и работы squid:

    apt-get install autoconf automake autopoint autotools-dev binutils build-essential cdbs comerr-dev cpp cpp-6 debhelper dh-autoreconf dh-strip-nondeterminism dpkg-dev g++ g++-6 gcc gcc-6 gettext icu-devtools intltool-debian krb5-multidev libarchive-zip-perl libasan3 libatomic1 libc-dev-bin libc6-dev libcap-dev libcc1-0 libcilkrts5 libcppunit-1.13-0v5 libcppunit-dev libcroco3 libdb-dev libdb5.3-dev libdpkg-perl libecap3 libecap3-dev libexpat1-dev libfile-stripnondeterminism-perl libgcc-6-dev libgmp-dev libgmpxx4ldbl libgnutls-dane0 libgnutls-openssl27 libssl-dev libgnutls28-dev libgnutlsxx28 libgomp1 libgssrpc4 libicu-dev libidn11-dev libisl15 libitm1 libkadm5clnt-mit11 libkadm5srv-mit11 libkdb5-8 libkrb5-dev libldap2-dev liblsan0 libltdl-dev libltdl7 libmpc3 libmpfr4 libmpx2 libnetfilter-conntrack-dev libnfnetlink-dev libp11-kit-dev libpam0g-dev libquadmath0 libsasl2-dev libsigsegv2 libstdc++-6-dev libtasn1-6-dev libtimedate-perl libtool libtsan0 libubsan0 libunbound2 libxml2-dev linux-libc-dev m4 make nettle-dev patch pkg-config po-debconf zlib1g-dev

     

    Установка прокси-сервера Squid

    Скачиваем исходник «squid», распаковываем его:

    cd /opt/
    wget http://www.squid-cache.org/Versions/v4/squid-4.6.tar.gz
    tar -zxvf squid-4.6.tar.gz 
    cd squid-4.6

    Читать далее…

    БесполезноСлабоватоПриемлемоОтличноПревосходно (1 голос(ов), в среднем: 5,00 из 5)
    Загрузка...
  • Настройка ротации логов Squid в Linux (Debian-like)

    Развернутый мною Squid по данной статье, успешно работает. Но столкнулся с такой ситуацией что сразу не понял почему логи Squid хранятся крайне мало и для детального анализа трафика проходящего в компании не достаточно.

     

    По умолчанию ротация логов в Squid выставлена всего на три дня, поэтому яразобрался как увеличить срок жизни логов и выставить ротацию логов в период одного месяца. В моем случае этого достаточно.

     

    Осуществлять ротацию логов мы будем с помощью системной службы logrotate, входящей в состав Debian-like систем.

    Ротация логов осуществляет периодическую замену старых логов новыми, помещая устаревшие данные в архив или просто удаляя их. В зависимости от настроек архив логов может храниться как в сжатом, так и в несжатом виде и иметь необходимую глубину.

     

    Основные настройки logrotate хранятся в /etc/logrotate.conf, настройки отдельных сервисов (в нашем случае Squid) хранятся в /etc/logrotate.d/squid, и эти настройки имеют приоритет над logrotate.conf. Сама служба вызывается раз в сутки через планировщик cron.

    Читать далее…

    БесполезноСлабоватоПриемлемоОтличноПревосходно (2 голос(ов), в среднем: 2,50 из 5)
    Загрузка...
© IT-блог Жаконды All Rights Reserved.
Яндекс.Метрика