The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Раздел полезных советов: Блокирование Skype по IP-адресам во..."
Отправлено auto_tips, 11-Июл-11 14:13 
Раздумывая на досуге о наболевшем вопросе как заблокировать Skype, пришла идея, может она здесь уже описывалась, но всё таки решил поделиться личным опытом, может кому и пригодится.

Первый раз заблокировать Skype удалось путём перекрытия всех не нужных портов и кое каких правил в прокси squid, которые не давали соединятся по ip-адресам методом CONNECT. Но это не самый лучший вариант, так как блокируется и всё остальное, icq, маил агенты и т.п.
Новая идея основана на отслеживании и блокировке IP, на которые пытается соединиться Skype. И так, как я это делал (шлюз работает под управлением FreeBSD 8.1):


1. Нужен какой ни будь компьютер с Windows и установленным скайпом, желательно последней версии.

2. Отключаем на ПК все программы, которые могли бы обратиться в интернет, windows update и всё остальное (что бы эти адреса не попали в дальнейшем в список блокируемых).

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

4. На шлюзе настраиваем фаервол, что бы он блокировал весь сетевой трафик ПК с протоколированием:

   ipfw add 50 deny log logamount 10000000 all from ip_машины to any

пояснение: все обращение с нашей машины будут сыпаться с запретом в лог, у меня /var/log/all.log.

5. Включаем сбор логов и отсеиваем в отдельный файл:

   tail --f /var/log/all.log | grep ipfw: 50 > /usr/skype.ip

6. Включаем Skype на нашем компьютере и пытаемся залогиниться.
получаем в файле skype.ip примерно следующее:

   Jul  9 14:34:10 server kernel: ipfw: 50 Deny UDP 192.168.3.41:40335 217.114.226.118:37950 in via rl0
   Jul  9 14:34:11 server kernel: ipfw: 50 Deny UDP 192.168.3.41:40335 87.228.19.207:15134 in via rl0
   Jul  9 14:34:12 server kernel: ipfw: 50 Deny UDP 192.168.3.41:40335 95.52.139.143:52195 in via rl0
   Jul  9 14:34:12 server kernel: ipfw: 50 Deny UDP 192.168.3.41:40335 95.236.12.233:15842 in via rl0

Это малая часть моего примера из файла. Там больше записей.

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

8. Теперь нам нужно из всей этой каши отобрать IP, на которые обращался скайп и заблокировать в фаерволе. Я написал не большой скрипт, создаём файлик и пишем туда следующее:

   # Очищаем таблицу 1, если таковая существует.
   ipfw table 1 flush

   # Запускаем считывание ip адресов(сортируем и отбираем только уникальные записи,
   # потому что могут быть повторяющиеся), куда стучался скайп.
   awk '{print ($11)}' /usr/skype.ip | sed 's#:.*##' | sort | uniq |  while read ip;

      # Добавляем поочерёдно извлечённые адреса в таблицу 1.
      do ipfw table 1 add $ip
   done

9. Запускаем наш скрипт, если всё сделано верно, то таблица под номером 1 должна была заполниться адресами. Это можно проверить командой

   ipfw table 1 list

10. Всё, у нас есть таблица ip-адресов, куда соединялся скайп, теперь остаётся только написать правило:

   ipfw add 50 deny all from ip_машины to table\(1\)

11. Включаем скайп на нашей машине и проверяем, что скайп не может залогиниться.

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

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

Есть много способов вычислить адреса на которые стучится скайп. Мой пример - это один из вариантов и он проверен. Как часто обновляется база ip адресов я не знаю, но если эту операцию проделывать несколько раз в неделю, мне кажется можно поддерживать базу ip адресов в актуальном состоянии.


URL:
Обсуждается: http://www.opennet.ru/tips/info/2599.shtml

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру