Открытие портов для банк клиентов + Статистика SqStat + Полный конфиг

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

Открытие портов для банк клиентов

Некоторые банки не дают ходить через прокси и требуется разрешить порты или домены, которые они используют. Также программы для удаленного доступа (например Ammyy Admin) будут попадать под фильтр и коннект с их ip адресами проходить не будет.

В конфиге squid.conf между настройками «#Черного списка сайтов» и «#IP администратора без фильтра» пишем конфиг:

Для портов банк-клиентов

acl port_allowed port 80    # Port HTTP

acl port_allowed port 443   # Port HTTPS

acl port_allowed port 9443  # Port Sberbank biz

По аналогии добавляете свои.

Для сайтов и доменов банков

acl dst_sber dst 92.38.2.0/24

acl dst_direct dstdomain .sbis.ru

Для Ammyy Admin

acl dst_ammyynet dstdomain .ammyy.com

acl dst_ammyynet_ip dst 23.111.200.0/24

В раздел http_access добавляем строки:

http_access deny !port_allowed # Для портов

http_access allow dst_direct # Для домена сбиса

http_access allow dst_sber # Для сбера

http_access allow dst_ammyynet # Для ammyy admin

http_access allow dst_ammyynet_ip # Для ammyy admin


Настройка SqStat

Мониторинг пользовательской активности Squid, в реальном времени. Для наших целей его вполне хватает. Если нужны подробные отчеты и т.п. можете рассмотреть другие варианты, например: ScreenSquid.

  1. Для начала установим Apache2 и php

    sudo apt install -y apache2 libapache2-mod-php

  2. Далее скачиваем и распаковываем архив в /var/www/html/stat/

    wget https://github.com/CrashX/SqStat/archive/refs/heads/main.zip

  3. Создаем и редактируем конфигурационный файл

    touch /etc/apache2/conf-available/sqstat.conf

    nano /etc/apache2/conf-available/sqstat.conf

  4. Вносим правки. IP адрес указываем администратора, с которого мы будем осуществлять мониторинг.

    Alias /sqstat/ /var/www/html/sqstat/

    <Location "/sqstat/">

       DirectoryIndex sqstat.php

       order deny,allow

       allow from 192.168.10.222/32

    </Location>

  5. Далее двумя командами активируем sqstat и перезагружаем apache2

    a2enconf sqstat

    service apache2 reload

  6. В squid.conf в самом конце конфига задаем пароль для доступа (любой)

    cachemgr_passwd password all

  7. В http_access добавляем

    http_access allow manager localhost

    http_access allow localnet manager

    http_access deny manager

  8. Сохраняем, выходим.

  9. Далее редактируем файл  /var/www/html/sqstat/config.inc.php

    <?php
        /* global settings */
        $use_js=true; // use javascript for the HTML toolkits
        DEFINE("SQSTAT_SHOWLEN",60);
        /* proxy settings */
        $squidhost[0]="127.0.0.1";
        $squidport[0]=3128;
        $cachemgr_passwd[0]="password";
        $resolveip[0]=false;
        $group_by[0]="username";
    ?>
  10. Делаем

    squid -k reconfigure

    /etc/init.d/apache2 reload

Теперь идете в адресной строке браузера и обращаемся по имени прокси-сервера, DNS запись в первой части:

proxy_comp.yourdomain.com/sqtat


К самому главному, конфиг.

Еще раз по обозначениям:
yourdomain.com – вместо этого подставляйте свой домен
proxy_comp - имя прокси сервера в DNS
192.168.10.100 – сервер прокси
192.168.10.222 - IP нашего админского компа

#################################################
# Аутентификация Kerberos
#################################################

auth_param negotiate program /usr/lib/squid/negotiate_kerberos_auth -k /etc/squid/squid.keytab -s user-px@YOURDOMAIN.COM
auth_param negotiate children 160 startup=0 idle=1
auth_param negotiate keep_alive off

#################################################
# Интерфейсы прокси сервера
#################################################

http_port 192.168.10.100:3128
http_port 127.0.0.1:3128

#################################################
# Подсеть компании
#################################################

acl localnet src 192.168.10.0/24 

#################################################
# Забираем группы для назначения скоростей из AD
#################################################

external_acl_type class_maximum %LOGIN /usr/lib/squid/ext_kerberos_ldap_group_acl -a -g maximum@YOURDOMAIN.COM -D YOURDOMAIN.COM
external_acl_type class_medium %LOGIN /usr/lib/squid/ext_kerberos_ldap_group_acl -a -g medium@YOURDOMAIN.COM -D YOURDOMAIN.COM
external_acl_type class_minimum %LOGIN /usr/lib/squid/ext_kerberos_ldap_group_acl -a -g minimum@YOURDOMAIN.COM -D YOURDOMAIN.COM

