Как стать автором
Обновить

Комментарии 51

А причем же тут циска? )
Циска тут осталась слегка за кадром, вы правы ) Powershell же здесь показан подробно как средство для решения основного вопроса — получения списка хостов.

Хочу заметить, основная идея данного топика — метод нахождения и последующей блокировки всех узлов Teamviewer, не более, но и не менее. Это первая публикация такого рода в интернете, до этого никто не задавался общим решением вопроса — в имеющихся ветках на форумах перечисляются только частные списки айпишников (которые, тем не менее, могут работать, о чём я сказал в тексте).
> В качестве промежуточного итога: Powershell жутко удобен для таких вот специфических админских задачек

Если не использовать Powershell, то весь Ваш скрипт можно написать, по сути, одной строкой.

for i in `seq 101 1020` ; do dig +short server$i.teamviewer.com; done |sort -u
правда для этого cygwin поставить надо :)
Отсюда вывод о пригодности Windows в плане удобства
> для таких вот специфических админских задачек
Вы правы, исторически юниксы были изначально заточены под администрирование из командной строки, и винда здесь в догоняющей позиции. Те же регэкспы появились только в powershell'е, а в юниксах они десятки лет. Да и иногда всё равно удобнее распарсить текстовый файл sed'ом.

Однако вот то, что по конвейеру передаются не просто текстовые данные, а объекты, со всеми их свойствами, у меня даже сейчас всё так же вызывает чувство радости типа «ух ты!». Хотя вроде уже и несколько лет прошло, а всё равно иногда радует. Не холивара ради, просто очень уж удобно.
> всё равно удобнее распарсить текстовый файл sed'ом
ратую за awk!

> иногда радует
угу в тот момент, когда догоняешь что они сделали алиасы на свои нативные команды для псевдонимов типа ls и т.п.
Ну не фига себе, сколько заядлых форточников… И ни кто не ленится еще и карму минуснуть помимо комента…
Нужно различать оболочку, в которой принципильно голый текст, и языки типа перла или питона где как раз и можно пользоваться объектами.

Так что нет, объекты в оболочке у меня восторга не вызывают.
нет, не надо. есть утилиты GnuWin, которые скомпилированны самостоятельно для запуска на виндовс
Тут надо молча улыбаясь секундочку посмотреть на PS скрипт, потом еще секундочку на sh… А потом просто поржать, и в конце добавить «no comments».
Та ну, у нас в PS можно также:
>>foreach ($_ in 1..11500) { $s+=[System.Net.Dns]::GetHostAddresses(«server{0}.teamviewer.com» -f $_) }

С использованием linq получилось бы еще красивее.
А у нас есть Perl. =)
А ничего не мешает заюзать и его посредством PS :-)
cmd
for /L %i in (1,1,16) do @ping -n 1 server%i.teamviewer.com | find «teamviewer.com»
Линуксовый вариант оценить затрудняюсь, но вот над решением в лоб средствами cmd я уже думал — не катит.
Да, действительно.

Сейчас попробовал прямо в командной строке
> del 1.txt
> for /L %i in (1,1,16) do @ping -n 1 master%i.teamviewer.com | find «teamviewer.com» >> 1.txt
> del 2.txt
> for /F «tokens=2 delims=[]» %i in (1.txt) do @echo %i >> 2.txt

И на сортировке задумался — выбросить дубликаты, кажется, будет сложновато.

Также пинг дает единственный адрес хоста. Нужно разбирать вывод nslookup и подумать, как отличать Address от Addresses.

Так что беру cmd-шный for обратно — тут с нормальным скриптовым языком все проще будет.
Даже не знаю, как назвать… Epic Shell или Power Fail…
Поясните?
Глупый вопрос, но… Можно ли поднять свой DNS-сервер и перенаправлять запросы к *.teamviewer.com на 127.0.0.1?
А вдруг TeamViewer как скайп — прорывается по голым IP, по любым портам, по любым протоколам.
скайп легко закрывается, если в инет разрешить только 80 порт через прокси, NAT udp и https не делать, кому надо скайп — открывать https на прокси.
торренты легко режутся на циске, объявляем нужные порты в class-map, выставляем нужные параметры в policy-map, в этом же policy-map создаем class-default и делаем ему скорость через police.

все проверено на своем опыте.
Создайте белый список программ которые можно запускать на машине.
Шутите? Виндовыми средствами, конечно, можно соорудить политики по запуску, но, почитав, как народ массово с этим мучается, даже думать не хочу в эту сторону. Это геморрой и на этапе первоначального сбора хэшей, и при каждом обновлении софта. Могу ошибаться, конечно.
НЛО прилетело и опубликовало эту надпись здесь
настроил файрвол — напиши на хабр. как будете решать вопрос с тем, что он через прокси работает?
Ну, во-первых, чтобы пустить teamviewer через прокси, пользователю всё-таки нужно приложить кое-какие усилия (мы говорим про пользователя, поймите). По умолчанию программулина всё-таки ходит напрямую.

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

А как бы вы предложили блокировать прокси?
проще всего принудительно всех на свой прокси зарулить. если с этим проблемы, то можно нетфильтром (iptables) резать соединения по проскакивающим в нём строкам — там прям открытым текстом много характерных строк вызелает. вот один пакетик из сессии для примера
Любопытный пакет, прямо-таки html-страничка в миниатюре. Спасибо, содержимое я не копал.

