Прокси-сервер

Прокси-сервер обеспечивает контролируемый доступ хостов локальной сети в сеть Интернет, а также защиту локальной сети от внешнего доступа.

Примечание

В случае установки блокировки всего входящего и/или исходящего трафика по протоколу IPv4 и/или IPv6 в МЭ, для корректной работы прокси-сервера необходимо добавить разрешающие правила, обеспечивающие обработку трафика через loopback:

Для IPv4-трафика:

# Для входящего трафика:
set firewall ipv4 input filter rule 5 action accept
set firewall ipv4 input filter rule 5 destination address 127.0.0.1
set firewall ipv4 input filter rule 5 description "Allow IPv4 loopback"

# Для исходящего трафика:
set firewall ipv4 output filter rule 5 action accept
set firewall ipv4 output filter rule 5 source address 127.0.0.1
set firewall ipv4 output filter rule 5 description "Allow IPv4 loopback"

Для IPv6-трафика:

# Для входящего трафика:
set firewall ipv6 input filter rule 5 action accept
set firewall ipv6 input filter rule 5 destination address ::1/128
set firewall ipv6 input filter rule 5 description "Allow IPv6 loopback"

# Для исходящего трафика:
set firewall ipv6 output filter rule 5 action accept
set firewall ipv6 output filter rule 5 source address ::1/128
set firewall ipv6 output filter rule 5 description "Allow IPv6 loopback"

Основные настройки прокси-сервера

  1. Для указания порта по умолчанию, на котором прокси-сервер будет прослушивать запросы, необходимо ввести следующую команду:

set service webproxy default-port <portnumber>

где <portnumber> – номер порта. Возможно указание значения в диапазоне от «1025» до «65535». По умолчанию используется порт «3128».

  1. Задать IPv4-адрес сетевого интерфейса, на котором прокси-сервер будет прослушивать запросы пользователей:

set service webproxy listen-address <x.x.x.x>

где <x.x.x.x> – IPv4-адрес. В целях обеспечения безопасности адрес прослушивания должен использоваться только в локальных/защищённых сетях.

  1. Указать порт, на котором прокси-сервер будет прослушивать запросы:

set service webproxy listen-address <x.x.x.x> port <portnumber>

где <portnumber> – номер порта. Возможно указание значения в диапазоне от «1025» до «65535». По умолчанию применяется значение, заданное параметром «default-port».

В режиме прозрачного прокси данная команда определяет порт прослушивания HTTP-трафика для указанного IPv4-адреса. В непрозрачном режиме указанный порт используется для прослушивания как HTTP-, так и HTTPS-трафика на соответствующем IPv4-адресе.

  1. Установить отличный от значения по умолчанию номер порта для указанного IPv4-адреса прокси, используемого для HTTPS трафика в прозрачном режиме работы прокси-сервер:

set service webproxy listen-address <x.x.x.x> https-port <portnumber>

где <portnumber> – номер TCP-порта, на котором прокси-сервер будет ожидать соединения. Возможно указание значения в диапазоне от «1025» до «65535». По умолчанию используется значение «3129».

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

  1. Отключить прозрачный режим работы прокси-сервер на прослушиваемом адресе:

set service webproxy listen-address <x.x.x.x> disable-transparent

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

  1. Запретить доступ к указанному домену:

set service webproxy domain-block <domain>

где <domain> – домен, доступ к которому нужно закрыть. Например, указание «facebook.com» в качестве аргумента закроет весь доступ к домену facebook.com и его поддоменам, а указание «.cn» закроет доступ ко всем сайтам доменной зоны Китая.

  1. Запретить доступ к веб-содержимому указанного типа:

set service webproxy reply-block-mime <тип_mime>

где <тип_mime> – тип mime, доступ к которому будет закрыт. Типы mime задаются в виде «тип/подтип». К примеру, тип mime видео в формате Quicktime выглядит как «video/quicktime», тип mime для файлов в формате PDF - как «application/pdf», а тип mime для файлов .wav - как «audio/wav».

Поддерживается блокирование следующих типов mime:

  • application/andrew-inset;

  • application/mac-binhex40;

  • application/mac-compactpro;

  • application/macbinary;

  • application/macwriteii;

  • application/msword;

  • application/octet-stream;

  • application/oda;

  • application/pdf;

  • application/pict;

  • application/postscript;

  • application/smil;

  • application/vnd.lotus-1-2-3;

  • application/vnd.mif;

  • application/vnd.ms-excel;

  • application/vnd.ms-powerpoint;

  • application/vnd.wap.wbxml;

  • application/vnd.wap.wmlc;

  • application/vnd.wap.wmlscript;

  • application/vnd.wap.wmlscriptc;

  • application/x-arj-compressed;

  • application/x-bcpio;

  • application/x-cdlink;

  • application/x-chess-pgn;

  • application/x-cpio;

  • application/x-csh;

  • application/x-deflate;

  • application/x-director;

  • application/x-dvi;

  • application/x-futuresplash;

  • application/x-gtar;

  • application/x-hdf;

  • application/x-javascript;

  • application/x-koan;

  • application/x-latex;

  • application/x-lha-compressed;

  • application/x-netcdf;

  • application/x-rpm;

  • application/x-sh;

  • application/x-shar;

  • application/x-shockwave-flash;

  • application/x-stuffit;

  • application/x-sv4cpio;

  • application/x-sv4crc;

  • application/x-tar;

  • application/x-tcl;

  • application/x-tex;

  • application/x-texinfo;

  • application/x-troff;

  • application/x-troff-man;

  • application/x-troff-me;

  • application/x-troff-ms;

  • application/x-ustar;

  • application/x-wais-source;

  • application/x-xpinstall;

  • application/xhtml;

  • application/zip;

  • audio/basic;

  • audio/midi;

  • audio/mpeg;

  • audio/x-aiff;

  • audio/x-pn-realaudio;

  • audio/x-realaudio;

  • audio/x-wav;

  • chemical/x-pdb;

  • chemical/x-xyz;

  • image/bmp;

  • image/gif;

  • image/ief;

  • image/jpeg;

  • image/png;

  • image/tiff;

  • image/vnd.djvu;

  • image/vnd.wap.wbmp;

  • image/x-cmu-raster;

  • image/x-portable-anymap;

  • image/x-portable-bitmap;

  • image/x-portable-graymap;

  • image/x-portable-pixmap;

  • image/x-rgb;

  • image/x-xbitmap;

  • image/x-xpixmap;

  • image/x-xwindowdump;

  • model/iges;

  • model/mesh;

  • model/vrml;

  • text/css;

  • text/html;

  • text/plain;

  • text/richtext;

  • text/rtf;

  • text/sgml;

  • text/tab-separated-values;

  • text/x-setext;

  • text/xml;

  • video/mpeg;

  • video/quicktime;

  • video/vnd.mpegurl;

  • video/x-msvideo;

  • video/x-sgi-movie;

  • www/mime;

  • x-conference/x-cooltalk.

  1. Включить аутентификации пользователей в прокси:

