Лайфхаки

Маленькие, полезные хитрости

Step-by-Step Guide: How to Set Up Squid Proxy for Private Connections on Ubuntu 20.04

27.02.2024 в 23:35

Step-by-Step Guide: How to Set Up Squid Proxy for Private Connections on Ubuntu 20.04


На этой странице

  1. Предпосылки
  2. Начало работы
  3. Установить прокси-сервер Squid
  4. Настройка аутентификации на основе IP
  5. Настройка аутентификации на основе пользователей
  6. Настройка комбинированной аутентификации
  7. Настройте Squid для анонимизации трафика
  8. Проверка прокси-сервера Squid
  9. Заключение

Squid — это полнофункциональное прокси-приложение на базе Linux, которое в основном используется для фильтрации трафика, безопасности и поиска DNS. Он также используется для повышения производительности веб-сервера за счет кэширования ресурсов. Проще говоря, сервер Squid — это компьютер, выступающий в качестве посредника между настольным компьютером и Интернетом, который перенаправляет входящие клиентские запросы на сервер, где данные хранятся для облегчения поиска. Он поддерживает несколько протоколов, включая HTTP, FTP, TLS, SSL, Internet Gopher и HTTPS.

В этом руководстве мы покажем вам, как установить и настроить прокси-сервер Squid на сервере Ubuntu 20.04.

Предпосылки

  • Сервер под управлением Ubuntu 20.04.
  • Пароль root настраивается на сервере.

Начиная

Перед запуском вам необходимо обновить системные пакеты до последней версии. Вы можете обновить их с помощью следующей команды:

apt-get update -y

После обновления всех пакетов перезагрузите систему, чтобы изменения вступили в силу.

Связанные вопросы и ответы:

1. Как установить и настроить прокси-сервер Squid для частных соединений на Ubuntu 20.04

Для установки Squid на Ubuntu 20.04 необходимо воспользоваться следующей командой: sudo apt install squid. После установки необходимо настроить конфигурационный файл /etc/squid/squid.conf в соответствии с требованиями вашей сети. После внесения изменений в конфигурационный файл необходимо перезапустить сервис командой: sudo systemctl restart squid. Теперь прокси-сервер Squid настроен для частных соединений на Ubuntu 20.04.

2. Какие порты нужно открыть для работы прокси-сервера Squid на Ubuntu 20.04

Для работы прокси-сервера Squid на Ubuntu 20.04 необходимо открыть порты 3128 и 3130 в файрволе. Эти порты используются для взаимодействия клиентов с прокси-сервером. Для открытия портов можно воспользоваться командой: sudo ufw allow 3128,3130. После открытия портов прокси-сервер Squid будет корректно функционировать на Ubuntu 20.04.

3. Как настроить аутентификацию пользователей на прокси-сервере Squid на Ubuntu 20.04

Для настройки аутентификации пользователей на прокси-сервере Squid на Ubuntu 20.04 необходимо отредактировать конфигурационный файл /etc/squid/squid.conf и добавить параметры для авторизации пользователей. Например, можно использовать базу данных пользователей и паролей или подключить сервер LDAP для проверки учетных данных. После настройки аутентификации пользователи будут запрашивать логин и пароль для доступа к прокси-серверу.

4. Как настроить доступ к прокси-серверу Squid только для определенных IP-адресов на Ubuntu 20.04

Для ограничения доступа к прокси-серверу Squid на Ubuntu 20.04 только для определенных IP-адресов необходимо отредактировать конфигурационный файл /etc/squid/squid.conf и добавить директиву acl для указания разрешенных адресов. Например, можно использовать следующую строку: acl allowed_ips src 192.168.1.0/24. После добавления данной строки и перезапуска службы только клиенты с IP-адресами из диапазона 192.168.1.0/24 смогут подключиться к прокси-серверу Squid.

5. Как настроить кэширование данных на прокси-сервере Squid на Ubuntu 20.04

Для настройки кэширования данных на прокси-сервере Squid на Ubuntu 20.04 необходимо отредактировать конфигурационный файл /etc/squid/squid.conf и настроить параметры кэширования. Например, можно указать размер кэша, время жизни объектов в кэше и другие параметры. После внесения изменений и перезапуска сервиса Squid данные будут кэшироваться на сервере, что позволит улучшить скорость доступа к ресурсам и снизить нагрузку на сеть.

