URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 6991
[ Назад ]

Исходное сообщение
"Squid и торрент.."

Отправлено Vipys , 16-Май-13 13:23 
интересует вопрос блокировки торрента на определённых группах пользователей.
чисто теоретический вопрос каким образом организовать

имеем: 2 сетевые - одна в инет, другая внутрь.x.x.x.x и 192.168.0.100 соответственно
во внутренней алиас на IP 192.168.2.100

группы: 1-бухгалтерия(для неё алиас),2-полный доступ(все возможные порты+торрент),3-ограниченные(только инет)

проблема возникает с доступом в торрент, или закрывается вообще через iptables, или доступен всем.(!даже не авторизованным пользователям-по мак адресам списки групп, хотя squid блокирует для них инет).

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


Содержание

Сообщения в этом обсуждении
"Squid и торрент.."
Отправлено reader , 16-Май-13 14:37 
>[оверквотинг удален]
> чисто теоретический вопрос каким образом организовать
> имеем: 2 сетевые - одна в инет, другая внутрь.x.x.x.x и 192.168.0.100 соответственно
> во внутренней алиас на IP 192.168.2.100
> группы: 1-бухгалтерия(для неё алиас),2-полный доступ(все возможные порты+торрент),3-ограниченные(только
> инет)
> проблема возникает с доступом в торрент, или закрывается вообще через iptables, или
> доступен всем.(!даже не авторизованным пользователям-по мак адресам списки групп, хотя
> squid блокирует для них инет).
> в идеале конечно хотел бы получить помощь в настройке, но пока интересует
> теоретически как организовать доступ.

торренты могут работать на разных порта при этом как по tcp, так и по udp, поэтому прокси тут не сильный помощник.


"Squid и торрент.."
Отправлено Mr. Mistoffelees , 16-Май-13 14:45 
Привет,

Посмотрите в сторону шэйпинга. tc поможет вам составить нужные классы (www.lartc.org) для web, почты, FTP и т.д. Весь ненужный трафик запихиваете в отдельный класс и урезаете его сколько вам заблагорассудиться (100 kbps, 9600...).

WWell,


"Squid и торрент.."
Отправлено Vipys , 16-Май-13 15:13 
> Привет,
> Посмотрите в сторону шэйпинга. tc поможет вам составить нужные классы (www.lartc.org) для
> web, почты, FTP и т.д. Весь ненужный трафик запихиваете в отдельный
> класс и урезаете его сколько вам заблагорассудиться (100 kbps, 9600...).
> WWell,