set service webproxy authentication enable
  1. Указать используемый метод аутентификации пользователей прокси:

set service webproxy authentication <method>

где <method> – метод аутентификации.

ARMA Стена поддерживает следующие методы аутентификации:

  • «kerberos» - аутентификация на основе протокола Kerberos;

  • «ldap» - аутентификация на основе протокола LDAP;

  • «ntlm» - аутентификация на основе протокола NTLM.

  1. Указать максимальное количество запускаемых процессов аутентификации:

set service webproxy authentication children <number>

где <number> – количество процессов аутентификации. По умолчанию используется значение «5».

  1. Указать временной интервал между запросами учётных данных пользователя:

set service webproxy authentication credentials-ttl <number>

где <number> – интервал, исчисляемый в минутах. По умолчанию используется значение «60».

  1. Указать текст, который должен быть сообщён клиенту в схеме аутентификации:

set service webproxy authentication realm "ARMA proxy auth"

где «ARMA proxy auth» – текст, который будет отображаться пользователю при запросе имени пользователя и пароля.

  1. Выключить кэширование данных, полученных с указанного домена в ответ на запросы пользователей:

set service webproxy domain-noncache <domain>

где <domain> – имя домена, данные с которого в кэш помещаться не будут. Если домен в команде не указан, то в кэш помещается всё содержимое, не противоречащее другим ограничениям.

  1. Указать доменное имя, которое будет присоединяться к каждому URL, доменная часть которого не содержит точек, перед его дальнейшей обработкой:

set service webproxy append-domain <domain>

где <domain> – имя домена, которое будет присоединяться к доменной части URL. Например, если в рассматриваемой команде указано доменное имя «infowatch.ru», а запрос пользователя обращается по URL «www/abc.html», то в результате присоединения в дальнейшую обработку пойдёт URL «www.infowatch.ru/abc.html».

  1. Указать размера кэша - хранилища для временного хранения содержимого:

set service webproxy cache-size <num>

где <num> – объём дискового пространства, указываемый в мегабайтах. Возможно указать значение в диапазоне от «0» до «4294967295». По умолчанию используется значение «0», т.е. кэширование не производится.

  1. Ограничение входящей скорости передачи данных для определённых IP-адресов:

    16.1 Команда создания списка контроля доступа:

    set service webproxy limit <name>
    

    где <name> - имя списка контроля доступа.

    16.2 Команда установки максимальной входящей скорости передачи данных для указанного списка контроля доступа:

    set service webproxy limit <name> speed <1-10000000>
    

    где <1-10000000> - значение максимальной скорости передачи данных в Кбит/сек.

    16.3 Команда добавления IP-адреса в указанный список контроля доступа:

    set service webproxy limit <name> ip-address <ip>
    

    где <ip> - IP-адрес в форматах <x.x.x.x>, <x.x.x.x/x> для IPv4 или <h:h:h:h:h:h:h:h> для IPv6.

    Примечание

    Если в качестве значения параметра <ip> указан IP-адрес в формате <x.x.x.x/24>, то ограничение скорости будет действовать только для одного хоста. Если задан адрес <x.x.x.0/24>, то ограничение будет использоваться для всех хостов подсети.

    Например, необходимо ограничить входящую скорость до 100 Мбит/сек для IP-адресов 10.0.0.1 и 10.0.0.2:

    set service webproxy limit limit_100mbit speed 102400
    set service webproxy limit limit_100mbit ip-address 10.0.0.1
    set service webproxy limit limit_100mbit ip-address 10.0.0.2
    commit
    save
    
  2. Включение режима симметричной многопроцессорной обработки (SMP) в прокси-сервере:

set service webproxy workers <n>

где <n> - количество рабочих процессов прокси-сервера. Возможно указать значение в диапазоне от «1» до «256». По умолчанию используется значение «1» - режим без SMP, запуск одного основного демона процесса Squid.

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

Кроме того, не рекомендуется выделять все ядра процессора исключительно под прокси-сервер, поскольку это может негативно сказаться на работе других системных служб и фоновых процессов, необходимых для стабильной и безопасной эксплуатации устройства.

Примечание

При использовании более одного рабочего процесса (workers > 1) функция кэширования должна быть отключена. Для этого необходимо выполнить следующую команду:

set service webproxy cache-size 0

Примечание

Настройки параметра workers вступают в силу после перезапуска службы прокси-сервера. Перезапуск службы выполняется автоматически при соханении настроек (выполнении команд commit и save) с измененным значением параметра workers. Вручную перезапустить сервис возможно с помощью следующей команды, используя УЗ admin:

admin@ngfwos:~$ sudo -i
root@ngfwos:~# systemctl restart squid
root@ngfwos:~# exit
admin@ngfwos:~$
  1. Отключить запись событий службы прокси-сервера.

set service webproxy disable-access-log

Команда отключает ведение журнала событий в глобальный журнал для службы прокси-сервера.

Примечание

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

delete service webproxy disable-access-log
  1. Для просмотра параметров конфигурации прокси-сервер необходимо в режиме конфигурации ввести следующую команду:

show service webproxy

Пример просмотра параметров конфигурации прокси-сервер:

admin@ngfwos# show service webproxy
 icap-client {
     enable
     remote-address 127.0.0.1
     remote-port 1344
     request {
         location reqmod
     }
     response {
         location respmod
     }
 }
 listen-address 192.168.38.1 {
     https-port 3129
     tls-bump {
         ca-certificate ARMA
         enable
     }
 }
[edit]
admin@ngfwos#

URL-фильтрация

Фильтрация веб-запросов в системе ARMA Стена осуществляется с использованием URL-фильтров. По умолчанию функция URL-фильтрации отключена, и все запросы пропускаются без ограничений.

Существуют два типа URL-фильтров:

  • Глобальные фильтры — применяются ко всему трафику, источник которого не принадлежит ни одной группе пользователей;

  • Правила фильтрации, привязанные к группам пользователей — применяются только к трафику от пользователей, включённых в соответствующую группу.

Порядок обработки запросов

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

  • Если принадлежность установлена, к трафику применяются только правила указанной группы в порядке возрастания их номеров (от «1» до «1024»). При первом совпадении с правилом выполняется предписанное действие, после чего дальнейшая обработка запроса прекращается. Глобальные фильтры при этом не учитываются, даже если ни одно из правил группы не было применено.

  • Если IP-адрес не принадлежит ни одной группе или в привязанной группе отсутствуют правила, применяются глобальные фильтры.

  • Если ни один фильтр (ни глобальный, ни в правилах групп) не сработал, применяется действие, указанное в параметре «default-action».