6. Как настроить прозрачный прокси на сервере Squid на Ubuntu 20.04

Для настройки прозрачного прокси на сервере Squid на Ubuntu 20.04 необходимо отредактировать конфигурационный файл /etc/squid/squid.conf и добавить соответствующие параметры для проксирования трафика без необходимости настройки прокси в клиентских приложениях. Например, можно использовать директиву http_port с параметром transparent для установки прозрачного режима прокси. После настройки прозрачного прокси клиенты сети будут автоматически отправлять запросы через прокси-сервер Squid.

7. Как настроить логирование доступа к прокси-серверу Squid на Ubuntu 20.04

Для настройки логирования доступа к прокси-серверу Squid на Ubuntu 20.04 необходимо отредактировать конфигурационный файл /etc/squid/squid.conf и добавить соответствующие параметры для записи журналов работы прокси. Например, можно использовать директивы access_log и cache_log для записи информации о доступе к прокси и работе кэша. После настройки логирования можно анализировать журналы для отслеживания активности пользователей и проблем в работе прокси-сервера.

8. Как настроить SSL прокси на сервере Squid на Ubuntu 20.04

Для настройки SSL прокси на сервере Squid на Ubuntu 20.04 необходимо сгенерировать SSL сертификат и настроить параметры прокси-сервера для работы с HTTPS-трафиком. Для этого следует отредактировать конфигурационный файл /etc/squid/squid.conf и добавить соответствующие директивы для приема и обработки зашифрованных соединений. После настройки SSL прокси пользователи смогут безопасно обмениваться данными с защитой трафика на уровне прокси-сервера.

Как установить и настроить Squid proxy на Ubuntu 20.04

Давайте попробуем вместе с ноля создать и настроить собственный прокси-сервер на базе дистрибутивов Ubuntu / Debian с помощью Squid .

Устанавливаем пакеты программного обеспечения

Прежде всего, обновляем репозиторий нашей операционной системы. Для этого выполняем командуapt update:

Важно : здесь и далее управление пакетами с помощью утилиты apt ( Advanced Packaging Tool ) выполняется с правами суперпользователя ( root ) — через командуsudo.

Теперь обновляем пакеты — для этого вводим в командную строку командуapt dist-upgrade:

Как установить и настроить Squid proxy на Ubunt.  Пошаговое руководство по установке и настройке прокси-сервер Squid

Поскольку в результате обновилось ядро Linux , нужно перегрузить систему . Воспользуемся командойshutdownс опцией now(немедленно):

Теперь устанавливаем прокси-сервер Squid . Для этого используем командуapt install, добавив в качестве аргументаsquid. Также установим apache2-utils для аутентификации пользователей по паролю:

Настраиваем прокси-сервер Squid

Теперь нам предстоит настроить работу нашего прокси-сервера . На всякий случай делаем резервную копию файла настроек Squid . Для этого сначала переходим в каталог /etc/squid/ с помощью командыcd:

После чего копируем файл squid.conf , изменив имя итогового файла наsquid.conf.defaultс помощью командыcp:

Файл настроек Squid будет находиться там же, но его исходный вариант не будет перезаписываться при работе с утилитой.

Как установить и настроить Squid proxy на Ubunt.  Пошаговое руководство по установке и настройке прокси-сервер Squid

Как создать пользовательские аутентификационные данные для Squid proxy


Был найден неиспользуемый стационарный компьютер с двух-ядерным Intel-ом, 1 Гб ОЗУ и жестким на 80 Gb.Для решения будет сделано следующее:
  1. Установлена Linux Ubuntu Server 18.04 LTS
  2. На сервер установлен и настроен прозрачный Proxy Squid, собранный из исходных кодов с поддержкой HTTPS.
  3. Интеграция сервера в подсеть, путем перенаправления запросов на Proxy или альтернативным вариантом (в самом конце)
Начнем.

3.1. Установка и настройка Ubuntu 18.04

