LINUX.ORG.RU
ФорумAdmin

заблокировать vk.com через iptables

 ,


5

2

Здравствуйте! Достался мне небольшой старенький сервак, который работает шлюзом в небольшую локальную сеть. Пару лет назад, когда социальные сети еще только набирали популярность (в частности, Вконтакте) каким-то админом был настроен iptables на этой шлюзе, и для блокировки Вконтакте он использовал небольшой список из IP-адресов.

##vk.com##
$IPT -A FORWARD -s 87.240.131.97 -j DROP
$IPT -A FORWARD -s 87.240.131.98 -j DROP
$IPT -A FORWARD -s 87.240.131.99 -j DROP
$IPT -A FORWARD -s 87.240.131.100 -j DROP
$IPT -A FORWARD -s 87.240.131.101 -j DROP
$IPT -A FORWARD -s 87.240.131.102 -j DROP
$IPT -A FORWARD -s 87.240.131.103 -j DROP
$IPT -A FORWARD -s 87.240.131.249 -j DROP
$IPT -A FORWARD -s 87.240.188.248 -j DROP
$IPT -A FORWARD -s 87.240.188.249 -j DROP
$IPT -A FORWARD -s 87.240.188.250 -j DROP
$IPT -A FORWARD -s 87.240.188.251 -j DROP
$IPT -A FORWARD -s 87.240.188.252 -j DROP
$IPT -A FORWARD -s 87.240.188.253 -j DROP
$IPT -A FORWARD -s 87.240.188.254 -j DROP
$IPT -A FORWARD -s 93.186.224.240 -j DROP
$IPT -A FORWARD -s 93.186.224.241 -j DROP
$IPT -A FORWARD -s 93.186.224.242 -j DROP
$IPT -A FORWARD -s 93.186.224.243 -j DROP
$IPT -A FORWARD -s 93.186.224.244 -j DROP
$IPT -A FORWARD -s 93.186.224.247 -j DROP

Сейчас же серверов намного больше и блокировать их по IP сложно. Я еще только начинаю знакомство с iptables, прочитав их мануал нигде не встретил команды для блокировки именно URLa, а не IP.

Подскажите, если я добавлю в iptable вот такую команду, то перестанет работать Вконтакте или нет?

$IPT -A INPUT -s vk.com -j DROP
$IPT -A OUTPUT -d vk.com -j DROP

Я думаю что не сработает, потому что происходит фильтрация пакетов, а в пакете указывается IP-адрес отправителя/получателя, а не URL.

Если не будет работать, подскажите, пожалуйста, как заблокировать. Спасибо!



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

ipset

И тебе надо фильтровать в цепочке Forward.

Всё будет тогда.

IPT -A FORWARD -s vk.com -j DROP

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

А без поднятия прокси есть варианты?

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

Насколько я понял из мануала по iptables, цепочка FORWARD используется для пересылаемого (транзитного) трафика. А если рубить сразу входящий INPUT и исходящий OUTPUT, то и транзитного не будет))

Или я что-то не так понял)

Weman
() автор топика

http://www.opennet.ru/base/net/iptables_treasures.txt.html string?

iptables -A FORWARD -m string --string "vk.com" --algo kmp --to 65535 -j DROP
ipset выше советовали, только самопальный скрипт нужен который будет резолвить ip и добавлять в список.

Deleted
()
Ответ на: комментарий от Hope

Да от этого дерьма и прокси не спасёт. :)

А вообще зачем закрывать vk? :) Лучше собирать статистику, и тупо наказывать/увольнять бездельников ярых.

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

То есть достаточно написать для блокирования подсетей Вконтакте вот такой код:

$IPT -A FORWARD -s 95.142.200.0/21 -j DROP
$IPT -A FORWARD -s 87.240.128.0/18 -j DROP
$IPT -A FORWARD -s 93.186.224.0/21 -j DROP
$IPT -A FORWARD -s 93.186.232.0/21 -j DROP
$IPT -A FORWARD -s 95.142.192.0/21 -j DROP

Правильный синтаксис?

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

Согласен, это самый действующий способ! Кто захочет и через анонимайзеры полезет и много чего еще придумает! Но некоторым и неработающего сайта будет достаточно)

Weman
() автор топика

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

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

Так они через эти анонимайзеры тебе гавна в сеть принесут - ппц...

ИМХО делать так:

1. ставишь прозрачный прокси.

2. vnc на все машины

3. ставишь darkstat

Звонит начальник или забивается канал: выдираешь отчёты с прокси (любую веб морду ставишь).

Смотришь через darkstat общую статистку по хосту за месяц скажем: по всем портам и протоколам оно считает.

Тайно делаешь ряд скриншотов через vnc.

Представляешь отчёт начальству.

Профит.

И не нужно ничего блокировать и играть в господа бога.

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

А прозрачный прокси это значит хорошо и честно?

Тайно - имеется в виду по служебке от начальника.

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

И вообще мне если честно вообще насрать чего там юзеры делают. Попросили - я предоставил нужную информацию.

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

На лоре всегда есть два вида решения:
- как ТС вообразил решение себе в фантазиях (aka велосипед)
- то, что ему нужно на самом деле