А на свой прокси всех зарулить — идея. Хотя на прошлой работе отдельные продвинутые пользователи ходили через всякие веб-анонимайзеры, и корпоративный прокси этому превентивно помешать не мог, поскольку браузер-то честно шёл через него.

Сейчас пытаюсь сообразить, а можно ли пройти через один (жестко заданный, корпоративный) прокси на другой? Ну, в смысле, не через браузер, а по портам. Хотя вон, Tor и Skype умеют.
анонимайзеры регэкспами блокируются, есть опубликованные большие списки.

Сейчас пытаюсь сообразить, а можно ли пройти через один (жестко заданный, корпоративный) прокси на другой?
вообще говоря да

у прокси-серверов есть метод CONNECT который не проксирует HTTP запрос, а просто открывает соединение к указанному адресу и порту, которым может быть порт следующего, каскадного прокси-сервера. чтобы такого не было, этот метод по дефолту оставляют разрешённым только для того, для чего он действительно жизненно необходим — это HTTPS, порт 443. поэтому-то этот порт так горячо любим всякими скайпиками, тимвиверами, торами, бесплатными открытыми опенвпнами — он обычно пролезает через прокси. я и сам так опенвпнился к своему серву, когда в билайне работал.

однако и у этой проблемы есть решение — ставят модуль к прокси-серверу, который подменяет SSL-сертификат и разбирает соединение на лету, эмулируя этот метод. решение так себе — и все серты сразу инвалидными становятся, и персональные сертификаты не будут работать, и приватность пользователя нарушена — но дело будет сделано.
Не знаю, как остальные браузеры, а Firefox сейчас вместо ругательств на неверный сертификат теперь стал просто блокировать такие адреса. Подозреваю, что Хром, Опера и даже IE тоже подтянутся, а может быть, кто-то и обогнал давно Мозиллу в этом в вопросе. Так что увы, это решение с подменой сертификатов скоро накроется, если ещё не.

Я вот думаю, а не собрать ли «белый список» сайтов с https, закрыв для остальных 443 порт нафиг? Крайняя мера, конечно.
ну или так, или же можно установить клиентам в браузеры свой удостоверяющий центр и тогда уже либо подписывать на лету сгенерённые доменные сертификаты, или использовать сертификат на очень широкий wildcard-домен — тут от конкретного софта зависит
НЛО прилетело и опубликовало эту надпись здесь
Так правила-то отключаемые, в этом вся и вкусность. Зашёл на циску, деактивировал пункт, и соединения снова проходят. С удалением или блокировкой запуска программ так гибко и оперативно сделать не получилось бы.
НЛО прилетело и опубликовало эту надпись здесь
Ай, там с оргстороны беда и разлад в этом вопросе. RDP предлагали (сами-то через него подключаемся), не понравилось. Программер сторонний, менять его бухгалтерия не даёт — это к вопросу про то, что работать с такими людьми не стали бы. Не будем о грустном.

Возвращаясь к политикам запрета запуска программ по хэшу — действительно можно отключить некий пункт и на клиентских машинах всё заработает через полминуты и без перезагрузки? Нет, правда интересно, просто по имеющимся описаниям это что-то громоздкое и неуклюжее.
ну клиентам можно gpupdate/force в командной строке запустить, должно работать и без перезагрузки

запрет лучше не по хэшу, а разрешить только запуск из директории куда пользователь не имеет прав на запись
НЛО прилетело и опубликовало эту надпись здесь
«дать бухам почитать про трояны мониторящие клиент-банки и ворующие эцепешные ключики, и ненароком поинтересоваться, кто из них несет ответственность в случае «неправильного перевода на неизвестный счет»»
может и есть исключения, в 95% случаев бух ответит, что виноват будет сисадмин, который не проконтролировал, не обеспечил, не среагировал и т.д. и т.п.
Вы у буха уточните кто будет отвечать, а не кто виноват по его мнению.
Еще вариант натравить на teamviewer антивирус, практически все они эффективны в этом плане.
А вот так пробовали?
url-regex client=DynGate
Спасибо за наводку, интересная штука, надо посмотреть.
А у TeamViewer GmbH нет своей AS?
Вы имели в виду такое колдунство?
я к безопасности и доступу в сеть извне подхожу по-другому:
1) запретить всё
2) подумать — нужно ли что-то?
3) обсудить и потребовать много бумажек на тему «нам нужно это, откройте пожалуйста»
4) подумать как бы не открыть лишнего
5) открыть только нужные приложения

собственно тогда вопрос «нужно закрыть приложение_Х» решается несколько проще :)
Как один из вариантов можно выпускать бухгалтеров через прокси, NAT им отключить. Оставить NAT лишь для клиент-банков на какие-то определенные destination-ip.
Автор виндовый админ? Чего-ж тогда ISA-сервер с клиентскими частями не настроите?
На ISA-firewall-е добавляете правило по ИМЕНИ ПРИЛОЖЕНИЯ и включаете/выключаете когда надо.
Автор виндовый админ, и даже когда-то работал с ISA, но в настоящее время имеется только циска.
бывает, что решать проблему надо на том, что есть, но…
как же всяческие специализированные layer7 фаерволы?
См. чуть-чуть выше )
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории