Tutorial de protecção de canais


Introdução
Este tutorial tem como finalidade apresentar uma solução realistica sobre protecções de canais na rede. Esta solução não oferece garantias, oferece soluções. A solução pode, ou não, enquadrar-se no seu caso, pelo que este tutorial não é infalível e não serve de garantia do autor ou da rede PTnet.
Este tutorial também pretende ser um tributo à série de ficção cientifica Star Trek Voyager, com os títulos do tutorial a coincidirem com nomes de episódios da série.


Sobre o autor
Rui Cruz (Join) é utilizador do IRC desde 2000, participa activamente em funções da rede como PTnet Helper e detém canais e ajuda informática como o #WindowsHelp, #MEO, #webdesign e o #hiphop.


Material necessário
mIRC
Conhecimentos mínimos sobre os remotes do mIRC (/help remote)
Script Anaconda


"Basics": Serviços da rede
Os serviços da rede PTnet oferecem protecções básicas contra alguns ataques de bots. Aos comandos indicados, faço referência em baixo das vantagens e desvantagens.
Comando: /chanserv set #CANAL RESTRICTED ON
Vantagem: Previne nicks não registados de entrarem no canal. Isto repele a maioria de ataques de bot's não direcionados especificamente ao canal.
Desvantagem: Caso o canal possua um webchat, o "marketing" de recomendar acesso directo (por exemplo: entrem no canal basta fazer /server -mj irc.ptnet.org #CANAL") os utilizadores não vão conseguir entrar directamente, e devem por isso confirmar o nick.
Comando: /chanserv set #CANAL CONFIRMEDNICKS ON
Vantagem: o nick, depois de registado tem que ser confirmado, para isso é necessário ter e-mail válido e verificar o e-mail para proceder à confirmação do nick.
Desvantagem: nenhuma, tendo sempre em conta a desvantagem do ponto acima.
Comando: /chanserv AKICK #canal ADD *!*@*.tld Motivo
Vantagem: Proibe a entrada a um TLD (TOP LEVEL DOMAIN) específico. No caso do canal ser apenas frequentado por pessoas de Portugal, podem-se banir os bot's do Japão (*!*@*.jp) da China (*!*@*.ch), de Espanha (*!*@*.es), etc.
Desvantagem: Um user internacional pode ter dificuldades a entrar no canal (no entanto, os OPs do canal irão ver o user a entrar e a ser banido, podendo retirar o akick com o comando /chanserv akick #canal DEL mask, onde mask é substituido por *!*@*.tld). A lista de akick está limitada a 128 registos.
Comando: /chanserv set #canal SECUREOPS ON
Vantagem: Apenas users com OP registado no serviço de canais da rede podem ter OP no canal, mesmo que seja um OP dado por um OP registado.
Desvantagem: Impossibilita o uso de bot's para darem OP e está limitado a 100 utilizadores.


"Ashes do Ashes": Códigos simples para facilitar a protecção
Esta secção contém comandos a introduzir no mIRC Script Editor (vulgo "remotes"). Para a sua inserção, basta pressionar a tecla de atalho ALT + R, ou ir ao menu Tool > Scripts Edit. Os códigos são apresentados e explicados, sendo o seu uso da inteira responsabilidade do utilizador. A indicação a vermelho significa que é necessária a alteração do código para que o mesmo funcione.

on *:ban:#:var %a = $banmask,%d = $chan | if (%a iswm $address($me,5)) { if ($me isop %d) mode %d -b %a | chanserv unban %d | .timerKK 1 3 join %d }
Explicação: Caso sejas banido de um canal este código irá desbanir. Uma vez que poderás
também ser kickado, este código faz-te entrar no canal num espaço de três segundos, após retirar
o ban pelo chanserv.

on *:text:*:#: {
If (PALAVRA isin $1-) && ($nick != Join) {
mode $chan +b-o $nick $+ !*?@* $$1
Kick # $nick MOTIVO DO KICK
}
}

Explicação:
Este código bane todos os nicks exepto o Join (que deve ser alterado) por dizer a PALAVRA
(deve também ser alterado) e é possível colocar o MOTIVO DO KICK (alterar também).
Na primeira linha, o código pode ser duplicado, alterando text para notice, ou para action, para
banir quem diga isso por notice (comando /notice) ou por action (comando /me ou /ame).

alias kb //mode $chan +b-o $$1 $+ !*?@* $$1 | .kick # $$1 $2-
alias kb3 mode # +bbbb $address($$1,1) $address($$1,2) $address($$1,3) $address($$1,4) | kick # $1-

Explicação:
Estes códigos permitem banir com o comando /kb nick mensagem ou /kb2 nick mensagem. O
/kb bane apenas o nick e o /kb2 bane o nick, a identd, e o IP (3 ban's no total).

on *:notify:if (($nick == Join) && ($gettok($gettok($address($nick,5),2,33),1,64) != $gettok($gettok($address($me,5),2,33),1,64))) { /nickserv ghost Join PASSWORD }
Explicação:
Este código é para usar NUM COMPUTADOR DIFERENTE, e permite que, caso alguém entre com o teu nick, o mesmo fique logo offline. Este código tem várias vantagens que podem não parecer que são vantagens à primeira vista, tais como:
- o ir de férias
- o quereres o teu nick seguro quando não estás no IRC
- etc.
E claro, convém não nos esquecermos de adicionar o nick na notify com o comando /notify Nick e de o remover com /notify -r nick quando já não for preciso.



"Message in the bottle": Script Anaconda
O Script Anaconda é feito por um grande amigo meu, o Snake. Embora já sem actualizações, actualmente possui uma das melhores protecções tanto a nível pessoal como a nível de canais.

Infelizmente cada utilizador possui um script que provavelmente gosta, mas se é um utilizador novo no IRC ou procura um script alternativo, considere o uso do Anaconda, que pode ser descarregado aqui.

Um script, com um bom manual de ajuda em HTML (pressionar F1) possui um vasto leque de opções (pressionar F2). As funções das quais vamos falar são justamente as do tutorial, as protecções.

Personal Protection / Protecções pessoais
Imagem de protecção pessoal
Esta imagem apresenta a opção Anaconda > Protections > Personal, que permite controlar alguns dos códigos indicados no ponto 6: unban, rejoin, etc.

Permite colocar também Penalties, ou seja, punições, caso sejas deopado, banido ou. kickado.

A segunda aba diz respeito aos "ataques" ao nick, ataques de ctcp, flood no pvt, etc. Por defeito, a menos que haja alguma razão especial para tal, esta opção deve ficar desactivada.

A terceira aba, Flood, serve para isso mesmo, controlo de flood no pvt.

Caso estejas a receber ataques de publicidade (Spam) basta activares a última opção, e colocares as palavras chave para o script banir. Neste caso podes usar * para tudo o que esteja antes ou depois e ? para um caracter aleatório que exista.

Channel Protections / Protecções de canal
Imagem de protecção de canal
Esta opção acessível pelo menu Anaconda > Protections > Channel pemite ter um controlo avançado sobre as protecções do canal.

Neste caso o único aspecto que não foi falado é o dos canais, onde, se colocamos uma protecção de Spam (ataques de bot's, etc.) no canal <Defaut>, podemos colocar outras protecções ou até removê-las, adicionando outros canais.

Em relação aos Clones, esta aba também oferece grande protecção contra clones, e, dependendo da tua ligação com o servidor, bane quase instantaneamente.


"One small step": Dúvidas?
Este tutorial é feito com o intuito de ajuda, e o mesmo tem ajudado o autor do mesmo no IRC.
Em caso de dúvidas, contactar Join na rede PTnet.
Live long and prosper.
-- Join