LINUX.ORG.RU
решено ФорумAdmin

iptables vk_ok_facebook(Всеже их нужно блокировать)


1

2

Доброго дня всем, вобщем решил, я тут, все же заблокировать соцсети (не всем конечно) немного почитал, покурил маны, побороздил google и нашел подходящее как мне показалось решение, но что то не завелось((((

Вобщем ниже часть скрипта фаервола и выхлоп iptables -L -v

# AS32934 -- facebook.com
# AS47541 AS47542  -- vk.com
# AS49988 -- ok.ru
AS_TO_BAN="AS32934 AS47541 AS47542 AS49988"

#Исключения для некоторых пользователей
SOCIAL_ALLOW_IPs="10.0.2.203"
SOCIAL_ALLOW_MACs="00:15:5D:01:C9:01"
 
echo ""
echo "Block Social sites"
 
$IPT -N SOCIAL
 
# Разрешить кому можно по ip
for userip in $SOCIAL_ALLOW_IPs; do
  $IPT -A SOCIAL -s $userip -j ACCEPT
done
 
# Разрешить кому можно по mac
for mac in $SOCIAL_ALLOW_MACs; do
  $IPT -A SOCIAL -m mac --mac-source $mac -j ACCEPT
done
 
# Остальных drop
$IPT -A SOCIAL -j DROP
 
## ТУТ собираем все IP-диапазоны и блокируем доступ
for as in $AS_TO_BAN; do
    for ip in `whois -h whois.radb.net "!g$as" | grep /`
    do
      $IPT -A FORWARD -i eth0 -p tcp -d $ip -j SOCIAL
    done
done
:~$ sudo iptables -L -v
Chain INPUT (policy ACCEPT 204 packets, 22278 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 1935 packets, 1336K bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DROP       all  --  any    any     10.0.2.4             anywhere            
    0     0 DROP       all  --  any    any     10.0.2.6             anywhere            
    2    96 DROP       all  --  any    any     10.0.2.122           anywhere            
    0     0 DROP       all  --  any    any     10.0.2.125           anywhere            
    0     0 DROP       all  --  any    any     10.0.2.132           anywhere            
    3   144 DROP       all  --  any    any     10.0.2.146           anywhere            
    0     0 DROP       all  --  any    any     10.0.2.153           anywhere            
    0     0 DROP       all  --  any    any     10.0.2.159           anywhere            
    0     0 DROP       all  --  any    any     10.0.2.66            anywhere            
    0     0 ACCEPT     tcp  --  any    eth0    mail.vzsk.org        anywhere             tcp dpt:smtp
    0     0 DROP       tcp  --  any    eth0    anywhere             anywhere             tcp dpt:smtp
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             dr04.lla1.tfbnw.net/22 
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.63.176.0/20      
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             66.220.144.0/20     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             66.220.144.0/21     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.63.184.0/21      
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.63.176.0/21      
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             ae1.pr01.ams3.tfbnw.net/22 
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.171.255.0/24     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             ae2.bb05.prn2.tfbnw.net/18 
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.171.224.0/19     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.171.224.0/20     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             ae5.br01.vie1.tfbnw.net/22 
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.63.176.0/24      
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             ae2.bb05.prn2.tfbnw.net/19 
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             173.252.70.0/24     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.64.0/18       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.24.0/21       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             66.220.152.0/21     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             66.220.159.0/24     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.171.239.0/24     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.171.240.0/20     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.64.0/19       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.64.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.65.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.67.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.68.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.69.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.70.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.71.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.72.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.73.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.74.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.75.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.76.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.77.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.96.0/19       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.66.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             173.252.96.0/19     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.63.178.0/24      
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.78.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.79.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.80.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.82.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.83.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.84.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.85.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.86.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.87.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.88.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.89.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.90.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.91.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.92.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.93.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.94.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.95.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.171.253.0/24     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.63.186.0/24      
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             31.13.81.0/24       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             179.60.192.0/22     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             179.60.192.0/24     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             179.60.193.0/24     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             179.60.194.0/24     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             179.60.195.0/24     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             185.60.216.0/22     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             45.64.40.0/22       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             dr04.lla1.tfbnw.net/22 
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.63.176.0/20      
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.63.176.0/21      
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.63.184.0/21      
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             66.220.144.0/20     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             69.63.176.0/20      
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             srv0-224-186-93.vk.com/21 
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             srv0-232-186-93.vk.com/21 
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             srv0-128-240-87.vk.com/18 
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             srv0-192.vkontakte.ru/21 
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             95.213.0.0/18       
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             185.32.248.0/22     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             srv0-200.vkontakte.ru/21 
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             srv0-192.vkontakte.ru/20 
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             217.20.144.0/20     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             185.16.244.0/23     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             185.16.246.0/24     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             185.16.247.0/24     
    0     0 SOCIAL     tcp  --  eth0   any     anywhere             5.61.16.0/21        

Chain OUTPUT (policy ACCEPT 193 packets, 27073 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain SOCIAL (85 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  any    any     10.0.2.203           anywhere            
    0     0 DROP       all  --  any    any     anywhere             anywhere       

Как я понял, из листинга, правила сработали, но вот доступ к сайтам как был открыт так и остался.

Может кто подскажет ЧЯДНТ

★★★

Последнее исправление: julixs (всего исправлений: 2)

Может кто подскажет ЧЯДНТ

Ты не используешь SQUID для этих целей. И да: ты им пол Интернета сломаешь. На других сайтах будут черезжёпности, ибо вместо кнопок от соц. сетей ты получишь лютое УГ. И прочие чудеса, вероятно некоторые сайты даже постарадют в плане форматирования из-за этого.

Да, и кстати зачем ты хочешь заблочить социалочки? :(

DALDON ★★★★★
()
Последнее исправление: DALDON (всего исправлений: 3)

#Исключения для некоторых пользователей
SOCIAL_ALLOW_IPs=«10.0.2.203»
SOCIAL_ALLOW_MACs=«00:15:5D:01:C9:01»

Коррупция в самом чистейшем виде.

nanoolinux ★★★★
()
Ответ на: комментарий от DALDON

Ты не используешь SQUID для этих целей

Прозрачный Squid3+sams2+rejik временно отключен, пока те у кого

Синдром админа вахтера

вояют списки доступа, которые я должен буду скормить самсу и на их основе создать шаблоны(не все так просто, пока +100500 подписей не собирут и не утвердят, ни куда не плюнешь) А пока пришла служебка заблокировать 3-и соцсети. Вообще данная конструкция должна будет блокировать доступ по https

$IPT -A FORWARD -i eth0 -p tcp --dport 443 -d $ip -j SOCIAL
ведь squid в прозрачном режиме этого пока не может.

На других сайтах будут черезжёпности

Об этом предупреждал, да пофиг, мол есть бумажка, должны отработать((

Так все же, где я таки в скрипте напортачил?

julixs ★★★
() автор топика
Ответ на: комментарий от nanoolinux

Коррупция в самом чистейшем виде.

Не понял?

julixs ★★★
() автор топика
Ответ на: комментарий от julixs

Ну рассказывай как решил. Интересно всё же.

То, что тебе в прозрачном режиме придётся отключать https, средствами iptables, это конечно очень жёстко. Но по-другому никак, если в лоб. - Я через wpad раздаю squid, а через kerberos выполняю прозрачную аутотентификацию. - Сегодня удалось прикрутить даже HOME версии windows на это дело. Взлетело на ура!

DALDON ★★★★★
()
Ответ на: комментарий от DALDON

«Помогли решить))» Было написанно в ответ на это:

Либо не он решил, либо он таки вахтер.

То, что тебе в прозрачном режиме придётся отключать https, средствами iptables, это конечно очень жёстко

Отключать не придется просто блокировать некоторые ресурсы на которые по https тоже ходить можно, а по всему остальному понятно дело статистика и все такое. Это все в ближайшем будущем.

А что касается темы, так на ум ни чего и не приходит(( Сейчас на домашней машине эксперементирую с input output цепочками

julixs ★★★
() автор топика
Ответ на: комментарий от DALDON

Ну вообщем если:

for as in $AS_TO_BAN; do
    for ip in `whois -h whois.radb.net "!g$as" | grep /`
    do
      $IPT -A OUTPUT -p tcp -d $ip -j REJECT
    done
done
работает) а если -j SOCIAL не хочет((

julixs ★★★
() автор топика
Ответ на: комментарий от julixs

Сори, я ничем особо не могу помочь, для меня вообще загадочно выглядит цикл:

for ip in `whois -h whois.radb.net "!g$as" | grep /`

А поднять свой DNS, и замкнуть на localhost неугодные сайты не вариант? Ну и вестимо заблокировать все остальные DNS.

А кажись ты тут это откопал...: http://demon.of.by/blog/linux-admin/how-to-block-social-networks-via-https-us...

DALDON ★★★★★
()
Последнее исправление: DALDON (всего исправлений: 1)
Ответ на: комментарий от DALDON

скрипт и был взят с представленного ресурса, даже под себя перепиливать особо не нужно, я там вопрос в первую очередь задал, только он на модерации застопорился. Смысл цикла в том, что в ip заносятся подсети из автономных систем, которые можно увидеть в листинге. localhost не варик сайты не просто надо заблочить наглухо, а так чтобы несколько поль-ей могли туда ходить(по рабочим моментам конечно же).

С блоком я разобрался сначало accept по url кому можно, потом reject для всех, но по урл некамельфо блочить, если адрес резольвица в несколько ip то стоько правил и убдет созданно, вроде бы. Уменя уже спортивный интерес к этому коду))) Как я понимаю после прохожденя форворд если пакеты принадлежат кому нить из $ip то они должны передаться в цепочку социал где либо дропнуться либо вернуться, чего не происходит.

julixs ★★★
() автор топика
Ответ на: комментарий от julixs

Поменял SOCIAL на social и на домашнем компе заработал правда через цепочку output, ну и forward тоже должен будет, завтра проверю, а вот то что свои цепочки тольо в нижнем регистре обзывать вроде ни где не сказанно?)

julixs ★★★
() автор топика
Ответ на: комментарий от julixs

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

Если в качестве DNS используется BIND, то это легко весьма делается. Тем кому надо, будут приходить правильные ответы.

Как блокировку по DNS, так и по ip, скорее всего можно обойти Opera какой-нибудь с прокси режимом... Хотя может по DNS даже будет сложнее обойти.

DALDON ★★★★★
()

не всем конечно

А зря.

По сабжу: зачем такие извращения? SimpleBlock для браузера вполне хватит. Если надо общесистемно — /etc/hosts.

MiniRoboDancer ★☆
()
Ответ на: комментарий от DALDON

У нас DNS на 2k3 развернут, я че рез него тимвивер и амми на локалхост заворачивал, бугалтера черезчур умные попались, не успевали с отчетностиь компы не выключали и из дома потом работали.

Обойти легко ананимайзером))) и юзеры про это в курсе и это печалит(( в плане список их бесконечен - 5 блочишь на следущий день 10 появилось.

julixs ★★★
() автор топика
Ответ на: комментарий от julixs

Так и твою блокировку с iptables тоже очень не сложно обойти. Сейчас в Интернет полно всяких сайтов, куда входишь, вводишь свой логин/пасс и они тебе показывают окно социалочки через свой сайт. - Проще простого же. А на свои логины/пароли - хомячкам пофиг. Ну и вот у нас в бухгалтерии нету Интернета... И ты думаешь это всех лечит..? Как бы не так! Они приносят свои планшетики, и сидят тыркаются... Лучше уже пусть ходили бы через squid, так хотя бы можно было бы смотреть отчёты, и Руководство понимало бы чем они РЕАЛЬНО занимаются на рабочих местах...

DALDON ★★★★★
()
Ответ на: комментарий от julixs

ведь squid в прозрачном режиме этого пока не может.

Таки может, но насколько это легально и этично - вопрос другой

google://squid transparent ssl bump

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от DALDON

Вообще данная конструкция должна будет блокировать доступ по https

всем остальным займется SQUID,как только списки утвердят(я выше уже говорил), а пока да тотальная блокировка(( По поводу сайтиковананимайзеров держи список в актуальном состоянии и со временем юзеры устанут искать замену и плюнут на это, только и немного свободы надо давать, например 30 мин утром, весь обед, час в конце рабочего дня пользуйте пожалуста))

julixs ★★★
() автор топика
Ответ на: комментарий от julixs

Да проще дать доступ на всё. Особо ретивым по отчётам squid выдать нагоняи с лишением премии. И всё станет ок. :)

DALDON ★★★★★
()
Ответ на: комментарий от julixs

Возможность есть, если ты не хочешь ей пользоваться, потому что это геморрой - это твое дело. Главное, что она есть.

Я ей тоже не пользуюсь, потому что это - чистой воды man-in-the-middle

Pinkbyte ★★★★★
()

А с ТОРом что делать предлагается?

Yustas ★★★★
()
iptables -A FORWARD -m string --string "vk.com" --algo bm --from 1 --to 600 -j REJECT --reject-with icmp-port-unreachable

Чем сие не подходит?

Обед:

1) сохраняем до фильтрации iptables-save > /etc/name1

2) сохраняем c фильтрацией iptables-save > /etc/name2

3) Cron:

   mm hh	* * *	root	iptables-restore < /etc/name1 
   mm+1 hh+1	* * *	root	iptables-restore < /etc/name2

dimderbin
()
Последнее исправление: dimderbin (всего исправлений: 5)
Ответ на: комментарий от dimderbin

mm hh+1 (это условно, так писать не надо!)

59 11	* * *	root	iptables-restore < /etc/name1 
59 12	* * *	root	iptables-restore < /etc/name2
dimderbin
()
Последнее исправление: dimderbin (всего исправлений: 1)
Ответ на: комментарий от MiniRoboDancer

SimpleBlock для браузера вполне хватит. Если надо общесистемно — /etc/hosts.

Поприносят планшеты и будут с них сидеть в этом их втентакле.

haku ★★★★★
()
Ответ на: комментарий от haku

Элементарно решается: ставим везде GSM-глушилки, и не паримся!

Eddy_Em ☆☆☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.