Настройка pfSense и ProxyInspector для совместной работы

Все статьи


Для осуществления контроля за использованием интернет с помощью ProxyInspector через сервер pfSense можно использовать прокси сервер Squid. Кроме этого использование Squid дает следующие преимущества:
  • Кеширование и ускорение загрузки страниц
  • HTTPS инспекция (дешифровка HTTPS запросов)

Данная статья описывает установку и настройку пакета Squid для работы с ProxyInspector.

Создание корневого сертификата

В контрольной панели необходимо перейти в раздел System | Cert. Manager | CAs, нажать кнопку Add, и создать новый корневой сертификат. Данный сертификат необходимо установить на компьютерах пользователей в раздел Доверенные корневые центры сертификации, скачать его можно нажав на кнопку Export CA:

Установка пакета Squid в pfSense

Необходимо перейти в раздел System | Package Manager | Available Packages, ввести в поле Search term: squid, и установить пакет squid:

Настройка параметров пакета Squid в pfSense

Необходимо перейти в раздел Services | Squid Proxy Server и включить следующие опции:

  • В разделе Squid General Settings - Enable Squid Proxy;
  • В разделе Transparent Proxy Settings - Transparent HTTP Proxy;
  • В разделе SSL Man In the Middle Filtering - HTTPS/SSL Interception, выбрать созданный корневой сертификат (параметр CA);
  • В разделе Logging Settings - Enable Access Logging.

Доступ к лог файлам Squid/pfSense через SSH

В разделе System | Advanced | Secure Shell нужно включить опцию Secure Shell Server. Теперь можно скачивать лог файлы по протоколу SCP. По умолчанию лог файлы Squid расположены в каталоге /var/squid/logs/, для входа по SSH/SCP мы используем пароль пользователя Admin однако в качестве имени пользователя нужно указывать root а не Admin.

Для доступа по SCP можно использовать любую программу для работы с этим протоколом, для Windows это могут быть WinSCP, PSCP из пакета PuTTY, SCP из пакета CygWin итд. Командная строка для SCP.EXE из CygWin: 

SCP.exe root@192.168.0.1:/var/squid/logs/*.log*

командная строка для PSCP.exe:
PSCP.exe [-pw password] root@192.168.0.1:/var/squid/logs/*.log*

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

По умолчанию в пакете Squid для pfSense лог файлы создаются в формате squid. Данный формат можно использовать(в ProxyInspector в свойствах сервера выбрать формат - squid), однако он имеет существенный недостаток - отсутствует информация о параметрах HTTP-запроса и HTTP-реферер. Это не позволяет в полной мере использовать возможности ProxyInspector(отчеты по поисковым фразам и просмотренным видео, технология CrystalWeb), к счастью данный формат можно сменить.

Использование пользовательского формата лог файлов в пакете Squid в pfSense

В разделе контрольной панели Services | Squid Proxy Server нужно выключить опцию Logging Settings - Enable Access Logging, далее внизу страниц нажать кнопку Show Advanced Options и добавить туда следующие строки:

logformat squidmimemod %ts.%03tu %6tr %>a %Ss/%03>Hs %<st %rm %ru %un %Sh/%<A %mt %rp %>st "%{Referer}>h"
access_log /var/squid/logs/access.log squidmimemod
logfile_rotate 90



В ProxyInspector необходимо создать сервер Sqiud, ввести путь к скачанным лог файлам, далее нажать кнопку Разобрать logformat и в появившемся окне ввести:
 logformat squidmimemod %ts.%03tu %6tr %>a %Ss/%03>Hs %<st %rm %ru %un %Sh/%<A %mt %rp %>st "%{Referer}>h"

Далее можно сохранить настройки сервера и импортировать лог файлы.

Теги: pfSense, Squid, лог файл, ProxyInspector