Блокировка Skype с использованием snort и iptables

4480
Vin

Я пытаюсь заблокировать Skype с помощью snortи iptables. Я прочитал много статей и заблокировал порт, ключевые слова и шаблоны, которые использует Skype. Но это все еще не заблокировано.

Мой вопрос: если Skype использует HTTP-порт 80 или https-порт 443, как компьютер распознает этот пакет как пакет Skype, а не как веб-пакет? Это может помочь мне в блокировке Skype.

5
Необходимо использовать «интеллектуальную» технику проверки пакетов - она ​​должна проверять фактические данные, чтобы решить, что делать. Как уже указывалось, невозможно отделить Skype от обычного трафика HTTP / HTTPS, не углубляясь в него - исключая возможность фильтрации на основе других характеристик конечных точек. (Проверка HTTPS обычно проблематична, не нарушая подразумеваемую безопасность через прокси ;-) В любом случае, вероятно, лучше для суперпользователей. pst 12 лет назад 0
Ты пишешь программу для блокировки скайпа или как? Shawn Mclean 12 лет назад 0
Нет, я не пишу программу. Я просто использую Snort и Iptables и пытаюсь заблокировать Skype с некоторыми правилами P2P. Vin 12 лет назад 0
@pst: верно. Так на что же смотрит компьютер, когда видит заголовки портов 80/443 для пересылки пакета в приложение Skype? Vin 12 лет назад 0

2 ответа на вопрос

1
Shadok

Вот ссылка на статью, представляющую правило Snort для блокировки Skype: http://www.md3v.com/block-skype-with-snort

Подпись, которую мы ищем здесь, это «17 03 01 00», которая является ответом, полученным клиентом, вошедшим в систему.
Если вам интересно, обязательно загляните на эту страницу: http://www1.cs.columbia.edu/ ~ САЛМАН / скайп /

Привет, Шадок, я уже пытался сделать все это. Но все же это не блокируется. Еще один момент: по какой-то причине я не вижу подписи 17 03 01 в своих дампах. Я фактически использовал те же правила, которые вы упомянули выше. Vin 12 лет назад 0
К сожалению, у меня нет экземпляра Snort под рукой, чтобы проверить их прямо сейчас, но я могу заверить вас, что в современных правилах они присутствуют, см. Sid: 5998 и sid: 5999 здесь: http: // www. snort.org/search Shadok 12 лет назад 0
1
Jan Schejbal

Regarding "how does the computer recognize this packet as a Skype packet and not as a Web packet?": The packet goes to whatever program is listening on the port. If Skype decides to use TCP/80 and accidentally starts to talk to a web server, the web server will be confused, throw an error (or refuse to reply) and Skype will give up. If a web client decides to connect to Skype, Skype will see the request and recognize it is not Skype.

That means that you cannot block Skype using the IP/Port info alone. Blocking based on the content with static rules assumes there is always a fixed signature. Since Skype is proprietary, the protocol may change at any time, making old rules useless. Skype is notoriously good at evading filters. I would not be surprised if they do somehting like adding a random key at the beginning and encrypting the rest of the traffic with Skype's proprietary version of RC4, either now or in the future. This would make it impossible to distinguish the traffic from random noise.

With port 443 traffic, they could also simply run a real SSL connection. This would make it very hard to distinguish (if done right) if you don't want to do traffic analysis (as in "amount and timing of traffic"). I don't know if they are doing it, but again, the proprietary protocol can change.

The most reliable way to keep users from using Skype may be scanning for the executables on the machines and/or LARTing users who violate policy by using it.

Also check for traffic on other ports. 80 and (more likely "or") 443 are probably just the minimum that Skype needs. It may be happy with some ports you missed, even if 80/443 are completely blocked. Check for UDP traffic!