Порядок проверки глобальных фильтров определяется приоритетом: фильтр с более высоким приоритетом обрабатывается первым. Приоритеты фильтров (1 — наивысший):

  1. «local-ok» - разрешает доступ к указанному IP-адресу;

  2. «local-block» - запрещает доступ к указанному IP-адресу;

  3. «allow-ipaddr-url» - разрешает запросы, в URL которых вместо доменного имени сайта указан IP-адрес;

  4. «block-category» - запрещает доступ по адресам из указанной категории;

  5. «allow-category» - разрешает доступ по адресам из указанной категории;

  6. «local-block-keyword» - блокирует запросы к содержимому, URL которого содержит указанный набор символов;

  7. «local-block-url» - блокирует доступ к указанному URL;

  8. «local-ok-url» - разрешает доступ к указанному URL;

  9. «default-action» - задаёт действие, которое будет применяться ко всем запросам, не попавшим под имеющиеся фильтры.

Правила фильтрации могут включать дополнительные условия — например, привязку к временным интервалам или к источникам трафика. Фильтрация применяется только при выполнении всех условий, заданных в правиле.

Примечание

При создании правила фильтрации обязательно требуется его привязка к существующей группе пользователей. Правило, не привязанное ни к одной группе, приводит к нарушению корректной работы службы SquidGuard: в этом случае отключается вся URL-фильтрация — как глобальная, так и привязанная к группам, — и весь веб-трафик пропускается без ограничений.

Примечание

Поскольку SquidGuard работает на уровне HTTP-запросов (а не IP-пакетов), он не может автоматически сопоставлять IP-адреса с доменными именами в HTTPS-трафике. Следовательно, блокировка по IP-адресу не гарантирует запрета доступа к соответствующему веб-ресурсу через HTTPS. Для полноценной блокировки доступа необходимо также настроить запрет на URL-адрес ресурса.

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

Настройки глобальных URL-фильтров

  1. Разрешить доступ к ресурсам из указанной категории:

set service webproxy url-filtering squidguard allow-category <категория>

где <категория> – имя категории. Возможно указать следующие категории:

  • ads;

  • adult;

  • aggressive;

  • agressif;

  • arjel;

  • associations_religieuses;

  • astrology;

  • audio-video;

  • bank;

  • bitcoin;

  • blog;

  • celebrity;

  • chat;

  • child;

  • cleaning;

  • cooking;

  • cryptojacking;

  • dangerous_material;

  • dating;

  • ddos;

  • dialer;

  • doh;

  • download;

  • drogue;

  • drugs;

  • dynamic-dns;

  • educational_games;

  • examen_pix;

  • exceptions_liste_bu;

  • fakenews;

  • filehosting;

  • financial;

  • forums;

  • gambling;

  • games;

  • hacking;

  • jobsearch;

  • lingerie;

  • liste_blanche;

  • liste_bu;

  • local-block-default;

  • local-block-url-default;

  • mail;

  • malware;

  • manga;

  • marketingware;

  • mixed_adult;

  • mobile-phone;

  • phishing;

  • porn;

  • press;

  • proxy;

  • publicite;

  • radio;

  • reaffected;

  • redirector;

  • remote-control;

  • residential-proxies;

  • sect;

  • sexual_education;

  • shopping;

  • shortener;

  • social_networks;

  • special;

  • sports;

  • stalkerware;

  • strict_redirector;

  • strong_redirector;

  • translation;

  • tricheur;

  • tricheur_pix;

  • update;

  • violence;

  • vpn;

  • warez;

  • webhosting;

  • webmail.

  1. Запретить доступ к ресурсам из указанной категории:

set service webproxy url-filtering squidguard block-category <категория>
  1. Разрешить запросы, в URL которых указан IP-адрес, а не доменное имя:

set service webproxy url-filtering squidguard allow-ipaddr-url
  1. Задать действие, которое будет применяться ко всем запросам, не попавшим под имеющиеся фильтры:

set service webproxy url-filtering squidguard default-action <действие>

где <действие> – действие над запросами по умолчанию. Допустимые значения: «allow» - пропустить, «block» - блокировать. По умолчанию используется значение «allow».

  1. Включить режим безопасного поиска на популярных поисковых системах:

set service webproxy url-filtering squidguard enable-safe-search

В настоящее время поддерживаются следующие поисковые системы: Google, Yahoo и Bing. По умолчанию режим безопасного поиска выключен.

  1. Заблокировать доступ к указанному IPv4-адресу:

set service webproxy url-filtering squidguard local-block <x.x.x.x>

где <x.x.x.x> – IP-адрес, доступ к которому надо запретить.

  1. Заблокировать запросы, URL которых содержит указанный в качестве ключа набор символов:

set service webproxy url-filtering squidguard local-block-keyword <ключ>

где <ключ> – простая строка символов или регулярное выражение, совпадение которых с чем-либо в URL вызовет блокировку содержащего URL-запроса.

  1. Заблокировать доступ к указанному URL:

set service webproxy url-filtering squidguard local-block-url <адрес>

где <адрес> – URL, доступ к которому требуется закрыть. Вводить значение необходимо без «http://».

  1. Разрешить доступ к указанному IP-адресу:

set service webproxy url-filtering squidguard local-ok <x.x.x.x>

где <x.x.x.x> – IP-адрес, доступ к которому необходимо разрешить.

  1. Разрешить доступ к указанному URL:

set service webproxy url-filtering squidguard local-ok-url <адрес>

где <адрес> – URL, доступ к которому требуется разрешить. Вводить значение необходимо без «http://».

  1. Включить журналирование URL-запросов:

set service webproxy url-filtering squidguard log [all | <категория>]

где:

  • «all» - включить журналирование всех URL-запросов;

  • <категория> – только запросы, относящиеся к указанной категории.

  1. Указать URL, возвращаемый при попытке доступа к заблокированному ресурсу:

set service webproxy url-filtering squidguard redirect-url <адрес>

где <адрес> - URL, который будет возвращён в ответ на запросы по URL из «чёрного» списка. По умолчанию используется значение «block.ngfwos.net».

Примечание

При значении default-action block указанный <адрес> должен быть внесён в список исключений (например, через local-ok-url), иначе пользователь не получит страницу перенаправления.

  1. Определить временной периода, в течение которого будет действовать URL-фильтрация:

set service webproxy url-filtering squidguard time-period <имя_периода>

где <имя_периода> - имя временного периода.

13.1. Указать дни и временные интервалы действия периода:

set service webproxy url-filtering squidguard time-period <имя_периода> days <день> time <hh:mm-hh:mm>

