Открытие портов для банк клиентов + Статистика 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.
-
Для начала установим Apache2 и php
sudo apt install -y apache2 libapache2-mod-php
-
Далее скачиваем и распаковываем архив в /var/www/html/stat/
wget https://github.com/CrashX/SqStat/archive/refs/heads/main.zip
-
Создаем и редактируем конфигурационный файл
touch /etc/apache2/conf-available/sqstat.conf
nano /etc/apache2/conf-available/sqstat.conf
-
Вносим правки. IP адрес указываем администратора, с которого мы будем осуществлять мониторинг.
Alias /sqstat/ /var/www/html/sqstat/
<Location "/sqstat/">
DirectoryIndex sqstat.php
order deny,allow
allow from 192.168.10.222/32
</Location>
-
Далее двумя командами активируем sqstat и перезагружаем apache2
a2enconf sqstat
service apache2 reload
-
В squid.conf в самом конце конфига задаем пароль для доступа (любой)
cachemgr_passwd password all
-
В http_access добавляем
http_access allow manager localhost
http_access allow localnet manager
http_access deny manager
Сохраняем, выходим.
-
Далее редактируем файл /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"; ?>
-
Делаем
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 в комментарии.