в данном случае трудно понять какой вариант какой, по-моему мнению ТС делает это больше с целью самообразования и практики, а не реально закрытия контакта, что целесообразнее делать административными, а не техническими способами

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

Полностью согласен.

По-этому и написал:

И не нужно ничего блокировать и играть в господа бога.

Ибо чувствую, что ерундой занимается ТС... :)

DALDON ★★★★★
()

У нас админ на старом сервере поступал просто: статическая ARP-таблица и прозрачная прокся. После безобразий компьютер пользователя выкидывали из таблицы, занесение обратно осуществлялось через начальство с объяснительной.

nand
()

Зачем по ip если iptables умеет по заголовкам?

Хотя присоединяюсь, прокси идеальное решение.

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

ололо. зато у меня ненадёжней и не зависит от домена

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

Таз, ты же в ДЦ работаешь, должен знать, что крупную контору типа ВК проще банить по AS, чем по сотне доменных имён типа vk.com, userapi.com etc

anonymous
()

Я думаю что не сработает, потому что происходит фильтрация пакетов, а в пакете указывается IP-адрес отправителя/получателя, а не URL.

Да. Помимо всех советов, данных тут, еще как вариант из проксей - Dansguardian. Легко настроить на фильтрацию контента так, что даже через анонимайзеры не пустит на соцсети и прочий нежелательный контент.

Использование iptables -m string в таких целях - злой костыль. Будет резать всё, где попадуться байтики «vk.com». А еще злее использовать его с ACCEPT (видел и такое).

nstorm
()
Ответ на: комментарий от tazhate
ipset n acl_ips hash:ip
ipset add acl_ips 95.142.200.0/21 ## и туда же http://bgp.he.net/search?search%5Bsearch%5D=vkontakte&commit=Search

iptables -A FORWARD -p tcp --dport http -m set --match-set acl_ips dst -j DROP
anton_jugatsu ★★★★
()
Последнее исправление: anton_jugatsu (всего исправлений: 2)
Ответ на: комментарий от tazhate

Неа, я лишь согласился с коллегой, что дропать на л3 проще, чем на л7.

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

как-то так:

ipset create vkontakte_as hash:ip
whois -h whois.ripe.net -- -i or AS47541 | grep '^route:'| awk {'print $2'} | xargs -L 1 ipset add vkontakte_as
whois -h whois.ripe.net -- -i or AS47542 | grep '^route:'| awk {'print $2'} | xargs -L 1 ipset add vkontakte_as
iptables -A FORWARD -p tcp --dport http -m set --match-set vkontakte_as dst -j DROP

Оформить в скрипт с проверкой уже добавленных диапазонов и пхнуть в крон. В качестве операндов — только AS, никаких списков из подсетей, значит я забанил у себя AS при помощи iptables.

Антон, спасибо за пример и поддержку.

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

Оформить в скрипт с проверкой уже добавленных диапазонов и пхнуть в крон. В качестве операндов — только AS, никаких списков из подсетей, значит я забанил у себя AS при помощи iptables.

Ололо, у тебя там все равно список подсетей. Каким раком ты пихаешь в иптейблс его - третий вопрос. Банишь ты все равно не по АС.

tazhate ★★★★★
()
Ответ на: комментарий от baka-kun

Отсюда вытекает: если есть с кем установить bgp сессию (у админа апстрима за пивной абонемент выпросить), можно и на своём линукс-роутере заблекхолить.

А можно вообще покрасить, а потом в iptables вырезать. Кстати, тот же самый админ тебе входящий и раскрасит при достаточной заинтересованности.

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

Банить по AS проще некуда. Только не в iptables, а на маршрутизаторах, получающих фулл-вью. :)

Именно. А речь шла об iptables ;)

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

Странно, а layer7 в наши дни depreciated?

Layer7 в наше время фильтруется на DPI коробках. :)

baka-kun ★★★★★
()
Ответ на: комментарий от tazhate

Таз, для браузера и файрвола конечного пользователя AS — всё равно набор IP-адресов, среди которых размещены определённые сервисы одной организации в интернет, а не то, что подразумевает BGP.

Так что хоть укакайся, но это бан доступа к указанной AS при помощи iptables.

anonymous
()
Ответ на: комментарий от baka-kun

Много можете админов местечковых провайдеров привести в пример, которые без ведома начальства будут проводить операции по BGP с физлицами без каких-либо письменных согласований и регламента?

BTW, tazhate, если я закажу самый дешёвый ВПС скажем на квартал в Смачносервер, в какое количество литро-долларов пива мне обойдётся такая дружеская услуга у админов?

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

Так что хоть укакайся, но это бан доступа к указанной AS при помощи iptables.

Это не мне укакиваться надо, а тебе идти и читать про то, что такое AS.

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

BTW, tazhate, если я закажу самый дешёвый ВПС скажем на квартал в Смачносервер, в какое количество литро-долларов пива мне обойдётся такая дружеская услуга у админов?

Совсем не понял вопроса. Ты имеешь ввиду скидку при заказе на квартал? Это лучше уточнить у саппорта на сайте.

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

нет, вот выше некто-кун утверждает, что без труда можно найти админа, который с первым встречным согласится за регулярное пивное вознаграждение BGP-сессию установить. У вас такое панибратство практикуется или нет? Серьёзная контора ведь, не шарашка.

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