к сожалению не силён в анг(
но классы посмотрю на др сайтах.

так squid работает со всеми портами? или использовать правила iptables обязательно для нестандартных портов? например необходимы порты видеоконференцсвязи


"Squid и торрент.."
Отправлено reader , 16-Май-13 15:35 
>> Привет,
>> Посмотрите в сторону шэйпинга. tc поможет вам составить нужные классы (www.lartc.org) для
>> web, почты, FTP и т.д. Весь ненужный трафик запихиваете в отдельный
>> класс и урезаете его сколько вам заблагорассудиться (100 kbps, 9600...).
>> WWell,
> к сожалению не силён в анг(
> но классы посмотрю на др сайтах.
> так squid работает со всеми портами? или использовать правила iptables обязательно для

squid работает с http, немного с ftp протоколами, остальное это не его даже если это идет на 80 порт ( например скайп )

> нестандартных портов? например необходимы порты видеоконференцсвязи

если ПО не умеет работать через прокси, его придется выпускать через iptables


"Squid и торрент.."
Отправлено Etch , 17-Май-13 04:12 
Это возможно в режиме непрозрачного прокси-сервера. Для ограниченной группы разрешите метод CONNECT только на определённые порты (https), а для полного доступа - без ограничений.

Но если прокси будет работать в непрозрачном режиме, то во всех программах придётся его отдельно указывать (т.е. настраивать каждую программу отдельно). Есть, конечно, варианты с dhcp+wpad, но не каждая программа это умеет.

Ну и ещё один момент - торренты через http-прокси будут очень плохо раздавать, т.к. ограничены только протоколом tcp. Если для вас это критично, то можно посмотреть в сторону SOCKS-проксей.


"Squid и торрент.."
Отправлено _KUL , 17-Май-13 05:10 
Vipys , на вашем месте я бы для таких задач использовал бы fprobe + flow-tools , через fprobe слушал бы трафик, через flow-capture агрегировал его, через flow-export экспортировал его в mysql например. Далее на perl или php сделал бы пару скриптов по подсчету скачанного трафика и строил бы правила iptables относительно ипа, а чтобы ип с юзернеймом скрестить, с какой-нибудь виндовой тачки бы делал через батник (хз, может и из линуха можно wmic юзать)
@echo off
chcp 65001
FOR /L %%i IN (1,1,50) DO (
echo comp-%%i >> comp.txt
wmic /Node:"comp-%%i" ComputerSystem Get UserName >> comp.txt
echo . >> comp.txt
)
Потом это тем же перлом бы в мускуль отдавал и там связывал бы с ипом.

"Squid и торрент.."
Отправлено Vipys , 17-Май-13 08:19 
к сожалению, для меня переход от винды к никса переходит довольно тяжело.

пока попробовал и работает centOS+squid и нормально,
проблемы именно с торрентом, объём скачки не интересует(интернет-не канал, а ворота)
волнует именно запрет на группу использования p2p- торрент скачек, skype, и игры (работают тоже через диапазоны портов), при этом необходима работа https, обращения по IP, и видеоконференцсвязь.
прошу подсказать как это реализовать в centos или squid.

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



"Squid и торрент.."
Отправлено Vipys , 17-Май-13 08:24 
> к сожалению, для меня переход от винды к никса переходит довольно тяжело.
> пока попробовал и работает centOS+squid и нормально,
> проблемы именно с торрентом, объём скачки не интересует(интернет-не канал, а ворота)
> волнует именно запрет на группу использования p2p- торрент скачек, skype, и игры
> (работают тоже через диапазоны портов), при этом необходима работа https, обращения
> по IP, и видеоконференцсвязь.
> прошу подсказать как это реализовать в centos или squid.
> за ответы большое спасибо, буду копать мануалы..

пока смотрю в сторону блокировки трекеров(хотя бы основных), а вот игры и скайп...


"Squid и торрент.."
Отправлено _kul , 17-Май-13 13:20 
http://rukul.ru/squid-proxy-server/squid-с-простой-авторизацией-в-ldap

тут я в далеком 2011 юзал сквид, в конце статьи примеры для групп


"Squid и торрент.."
Отправлено _kul , 17-Май-13 13:23 
> http://rukul.ru/squid-proxy-server/squid-с-простой-авторизацией-в-ldap
> тут я в далеком 2011 юзал сквид, в конце статьи примеры для
> групп

блин, ссылка не корректная, но там на сайте слева навигация, про сквид там по щелкай


"Squid и торрент.."
Отправлено Vipys , 17-Май-13 14:46 
>> http://rukul.ru/squid-proxy-server/squid-с-простой-авторизацией-в-ldap
>> тут я в далеком 2011 юзал сквид, в конце статьи примеры для
>> групп
> блин, ссылка не корректная, но там на сайте слева навигация, про сквид
> там по щелкай

группы знаю... вопрос именно как торрент закрыть. пока мануалы не дали результата. сделал вот что:

acl SSL_ports port 443
acl Safe_ports port 80        # http
acl Safe_ports port 21        # ftp
acl Safe_ports port 443        # https
acl Safe_ports port 70        # gopher
acl Safe_ports port 210        # wais
#acl Safe_ports port 1025-65535    # unregistered ports
acl Safe_ports port 280        # http-mgmt
acl Safe_ports port 488        # gss-http
acl Safe_ports port 591        # filemaker
acl Safe_ports port 777        # multiling http
acl CONNECT method CONNECT
####################

acl full arp "/etc/squid/arc/full.txt"
http_access allow full

##
http_access deny !Safe_ports
http_access allow CONNECT !SSL_ports

acl torrent_mime rep_mime_type -i ^application/x-bittorrent$
acl torrent_mime rep_mime_type -i application/x-bittorrent
acl torrent urlpath_regex -i \.torrent$
http_access deny torrent !full
http_access deny torrent_mime !full
http_reply_access deny torrent_mime !full


full - группа с полным доступом... но торрент для остальных не режется...


"Squid и торрент.."
Отправлено _KUL , 18-Май-13 05:06 
Как вариант дополнительный, можно ещё подумать в сторону "максимальное количество соединений с ip", через iptables рулится. А вообще да, нужно типы в сквиде резать, чтобы торрент не скачался. Хотя сейчас и в зипах скачать можно и с дома принести ... тогда уже думать, чтобы лочить целые трекеры в файлике bad.txt и потом на группу накладывать.

"Squid и торрент.."
Отправлено Vipys , 18-Май-13 10:59 
> интересует вопрос блокировки торрента на определённых группах пользователей.
> чисто теоретический вопрос каким образом организовать

решил проблему... оказало не так и просто...
во первых iptables на каждый открытый порт(у меня их несколько из-за особенностей специализированного ПО пришлось открыть)сделать перенаправление на порт сквида-3128
во вторых торрент клиенты обладают несколькими способами закачки:
1-блокируем скачку файлов .torrent
2-блокируем по списку торрент трекеры(несложно найти в интернете)
3-добавим в список torrent.local
4-запрещаем обращения в сети по IP
5-режем по mime типу пакеты bittorent(сработает только при незафрованном трафике клиента)

6-конечно, ограничения портов или метода CONNECT не действует по причинам:торрент может использовать абсолютно любой порт, а метод коннект при зашифрованном трафике не получиться правильно ограничить, если полностью отключить падает https(сайты vk, google, mail и т.д.)

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

кусок squid.conf

acl SSL_ports port 443
acl Safe_ports port 80        # http
acl Safe_ports port 21        # ftp
acl Safe_ports port 443        # https
acl Safe_ports port 70        # gopher
acl Safe_ports port 210        # wais
#acl Safe_ports port 1025-65535    # unregistered ports
acl Safe_ports port 280        # http-mgmt
acl Safe_ports port 488        # gss-http
acl Safe_ports port 591        # filemaker
acl Safe_ports port 777        # multiling http
acl CONNECT method CONNECT
####################

acl full arp "/etc/squid/arc/full.txt"
http_access allow full

##
http_access deny !Safe_ports                                         <-фишки отсюда
http_access allow CONNECT !SSL_ports


acl torrent_mime rep_mime_type -i ^application/x-bittorrent$        
acl torrent_mime rep_mime_type -i application/x-bittorrent
acl torrent urlpath_regex -i \.torrent$
http_access deny torrent !full
http_access deny torrent_mime !full
http_reply_access deny torrent_mime !full

acl numeric_IPs dstdom_regex ^(([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)|(\[([0-9af]+)?:([0-9af:]+)?:([0-9af]+)?\])):443
acl numeric_IP dstdom_regex ^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)|(\[([0-9af]+)?:([0-9af:]+)?:([0-9af]+)?\])
http_access deny numeric_IPs !full
http_access deny numeric_IP !full
http_access deny CONNECT !full                                        <-до сюда

acl media rep_mime_type video/flv video/x-flv
acl mediapr urlpath_regex \.flv(\?.*)?$
acl media rep_mime_type application/x-shockwave-flash
acl mediapr urlpath_regex \.swf(\?.*)?$


##
acl porn url_regex "/etc/squid/filter/porn-social.txt"
http_access deny porn !full

acl master arp "/etc/squid/arc/master.txt"
http_access allow master

##Закрываем доступ к Flash
http_access deny mediapr !full !master
http_reply_access deny media !full !master
##

acl tor url_regex "/etc/squid/filter/tor.txt"                  <-и тут
http_access deny tor !full !master

acl razvlek url_regex "/etc/squid/filter/razvlek.txt"
http_access deny razvlek !full !master

acl student arp "/etc/squid/arc/student.txt"
http_access allow student

#запретить доступ всем кого нет в списках
http_access deny local