суббота, 4 октября 2014 г.

Cisco: Как заблокировать ZenMate


Введение

Мониторные дрочеры (офисные мастурбаторы), мальчики и девочки, публика изобретательная. Вы можете сколько угодно извращаться, строя прокси, невидимый снаружи. Но как только эти прыщавые рожи ударятся об блокирующую страницу, в их цыплячьи мозги тут же приходит мыслишка погуглить фразу "Как обойти прокси/наколоть злого админа".

Возможно, я бы ничего против не имел, что чьи-то подчиненные целыми днями напролет долбятся в порнуху и ни черта не делают на работе полезного, но я видел логи и знаю - если закрыть на это глаза, гигабайты будут улетать в никуда и минимум 95% канала будет забито. В том числе в тех случаях, когда вам позарез нужна пропускная для дела - например, в конце месяца.

Поскольку ни одному админу не нравится, когда его пытаются обжулить, мы принимаем меры защиты. Ну, например, наиболее очевидное решение - заблокировать все Веб-VPN, анонимайзеры и прочую чушь:


default {
#!in-addr
pass white updatesites !adv !banners !drugs !porn !sex !sex2 !dating !spyware !anonvpn !redirector !var !costtraps !games !games2 !tracker !movies !music !models !urlshortener !webtv all
rewrite media
redirect http://localhost:8080/cgi-bin/blocked?clientaddr=%a&url=%u&targetgroup=%t
}

Это кусочек squidGuard.conf, решающий данную задачу. Блоклист лично я использую от Shalla Secure Services, и наиболее не искалеченную интеллектом публику он заворачивает. Хождения по IP-адресам тоже блокируется легко и непринужденно средствами HTTP-прокси.

И все было бы ничего, если бы лазили исключительно через HTTP.

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

Ну, почти позволяющие.

Большая часть этих плагинов не заслуживает даже обсуждения.

Например, FriGate. Без собственного списка прокси-серверов или платных сервисов он практически ничего не стоит против даже обычного сквида. Ну а платить наши дрочеры за свое хобби не готовы. Равно как и напрягать свои иссушенные мозги - так как FriGate все же требует юзера, оборудованного неким подобием мозга для большей-меньшей эффективности. :) (Кстати, их домен продается - видимо, приказали долго жить под давлением ГлавМарсЖандарма :)).

Есть, однако, новомодный плагин к наиболее распространенным браузерам (Chrome, Firefox, и даже Opera ;)), который на первый взгляд кажется волшебной пулей и который представляет определенную угрозу неопытным администраторам. ;)

Это ZenMate.

Гугл переполнен рекомендациями по его использованию и воплями недоношенных администраторов на тему его блокирования. :)

Почитав маркетинговые заявления компании-разработчика и слегка посмеявшись, я взял в руки инструменты. :)

Как устроен ZenMate

Разработчик заявляет, что это не традиционный VPN и не туннель в общепринятом понимании. Следовательно, средства DPI до поры-до времени сосут.

Внимательный осмотр показал, что плагин представляет собой клиента, выходящего через серию обнаруживаемых им свободных портов (подобно тому, как пролезает в любую доступную жопу Skype) на группу серверных площадок в более-менее демократичных странах с фиксированными адресами через шифруемое соединение. Предварительно пользователя плагина аутентифицируют в сети 162.159.244.0 0.0.0.255 (собственно, по минимуму было бы достаточно заблокировать одну эту сеть. Нет аутентификации - нет проксирования. Однако, поскольку сервисы зачастую бывают достаточно отзывчивыми к своей ЦА, этой сетью мы не ограничимся).

После чего плагин пробрасывает браузерное соединение по HTTP/HTTPS до точки приземления, которую выбрал пользователь. 

Да, они заявляют, что скрывают IP адрес пользователя от сервера - и поверхностное вскрытие показало, что так оно и есть.

Однако - даже против Tor Browser эта так называемая защита никакая. Она позволит обойти прокси администратора-недоноска в "Рога-и-Копыта, Inc.", но серьезной анонимности и безопасности не предоставит. Если вы - враг государства и настолько глупы, чтобы полагаться на браузерный плагин - вы уже спалились и так вам и надо, добро пожаловать на отсидку. :) Поделом - за безграничную глупость.

Более того, мало-мальски продвинутый системный администратор вам легко перекроет кислород - и поделом, за безграничную наглость. :)

Как заблокировать ZenMate

Новички - не обольщайтесь, адреса точек входа ZenMate не фиксированы. Хотя их значительно - на порядки - меньше, чем точек входа Tor, тем не менее их не полдюжины.

Для их нахождения потребовалось три инструмента: MyIP.ru,  tcpiputils и IP Calculator.

Алгоритм действий был предельно прост.

1. Включаем ZenMate
2. Заходим на MyIP. Записываем адрес.
3. Включаем следующий по порядку location ZenMate. Переходим к точке 2.
4. После записи адресов всех точек посадки туннеля открываем tcpiputils.

И видим следующую картину. Точки приземления - это сети, примерно от /17 до /24. Некоторые точки посадки снабжены PRT-записью secured-by.zenmate.com.

Вот эти сети (на текущий момент):

162.159.244.0 0.0.0.255
78.137.96.0 0.0.7.255
46.165.192.0 0.0.63.255
207.244.64.0 0.0.63.255
178.162.128.0 0.0.127.255
179.43.128.0 0.0.31.255
88.150.192.0 0.0.31.255
31.7.56.0 0.0.7.255
185.12.44.0 0.0.3.255
103.10.197.0 0.0.0.255
37.58.48.0 0.0.15.255
5.152.192.0 0.0.31.255
81.17.16.0 0.0.15.255
199.115.112.0 0.0.7.255
103.10.199.0 0.0.0.255

Да, это уже в формате ACL Cisco ;)

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

Что ж, мониторные дрочеры влипли. :)

Заходим на заднюю Cisco нашей инфраструктуры и заводим extended ACL list:


Администраторскую сеть мы пропускаем - в дальнейшем нам может понадобиться ловить новые точки приземления ;), и не забываем финальное разрешающее правило - а то весь интернет обрубите ;)).


Осталось этот ACL повесить на внутренний порт (который смотрит в LAN):


Вот и все, мальчики и девочки.

Инфраструктура сети, в которой все это делалось, изображена на схеме:

Команды, приведенные выше, выполнялись на Cisco 2911, на порту Ge0/1.