The OpenNET Project / Index page

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

Блокирование Skype по IP-адресам во FreeBSD
Раздумывая на досуге о наболевшем вопросе как заблокировать 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 адресов в актуальном состоянии.
 
09.07.2011 , Автор: Тикунов Максим
Ключи: skype, freebsd, firewall, ipfw / Лицензия: CC-BY
Раздел:    Корень / Администратору / Сетевая подсистема, маршрутизация / Пакетные фильтры и фаерволы / Пакетный фильтр в FreeBSD: ipfw, IP-Filter

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, samm (ok), 14:13, 11/07/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ужасное решение. Откройте для себя снорт, наконец.
     
     
  • 2.2, samm (ok), 14:24, 11/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    И, кстати, я соверешнно не понимаю кто (или что) мешает вашим пользователям использовать прокси не по адресу, а по хостнейму, гг.
     
     
  • 3.3, Sw00p aka Jerom (?), 16:06, 11/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    а что мешает делать прокси-сервер прозрачным ?
     
     
  • 4.6, samm (ok), 16:15, 11/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > а что мешает делать прокси-сервер прозрачным ?

    Это ничего не изменит. Кстати, я вообще вижу не очень много смысла в прокисровании ссл траффика - фильтрацию все равно не добавить (как и кеширование), ну разьве что статистику считать чуток удобнее.

     
     
  • 5.10, Sw00p aka Jerom (?), 16:25, 11/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> а что мешает делать прокси-сервер прозрачным ?
    > Это ничего не изменит. Кстати, я вообще вижу не очень много смысла
    > в прокисровании ссл траффика - фильтрацию все равно не добавить (как
    > и кеширование), ну разьве что статистику считать чуток удобнее.

    да плохая идейка проксировать ссл - я предпочитаю натировать

     
  • 4.25, Aquarius (ok), 20:04, 13/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > а что мешает делать прокси-сервер прозрачным ?

    а с каких пор skype работает по http?

     
     
  • 5.34, Nik (??), 18:35, 28/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще-то с рождения. :-)
    Он пробует разные протоколы, и если ничего не получается, врубает http.
     
  • 3.7, max88 (ok), 16:18, 11/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Имеется ввиду не само обращение пользователя к прокси серверу, а уже скайпа к своим серверам. Скайп всегда обращается к серверам по ip-адресам, а не по хостнеймам.
     
     
  • 4.8, samm (ok), 16:21, 11/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    А, понятно. Ну да, это логично запретить, не думаю что кто-то использует ссл с айпи только.

    > Имеется ввиду не само обращение пользователя к прокси серверу, а уже скайпа
    > к своим серверам. Скайп всегда обращается к серверам по ip-адресам, а
    > не по хостнеймам.

     
  • 2.4, Sw00p aka Jerom (?), 16:08, 11/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Ужасное решение. Откройте для себя снорт, наконец.

    по ваше анализировать в реалтайме трафик - это круто ? нежели один раз проснифать и статически всё блочить

     
     
  • 3.5, samm (ok), 16:13, 11/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> Ужасное решение. Откройте для себя снорт, наконец.
    > по ваше анализировать в реалтайме трафик - это круто ?

    Это не "круто", это то, как работают все современные IDS.

    > нежели один раз проснифать и статически всё блочить

    1 раз в неделю вы хотели сказать. При этом решение требует еженедельного ручного обновления. И обходится элементарно. А так - все круто, да, нет сомнений.


     
     
  • 4.9, Sw00p aka Jerom (?), 16:23, 11/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >>1 раз в неделю вы хотели сказать.

    то есть вы хотите сказать что скайп обращается к нодам авторизации не на прямую а через посредников ?

     
     
  • 5.12, max88 (ok), 16:27, 11/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >>>1 раз в неделю вы хотели сказать.
    > то есть вы хотите сказать что скайп обращается к нодам авторизации не
    > на прямую а через посредников ?

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

     
     
  • 6.14, Sw00p aka Jerom (?), 16:33, 11/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >>>>1 раз в неделю вы хотели сказать.
    >> то есть вы хотите сказать что скайп обращается к нодам авторизации не
    >> на прямую а через посредников ?
    > Да, у скайпа есть такая возможномсть, соединиться через другой компьютер, где запущен
    > скайп. В реальной сети я пробовал это, компьютер на котором запрещён
    > скайп, не смог соедениться через другой компьютер, на котором был запущен
    > скайп и был в сети. Возможно это будет работать, только при
    > наличии каких то определённых параметров, таких как мощность компьютера, скорость соединения
    > с интернетом и т.д.

    ___h_t_t_p://www.villoing.net/dossiers/skype.pdf

    всё равно можно статически (статическими правилами файервола) блочить скайп
    выявлять сигнатуры пакетов на авторизацию

    тоже самое и делают IDS
    так же и блочиться p2p (который как три года успешно режу по сигнатуре)

     
     
  • 7.16, Аноним (-), 17:45, 11/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > __h_t_t_p://www.villoing.net/dossiers/skype.pdf
    > всё равно можно статически (статическими правилами файервола) блочить скайп
    > выявлять сигнатуры пакетов на авторизацию

    А можно реальные примеры правил блокировки или хотя бы сигнатур ? А то в том документе только расплывчатые теоретические выкладки.

     
     
  • 8.17, samm (ok), 17:48, 11/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Вас точно забанили в гугле Посмотрите правила снорта ... текст свёрнут, показать
     
     
  • 9.22, Sw00p aka Jerom (?), 14:13, 13/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    http www carbonwind net Firewalls BlockingSkypewithPfsenseandSnort BlockingSky... текст свёрнут, показать
     

  • 1.11, Bestman (?), 16:26, 11/07/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Зачем всё это? Не проще перекрыть порты skype?
     
     
  • 2.13, max88 (ok), 16:30, 11/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Зачем всё это? Не проще перекрыть порты skype?

    Да, можно, и проще всего. Видите ли, запретив все порты, мы запретим и 443(https), а его используют давольно часто, придётся жёстко прописывать в браузере адрес прокси сервера, т.к. прозрачного https проксирования не существует, на сколько я знаю. И к тому же мы перекроем доступ к аське и маил агенту, а может их не надо закрывать. Опять же, их можно пустить через проксю, но это геморно. ИМХО.

     
     
  • 3.27, Mikula (?), 16:05, 22/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >к тому же мы перекроем доступ к аське и маил агенту

    IMHO нет. Т.к. "стандратный" аськин порт 80-ый. К тому же ася-зло

     
  • 2.15, samm (ok), 17:37, 11/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Зачем всё это? Не проще перекрыть порты skype?

    ГГ ) Нет никаких "портов скайп".

     
     
  • 3.28, Mikula (?), 16:06, 22/07/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Зачем всё это? Не проще перекрыть порты skype?
    > ГГ ) Нет никаких "портов скайп".

    ГГ ) Т.е. связь через астрал, так и запишем :-D

     
     
  • 4.29, samm (ok), 16:09, 22/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > ГГ ) Т.е. связь через астрал, так и запишем :-D

    хорошо, 1-65535, вам так легче? Добавим в фаер блокировку по портам, ась?

    Удивительно, что только не делают вместо того, чтобы немного почитать об обсуждаемой теме.


     
     
  • 5.32, Mikula (?), 10:42, 28/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >хорошо, 1-65535, вам так легче?

    Что, узнали диапазон портов? Возьми с полки пряник

     
  • 5.33, Bestman (?), 10:47, 28/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> ГГ ) Т.е. связь через астрал, так и запишем :-D
    > хорошо, 1-65535, вам так легче? Добавим в фаер блокировку по портам, ась?
    > Удивительно, что только не делают вместо того, чтобы немного почитать об обсуждаемой
    > теме.

    Т.е. всё же порты используются? Молодец! Растёшь на глазах.

     

  • 1.18, Гость (?), 10:30, 12/07/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Автор русский язык в интернете учил?
     
  • 1.19, mastertron (?), 18:37, 12/07/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не, не получится по IP. Я с успехом заблокировал и скайп и тимвьювер с помощью squid acl ... browser ... Запихнул в список строки приветствия используемых в сети браузеров, остальные - отдыхают.
    Подробней тут http://forum.lissyara.su/viewtopic.php?f=4&t=30321&hilit=squid+mastertron
     
  • 1.20, Аноним (-), 09:01, 13/07/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Какое-то кривое пионерское решение. Что такой недо-совет делает на опеннете? Столь мощные советы школьного уровня позорят ресурс: такие горе-советы более уместны в журнале "ксакеп", там их поймут и даже поверят что все эти извращения - типа круто.
     
  • 1.23, dima (??), 15:57, 13/07/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а зачем нужно блочить скайп ?
     
     
  • 2.24, Andrey Mitrofanov (?), 17:22, 13/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы ФСБ не слушало, очевидно же.
     

  • 1.26, Кос (??), 21:17, 17/07/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    А почему Скайп вообще установлен у этих пользователей?
     
     
  • 2.30, Maresias (ok), 15:38, 24/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > А почему Скайп вообще установлен у этих пользователей?

    Чтобы можно было блокировать ему доступ в инет. Просто выпилить - это скучно :)

     
  • 2.31, Аноним (-), 12:11, 27/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > А почему Скайп вообще установлен у этих пользователей?

    У них личные ноутбуки :)

     
     
  • 3.35, count0 (ok), 08:27, 18/08/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> А почему Скайп вообще установлен у этих пользователей?
    > У них личные ноутбуки :)

    Подобные вопросы (о разрешении/запрещении использования определенного ПО) определяются корпоративной политикой. Директор выпускает распоряжение о списке разрешенного ПО (на "личных" ПК можно запретить его запускать во время подключения к ресурсам компании). Всё остальное - разрешается по служебке, которые хранятся в сейфе. При 1м фиксировании нездоровой активности с ПК - пользователю отправляется предупреждение о нарушении корп. политики (со скриншотом лога во вложении), копия - на его непоср. руководителя. При повторном нарушении - последнее китайское, с копией на директора предприятия, поднимается вопрос о необходимости использования интернета данным сотрудником, его соответствии занимаемой должности. При 3м нарушении - интернет отключается без предупреждений, подключение - по письменному указанию директора.

    Работает на 100% эффективно, снорт не нужен (хотя и стоит, но для других целей, прикрывает внешку). Юзеры поначалу качают права, после пары увольнений начинают относиться очень вежливо и доброжелательно.  

    Дружите с директорами - работы становится намного меньше ;-)

     


     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




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

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