где:

  • <день> - день, по наступлении которого указанный временной период приобретает актуальность. Поддерживаются следующие значения: «Sun» - по воскресеньям, «Mon» - по понедельникам, «Tue» - по вторникам, «Wed» - по средам, «Thu» - по четвергам, «Fri» - по пятницам, «Sat» - по субботам, «weekdays» - по будням, «weekend» - по выходным (не праздничным) дням, «all» - во все дни;

  • <hh:mm-hh:mm> - временя, в течение которого актуален указанный временной период. Представление времени 24-часовое, формат диапазона «чч:мм-чч:мм» без пробелов. Если не указан временной период, то правило действует весь день «00:00-24:00».

13.2. Установить описание временного периода:

set service webproxy url-filtering squidguard time-period <имя_периода> description <описание>

где <описание> - краткое описание. Если описание содержит пробелы, то его необходимо заключить в двойные кавычки. Максимальная длина значения — «255» символов.

  1. Отключить URL-фильтрацию без удаления конфигурации:

set service webproxy url-filtering disable

Настройка групп пользователей для URL-фильтрации

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

Команды управления группами пользователей:

  1. Создать группу пользователей:

set service webproxy url-filtering squidguard source-group <имя_группы>

где <имя_группы> - имя группы. Имя группы пользователей должно соответствовать следующим требованиям:

  • не должно начинаться с цифры;

  • первый символ должен быть латинской буквой (a–z, A–Z) или символом подчёркивания (_);

  • второй символ должен быть латинской буквой или символом подчёркивания (_);

  • третий символ должен быть латинской буквой или цифрой (0–9);

  • последующие символы (начиная с четвёртого, если есть) могут включать латинские буквы, цифры, символы подчёркивания (_), дефисы (-) и точки (.);

  • минимальная длина имени — три символа.

  1. Добавить IPv4-адрес, подсеть или диапазон адресов в группу:

set service webproxy url-filtering squidguard source-group <имя_группы> address <адрес>

где <адрес> - IP-адрес в формате <x.x.x.x> или адрес IPv4-подсети в формате <x.x.x.x/x>. Также возможно указать диапазон IPv4-адресов в формате <x.x.x.x>-<x.x.x.x>.

  1. Установить описание группы:

set service webproxy url-filtering squidguard source-group <имя_группы> description <описание>

где <описание> - краткое описание группы. Если описание содержит пробелы, то его необходимо заключить в двойные кавычки. Максимальная длина значения — «255» символов.

  1. Добавить домен в группу:

set service webproxy url-filtering squidguard source-group <имя_группы> domain <домен>

где <домен> - название домена, который нужно включить в члены группы (например, infowatch.ru).

IP-адреса систем или подсетей пользователей должны успешно разрешаться по обратной зоне DNS в указанное доменное имя.

  1. Добавить пользователя, успешно прошедшего аутентификацию, в члены группы:

set service webproxy url-filtering squidguard source-group <имя_группы> user <имя_пользователя>

где <имя_пользователя> - имя аутентифицированного пользователя, которого нужно включить в члены группы.

  1. Создать правило фильтрации для группы пользователей:

set service webproxy url-filtering squidguard rule <номер> source-group <имя_группы>

где <номер> - уникальный номер правила. Возможно указать значение в диапазоне от «1» до «1024».

Для правил фильтрации групп пользователей доступны все параметры глобальной фильтрации.

Синтаксис написания параметров настроек правил фильтрации групп пользователей:

#Разрешить доступ к веб-содержимому по адресам из указанной категории в пределах правила:
set service webproxy url-filtering squidguard rule <номер> allow-category <категория>

#Запретить доступ к веб-содержимому по адресам из указанной категории в пределах правила:
set service webproxy url-filtering squidguard rule <номер> block-category <категория>

#Разрешить запросы в указанном правиле, у которых в URL указан IP-адрес, а не доменное имя:
set service webproxy url-filtering squidguard rule <номер> allow-ipaddr-url

#Задать действие по умолчанию для указанного правила:
set service webproxy url-filtering squidguard rule <номер> default-action <действие>

#Включить режим безопасного поиска на популярных поисковых системах для указанного правила:
set service webproxy url-filtering squidguard rule <номер> enable-safe-search

#Запретить доступ к указанному адресу IP или URL в пределах правила:
set service webproxy url-filtering squidguard rule <номер> local-block <x.x.x.x>

#Блокировать запросы к URL, если в нем содержится указанное ключевое значение в данном правиле:
set service webproxy url-filtering squidguard rule <номер> local-block-url <адрес>

#Блокировать в рамках правила запросы к содержимому, URL которого содержит указанный набор символов:
set service webproxy url-filtering squidguard rule <номер> local-block-keyword <ключ>

#Разрешить доступ к указанному адресу IP или URL в пределах правила:
set service webproxy url-filtering squidguard rule <номер> local-ok <x.x.x.x>

#Разрешить доступ по указанному IP или URL в пределах правила:
set service webproxy url-filtering squidguard rule <номер> local-ok-url <адрес>

#Включить в пределах указанного правила протоколирование запросов пользователей к адресам из определенной категории:
set service webproxy url-filtering squidguard rule <номер> log [all | <категория>]

#Изменить URL, содержимое которого возвращается вместо запрошенного при обращении к адресам из "чёрного" списка в указанном правиле:
set service webproxy url-filtering squidguard rule <номер> redirect-url <адрес>

#Задать промежуток времени, в течение которого указанное правило будет действовать:
set service webproxy url-filtering squidguard rule <номер> time-period <имя_периода>

Примечание

Минимально необходимый набор команд для корректной работы правила:

set service webproxy url-filtering squidguard source-group <имя_группы>
set service webproxy url-filtering squidguard source-group <имя_группы> address <адрес>
set service webproxy url-filtering squidguard rule <номер> source-group <имя_группы>

Интеграция с LDAP

Squidguard может осуществлять поиск в LDAP, используя заданные URL-адреса, если имя пользователя или IP-адрес не были найдены в существующем списке пользователей. Для этого применяются следующие команды:

  1. Указать URL-адрес LDAP для поиска IP-адреса источника и добавить его в группы пользователей:

set service webproxy url-filtering squidguard source-group tests ldap-ip-search <ldap-ip>

где <ldap-ip> - URL-адрес LDAP для поиска IP источника. Возможно указать несколько LDAP URL. В LDAP URL необходимо использовать «%s» для ссылки на IP источника. Если поиск возвращает запись, то IP считается найденным, в противном случае выполняется попытка поиска следующего URL.

  1. Указать URL-адрес LDAP для поиска имени пользователя и добавить его в члены группы:

set service webproxy url-filtering squidguard source-group tests ldap-user-search <ldap-user>