Процесс установки прост. Качаем дистрибутив Ubuntu Server 18.04 с официального сайта. Рекомендую качать со старым установщиком, так как новый, лично у меня, ушел в бесконечную загрузку во время установки. Записываем образ на флешку/диск любым удобным способом. Для записи на флешку рекомендую использовать Rufus и в начале записи выбрать «Запись DD-образа». Далее, следуя информации на экране, устанавливаем систему. Остановимся только на выборе компонентов, где можно выбрать сразу OpenSSH и всё. Нам много не нужно, а что нужно, установим сами.Итак, Ubuntu установлена. Сеть, если у вас DHCP, уже настроена. Войдем в режим суперпользователя, чтобы каждый раз не добавлять sudo к командам.

sudo -s

Введем свой пароль и обновим систему.

apt-get update apt-get upgrade

Установим текстовый редактор и файловый менеджер.

apt-get install nano mc

Чтобы сохранить файл в nano , необходимо нажать Ctrl+O и следом Y . Выход из редактора осуществляется нажатием Ctrl+X . Можно сохранить файл сразу перед выходом, нажав Ctrl+X и следом Y .Чтобы открыть файловый менеджер, введите mc . Откроется типичный DOS-овский NortonCommander или в Windows TotalCommander/FAR с двумя панелями. Хотя я привык работать с консолью, файловый менеджер тоже иногда помогает, например, найти нужный файл быстрее.Если же у вас не DHCP или вы хотите отдельный IP-адрес для своего сервера, как этого захотел я, то перейдем к настройке.

Настройка статического IP-адреса

Как создать пользовательские аутентификационные данные для Squid proxy

Сquid - это мощный proxy-сервер, который позволяет масштабировать доступ к ресурсам, а также обеспечивать безопасность и анонимность пользователей. В этом руководстве мы рассмотрим, как создать пользовательские аутентификационные данные для Squid proxy.

Шаг 1: Создание пользователя

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

htpasswd -b -c /path/to/passwordfile username

Замените /path/to/passwordfile на реальный путь к файлу, где будет храниться пароль. Введите пароль, когда будет запросано.

Шаг 2: Настройка Squid

Откройте файл конфигурации Squid (/etc/squid/squid.conf) и добавьте следующую строку:

auth_param basic realm="My Realm"

Замените My Realm на имя вашего реалма.

Шаг 3: Настройка аутентификации

Добавьте следующую строку в файл конфигурации Squid:

auth_param basic

Это настроит Squid для использования базовой аутентификации.

Шаг 4: Настройка IP-адреса

Для настройки статического IP-адреса добавьте следующую строку в файл конфигурации Squid:

httpd_accel_host

Замените на IP-адрес, который вы хотите использовать для доступа к ресурсам.

Шаг 5: Перезапуск Squid

Перезапустите Squid, чтобы изменения вступили в силу:

sudo service squid restart

Теперь вы можете использовать созданный пользовательский аккаунт для аутентификации в Squid.

Настройка статического IP-адреса

Для настройки статического IP-адреса в Squid, добавьте следующую строку в файл конфигурации:

httpd_accel_host httpd_accel_port 80

Замените на IP-адрес, который вы хотите использовать для доступа к ресурсам.

Также, вам может потребоваться настройка firewall для разрешения доступа к ресурсам с использованием статического IP-адреса.

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

