Рассмотрим как реализовать перехват пользовательских HTTPS-запросов в сеть интернет для дальнейшего анализа и учета их. Все ниже описанные действия производятся на Debian 9 Stretch с установленным прокси-сервером Squid 4.9.
Для работы с HTTPS трафиком необходимо, чтобы Squid был собран с следующими параметрами:
--enable-ssl-crtd --with-openssl
[stextbox id=’warning’]ПОДСКАЗКА. Как собрать из исходников Squid 4.9 с необходимыми параметрами, можно посмотреть из этой статьи.[/stextbox]
Для просмотра 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
[stextbox id=’warning’]ПОДСКАЗКА. Как скачать сертификат из Linux системы в Windows, можно посмотреть из этой статье.[/stextbox]
[stextbox id=’info’]Полученный сертификат необходимо установить в «Доверенные корневые сертификаты» на все пользовательские компьютеры, которые будут работать через прокси-сервер Squid. В доменной среде это проще всего сделать при помощи GPO (Group Policy objects).[/stextbox]