где <ldap-user> - URL-адрес LDAP для поиска неизвестного имени пользователя. Возможно указать несколько LDAP URL. В LDAP URL необходимо использовать «%s» для ссылки на имя пользователя. Если поиск возвращает запись, то пользователь считается найденным, в противном случае выполняется попытка поиска следующего URL.

Кэширующий прокси-сервер

В качестве примера настройки кэширующего прокси-сервера будет использоваться схема стенда, представленная на рисунке (см. Рисунок – Схема стенда для настройки прокси-сервера).

../../../../_images/ngfw.r.cli.proxy_3.1.png

Рисунок – Схема стенда для настройки прокси-сервера

Предварительно система ARMA Стена настроена следующим образом:

  1. Настроена переадресации DNS:

    set system name-server 8.8.8.8
    set service dns forwarding cache-size 500
    set service dns forwarding listen-address 192.168.4.1
    set service dns forwarding allow-from 192.168.4.0/24
    set service dns forwarding name-server 8.8.8.8
    commit
    save
    
  2. Настроены правила NAT:

    set nat source rule 10 outbound-interface name eth0
    set nat source rule 10 source address 192.168.4.0/24
    set nat source rule 10 translation address masquerade
    commit
    save
    

    где:

    • «eth0» – интерфейс с доступом к сети интернет;

    • «192.168.4.0/24» – адрес сети интерфейса «eth1», который будет подменяться IP-адресом интерфейса «eth0».

  3. Включена отправка ответов на локальные ICMP-запросы:

    set firewall global-options all-ping enable
    commit
    save
    
  4. В системе ARMA Стена по умолчанию транзитный трафик блокируется. Для разрешения такого трафика необходимо создать соответствующие правила в МЭ или изменить действие по умолчанию для транзитного трафика с «drop» на «accept» с помощью команды «set firewall <ipv4 | ipv6 | bridge> forward filter default-action accept».

На ПК «Client» после перезапуска сетевого интерфейса обеспечен доступ к сети Интернет.

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

Для настройки прокси-сервера необходимо ввести следующие команды:

set service webproxy listen-address 192.168.4.1 port 3128
set service webproxy listen-address 192.168.4.1 disable-transparent
commit
save

Обновление чёрного списка

Для обновления чёрного списка необходимо ввести следующую команду:

admin@ngfwos:~$ update webproxy blacklists

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 22.0M  100 22.0M    0     0  3622k      0  0:00:06  0:00:06 --:--:-- 4505k
Uncompressing blacklist...
Processing file and database /opt/vyatta/etc/config/url-filtering/squidguard/db/warez/domains
    [==================================================] 100 % done
Processing file and database /opt/vyatta/etc/config/url-filtering/squidguard/db/warez/urls
    [==================================================] 100 % done
...
Processing file and database /opt/vyatta/etc/config/url-filtering/squidguard/db/chat/urls
    [==================================================] 100 % done
admin@ngfwos:~$

После завершения процесса обновления необходимо перезапустить службу прокси:

admin@ngfwos:~$ restart webproxy

Настройка ПК «Client»

На ПК «Client» необходимо указать вручную следующие настройки прокси:

  • «HTTP прокси» – «192.168.4.1»;

  • «порт» – «3128»;

  • «HTTPS прокси» – «192.168.4.1»;

  • «порт» – «3128»;

  • «Не использовать прокси для» – «localhost 127.0.0.0/8; ::1».

Настройка политик блокировки

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

set service webproxy url-filtering squidguard local-block-url youtube.com
set service webproxy url-filtering squidguard local-block-url rutube.ru
commit
save

В результате с ПК «Client» после перезапуска веб-браузера доступ к ресурсам «youtube.com» и «rutube.ru» будет запрещён.

Прозрачный режим прокси-сервер

В качестве примера настройки прокси-сервера в прозрачном режиме работы будет использоваться схема стенда, представленная на рисунке (см. Рисунок – Схема стенда для настройки прокси-сервера).

В приведённой схеме видно, что ARMA Стена будет использоваться на границе сети, поэтому необходимо настроить двунаправленное преобразование сетевых адресов (NAT masquerade). Для работы прокси в прозрачном режиме необходимо будет настроить перенаправление портов (DNAT) http и https на порты прокси 3128 и 3129, соответственно. Для работы прокси в непрозрачном режиме использование DNAT не требуется.

Настройка NAT для перенаправления HTTPS и HTTP трафика на прокси-сервер:

set nat destination rule 10 destination port 'https'
set nat destination rule 10 inbound-interface name 'eth1'
set nat destination rule 10 protocol 'tcp'
set nat destination rule 10 translation address '192.168.4.1'
set nat destination rule 10 translation port '3129'
set nat destination rule 20 destination port 'http'
set nat destination rule 20 inbound-interface name 'eth1'
set nat destination rule 20 protocol 'tcp'
set nat destination rule 20 translation address '192.168.4.1'
set nat destination rule 20 translation port '3128'
commit
save

Правило с приоритетом «10» определяет настройки NAT для перенаправления HTTPS-трафика на прокси-сервер. Правило с приоритетом «20» предназначено для перенаправления HTTP-трафика.

Просмотр настроенных правил для NAT:

admin@ngfwos# show nat destination
 rule 10 {
     destination {
         port https
     }
     inbound-interface {
         name eth1
     }
     protocol tcp
     translation {
         address 192.168.4.1
         port 3129
     }
 }
 rule 20 {
     destination {
         port http
     }
     inbound-interface {
         name eth1
     }
     protocol tcp
     translation {
         address 192.168.4.1
         port 3128
     }
 }
[edit]
admin@ngfwos#

Настройка NAT для маскировки адресов локальной сети:

set nat source rule 30 outbound-interface name eth0
set nat source rule 30 source address 192.168.4.0/24
set nat source rule 30 translation address masquerade
commit
save

Просмотр настроек правила «30» для NAT:

admin@ngfwos# show nat source rule 30
 outbound-interface {
     name eth0
 }
 source {
     address 192.168.4.0/24
 }
 translation {
     address masquerade
 }
[edit]
admin@ngfwos#

Настройка системного DNS-сервера:

set service dns forwarding allow-from 192.168.4.0/24
set service dns forwarding listen-address 192.168.4.1
set service dns forwarding name-server 8.8.8.8
commit
save

Просмотр настроек системного DNS-сервера:

admin@ngfwos# show service dns
 forwarding {
     allow-from 192.168.4.0/24
     listen-address 192.168.4.1
     name-server 8.8.8.8 {
     }
 }
[edit]
admin@ngfwos#

Сгенерировать сертификат УЦ:

