我正在尝试使用snort
和来阻止 Skype iptables
。我阅读了很多论文并阻止了 Skype 使用的端口、关键字和模式。但它仍然没有被阻止。
我的问题是:如果 Skype 使用 HTTP 端口 80 或 https 端口 443,计算机如何将此数据包识别为 Skype 数据包而不是 Web 数据包?这可能有助于我阻止 Skype。
答案1
以下是介绍用于阻止 Skype 的 Snort 规则的文章链接: http://www.md3v.com/block-skype-with-snort
我们在这里查看的签名是“17 03 01 00”,这是给客户端登录的回复。
如果您好奇,请务必查看此页面:http://www1.cs.columbia.edu/~salman/skype/
答案2
关于“计算机如何识别该数据包为 Skype 数据包而非 Web 数据包?”:数据包将发送到正在监听该端口的任何程序。如果 Skype 决定使用 TCP/80 并意外开始与 Web 服务器通信,Web 服务器将感到困惑,抛出错误(或拒绝回复),Skype 将放弃。如果 Web 客户端决定连接到 Skype,Skype 将看到该请求并识别出它不是 Skype。
这意味着您不能仅使用 IP/端口信息来阻止 Skype。使用静态规则基于内容的阻止假设始终存在固定签名。由于 Skype 是专有的,协议可能随时更改,从而使旧规则变得毫无用处。Skype 以逃避过滤器而闻名。如果他们现在或将来在开头添加随机密钥并使用 Skype 的专有 RC4 版本加密其余流量,我不会感到惊讶。这将使人们无法区分流量和随机噪声。
对于端口 443 流量,他们还可以简单地运行真正的 SSL 连接。如果您不想进行流量分析(如“流量数量和时间”),这将很难区分(如果做得正确)。我不知道他们是否在这样做,但同样,专有协议可能会发生变化。
阻止用户使用 Skype 的最可靠方法可能是扫描机器上的可执行文件和/或对违反政策使用 Skype 的用户进行 LART。
还要检查其他端口上的流量。80 和(更可能是“或”)443 可能只是 Skype 所需的最低限度。即使 80/443 被完全阻止,它也可能对您错过的一些端口感到满意。检查 UDP 流量!