В отличии от предыдущих версий Ubuntu, в новой 18.04 сеть настраивается уже не в привычном всем нам /etc/network/interfaces , а через netplan в файле /etc/netplan/*.yaml . Файл может называться по разному, но он там один. Сам же /etc/network/interfaces пишет нам следующее:
Также, если вы захотите обновиться с версии старше до 18.04, настройки сети останутся там, где и были. Netplan актуален только для чистой установки 18.04.
Приступим, все-таки, к настройке сети.
Для начала посмотрим название сетевого интерфейса, присвоенное ОС, и запомним его.

ifconfig

Теперь откроем файл с настройками.

nano /etc/netplan/*.yaml

В нем уже должна быть настройка DHCP. Приведем файл к следующему виду.

# This file describes the network interfaces available on your system # For more information, see netplan(5). network: version: 2 renderer: networkd ethernets: название сетевого интерфейса: dhcp4: no dhcp6: no addresses: gateway4: шлюз nameservers: addresses:

Вписываем свои интерфейс, адрес и шлюз. DNS рекомендую оставить эти — Яндекс.DNS Детский будет как дополнительная защита. Такой же DNS настроен у меня в роутере. В любом случае, необходимо указывать тот DNS, который раздает роутер.
Здесь необходимо обратить внимание на пробелы (именно пробелы, а не табуляция). Каждый, своего рода, пункт отделяется от предыдущего пробелом. К примеру, если после nameservers строку addresses не отделить пробелом, а выровнять со строкой выше, то, при попытке применения настроек, netplan выдаст ошибку.
Применим настройки.

netplan apply

Перезагрузим сервер, на всякий случай.

Как настроить прозрачный прокси-сервер Squid на Ubuntu 20.04

В этой статье мы разобрали как развернуть прокси-сервер Squid 3.5.19 на Ubuntu 14.04 Trusty Tahr  . В этой статье мы разберем как развернуть анализатор логов прокси-сервера Squid и просмотр сформированных с помощью Sarg логов в удобном для нас виде через Web браузер .

Разворачивать я буду Sarg на той же машине где и стоит Squid , ОС используемая Ubuntu 14.04 Trusty Tahr . Устанавливать Sarg будем из репозитариев Ubuntu. На момент написания статьи в репозитария доступна 2.3.6 версия Sarg .

Первым делом обновляем систему до актуального состояния

sudo apt-get update && sudo apt-get upgrade

Устанавливаем Sarg

sudo apt-get install sarg

После установки выполним конфигурацию Sarg . Выполним резервное копирование файла конфигурации.

sudo cp /etc/sarg/sarg.conf /etc/sarg/sarg.conf.backup

Я делаю конфигурацию на чистом файле, мне так удобней. Но на всякий случай у нас есть бекап оригинального файла конфигурации. Удаляю оригинальный файл конфигурации.

sudo rm /etc/sarg/sarg.conf

И создаю пустой файл конфигурации

sudo nano /etc/sarg/sarg.conf

Вот мой итоговый конфиг Sarg

# Заголовок title "Squid - Анализ использования интернета" # Кодировка отчета charset UTF-8 # Путь к логам SQUID’а. access_log /var/log/squid/access.log # Путь хранения временных файлов temporary_dir /tmp # Путь размещения отчётов output_dir /var/www/sarg # Путь к исключаемым из отчета пользователей exclude_users /etc/sarg/exclude_users # Путь к исключаемым из отчета хостов exclude_hosts /etc/sarg/exclude_hosts # Путь к исключаемым HTTP-кодам exclude_codes /etc/sarg/exclude_codes # Путь к подключаемому CSS-файлу external_css_file /sarg/default.css # Перезаписываем отчёты overwrite_report yes # Очищаем временную папку remove_temp_files yes # Формат даты в отчете: e (European=dd/mm/yy), u (American=mm/dd/yy), w (Weekly=yy.ww) date_format e # Преображать IP адреса в DNS имена resolve_ip yes # Использование IP адреса вместо идентификаторов пользователей user_ip yes # Параметры сортировки (A - По порядку, D - В обратном порядке) index_sort_order D # Если нет USERID в access.log (ignore — игнор, ip — записать ip, everybody — вместо userid "everybody") records_without_userid ip # Сортировка ТОП-пользователей (USER CONNECT BYTES TIME) topuser_sort_field CONNECT reverse # Сортировка пользовательского отчета (USER CONNECT BYTES TIME) user_sort_field CONNECT reverse # Кол-во сайтов в ТОП topsites_num 50 # Параметры сортировки (CONNECT / BYTES)(A - По порядку, D - В обратном порядке) topsites_sort_order CONNECT D # ТОП пользователей topuser_num 0 # Список формируемых отчетов report_type topusers topsites sites_users users_sites date_time denied auth_failures site_user_time_date downloads # Отображаем только название домена long_url no # Неограниченное количество отчетов lastlog 0 # Создаем индексную странцу при создании отчета index yes # Тип генерируемого индекса index_tree file # Запятую вместо десятичной точки use_comma yes # При формировании и сортировке ориентир на полученные байты date_time_by bytes # Детальная статистика по завершении создания отчета show_read_statistics yes # Параметры выводимых в отчёте сравнительной активности пользователей topuser_fields NUM DATE_TIME USERID CONNECT BYTES %BYTES IN-CACHE-OUT USED_TIME MILISEC %TIME TOTAL AVERAGE # Параметры выводимых в отчёте индивидуальной активности user_report_fields CONNECT BYTES %BYTES IN-CACHE-OUT USED_TIME MILISEC %TIME TOTAL AVERAGE # Расширения скачиваемых файлов download_suffix "zip,arj,bzip,gz,ace,doc,iso,adt,bin,cab,com,dot,drv$,lha,lzh,mdb,mso,ppt,rtf,src,shs,sys,exe,dll,mp3,avi,mpg,mpeg"

Теперь создадим файлы зависимости которые мы указывали в нашем конфигурационном файле.

touch /etc/sarg/exclude_codes touch /etc/sarg/exclude_hosts touch /etc/sarg/exclude_users

exclude_codes — вносим коды из файла логов Squid, которые игнорировать при формировании отчета.

exclude_hosts — вносим IP адреса тех людей которых не хотим отображать в отчете

exclude_users — вносим пользователей который не хотим отображать в отчете

С установкой Sarg и его настройкой разобрались. Теперь нужно настроить apache чтобы удобно просматривать сформированные отчеты через Web браузер . Если при установке Ubuntu 14.04 вы не указывали устанавливать LAMP сервер , то его нужно установить.

Подсказка: Для установки LAMP  выполним команду:

sudo tasksel install lamp-server

При установке будет запрошен пароль для создания администратора БД MySQL .

Первым делом в конфиге apache пропишем имя сервера, дабы он не ругался на его отсутствие.

Как настроить доступ к Squid proxy только для определенных IP-адресов

Добрый день!
Прошу помочь в оптимизации squid для ускорения доступа к интернету.
Имеется канал доступа к сети интернет со средними пропускными характеристиками и, примерно, 300 пользователей.
Сервер, на котором располагается прокси имеет 8Gb ОЗУ, RAID-5, гигабитные сетевые адаптеры. Использовать его планирую только для раздачи инета.
Версия squid - 3.4.8
Небольшой дисковый кэш мне нужен (гигов примерно на 20)
Вот такой конфиг у меня получился:
(привожу только важные настройки), регулярок у меня пока нет, только стандартные, пока важно добиться максимальной производительности
# Настройки использования памяти
memory_pools on
memory_pools_limit 0
# Настройки кэша в ОЗУ
cache_mem 6024 MB
maximum_object_size_in_memory 512 KB
memory_replacement_policy lru
# Настройки дискового кэша
cache_replacement_policy heap LFUDA
cache_dir ufs /var/cache/squid 20000 48 256
minimum_object_size 0.5 KB
# Автоматическая докачка небольших файлов
range_offset_limit 1024 KB
# Кэширование IP-адресов
ipcache_size 8192
# Настройка логов
cache_store_log none
client_db off
# Закрывать наполовину закрытые соединения
half_closed_clients off
# Жесткое кэширование для некоторых статичных типов файлов
refresh_pattern -i \.bz2$ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.exe$ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.gz$ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.ico$ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.jpg$ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.mid$ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.mp3$ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.mp4$ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.pdf$ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.swf$ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.svg$ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.tar$ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.tgz$ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.zip$ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.rar$ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache
refresh_pattern -i \.msi$ 43200 100% 43200 override-lastmod override-expire ignore-reload ignore-no-cache
# Основные параметры кэширования
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
Не привожу остальные настройки, например, настройки пулов, так как это пока не важно
Вот какой я наметил план для себя:
1) максимальное использование ОЗУ
2) кэш на диске для хранения более крупных файлов - инсталяшки, картинки и.т.д
3) в ОЗУ хранить мелкие и часто встречающиеся файлы
Первая засада:
первоначально использовал параметр
minimum_object_size 1024 KB - с таким расчетом, что к дисковый кэш будут попадать только файлы больше или равно этого размера.
В результате в логах только TCP_MISS - объекты не найдены в кэше. Убрал.
Вторая:
сейчас вероятность попадания в кэш достаточно низкая 1-2% от дневного трафика
Третья:
не все файлы, даже удовлетворяющие условиям, попадают в кэш. Например пробую скачать отсюда файл pdf (5 Мб) www.niva-club.net/downloads.php?view=detail&df_id=19. Он не кэшируется ни в какую.
Четвертая:
отдача интернета идет как-то не так, некоторые страницы долго не докачиваются до конца, браузер может 3-5 сек не открывать страницу и.т.д
В общем, чуствую, что где то я сильно не прав в настройках. Может кто чего подскажет.

Как настроить журналирование с использованием Squid proxy на Ubuntu 20.04

Добавление исключений для SSL Bumping может потребоваться в следующих случаях:

  • Программное обеспечение использует протокол, отличный от HTTPS (например, SSH, RDP, VPN)
  • Программное обеспечение или веб-ресурс использует протокол WebSockets или HTTP/2.0
  • Для доступа к веб-ресурс используются национальные алгоритмы шифрования (GOST, SM2)
  • Программное обеспечение использует привязку серверного сертификата (pinning)
  • Программное обеспечение или веб-ресурс требует аутентификацию по клиентскому SSL-сертификату

Настройка Squid для исключения выбранных ресурсов

Создание и редактирование списка ресурсов, где не будет использоваться подмена сертификатов (SSL Bump). 

Создадим несколько файлов

  • whitelist.list – список ресурсов, где не будет использоваться подмена сертификатов (SSL Bump), например банковские платежные системы, мессенджеры и прочее
  • blacklist.list – cписок ресурсов, которые заблокированы
  • devnet.list – перечень локальных IP адресов и локальных имен, где подмена сертификата может негативно сказывается, например интерфейс управления СХД, FC-коммутаторами и подобным оборудованием

Для добавления в исключения домена со всеми поддоменами, укажите точку в начале значения например: .domain.com

touch /etc/squid/rules/whitelist.list
nano /etc/squid/rules/whitelist.list

Эти строки должны располагаться перед финальной директивой ssl_bump stare all

acl whitelist dstdomain "/etc/squid/rules/whitelist.list"
ssl_bump splice whitelist

Для доменных имен вместо dstdomain можно использовать blacklist ssl::server_name

acl whitelist dstdomain "/etc/squid/rules/whitelist.list"
acl blacklist ssl::server_name "/etc/squid/rules/blacklist.list"
acl devnet dstdomain "/etc/squid/rules/devnet.list"

Пересылать все запросы на указанные ресурсы не используя кэш прокси сервера

К таким ресурсам будут относится 2 списка whitelist  и devnet

Добавим соответствующее правило

# no cache
always_direct allow whitelist devnet

Добавим соответствующие действия SSL Bumping

Ничего не делаем с запросами к ресурсам, перечисленным в списке whitelist (у нас уже должно быть описано acl whitelist  dstdomain ). Это можно делать как по соображениям безопасности, так и в случае возникновения проблем при использовании ssl-bump с конкретными сайтами.


#

Как использовать ACL (Access Control Lists) для управления доступом через Squid proxy

Перейдите в папку Squid, чтобы найти файл конфигурации squid.conf

cd /etc/squid ls (вы должны увидеть файл squid.conf)

Создайте резервную копию файла squid.conf

sudo cp squid.conf squid.conf.bak

В целях тестирования откройте Firefox и настройте его на отправку веб-запросов на прокси-сервер Squid (узнать свой IP-адрес можно при помощи команды ifconfig)

Откройте Firefox

Правка> Настройки, Дополнительно> Вкладка Сеть> Настройки соединения:

Ручная настройка прокси: HTTP-прокси: ваш IP-адрес или loopback адрес 127.0.0.1, порт: 3128

Теперь, если вы попытаетесь зайти на такой сайт, как Google, вы должны увидеть сообщение об ошибке — Отказ в доступе от Squid. Это означает, что Squid активно фильтрует трафик.

Далее нам нужно настроить Squid для разрешения веб-трафика через прокси-сервер. Откройте squid.conf в текстовом редакторе:

sudo nano squid.conf

Измените имя вашего прокси-сервера Squid (строка 3399).

TAG: visible_hostname

visible_hostname YourNameProxyServer

Вы можете настроить правила доступа для вашего прокси-сервера Squid (строки с 331 по 831 предназначены для контроля доступа). Обратите внимание, что в строках 606-630 определены локальные сети и используемые порты (службы). Строки активной конфигурации — это строки, которые не закомментированы, то есть они не начинаются со знака #.

Для повторного включения веб-доступа раскомментируйте строку 676

http_access allow localnet

Чтобы убедиться, что сеть теперь работает, сохраните изменения в файле squid.conf и перезапустите сервер Squid.

sudo service squid restart

Обновите ваш браузер Firefox, и ваша домашняя страница должна быть видна.