admin@ngfwos# run generate pki ca install test
Enter private key type: [rsa, dsa, ec] (Default: rsa)
Enter private key bits: (Default: 2048)
Enter country code: (Default: GB)
Enter state: (Default: Some-State)
Enter locality: (Default: Some-City)
Enter organization name: (Default: NGFWOS)
Enter common name: (Default: ngfwos.net)
Enter how many days certificate will be valid: (Default: 1825)
Note: If you plan to use the generated key on this router, do not encrypt the private key.
Do you want to encrypt the private key with a passphrase? [y/N]
2 value(s) installed. Use "compare" to see the pending changes, and "commit" to apply.
[edit]

commit
save

В данном случае при создании сертификата все параметры были оставлены без изменений.

Просмотр сгенерированного сертификата УЦ:

admin@ngfwos# show pki
Must specify config path
 ca test {
     certificate MIIDpzCC..............
     private {
         key MIIEvAIBADAN............==
     }
 }
[edit]
admin@ngfwos#

Настройки прокси-сервера:

set service webproxy listen-address 192.168.4.1 https-port 3129
set service webproxy listen-address 192.168.4.1 tls-bump ca-certificate test
set service webproxy listen-address 192.168.4.1 tls-bump enable
set service webproxy url-filtering squidguard allow-ipaddr-url
set service webproxy url-filtering squidguard local-block-url ya.ru
commit

DEPRECATION WARNING: URL filtering with SquidGuard is deprecated and
will be removed in the future NGFWOS versions.

save

В данном примере реализована блокировка доступа к сайту «ya.ru», при этом разрешены запросы, в URL которых вместо доменного имени сайта указан IP-адрес.

Просмотр настроек прокси-сервера:

admin@ngfwos# show service webproxy
 authentication {
     ldap {
         base-dn ru
     }
 }
 listen-address 192.168.4.1 {
     https-port 3129
     tls-bump {
         ca-certificate test
         enable
     }
 }
 url-filtering {
     squidguard {
         allow-ipaddr-url
         local-block-url ya.ru
     }
 }
[edit]
admin@ngfwos#

QUIC-трафик

Примечание

При разрешённом по умолчанию входящем и исходящем трафике в системе ARMA Стена прокси-сервер в прозрачном режиме обрабатывает соединения на портах 80/TCP и 443/TCP, перехватывая TCP-трафик, но не перенаправляя UDP-трафик на порту 443, вследствие чего QUIC-трафик передаётся напрямую от клиента к серверу, минуя прокси.

Блокировка QUIC-трафика может быть реализована с использованием правил межсетевого экрана (МЭ) или посредством службы контроля приложений (App Control).

Для фильтрации QUIC-трафика с использованием службы контроля приложений необходимо добавить правило фильтрации протокола quic и активировать службу СОВ в режиме IPS на интерфейсе, через который проходит интернет-трафик:

set app-control category protocols app quic
set suricata netmap interface <iname> copy-mode ips
set suricata enable yes
commit
save

При использовании межсетевого экрана для блокировки QUIC-трафика необходимо настроить правило, запрещающее UDP-трафик на порту 443. Ниже приведён пример конфигурации правила фильтрации для IPv4 в рамках стандартной политики обработки трафика:

set firewall ipv4 forward filter rule 10 action drop
set firewall ipv4 forward filter rule 10 destination port 443
set firewall ipv4 forward filter rule 10 protocol udp

Настройка ПК «Client»:

Прозрачный режим не предполагает какой-либо дополнительной настройки ПО пользователей. Однако для корректной работы системы необходимо, чтобы на клиентских устройствах в качестве основного шлюза и DNS-сервера был указан IP-адрес ARMA Стена - 192.168.4.1. Если используется настройка подмены сертификата TLS-Bump, как показано в примере, то на компьютере пользователя необходимо установить сгенерированный сертификат УЦ (см. Настройки подмены сертификата TLS-Bump).

Проверка:

Для проверки работоспособности фильтра на компьютере «Client» необходимо открыть веб-браузер и перейти на сайт «ya.ru». В результате сайт будет заблокирован, и происходит перенаправление на страницу «block.ngfwos.net». При этом доступ ко всем остальным интернет-ресурсам открыт.

Технология единого входа

В качестве примера настройки SSO для прокси-сервера будет использоваться схема стенда, представленная на рисунке (см. Рисунок – Схема стенда для настройки SSO), со следующими параметрами:

  • домен Active Directory – «example.com»;

  • FQDN контроллера домена – «dc.example.com»;

  • контроллер домена является DNS-сервером сети «LAN»;

  • ПК «Client» введён в домен «example.com»;

  • FQDN ARMA Стена – «ngfwos.example.com».

../../../../_images/ngfw.r.cli.proxy_5.1.png

Рисунок – Схема стенда для настройки SSO

Аутентификация по протоколу Kerberos

В качестве примера настройки SSO по протоколу Kerberos для прокси-сервера будет использоваться схема стенда, представленная на рисунке (см. Рисунок – Схема стенда для настройки SSO).

Сервер AD предварительно настроен следующим образом:

  • добавлены пользователи «ngfwos» и «user1»;

  • создан домен «example.com»;

  • сгенерирован файл «ngfwos.keytab» с помощью ввода в Powershell следующей команды:

    ktpass -princ HTTP/ngfwos.example.com@EXAMPLE.COM -mapuser ngfwos@EXAMPLE.COM -pass examplePsw123 -crypto RC4-HMAC-NT -ptype KRB5_NT_PRINCIPAL -out C:\ngfwos.keytab
    

Полученный файл «ngfwos.keytab» перенесён на ARMA Стена и расположен по пути «/home/admin/ngfwos.keytab».

Для использования SSO на настроенном прокси-сервере необходимо выполнить следующие шаги:

  1. Добавить DNS-записи на DNS-сервере.

  2. Настроить ARMA Стена для работы с Active Directory.

  3. Настроить прокси на ПК «Client».

Добавление DNS-записей

На DNS-сервере необходимо создать записи:

  • Запись 1:

    • «Имя» – «ngfwos»;

    • «Полное доменное имя» – «ngfwos.example.com»;

    • «IP-адрес» – «192.168.4.1»;

  • Запись 2:

    • «Имя» – «user1»;

    • «Полное доменное имя» – «user1.example.com»;

    • «IP-адрес» – «192.168.4.100»;

  • Запись 3:

    • «Имя» – «dc»;

    • «Полное доменное имя» – «dc.example.com»;

    • «IP-адрес» – «192.168.4.200».

Записи создаются в соответствии с руководством пользователя используемого DNS-сервера.

На ПК «Client» необходимо войти в домен «example.com» под пользователем «user1». В качестве DNS-сервера указать «192.168.4.200».

Настройка ARMA Стена для работы с Active Directory

Для настройки ARMA Стена необходимо в режиме конфигурирования ввести следующие команды:

set service webproxy authentication kerberos domain example.com

где «example.com» – имя домена;

set service webproxy authentication kerberos domain-controller dc.example.com

