В июле 2026 года вышла новая версия популярного прокси-сервера Squid 7.5, которая привлекла внимание системных администраторов и DevOps-инженеров. В статье на Habr (см. Источник) авторы делятся подробным руководством по настройке этого релиза, включая интеграцию с Kerberos и LDAP для аутентификации, включение SSL-инспекции (ssl-bump), ведение логов в формате JSON, управление полосой пропускания через delay pools и оптимизацию кэширования. Материал основан на реальном опыте развёртывания в корпоративной сети и предназначен для тех, кто хочет получить максимальную отдачу от Squid в современных условиях.
Squid остаётся одним из самых гибких и производительных прокси-серверов с открытым исходным кодом. Версия 7.5, выпущенная в начале 2026 года, включает ряд исправлений и улучшений, но главное — она сохраняет обратную совместимость с предыдущими конфигурациями, что упрощает миграцию. В этой статье мы разберём ключевые шаги настройки, которые позволят вам внедрить Squid в корпоративную среду с минимальными рисками.
Аутентификация через Kerberos и LDAP
Одной из самых востребованных функций для крупных организаций является единая аутентификация. Squid 7.5 поддерживает два основных механизма: Kerberos (для Windows-сред с Active Directory) и LDAP (для Linux-инфраструктур). Авторы статьи на Habr рекомендуют использовать комбинацию обоих методов для повышения безопасности.
Настройка Kerberos:
Для интеграции с Active Directory потребуется создать служебную учётную запись в AD и настроить файл /etc/squid/squid.conf. Пример конфигурации:
auth_param negotiate program /usr/lib/squid/negotiate_kerberos_auth -d -s HTTP/proxy.example.com
acl kerberos_users proxy_auth REQUIRED
http_access allow kerberos_users
Здесь -d включает отладку (рекомендуется на этапе тестирования), а -s указывает SPN (Service Principal Name). Важно, чтобы SPN был зарегистрирован в AD и соответствовал DNS-имени прокси-сервера. По данным официальной документации Squid, эта связка работает корректно с Windows Server 2019 и выше.
Настройка LDAP:
Если в организации используются Linux-клиенты, альтернативой выступает LDAP-аутентификация. В статье приводится такой блок:
auth_param basic program /usr/lib/squid/basic_ldap_auth -R -b "dc=example,dc=com" -D "cn=admin,dc=example,dc=com" -w secret -f "uid=%s" ldap://ldap.example.com
auth_param basic children 5
auth_param basic realm Squid Proxy
acl ldap_users proxy_auth REQUIRED
http_access allow ldap_users
Ключевой параметр -R отключает рекурсивный поиск, что ускоряет проверку. Число children задаёт количество параллельных процессов аутентификации — для сред с высокой нагрузкой рекомендуется увеличить это значение до 10–15.
Практический совет: Авторы отмечают, что для гибридных сред (Windows + Linux) лучше настроить оба метода и использовать ACL с приоритетом: сначала проверять Kerberos, затем LDAP. Это снижает задержки для пользователей Windows.
SSL-инспекция (ssl-bump)
SSL-инспекция — это функция, позволяющая расшифровывать HTTPS-трафик для его анализа и фильтрации. В Squid 7.5 она реализована через механизм ssl-bump, который работает на уровне перехвата SSL-соединений.
Шаги настройки:
-
Генерация корневого сертификата:
openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 -keyout ca.key -out ca.crt
Этот сертификат нужно установить на всех клиентских устройствах как доверенный корневой центр сертификации. -
Настройка Squid:
В файл конфигурации добавляются следующие строки:
http_port 3128 ssl-bump cert=/etc/squid/ca.crt key=/etc/squid/ca.key generate-host-certificates=on dynamic_cert_mem_cache_size=4MB ssl_bump peek all ssl_bump bump all
Параметрpeekпозволяет сначала просмотреть SNI (Server Name Indication), аbump— расшифровать трафик. Для повышения производительности авторы рекомендуют использоватьdynamic_cert_mem_cache_sizeне менее 4 МБ. -
Фильтрация по доменам:
Чтобы не расшифровывать трафик к банковским или медицинским сайтам (по требованиям законодательства), можно добавить ACL:
acl bank_domains dstdomain .bank.ru .sberbank.ru ssl_bump bypass bank_domains
Важно: SSL-инспекция требует значительных вычислительных ресурсов. В статье приводится пример, что на сервере с 4 ядрами и 8 ГБ ОЗУ при 500 параллельных соединениях загрузка CPU достигает 60%. Для масштабирования рекомендуется использовать аппаратное ускорение (например, Intel QAT).
Логи в формате JSON
Традиционные логи Squid в текстовом формате сложно парсить и анализировать. В версии 7.5 появилась встроенная поддержка JSON-логов, что упрощает интеграцию с системами мониторинга (ELK, Splunk, Grafana).
Настройка:
В squid.conf добавляется:
logformat json %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt
access_log /var/log/squid/access.json json
Формат json автоматически генерирует записи в виде:
{"timestamp": 1721234567.890, "duration": 0.123, "client_ip": "192.168.1.10", "status": "TCP_HIT/200", ...}
Авторы статьи подчёркивают, что такой формат снижает нагрузку на парсинг на 30–40% по сравнению с текстовым, а также позволяет использовать стандартные JSON-парсеры (jq, Logstash).
Дополнительные поля:
Для детализации можно добавить пользовательские поля:
logformat custom_json {"timestamp": "%ts.%03tu", "user": "%un", "url": "%ru"}
access_log /var/log/squid/custom.json custom_json
Управление полосой пропускания (delay pools)
Delay pools — это механизм ограничения скорости для отдельных пользователей или групп. В Squid 7.5 он работает с классами 1, 2 и 3, где класс 1 — общий лимит, класс 2 — лимит на хост, класс 3 — комбинированный.
Пример настройки для офиса с 50 пользователями:
delay_pools 1
delay_class 1 3
delay_parameters 1 64000/64000 32000/32000 16000/16000
delay_access 1 allow all
Здесь:
- delay_class 3 — комбинированный класс (агрегированный лимит + на хост + на сеть)
- Первые числа (64000 байт/с) — общий лимит для всех пользователей
- Вторые (32000 байт/с) — лимит на IP-адрес
- Третьи (16000 байт/с) — лимит на сеть (например, /24)
Практический кейс из статьи: В компании с 200 сотрудниками настроили ограничение: 100 Мбит/с на весь офис, 10 Мбит/с на пользователя. Это позволило снизить нагрузку на канал на 40% и исключить случаи, когда один сотрудник скачивал большие файлы, замедляя работу остальных.
Оптимизация кэширования
Кэширование — основа производительности Squid. В версии 7.5 улучшена работа с памятью и диском, но настройка по-прежнему требует внимания.
Рекомендации из статьи:
| Параметр | Значение по умолчанию | Рекомендуемое значение | Пояснение |
|---|---|---|---|
cache_mem |
256 MB | 512 MB – 1 GB | Для серверов с 8+ ГБ ОЗУ |
maximum_object_size_in_memory |
512 KB | 1 MB | Увеличивает кэширование в RAM |
cache_dir |
ufs /var/spool/squid 100 16 256 | aufs /var/spool/squid 500 32 512 | Использовать aufs для лучшей производительности |
Авторы советуют использовать тип aufs вместо ufs, так как он поддерживает асинхронный ввод-вывод и снижает задержки на 15–20%. Для SSD-дисков можно увеличить размер кэша до 100 ГБ и количество каталогов до 64.
Пример настройки для высоконагруженного прокси:
cache_mem 1024 MB
maximum_object_size_in_memory 1 MB
cache_dir aufs /var/spool/squid 100000 64 256
cache_replacement_policy heap LFUDA
Политика heap LFUDA (Least Frequently Used with Dynamic Aging) лучше подходит для веб-трафика, так как учитывает частоту обращений и время последнего доступа.
Интеграция с системами мониторинга
Логи в JSON и SNMP-поддержка Squid 7.5 позволяют легко интегрировать прокси с популярными системами мониторинга. В статье упоминается настройка для Grafana через Prometheus exporter, но авторы не приводят деталей. На практике можно использовать готовые дашборды из сообщества.
Для компаний, которые хотят автоматизировать сбор и анализ данных о трафике, можно настроить отправку логов в Elasticsearch через Filebeat. Пример конфигурации Filebeat:
filebeat.inputs:
- type: log
paths:
- /var/log/squid/access.json
json.keys_under_root: true
json.add_error_key: true
Заключение
Squid 7.5 — зрелый и надёжный инструмент, который остаётся актуальным в 2026 году. Настройка аутентификации через Kerberos и LDAP, SSL-инспекция, логи в JSON и управление полосой пропускания позволяют построить корпоративный прокси-сервер, отвечающий современным требованиям безопасности и производительности. Главное — уделить внимание планированию ресурсов и тестированию в пилотной среде.
Авторы статьи на Habr подчёркивают, что ключевой фактор успеха — это не только правильная конфигурация, но и регулярное обновление Squid до последних стабильных версий. Версия 7.5 получила патчи безопасности в апреле 2026 года, поэтому рекомендуется следить за официальным репозиторием проекта.
Если вы только начинаете знакомство с Squid, начните с базовой настройки кэширования и аутентификации, а затем постепенно добавляйте ssl-bump и delay pools. Это позволит избежать ошибок и обеспечить стабильную работу инфраструктуры.
Комментарии