#################################################
# Alias
#################################################

acl acl_maximum external class_maximum
acl acl_medium external class_medium
acl acl_minimum external class_minimum

#################################################
# Transactions for delay_pools
#################################################

acl mark_maximum annotate_transaction maximum=true
acl mark_medium annotate_transaction medium=true
acl mark_minumum annotate_transaction minumum=true

#################################################
# ACL Note
#################################################

acl speed_limit_maximum note maximum true
acl speed_limit_medium note medium true
acl speed_limit_minimum note minimum true

#################################################
# Доступы к ресурсам
#################################################

external_acl_type allow_social_net %LOGIN /usr/lib/squid/ext_kerberos_ldap_group_acl -a -g social_net@YOURDOMAIN.COM -D YOURDOMAIN.COM
external_acl_type allow_shops %LOGIN /usr/lib/squid/ext_kerberos_ldap_group_acl -a -g shops@YOURDOMAIN.COM -D YOURDOMAIN.COM

#################################################
# Alias
#################################################

acl social_net external allow_social_net          # LDAP Group External Access
acl shops external allow_shops                    # LDAP Group External Access

#################################################
# Списки внешних ресурсов
#################################################

acl white_social_net url_regex -i "/etc/squid/lists/soc.net.list" # Для соц.сетей
acl white_shops url_regex -i "/etc/squid/lists/shops.list"        # Для маркетплейсов

#################################################
# Черный список сайтов и доменов
#################################################

acl black_deny url_regex -i "/etc/squid/lists/lock_sites"         # Список вирусных и заблокированных сайтов
acl domain_deny dstdomain "/etc/squid/lists/lock_domain"          # Список заблокированных доменов

#################################################
# Порты для банков
#################################################

acl port_allowed port 80			# Port HTTP
acl port_allowed port 443			# Port HTTPS
acl port_allowed port 9443			# Port Sberbank biz

#################################################
# Сайты и домены
#################################################

acl dst_sber dst 92.38.2.0/24
acl dst_direct dstdomain .sbis.ru

#################################################
# Ammyy Admin
#################################################

acl dst_ammyynet dstdomain .ammyy.com
acl dst_ammyynet_ip dst 23.111.200.0/24

#################################################
# IP администратора без фильтра
#################################################

acl admin src 192.168.10.222/32

#################################################
# Delay_pools  1 Mb = 125000 bytes
#################################################

delay_pools 3                                                   # Количество пулов

delay_class 1 4

delay_parameters 1 none none none 1875000/1875000               # 15 Mbit/s

delay_access 1 allow speed_maximum

delay_access 1 deny all


delay_class 2 4

delay_parameters 2 none none none 1000000/1000000               # 8 Mbit/s

delay_access 2 allow speed_medium

delay_access 2 deny all


delay_class 3 4

delay_parameters 3 none none none 500000/500000                 # 4 Mbit/s

delay_access 3 allow speed_minimum

delay_access 3 deny all

#################################################
# Доступы
#################################################

http_access allow localhost        # Доступ к прокси серверу всей подсети компании
http_access allow admin            # Доступ нашему IP в обход всех правил

http_access allow manager localhost
http_access allow localnet manager
http_access deny manager

http_access deny !port_allowed     # Для портов

http_access allow dst_direct       # Для домена сбиса
http_access allow dst_sber         # Для сбера

http_access allow dst_ammyynet     # Для ammyy admin
http_access allow dst_ammyynet_ip  # Для ammyy admin


http_access deny !social_net white_social_net 
http_access deny !shops white_shops

#################################################
# Блок всем пользователям к черному списку сайтов и доменов
#################################################

http_access deny black_deny
http_access deny domain_deny

#################################################
# Скорости
#################################################

http_access allow acl_maximum mark_maximum   # Доступ на максимальной
http_access allow acl_medium mark_medium     # Доступ на средней
http_access allow acl_minimum mark_minimum   # Доступ на минимальной

# Кто не состоит ни в одной из описанных нами групп, запретить доступ ко всем веб-сайтам.

http_access deny all

#################################################
# Cache (Настройки кэша)
#################################################

cache_mem 1024 MB

maximum_object_size_in_memory 10024 KB

cache_dir ufs /var/spool/squid 2048 16 256

maximum_object_size 4 MB

access_log daemon:/var/log/squid/access.log squid

logfile_rotate 31

#################################################
# SqStat
#################################################

cachemgr_passwd password all
Hidden text

По настройке Squid больше нечего добавить, максимально изложил рабочую информацию. Если есть что добавить welcome в комментарии.

Часть 1

Часть 2

Часть 3

Комментарии (12)