где «dc.example.com» – FQDN контроллера домена;

set service webproxy authentication kerberos host ngfwos.example.com

где «ngfwos.example.com» – FQDN текущего хоста;

set service webproxy authentication kerberos kdc dc.example.com

где «dc.example.com» – FQDN сервера распространения ключей;

set service webproxy authentication kerberos keytab ngfwos.keytab

где «ngfwos.keytab» – имя keytab-файла, расположенного в каталоге «/config/files/configuration/service/webproxy/authentication/kerberos/keytab».

set service webproxy authentication kerberos realm EXAMPLE.COM

где «EXAMPLE.COM» – realm;

set service webproxy listen-address 192.168.4.1 port 2000
set service webproxy listen-address 192.168.4.1 disable-transparent
set service webproxy authentication enable

где:

  • «192.168.4.1» – IP-адрес ARMA Стена;

  • «2000» – номер порта;

set system name-server 192.168.4.200

где «192.168.4.200» – IP-адрес сервера AD.

Зафиксировать изменения с помощью ввода команд «commit» и «save».

Настройка прокси на ПК «Client»

На ПК «Client» указать настройки прокси для следующих параметров:

  • «HTTP прокси» – «ngfwos.example.com»;

  • «Порт» – «2000»;

  • «Также использовать этот прокси для HTTPS» – флажок установлен.

Проверка

На ПК «Client» с помощью утилиты «Wireshark» выполнить захват трафика при подключении к какому-либо ресурсу сети Интернет.

В поле информации захваченного пакета «Proxy Authentication Required» будет присутствовать строка следующего вида: «Proxy-Authenticate: Negotiate\r\n».

Аутентификация пользователей по протоколу NTLMv2

В качестве примера настройки SSO по протоколу NTLMv2 для прокси-сервера будет использоваться схема стенда, представленная на рисунке (см. Рисунок – Схема стенда для настройки SSO).

Сервер AD предварительно настроен следующим образом:

  • добавлен пользователь «ngfwos»;

  • создан домен «example.com».

Примечание

Пользователь «ngfwos» должен обладать правами на добавления рабочих станций к домену.

Для использования SSO на настроенном прокси-сервере необходимо выполнить следующие шаги:

  1. Добавить DNS-записи на DNS-сервере (см. Добавление DNS-записей).

  2. Настроить ARMA Стена для работы с Active Directory.

  3. Настроить прокси на ПК «Client» (см. Настройка прокси на ПК «Client»).

Настройка ARMA Стена для работы с Active Directory

Для настройки ARMA Стена необходимо в режиме конфигурирования ввести следующие команды:

set service webproxy authentication ntlm netbios-name NGFWOS

где «NGFWOS» – NetBIOS-имя устройства в верхнем регистре;

set service webproxy authentication ntlm username ngfwos

где «ngfwos» – логин пользователя ARMA Стена в AD;

set service webproxy authentication ntlm password examplePsw123

где «examplePsw123» – пароль пользователя ARMA Стена в AD, приведён в качестве примера;

set service webproxy authentication ntlm realm EXAMPLE.COM

где «EXAMPLE.COM» – realm;

set service webproxy authentication ntlm workgroup EXAMPLE

где «EXAMPLE» – NetBIOS-имя домена AD, в верхнем регистре;

set service webproxy listen-address 192.168.4.1 port 2000
set service webproxy listen-address 192.168.4.1 disable-transparent
set service webproxy authentication enable

где:

  • «192.168.4.1» – IP-адрес ARMA Стена;

  • «2000» – номер порта;

set system name-server 192.168.4.200

где «192.168.4.200» – IP-адрес сервера AD.

Зафиксировать изменения с помощью ввода команд «commit» и «save».

Примечание

При включении аутентификации NTLMv2 ARMA Стена не предлагает себя в качестве Master Browser (local master = no, preferred master = no, domain master = no, os level = 0).

Дополнительно возможно ограничить область действия службы NTLM-аутентификации, настроив её на прослушивание только определённого сетевого интерфейса. Конфигурирование осуществляется с использованием следующих команд:

  • Указание сетевого интерфейса, на котором веб-прокси будет ожидать входящие запросы с использованием NTLM-аутентификации:

    set service webproxy authentication ntlm interface <iname>
    

    где <iname> - имя физического или логического сетевого интерфейса, на котором разрешено принимать клиентские подключения, требующие NTLM-аутентификации.

  • Указание IPv4-адреса, привязанного к интерфейсу, на котором будет приниматься трафик для NTLM-аутентификации:

    set service webproxy authentication ntlm interface-address <ip_address>
    

    где <ip_address> - IPv4-адрес сетевого интерфейса.

    Команда обязательна, если указан интерфейс прослушивания.

Проверка

На ПК «Client» с помощью утилиты «Wireshark» выполнить захват трафика при подключении к какому-либо ресурсу сети Интернет.

В поле информации захваченного пакета «Proxy Authentication Required» будет присутствовать строка следующего вида: «Proxy-Authenticate: Negotiate\r\n».

Аутентификация пользователей LDAP

В качестве примера настройки SSO по протоколу LDAP для прокси-сервера будет использоваться схема стенда, представленная на рисунке (см. Рисунок – Схема стенда для настройки SSO).

Сервер AD предварительно настроен следующим образом:

  • добавлены пользователи «ngfwos» и «user1»;

  • создан домен «example.com».

Для использования SSO на настроенном прокси-сервере необходимо выполнить следующие шаги:

  1. Добавить DNS-записи на DNS-сервере (см. Добавление DNS-записей).

  2. Настроить ARMA Стена для работы с Active Directory.

  3. Настроить прокси на ПК «Client» (см. Настройка прокси на ПК «Client»).

Настройка ARMA Стена для работы с Active Directory

Для настройки ARMA Стена необходимо в режиме конфигурирования ввести следующие команды:

set service webproxy authentication children 15
set service webproxy authentication ldap base-dn CN=имя_группы, DC=example,DC=com
set service webproxy authentication ldap bind-dn CN=admin, DC=example,DC=com
set service webproxy authentication ldap filter-expression cn=%s
set service webproxy authentication ldap password <examplePsw123>

Описание параметров:

  • children — задаёт количество дочерних процессов аутентификации, обрабатывающих LDAP-запросы.

  • base-dn — определяет базовый DN каталога LDAP, с которого начинается поиск пользователей. В примере указан корневой домен example.com.

  • bind-dn — задаёт учётную запись с правами на чтение LDAP-каталога. В примере используется учётная запись admin.

  • filter-expression — устанавливает фильтр поиска пользователя в каталоге. Выражение cn=%s означает, что поиск выполняется по полному имени, где %s заменяется на введённое имя пользователя.

  • password — указывает пароль для учётной записи, заданной в параметре bind-dn.

