PDA

View Full Version : Подскажите, как блокировать по ключевому слову


Сhemist
11-04-2008, 18:06
К примеру "job" или "odnoklasniki" чтобы не IP-шники выстригать, а на корню заразу вырезать.

6opoga
11-04-2008, 18:15
К примеру "job" или "odnoklasniki" чтобы не IP-шники выстригать, а на корню заразу вырезать.

Это же роутер, а не цензор. Он вообще про символьные имена может не знать, и при этом отлично работать. Только если снифать днс/веб трафик и динамически добавлять блокировки. Но, боюсь, процессора у зверюшки не хватит.

Сhemist
11-04-2008, 18:16
У D-Link это реализовано! А мы чем хуже :)

Cranch
11-04-2008, 18:20
У D-Link вообще ни один девайс сложнее неуправляемого свитча не работает — уж можете мне поверить... или вы эту инфу из рекламных материалов взяли? :D

Сhemist
11-04-2008, 18:24
Вообще-то я сегодня "слез" с D-Link и выкинул последний девайс, заменив его WL500gP. Дома меня эта проблема не интересовала, а на работе озадачили!
Так что не из рекламы взял а из жизни. Есть там такая приблуда как блокировка по названию. Блокируется любой адрес, где встречается искомое слово.

6opoga
11-04-2008, 18:24
У нас тоже раньше был content filter в менюшках. Только не работал. Делал он это, насколько я понимаю, именно так, как я написал.

Cranch
11-04-2008, 18:31
Про D-Link я могу рассказывать часами, и все матом - вам фамилия Михневич ни о чем не говорит? Все, что у них заявлено в ТТХ, либо не работает вообще, либо работает криво.

dmig
11-04-2008, 18:33
советую посмотреть как и что настраивается у dnsmasq.

если штатный dnsmasq настроить как надо не удастся, можно сделать так:
поставить свой DNS сервер на роутере и ему прописать правила для определённых доменов, например на себя самого. а так же поднять встроенный busybox_httpd с целью отдавать страницу с фигой на любой запрос к нему.

Сhemist
11-04-2008, 18:35
Про D-Link я могу рассказывать часами, и все матом - вам фамилия Михневич ни о чем не говорит? Все, что у них заявлено в ТТХ, либо не работает вообще, либо работает криво.

Полностью присоединяюсь!
НО эта функция почему-то работала и очень просто настраивалась :)

Игорь
12-04-2008, 11:32
такой функционал есть в 3proxy http://3proxy.ru/plugins/PCREPlugin/
Но у меня запустить не получилось, может кому повезет больше.
Конфиг #!/usr/local/bin/3proxy
writable
pidfile /tmp/var/run/3proxy.pid

internal 192.168.1.100
external 0.0.0.0

nserver 82.144.192.130
nserver 82.144.192.131
nserver 82.144.192.32
nserver 82.144.192.30
nscache 65536
timeouts 1 5 30 60 180 1800 15 60

monitor /tmp/harddisk/3proxy/3proxy.cfg
#monitor /tmp/harddisk/3proxy/counters
monitor /tmp/harddisk/3proxy/passwd
#monitor /tmp/harddisk/3proxy/bandlimiters


log /tmp/harddisk/3proxy/proxy.log D
logformat "L%C - %U [%d/%o/%Y:%H:%M:%S %z] ""%T"" %E %I %O %N/%R:%r"
rotate 30
counter "/tmp/harddisk/3proxy/3proxy.3cf" D "/tmp/harddisk/3proxy/traf"
$/tmp/harddisk/3proxy/passwd

plugin /tmp/harddisk/3proxy/PCREPlugin.ld.so pcre_plugin



#WEB

nsrecord vkontakte.ru 64.233.187.99


