Мало кто из нас, ежедневно общаясь по скайпу, и одновременно при этом качая новинки аудио/видео продукции с популярных торрент-трекеров, задумывается над тем, что - является пользователем двух, по сути, очень схожих сетей.
В чем сходство? Это и в самом деле интересно.
Скачивая с трекера фильм, мы одновременно раздаем другим участникам сети свои файлы; в противном случае наш рейтинг упадет и мы потеряем доступ к этой возможности. Так?
Согласно логике Skype (кстати, на счету ее авторов - создание легендарной Kazaa) все хосты делятся на две группы - SC (клиенты) и SN (супер-узлы). Когда вы разговариваете по Skype, трафик идет не напрямую, а - через ряд супер-узлов, которые, тем самым, принимают на себя дополнительную нагрузку.
Установив на свой домашний ПК клиента Skype, вы предоставляете решение - быть или не быть ему сервером (супер-узлом) - сети Skype, суть которой (distributed self-organized peer-to-peer network, самоорганизующаяся децентрализованная пиринговая сеть) в том и состоит, что супер-узлы, обладающие приемлемой пропускной способностью канала и хорошими ресурсами железа (оперативная память, процессор), пропускают через себя еще и трафик клиентов, такими свойствами не обладающих; кроме того - помогают им обходить препоны NAT и сетевых брандмауэров.
Принцип тот же; каждому - по потребностям, от каждого - по способностям.
Любой системный администратор сталкивался со следующей проблемой - клиенты p2p-сетей не любят NAT (network address translation); и не работают в сети, где интернет раздается посредством трансляции сетевых адресов - без port-маппинга. Иными словами, пока сисадмин не пропишет на шлюзе правило - пакеты, приходящие по такому-то порту, перенаправить на такой-то хост/порт - torrent-клиент (который - не что иное, как клиент p2p-сети) его рабочей станции не скачает ни один файл с torrents.ru (нынешний RuTracker.org).
А для skype (несмотря на то, что - также p2p-клиент) все это - не помеха, и port-mapping ему не нужен; дело тут в том, что трафик такой машины принимает на себя супер-узел (вернее - цепочка супер-узлов), а выбраться из защищенной сети наружу помогает использование протоколов STUN и TURN. Система регулирует равномерную нагрузку между всеми участниками сети.
Чуть подробнее о протоколах... бесплатная и наиполезнейшая программулина в этом контексте заслуживает самого пристального внимания. Следует отметить многоуровневую, с использованием технологий обфускации (англ. - затемнение,запутывание), систему шифрования трафика и поразительную его, скажем так, жизнестойкость... достаточно сказать, что Skype способен работать как через tcp, так и через udp, и даже - через proxy; причем в последнем случае возьмет настройки напрямую из вашего браузера.
Некоторое время назад появилась на свет информация о том, что Skype при запуске просматривает файл /etc/passwd и пользовательский профиль Mozilla Firefox, плюс ряд файлов в /etc (линукс).
Что же - запретить использование скайпа в локальной сети невозможно?
Ну, скажем так, это непросто.
Распознать трафик достаточно сложно, ведь skype использует любую возможность выхода наружу, легко переключаясь с udp на tcp, используя, при необходимости, proxy. Запретив 80 и 443 порты, открываемые скайпом в момент запуска, мы ничего не добьемся - skype легко обойдется без них. Можно запретить udp, но tcp - не запретишь, иначе вообще никто не выйдет в интернет. С другой стороны, протокол передачи данных, используемый skype - недокументирован, и содержимое трафика, по которому можно было бы его распознать и заблокировать - тщательно шифруется.
Исполняемый файл skype хорошо зашифрован, сброс дампа проблематичен. Реализована проверка целостности - skype ревниво отслеживает любую попытку своего анализа, желая остаться для нас черным ящиком.
Возможно следующее решение - udp трафик skype блокируется при помощи следующего правила:
iptables -I FORWARD -p udp -m length --length 39 -m u32
--u32 '27&0 x8f=7' --u32 '31=0 x527c4833 ' -j DROP
а tcp трафик можно попытаться заблокировать по заголовку пакета, содержащему 170301h (этот идентификатор нестандартен для протокола обмена ssl-ключами).
Есть в Skype и другие дыры... которые представляют интерес лишь для необычайно дотошного сисадмина; рассматривать здесь мы их не будем.
Кто же является владельцем столь интересного продукта? и кто - автором?
Первый релиз Skype появился в 2003 году.
В 2009 году владельцем Skype - компанией eBay - было объявлено о возможности продажи Skype. В числе претендентов назывались группа инвесторов, возглавляемая Silver Lake, корпорация Google, а также - создатели Skype, Никлас Зеннстрём и Янус Фриис (первый - швед, второй - датчанин), будто бы пожелавшие выкупить у eBay свое детище. Завершение сделки планируется в 2010 г.