Примечание

При наличии пробелов в значениях параметров DN указанное значение должно быть заключено в двойные кавычки (").

set service webproxy authentication ldap server 192.168.4.200

где «192.168.4.200» – IP-адрес сервера AD.

set service webproxy authentication ldap port <portnumber>

где <portnumber> – порт.

set service webproxy authentication ldap username-attribute CN

где «CN» – имя атрибута DN.

set service webproxy authentication ldap version 3

где «3» – версия протокола LDAP.

set service webproxy listen-address 192.168.4.1 port 2000
set service webproxy listen-address 192.168.4.1 disable-transparent
set service webproxy authentication enable

где:

  • «192.168.4.1» – IP-адрес ARMA Стена;

  • «2000» – номер порта.

set system name-server 192.168.4.200

где «192.168.4.200» – IP-адрес сервера AD.

Зафиксировать изменения с помощью ввода команд «commit» и «save».

Проверка

Для проверки на ПК «Client» необходимо в веб-браузере инициировать подключение к какому-либо сайту и ввести учётные данные пользователя.

Настройки подмены сертификата TLS-Bump

В качестве примера настройки подмены сертификата TLS-Bump будет использоваться схема стенда, представленная на рисунке (см. Рисунок – Схема стенда для настройки SSO).

Предварительно настроена аутентификация пользователей по протоколу NTLM (см. Аутентификация пользователей по протоколу NTLMv2).

Для настройки подмены сертификата TLS-Bump необходимо выполнить следующие действия:

  1. Сгенерировать сертификат УЦ с помощью следующей команды:

    admin@ngfwos# run generate pki ca install test
    
    Enter private key type: [rsa, dsa, ec] (Default: rsa)
    Enter private key bits: (Default: 2048)
    Enter country code: (Default: GB)
    Enter state: (Default: Some-State)
    Enter locality: (Default: Some-City)
    Enter organization name: (Default: NGFWOS)
    Enter common name: (Default: ngfwos.net)
    Enter how many days certificate will be valid: (Default: 1825)
    Note: If you plan to use the generated key on this router, do not encrypt the private key.
    Do you want to encrypt the private key with a passphrase? [y/N]
    2 value(s) installed. Use "compare" to see the pending changes, and "commit" to apply.
    [edit]
    
    commit
    save
    

    В данном случае при создании сертификата все параметры были оставлены без изменений.

    Просмотр сгенерированного сертификата УЦ:

    admin@ngfwos# show pki
    Must specify config path
     ca test {
         certificate MIIDpzCC..............
         private {
             key MIIEvAIBADAN............==
         }
     }
    [edit]
    admin@ngfwos#
    
  2. Настроить функционал TLS-Bump введя следующие команды:

    set service webproxy listen-address 192.168.4.1 tls-bump ca-certificate test
    set service webproxy listen-address 192.168.4.1 tls-bump enable
    commit
    save
    

    где «192.168.4.1» - IP-адрес ARMA Стена.

    Примечание

    Cертификат УЦ сохраняется в каталог /etc/squid/certs/test.pem.

  3. На ПК «Client» импортировать сгенерированный сертификат в веб-браузер.

    Например, в браузере Firefox необходимо открыть меню «Сертификаты», выбрать пункт «Просмотр сертификатов», а затем «Центры сертификации». После этого следует нажать кнопку «Импортировать» и выбрать файл test.pem. В открывшемся окне необходимо установить все флажки и нажать кнопку «ОК».

Примечание

В случае перевыпуска сертификата УЦ в системе ARMA Стена, необходимо удалить старый сертификат и установить новый на компьютере пользователя. Рекомендуется также очистить историю браузера на данном компьютере.

Отключение подмены сертификата TLS-Bump для определённых доменов.

Система ARMA Стена предоставляет возможность управления механизмом подмены сертификатов TLS-Bump путём создания списка исключений. Поддерживаются два метода добавления доменов в список исключений:

  • ручное добавление отдельных доменов;

  • загрузка списка доменов из внешнего файла.

  1. Добавление отдельных доменов.

    Для добавления конкретного домена в список исключений используется следующая команда в конфигурационном режиме:

    set service webproxy nobump-site <domain>
    

    где <domain> – полное доменное имя, для которого требуется отключить подмену сертификата TLS-Bump.

  2. Добавление списка доменов.

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

    set service webproxy nobump-sites-file sites.txt
    

    где sites.txt – имя файла, расположенного в каталоге «/config/files/configuration/service/webproxy/nobump-sites-file/», содержащего список доменных имён, для которых отключается подмена сертификата TLS-Bump. В случае использования файла, расположенного в другом каталоге, необходимо указать полный путь к нему. Пример: «set service webproxy nobump-sites-file /config/sites.txt».

    Пример структуры файла с доменами:

    aliexpress.ru
    youtube.com
    

Допускается одновременное использование обоих методов добавления исключений. При использовании обоих методов система формирует объединённый список исключений.

Проверка

На ПК «Client» запустить веб-браузер и открыть любой сайт, использующий протокол HTTPS. В адресной строке нажать по иконке в форме замка и выбрать опцию защищённого соединения. Веб-браузер преобразует это соединение в защищённое.

Группы пользователей

Для управления группами необходимо наличие конфигурации SSO по протоколу «Kerberos» или «NTLM».

Для запрета доступа пользователям какой-либо группы AD необходимо ввести следующую команду:

set service webproxy user-group <groupname> access <groupname>

где <groupname> – имя группы пользователей. Приведено в качестве примера.

Для блокирования доступа пользователей группы к определённым доменам необходимо ввести следующие команды:

set service webproxy user-group <groupname> access permit
set service webproxy user-group <groupname> block-domain .youtube.com

где «.youtube.com» – доменное имя.

Параметры ICAP-клиента

Для настройки отправки расшифрованного HTTP-трафика на ICAP-сервер необходимо выполнить следующие команды:

set service webproxy icap-client enable
set service webproxy icap-client remote-address <address>
set service webproxy icap-client remote-port <port>
set service webproxy icap-client request location <service_name>
set service webproxy icap-client response location <service_name>

где

  • <address> - IP-адрес ICAP-сервера в формате <x.x.x.x> для IPv4 или <h:h:h:h:h:h:h:h> для IPv6;

  • <port> - порт ICAP-сервера. Возможно указать значение в диапазоне от «1» до «65535»;

  • <service_name> - имя ICAP-сервер.

Дополнительные настройки:

  • в случае возникновения ошибки при отправке на ICAP-сервер, пропускать трафик дальше:

    set service webproxy icap-client request bypass
    
  • установить поле в заголовке HTTP с отправкой имени пользователя прокси:

    set service webproxy icap-client username-header <header>
    

где <header> - заголовок имени пользователя.