вторник, 14 октября 2014 г.

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

Что ж, будем последовательными. И заблокируем к чертям также и Hola. :)


Наши изобретательные офисные мастурбаторы так и пытаются найти какую-нибудь лазейку и выскользнуть из наших любящих рук. :)

Давайте исследуем вопрос поглубже.

"Что коза делает на нашем дереве?"

Наша нежно любимая Hola весьма похожа по реализации на ZenMate.

На первый взгляд кажется, что достаточно, как было написано в одной затерявшейся в гугле статейке, заблокировать домен hola.org и пару портов:


В этом списке hola.org, clients.hola.org и пара портов, используемых standalone-приложением Hola.

Увы, практический тест показал, что этого совершенно недостаточно.

Дело вот в чем.

Браузерные плагины (Chrome/Firefox) используют совсем не порты и ходят вовсе не на родительский домен.

Они соединяются с доменными именами вида zagentXXXX.hola.org, где XXXX-это цифры от 1 до 9999. 

Я не буду делать предположений, не номера портов ли это. Не знаю и знать не хочу. Важно выловить все адреса точек приземления и заблокировать их, подобно тому, как мы блокировали ZenMate.


Hola! Hola!

Что ж, приступим.

Опытным путем потыкав доменные имена zagentXXXX.hola.org палочкой, напишем скрипт для вылавливания всех адресов:

#!/bin/sh

for i in `seq 1 999`;
do
#echo "access-list 110 deny ip any`nslookup zagent$i.hola.org|grep Address|grep -v "127.0.0.1#53"|cut -f2 -d":"` 0.0.0.0"
nslookup zagent$i.hola.org|grep Address|grep -v "127.0.0.1#53"|cut -f2 -d":"
done

(Мой DNS-кэш работает по адресу 127.0.0.1. Кстати, проверять диапазон свыше 1-999 не имеет смысла, адреса начинают браться из одних и тех же сетей).

Получаем список из 841 IP-адреса:


ACL, пожалуй, будет великоват и через терминал не пролезет. :)

Пришлось загрузить список в Calc, отсортировать и сгруппировать. Сразу же обнаружились закономерности. И все адреса удалось собрать в 85 сетей. :)

Вот эти сети:

107.155.75.0/24
103.18.42.0/24
103.27.232.0/24
103.4.16.0/24
103.6.87.0/24
104.131.128.0/20
106.185.0.0/17
106.186.64.0/18
106.187.0.0/18
107.155.85.0/24
107.161.144.0/21
107.170.0.0/17
107.181.166.0/24
107.190.128.0/20
107.191.100.0/22
108.61.208.0/23
109.74.192.0/20
128.199.128.0/18
14.136.236.0/24
149.154.157.0/24
149.62.168.0/22
151.236.18.0/24
158.255.208.0/24
162.213.197.0/24
162.217.132.0/22
162.218.92.0/23
162.221.180.0/23
162.243.0.0/17
167.88.112.0/22
168.235.64.0/22
173.255.192.0/20
176.58.96.0/19
176.9.0.0/16
177.67.81.0/24
178.209.32.0/19
178.79.128.0/18
192.110.160.0/24
192.121.112.0/24
192.184.80.0/21
192.211.49.0/24
192.241.160.0/19
192.30.32.0/22
192.34.56.0/21
192.40.56.0/24
192.73.232.0/21
192.81.208.0/21
192.99.0.0/16
198.147.20.0/24
198.211.96.0/20
198.58.96.0/19
199.241.28.0/22
208.68.36.0/22
209.222.30.0/24
213.229.64.0/18
217.170.192.0/20
217.78.0.0/20
23.227.160.0/24
23.249.168.0/23
23.29.124.0/24
31.193.128.0/20
31.220.24.0/22
37.139.0.0/19
37.235.52.0/24
41.215.240.0/24
41.223.52.0/24
46.17.56.0/21
46.19.136.0/21
46.246.0.0/17
46.38.48.0/21
46.4.0.0/16
5.9.0.0/16
50.116.32.0/20
66.85.128.0/18
74.82.192.0/19
77.237.248.0/23
81.4.108.0/22
85.234.128.0/19
88.150.156.0/22
91.186.0.0/19
92.222.0.0/16
92.48.64.0/18
94.76.192.0/18
95.215.44.0/22
96.126.96.0/21


Это уже лучше, мы можем сделать нормальный и не слишком огромный ACL. Преобразуем CIDR в удобоваримый для Cisco вид и готово:


Hola! Hola!