Cisco ASA transferencia de torrents

Já é uma discussão que vem de longe…. Todos querem saber como podem prevenir o download de Torrents, e vão sempre chegar à conclusão que dificilmente conseguem parar o download devido à comunicação encriptada. Mas um destes dias estive praticamente o dia a olhar para pacotes de dados num snifer para ver se encontrava qualquer coisa… Foi assim que reparei que não consigo diferenciar os pacotes de torrent mas consigo capturar a altura em que o software envia para o servidor o status do download….

Assim consigo verificar nos logs se alguém está a usar torrents e no meu caso paro a sua ligação à nossa rede… Mas isso sou eu… lol.


O equipamento que tenho é um Cisco ASA5510 que é uma firewall. Para capturar e logar os torrents uso a seguinte configuração.

Abrimos o Cisco ASDM e escolhemos na parte superior Configuration

Configuração

Depois na barra lateral esquerda em baixo escolha Firewall

Escolha Firewall

e de seguida no menu da mesma barra lateral ao meio escolha Objects e depois Regular Expressions

Escolha Regular Expressions

De seguida carregamos em Add para adicionarmos a nossa Regular Expression

Carregar em Add para adicionar a Regular Expression

 Adicionamos a seguinte informação na janela de Regular Expression.

Adicionar Regular Expression - Torrent Tracker

Para que possam copiar correctamente aqui vai o Value:

/[Aa][Nn][Nn][Oo][Uu][Nn][Cc][Ee]\?[Ii][Nn][Ff][Oo]_[Hh][Aa][Ss][Hh].*peer_id=

Carregamos em Apply para aplicar a Regular Expression.


Agora no menu da barra na esquerda vamos a Objects -> Inspect Maps -> HTTP.

Inspect Maps - HTTP

Carregamos em Add para adicionar uma HTTP map

Add

Depois damos um nome TorrentTraker_map e carregamos em URI Filtering

Criar Inspect Map - HTML

Depois carregamos em Add na janela seguinte

Carregar em Add

E vamos preencher a seguinte informação

Match Type: Match

Regular Expression: TorrentTracker

Actions: Drop Connection

Log: Enable (para podermos receber a mensagem de quem contacta com o Torrent Tracker)

Add HTTP Inspect

Carregamos em ok.

Ficamos com uma janela como a imagem em baixo, depois carregamos em ok

URI Filtering

Depois carregamos em ok na janela de Add HTP Inspect Map

Na janela principal carregamos em Apply para aplicar a configuração.


Agora no Menu do lado esquerdo vamos escolher Service Policy Rules e carregamos em Edit para editar a Inspection_default

Service Policy Rules

De seguida vamos à tab Rule Actions -> Protocol Inspection e carregamos em Configure à frente da opção de HTTP

HTTP Configure

Depois adicionamos a nossa Inspect Map TorrentTracker_map.

Adicionar HTTP Inspect map

Carregamos em ok até voltarmos à janela de default e carregamos em Apply para aplicarmos a configuração.


Agora nos logs assim que alguem ligar uma aplicação de torrent e comunicar com um tracker vão receber algo como isto….

ASA5510.log:Aug  1 10:26:59 192.168.1.1 %ASA-5-304001: 192.168.1.173 Accessed URL 95.211.88.54:/announce?info_hash=%27I%0b%dasw%1c%ae%5e%02%05%ff-%d49%d5%9b%60%c4%aa&peer_id=-TR2330-gr97xq0dodsk&port=51413&uploaded=0&downloaded=0&left=0&numwant=80&key=554bdb65&compact=1&supportcrypto=1&event=started

Podemos ver a seguinte info:

peer_id=TR2330 (Quer dizer que está a usar o software de torrent transmission versão 2.33)

port=51413 (Porta usada que neste caso é a 51413)

uploaded=0 (A quantidade de upload já efectuado)

downloaded=0 (A quantidade de download que já fez, ou seja está a iniciar o download)

Ok está na hora de falar com o utilizador…. 😉

E assim facamos com a certeza que o utilizador está a fazer downloads através de protocolos torrent. Podemos usar mais metodos para desligar o utilizador da rede mas isso fica para a próxima.