#bandlimin 64000 * 192.168.1.200
deny * 192.168.1.200 * 80,443 * 1-4 00:00:00-18:30:00,21:30:01-24:00:00
allow * 192.168.1.200 * 80,443 * 1-4 18:30:01-21:30:00
deny * 192.168.1.200 * 80,443 * 5-7 00:00:00-07:30:00,22:30:01-24:00:00
allow * 192.168.1.200 * 80,443 * 5-7 07:30:01-22:30:00
#allow * 192.168.1.200 * * * 5-7 00:00:00-24:00:00
allow * 192.168.1.2 * * * 1-7 00:00:00-24:00:00
#allow * 192.168.1.200 * * * 1-7 00:00:00-24:00:00
#allow * 192.168.1.25 * * * 1-7 00:00:00-24:00:00
auth iponly
#auth none
proxy -a2 -p3128 -i192.168.1.100



#ICQ
flush
deny nata 192.168.1.200 * 5190 * 1-4 00:00:00-19:30:00,21:30:01-24:00:00
allow nata 192.168.1.200 * 5190 * 1-4 19:30:01-21:30:00
deny * 192.168.1.200 * 5190 * 5-7 00:00:00-07:30:00,22:30:01-24:00:00
allow * 192.168.1.200 * 5190 * 5-7 07:30:01-22:30:00
allow * 192.168.1.2 * * * 1-7 00:00:00-24:00:00
auth iponly strong
allow admin,igor,nata
socks


#adminka
flush
allow admin
admin -p8282

VOVA_iS
12-04-2008, 11:39
такой функционал есть в 3proxy http://3proxy.ru/plugins/PCREPlugin/
Но у меня запустить не получилось, может кому повезет больше.
Конфиг #!/usr/local/bin/3proxy
writable
pidfile /tmp/var/run/3proxy.pid

internal 192.168.1.100
external 0.0.0.0

nserver 82.144.192.130
nserver 82.144.192.131
nserver 82.144.192.32
nserver 82.144.192.30
nscache 65536
timeouts 1 5 30 60 180 1800 15 60

monitor /tmp/harddisk/3proxy/3proxy.cfg
#monitor /tmp/harddisk/3proxy/counters
monitor /tmp/harddisk/3proxy/passwd
#monitor /tmp/harddisk/3proxy/bandlimiters


log /tmp/harddisk/3proxy/proxy.log D
logformat "L%C - %U [%d/%o/%Y:%H:%M:%S %z] ""%T"" %E %I %O %N/%R:%r"
rotate 30
counter "/tmp/harddisk/3proxy/3proxy.3cf" D "/tmp/harddisk/3proxy/traf"
$/tmp/harddisk/3proxy/passwd

plugin /tmp/harddisk/3proxy/PCREPlugin.ld.so pcre_plugin



#WEB

nsrecord vkontakte.ru 64.233.187.99


#bandlimin 64000 * 192.168.1.200
deny * 192.168.1.200 * 80,443 * 1-4 00:00:00-18:30:00,21:30:01-24:00:00
allow * 192.168.1.200 * 80,443 * 1-4 18:30:01-21:30:00
deny * 192.168.1.200 * 80,443 * 5-7 00:00:00-07:30:00,22:30:01-24:00:00
allow * 192.168.1.200 * 80,443 * 5-7 07:30:01-22:30:00
#allow * 192.168.1.200 * * * 5-7 00:00:00-24:00:00
allow * 192.168.1.2 * * * 1-7 00:00:00-24:00:00
#allow * 192.168.1.200 * * * 1-7 00:00:00-24:00:00
#allow * 192.168.1.25 * * * 1-7 00:00:00-24:00:00
auth iponly
#auth none
proxy -a2 -p3128 -i192.168.1.100



#ICQ
flush
deny nata 192.168.1.200 * 5190 * 1-4 00:00:00-19:30:00,21:30:01-24:00:00
allow nata 192.168.1.200 * 5190 * 1-4 19:30:01-21:30:00
deny * 192.168.1.200 * 5190 * 5-7 00:00:00-07:30:00,22:30:01-24:00:00
allow * 192.168.1.200 * 5190 * 5-7 07:30:01-22:30:00
allow * 192.168.1.2 * * * 1-7 00:00:00-24:00:00
auth iponly strong
allow admin,igor,nata
socks


