Открытие портов для банк клиентов + Статистика 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.confnano /etc/apache2/conf-available/sqstat.confВносим правки. IP адрес указываем администратора, с которого мы будем осуществлять мониторинг.
Alias /sqstat/ /var/www/html/sqstat/<Location "/sqstat/">DirectoryIndex sqstat.phporder deny,allowallow from 192.168.10.222/32</Location>Далее двумя командами активируем sqstat и перезагружаем apache2
a2enconf sqstatservice apache2 reloadВ squid.conf в самом конце конфига задаем пароль для доступа (любой)
cachemgr_passwd password allВ http_access добавляем
http_access allow manager localhosthttp_access allow localnet managerhttp_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 в комментарии.