#adminka
flush
allow admin
admin -p8282


У меня получилось нет тут нечего сложного

plugin /opt/local/3proxy/PCREPlugin.ld.so pcre_plugin
pcre request deny "online.dll?|wysistat.com|porn|microsoft.com|sex|tr ahnu|" * *

Сhemist
13-04-2008, 12:37
А как тогда все запросы по 80 порту завернуть через проксю?
Так подойдет?
iptables -t nat -A PREROUTING -i vlan1 -d ! 192.168.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.0.1:3128

Сhemist
13-04-2008, 16:24
Нашел (http://forum.ubuntu.ru/index.php?topic=3244.0) решение для Squid (http://wl500g.info/showthread.php?t=13093).
Два варианта:
acl BANNER url_regex banner reklama linkexch banpics us\.yimg\.com[\./]ad[s]?[\./]
http_access deny BANNER и альтернатива acl banners url_regex "/etc/squid/banners.acl"
http_access deny banners где banners.acl - список блокировок, лежит тут (http://lip.kiev.ua/file/banners.acl) и может самостоятельно дополняться (не забывайте рестратовать squid после дополнения).
НЕ ЗАБЫВАЕМ что в squidе важен порядок правил в конфиге!

З.Ы. А завернуть унутренний трафик от 80 порта на 3128 пока не получилось :(

Игорь
13-04-2008, 17:27
iptables -I FORWARD -p tcp --dport 5190 -j DROP - запрет аськи
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3128 -заворот на проксю

Игорь
13-04-2008, 17:33
У меня получилось нет тут нечего сложного

plugin /opt/local/3proxy/PCREPlugin.ld.so pcre_plugin
pcre request deny "online.dll?|wysistat.com|porn|microsoft.com|sex|tr ahnu|" * *
Что то у меня по этой строке все заблочилось :eek:
Но оно хоть работает, пойду поковыряю.

Сhemist
13-04-2008, 18:29
iptables -I FORWARD -p tcp --dport 5190 -j DROP - запрет аськи

ты наверное хотел сказать
iptables -I FORWARD -p tcp --dport 80 -j DROP - запрет http и потом его заворот на 3128
Короче все заработало!

Игорь
13-04-2008, 18:48
ты наверное хотел сказать

не, все я верно сказал ;)

xkir
13-04-2008, 19:19
Давным давно, когда еще админил, решил на работе проблему при помощи http://www.privoxy.org/
Вроде видел эту штуку среди пакетов. кому охота - попробуйте.
но вообще блокировать сайты это дело неблагодарное, т.к. хитрый юзер вегда найдет лазейку - внешний прокси, или еще что...

bmenee
14-04-2008, 11:18
не надо ничего блокировать просто оповестить юзеров что логи по всем сайтам кроме рабочих автоматически пересылаются начальнику

Сhemist
14-04-2008, 18:59
кому охота - попробуйте.

Не, спасибо! Я squidоман или маsquidист :)

dmig
15-04-2008, 10:29
не надо ничего блокировать просто оповестить юзеров что логи по всем сайтам кроме рабочих автоматически пересылаются начальнику

+1!
причём реализовать логирование http и всякой аськи будет несложно :)
можно будет ещё пару раз вывесить в офисе распечатки со статистикой посещений урлов людьми.

rich
17-04-2008, 10:37
+1!
причём реализовать логирование http и всякой аськи будет несложно :)
можно будет ещё пару раз вывесить в офисе распечатки со статистикой посещений урлов людьми.

Вот как раз в тему! Как раз хочу такое реализовать и собственно логировать события. Как и на чём сделать? есть темы?

revenant
29-12-2008, 12:38
А как можно сделать в squid чтобы блокировка шла по шаблону, то есть
r1.mail.ru/*.swf
И блокировались разные
r1.mail.ru/454578945.swf
r1.mail.ru/45758324.swf
r1.mail.ru/347253465.swf