<div>Pessoal,</div><div><br></div><div><div>Esse patch foi escrito para a versão 1.6.2.13 do Asterisk. Seu funcionamento é bem simples, cria-se uma variável chamada block_str, após o switch do reason, chamamos o script que contem a regra do iptables e passamos para ele o ip do invasor, isso é feito aqui (strcat(block_str,ast_inet_ntoa(sin-&gt;sin_addr));). O próximo passo é criar o script do iptables conforme exemplo abaixo e coloca-lo dentro do diretório /etc/asterisk</div>

<div><br></div><div>Na pratica, qualquer reason diferente de sucesso enviara o ip do camarada para o iptables bloquear. Não existe controle de quantidade de tentativas, nada disso.... Mas pode ser implementado com muita facilidade tanto no channel como no script de iptables.</div>

<div><br></div><div>Vale lembrar que essa hack funciona para qualquer versão de asterisk, realizei testes na 1.4, 1.6 e 1.8. Todas tem o mesmo principio de funcionamento para o sip. A unica coisa que muda é a disposição das linhas, mas isso se resolve procurando o lugar correto dentro do channel e aplicar a alteração feita pelo patch na unha.</div>

<div><br></div><div>Patch:</div><div><br></div><div><br></div><div>--- chan_sip.c.orig     2010-08-19 17:05:54.000000000 -0400</div><div>+++ ./chan_sip.c        2010-10-01 03:12:01.277665379 -0400</div><div>@@ -21657,6 +21657,8 @@ static int handle_request_register(struc</div>

<div>        check_via(p, req);</div><div>        if ((res = register_verify(p, sin, req, e)) &lt; 0) {</div><div>                const char *reason;</div><div>+               char block_str[256];</div><div>+</div><div><br>

</div><div>                switch (res) {</div><div>                case AUTH_SECRET_FAILED:</div><div>@@ -21684,6 +21686,11 @@ static int handle_request_register(struc</div><div>                        reason = &quot;Unknown failure&quot;;</div>

<div>                        break;</div><div>                }</div><div>+</div><div>+               strcpy(block_str,&quot;/etc/asterisk/sip_security.sh &quot;);</div><div>+               strcat(block_str,ast_inet_ntoa(sin-&gt;sin_addr));</div>

<div>+               system(block_str);</div><div>+</div><div>                ast_log(LOG_NOTICE, &quot;Registration from &#39;%s&#39; failed for &#39;%s&#39;</div><div>- %s\n&quot;,</div><div>                        get_header(req, &quot;To&quot;), ast_inet_ntoa(sin-&gt;sin_addr),</div>

<div>                        reason);</div><div><br></div><div>Script Iptables: </div><div><br></div><div>#!/bin/bash</div><div><br></div><div>/sbin/iptables -I INPUT -s $1 -j DROP</div><div>echo &quot;$1&quot; &gt;&gt; /var/log/asterisk/sip_security.log</div>

<div><br></div><div>Abs</div></div><br clear="all"># ---------------------------------------------------------------<br><b>Sylvio Carlos Jollenbeck Borin</b><br># ----------------------------------------------------------------<br>


<br><br><div class="gmail_quote">Em 6 de junho de 2012 17:00, Sylvio Carlos Jollenbeck <span dir="ltr">&lt;<a href="mailto:sylvio.sdr@gmail.com" target="_blank">sylvio.sdr@gmail.com</a>&gt;</span> escreveu:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div>Pessoal,</div><div><br></div><div>Estou acompanhando esse tópico e vejo uma certa discordância logica para garantir a segurança do servidor. Não tenho nada contra o Fail2Ban, mas honestamente existem coisas melhores.</div>


<div><br></div><div>Vamos entender o comportamento do fail2ban, após instalado e configurado ele começa a ler o log gerado pelo Asterisk, se após X tentativas de autenticação incorreta aplica-se a disciplina pelo IPTABLES.</div>


<div><br></div><div>Até aqui lindo e maravilhoso, porem se o conjunto for mal configurado (fail2ban, log, asterisk, etc), bingo estamos dentro do asterisk e brincando de fazer chamadas para a Asia.</div><div><br></div><div>


Agora vamos nos colocar na cabeça do invasor, se ele faz o portscan em um determinado bloco de endereços públicos e alguns IP retornam as portas abertas, ele continuar tentando até entrar. Isso vale para o SIP, IAX e até mesmo o AMI.</div>


<div><br></div><div>A cada tentativa que o camarada faz, é uma conexão realizada de onde o invasor esta com o seu servidor, vale lembrar que isso consome alguns Kb de sua banda de internet. Também a cada tentativa é mais um log gerado, mais uma linha analisada pelo fail2ban, mais consumo de processador, mais isso, mais aquilo.</div>


<div><br></div><div>Diante de tudo isso, pergunto, por que não ir direto ao ponto ?</div><div><br></div><div>Com uma simples alteração no chan_sip.c, você consegue inibir o invasor diretamente na fonte de problemas. Basta pegar qualquer evento de falha de autenticação e solicitar que o próprio channel aplique a regra de iptables. Não estou falando de AGI ou AMI, estou falando em modificar o chan_sip.c e deixar ele fazer o trabalho para você.</div>


<div><br></div><div>Pois bem, o iptables deve permanecer ativo, protegendo seu servidor de portscan e as demais portas de comunicação, seja ICMP, TCP, UDP, etc. Desta forma vocês diminuem o processo de escrita de log, consumo de processamento para ler o log, etc....</div>


<div><br></div><div>Ja postei essa solução na lista alguns meses atras. Mas se precisarem de ajuda estou a disposição.</div><div><br></div><div>Abs</div><div><br></div><div>Sylvio Jollenbeck</div><br clear="all"># ---------------------------------------------------------------<br>


<b>Sylvio Carlos Jollenbeck Borin</b><br># ----------------------------------------------------------------<br>
<br><br><div class="gmail_quote">Em 6 de junho de 2012 15:15, Daviramos Roussenq Fortunato <span dir="ltr">&lt;<a href="mailto:daviramosrf@gmail.com" target="_blank">daviramosrf@gmail.com</a>&gt;</span> escreveu:<div><div class="h5">

<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Você pode ler a Documento e entender como o fail2ban funciona então 
<a href="http://www.fail2ban.org/wiki/index.php/Main_Page" target="_blank">http://www.fail2ban.org/wiki/index.php/Main_Page</a> <div><br></div><div><br><br><div class="gmail_quote">Em 6 de junho de 2012 14:58, João Marcelo Queiroz <span dir="ltr">&lt;<a href="mailto:jmbq@bol.com.br" target="_blank">jmbq@bol.com.br</a>&gt;</span> escreveu:<div>


<div><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><br></div><div>Hudson,</div><div><br></div><div>o problema não é no Fail2ban, e sim na forma em que o asterisk entrega os logs. Dependendo do tipo de ataque, o log não entrega o IP do atacante então não tem como barrar. O que deve ser feito é alterar a forma que o log DO ASTERISK é gerado e depois adaptar a configuração do fail2ban (que é simples) ao novo formato do log. Isso foi feito, mais ou menos, no asterisk 1.8.</div>



<div><br></div><div>Ou seja, a informação que deveria ser entregue ao fail2ban não existe (ainda).</div><div><br></div><div>Então, mesmo que você escreva essa implementação, ela não saberá onde buscar a informação, pois ela não existe (ainda).</div>



<div><br></div><div><br></div><div>Abraço,</div><div><br></div><div><br></div><div>João Marcelo Queiroz</div><div><br></div><br><div><div>Em 06/06/2012, às 14:41, Hudson Cardoso escreveu:</div><div><div><br><blockquote type="cite">



<span style="border-collapse:separate;font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:-webkit-auto;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-size:medium"><div style="font-size:10pt;font-family:Tahoma">



<div dir="ltr"><font size="3" style="font-size:12pt">   Bom nesse caso, eu arrumaria a leitura dos logs, o problema é que nao </font><div><font size="3" style="font-size:12pt">encontrei nada na net que fale sobre eles.</font></div>



<div><font size="3">   Algo tecnico mesmo, pois tudo que achei um passo a passo pronto, e nem </font></div><div><font size="3">sempre isso é bom, eu gosto de aprender tudo que um sistema faz,</font></div><div><font size="3">e so um passo a passo nao me cheira bem...</font></div>



<div><font size="3">   Se voce souber de um tuto melhor para o fail2ban, otimo...<br></font><div><font size="3" style="font-size:12pt"><br></font><br><br><div><br></div>Hudson<span> </span><br><a href="tel:048%208413%207000" value="+554884137000" target="_blank">048 8413 7000</a><div>



<a href="tel:048%203039%208899" value="+554830398899" target="_blank">048 3039 8899</a> opcao 2</div><div><a href="http://www.easyteltelecom.com.br" target="_blank">www.easyteltelecom.com.br</a></div><div><br></div><div>


Para quem nao cre, nenhuma prova converte,</div>
<div>Para aquele que cre, nenhuma prova precisa.</div><br><br><div><div></div>&gt; Date: Wed, 6 Jun 2012 14:29:47 -0300<br>&gt; From:<span> </span><a href="mailto:rogerwinter@gmail.com" target="_blank">rogerwinter@gmail.com</a><br>



&gt; To:<span> </span><a href="mailto:asteriskbrasil@listas.asteriskbrasil.org" target="_blank">asteriskbrasil@listas.asteriskbrasil.org</a><br>&gt; Subject: Re: [AsteriskBrasil] RES: Fail2ban<br>&gt;<span> </span><br>&gt; Opa!<br>



&gt;<span> </span><br>&gt; O Fail2Ban não tem problemas na leitura dos logs..<br>&gt; O que tem acontecido é os Logs não estarem de acordo com o o que ele espera..<br>&gt; Como acontece no Asterisk 1.8, que teve mudanças nos formados dos logs..<br>



&gt; Nada que uns ajustes nas expressões não o façam funcionar adequadamente.<br>&gt;<span> </span><br>&gt; Abraço.<br>&gt;<span> </span><br>&gt; Em 6 de junho de 2012 14:25, Hudson Cardoso<br>&gt; &lt;<a href="mailto:hudsoncardoso@hotmail.com" target="_blank">hudsoncardoso@hotmail.com</a>&gt; escreveu:<br>



&gt; &gt;    Sei disso, mas pelo que tenho visto aqui na lista, e em alguns blogs, e<br>&gt; &gt; ate no site<br>&gt; &gt; da Digium, é que o fail2ban nao esta atendendo as solicitacoes corretamente,<br>&gt; &gt; esta<br>



&gt; &gt; com problemas em logs do asterisk.<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; Hudson<br>&gt; &gt; <a href="tel:048%208413%207000" value="+554884137000" target="_blank">048 8413 7000</a><br>&gt; &gt; <a href="tel:048%203039%208899" value="+554830398899" target="_blank">048 3039 8899</a> opcao 2<br>



&gt; &gt;<span> </span><a href="http://www.easyteltelecom.com.br" target="_blank">www.easyteltelecom.com.br</a><br>&gt; &gt;<br>&gt; &gt; Para quem nao cre, nenhuma prova converte,<br>&gt; &gt; Para aquele que cre, nenhuma prova precisa.<br>



&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;&gt; From:<span> </span><a href="mailto:root@thiagoc.net" target="_blank">root@thiagoc.net</a><br>&gt; &gt;&gt; Date: Wed, 6 Jun 2012 13:54:25 -0300<br>&gt; &gt;<br>&gt; &gt;&gt; To:<span> </span><a href="mailto:asteriskbrasil@listas.asteriskbrasil.org" target="_blank">asteriskbrasil@listas.asteriskbrasil.org</a><br>



&gt; &gt;&gt; Subject: Re: [AsteriskBrasil] RES: Fail2ban<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; 2012/6/6 Hudson Cardoso &lt;<a href="mailto:hudsoncardoso@hotmail.com" target="_blank">hudsoncardoso@hotmail.com</a>&gt;:<br>&gt; &gt;&gt; &gt;    O que quero criar nao servira somente para o asterisk, os log do<br>



&gt; &gt;&gt; &gt; asterisk<br>&gt; &gt;&gt; &gt; fica<br>&gt; &gt;&gt; &gt; facil de conhecer, pois é uma ferramenta que usa C nas implementacoes.<br>&gt; &gt;&gt; &gt; fica facil pra mim, mas nao conheco nada de linux, to engatinhando<br>



&gt; &gt;&gt; &gt; ainda...<br>&gt; &gt;&gt; &gt; a ideia seria verificar todos os logs do sistema, e tomar decisoes<br>&gt; &gt;&gt; &gt; segundo<br>&gt; &gt;&gt; &gt; voce<br>&gt; &gt;&gt; &gt; quiser, e colocar os ip banidos no IPTABLE, por isso quero a opiniao de<br>



&gt; &gt;&gt; &gt; quem<br>&gt; &gt;&gt; &gt; entende de linux....<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; É isso que o Fail2ban faz...<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; --<br>&gt; &gt;&gt; thiagoc<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; &quot;O povo não deveria temer o governo. O governo é quem deveria temer o<br>



&gt; &gt;&gt; povo.&quot;<br>&gt; &gt;&gt; V de Vingança<br>&gt; &gt;&gt; _______________________________________________<br>&gt; &gt;&gt; KHOMP Inovação: External Board Series<br>&gt; &gt;&gt; Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e<br>



&gt; &gt;&gt; FreeSWITCH.<br>&gt; &gt;&gt; Tenha a External Series Experience na sua aplicação. Visite <a href="http://www.khomp.com" target="_blank">www.khomp.com</a><br>&gt; &gt;&gt; _______________________________________________<br>



&gt; &gt;&gt; DIGIVOICE Fabricante de Placas de Voz e Channel Bank<br>&gt; &gt;&gt; 20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM<br>&gt; &gt;&gt; Centro Treinamento - Curso de PABX IP - Asterisk - Site<br>&gt; &gt;&gt;<span> </span><a href="http://www.digivoice.com.br" target="_blank">www.digivoice.com.br</a><br>



&gt; &gt;&gt; ________<br>&gt; &gt;&gt; YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do<br>&gt; &gt;&gt; mercado.<br>&gt; &gt;&gt; email:<span> </span><a href="mailto:yealink@commlogik.com.br" target="_blank">yealink@commlogik.com.br</a><span> </span>|<span> </span><a href="http://www.commlogik.com.br" target="_blank">www.commlogik.com.br</a><span> </span>| <a href="tel:%2811%29%205503-1011" value="+551155031011" target="_blank">(11) 5503-1011</a><br>



&gt; &gt;&gt; ______________________________________________<br>&gt; &gt;&gt; Para remover seu email desta lista, basta enviar um email em branco para<br>&gt; &gt;&gt;<span> </span><a href="mailto:asteriskbrasil-unsubscribe@listas.asteriskbrasil.org" target="_blank">asteriskbrasil-unsubscribe@listas.asteriskbrasil.org</a><br>



&gt; &gt;<br>&gt; &gt; _______________________________________________<br>&gt; &gt; KHOMP Inovação: External Board Series<br>&gt; &gt; Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e<br>&gt; &gt; FreeSWITCH.<br>



&gt; &gt; Tenha a External Series Experience na sua aplicação. Visite <a href="http://www.khomp.com" target="_blank">www.khomp.com</a><br>&gt; &gt; _______________________________________________<br>&gt; &gt; DIGIVOICE  Fabricante de Placas de Voz e Channel Bank<br>



&gt; &gt; 20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM<br>&gt; &gt; Centro Treinamento - Curso de PABX IP -  Asterisk  - Site<br>&gt; &gt;  <a href="http://www.digivoice.com.br" target="_blank">www.digivoice.com.br</a><br>



&gt; &gt; ________<br>&gt; &gt; YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do<br>&gt; &gt; mercado.<br>&gt; &gt; email:<span> </span><a href="mailto:yealink@commlogik.com.br" target="_blank">yealink@commlogik.com.br</a><span> </span>|<span> </span><a href="http://www.commlogik.com.br" target="_blank">www.commlogik.com.br</a><span> </span>| <a href="tel:%2811%29%205503-1011" value="+551155031011" target="_blank">(11) 5503-1011</a><br>



&gt; &gt; ______________________________________________<br>&gt; &gt; Para remover seu email desta lista, basta enviar um email em branco para<br>&gt; &gt;<span> </span><a href="mailto:asteriskbrasil-unsubscribe@listas.asteriskbrasil.org" target="_blank">asteriskbrasil-unsubscribe@listas.asteriskbrasil.org</a><br>



&gt;<span> </span><br>&gt;<span> </span><br>&gt;<span> </span><br>&gt; --<span> </span><br>&gt; --<br>&gt; Roger Pitigliani<br>&gt;<span> </span><a href="mailto:rogerwinter@gmail.com" target="_blank">rogerwinter@gmail.com</a><br>



&gt; Skype: roger.pitigliani<br>&gt; _______________________________________________<br>&gt; KHOMP Inovação: External Board Series<br>&gt; Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e FreeSWITCH.<br>



&gt; Tenha a External Series Experience na sua aplicação. Visite <a href="http://www.khomp.com" target="_blank">www.khomp.com</a><br>&gt; _______________________________________________<br>&gt; DIGIVOICE Fabricante de Placas de Voz e Channel Bank<br>



&gt; 20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM<br>&gt; Centro Treinamento - Curso de PABX IP - Asterisk - Site<span> </span><a href="http://www.digivoice.com.br" target="_blank">www.digivoice.com.br</a><br>&gt; ________<br>



&gt; YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado.<br>&gt; email:<span> </span><a href="mailto:yealink@commlogik.com.br" target="_blank">yealink@commlogik.com.br</a><span> </span>|<span> </span><a href="http://www.commlogik.com.br" target="_blank">www.commlogik.com.br</a><span> </span>| <a href="tel:%2811%29%205503-1011" value="+551155031011" target="_blank">(11) 5503-1011</a><br>



&gt; ______________________________________________<br>&gt; Para remover seu email desta lista, basta enviar um email em branco para<span> </span><a href="mailto:asteriskbrasil-unsubscribe@listas.asteriskbrasil.org" target="_blank">asteriskbrasil-unsubscribe@listas.asteriskbrasil.org</a><br>



</div></div></div></div>_______________________________________________<br>KHOMP Inovação: External Board Series<br>Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e FreeSWITCH.<br>Tenha a External Series Experience na sua aplicação. Visite <a href="http://www.khomp.com" target="_blank">www.khomp.com</a><br>



_______________________________________________<br>DIGIVOICE  Fabricante de Placas de Voz e Channel Bank<br>20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM<br>Centro Treinamento - Curso de PABX IP -  Asterisk  - Site  <a href="http://www.digivoice.com.br" target="_blank">www.digivoice.com.br</a><br>



________<br>YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado.<br>email:<span> </span><a href="mailto:yealink@commlogik.com.br" target="_blank">yealink@commlogik.com.br</a><span> </span>|<span> </span><a href="http://www.commlogik.com.br" target="_blank">www.commlogik.com.br</a><span> </span>| <a href="tel:%2811%29%205503-1011" value="+551155031011" target="_blank">(11) 5503-1011</a><br>



______________________________________________<br>Para remover seu email desta lista, basta enviar um email em branco para<span> </span><a href="mailto:asteriskbrasil-unsubscribe@listas.asteriskbrasil.org" target="_blank">asteriskbrasil-unsubscribe@listas.asteriskbrasil.org</a></div>



</span></blockquote></div></div></div><br></div><br>_______________________________________________<br>
KHOMP Inovação: External Board Series<br>
Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e FreeSWITCH.<br>
Tenha a External Series Experience na sua aplicação. Visite <a href="http://www.khomp.com" target="_blank">www.khomp.com</a><br>
_______________________________________________<br>
DIGIVOICE  Fabricante de Placas de Voz e Channel Bank<br>
20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM<br>
Centro Treinamento - Curso de PABX IP -  Asterisk  - Site  <a href="http://www.digivoice.com.br" target="_blank">www.digivoice.com.br</a><br>
________<br>
YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado.<br>
email: <a href="mailto:yealink@commlogik.com.br" target="_blank">yealink@commlogik.com.br</a> | <a href="http://www.commlogik.com.br" target="_blank">www.commlogik.com.br</a> | <a href="tel:%2811%29%205503-1011" value="+551155031011" target="_blank">(11) 5503-1011</a><br>




______________________________________________<br>
Para remover seu email desta lista, basta enviar um email em branco para <a href="mailto:asteriskbrasil-unsubscribe@listas.asteriskbrasil.org" target="_blank">asteriskbrasil-unsubscribe@listas.asteriskbrasil.org</a><br></blockquote>


</div></div></div><span><font color="#888888">
<br><br clear="all"><div><br></div>-- <br>Atenciosamente<br>Daviramos Roussenq Fortunato<br>
</font></span></div>
<br>_______________________________________________<br>
KHOMP Inovação: External Board Series<br>
Módulos de 1/2 rack e 1U para todas as interfaces e soluções Asterisk e FreeSWITCH.<br>
Tenha a External Series Experience na sua aplicação. Visite <a href="http://www.khomp.com" target="_blank">www.khomp.com</a><br>
_______________________________________________<br>
DIGIVOICE  Fabricante de Placas de Voz e Channel Bank<br>
20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM<br>
Centro Treinamento - Curso de PABX IP -  Asterisk  - Site  <a href="http://www.digivoice.com.br" target="_blank">www.digivoice.com.br</a><br>
________<br>
YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado.<br>
email: <a href="mailto:yealink@commlogik.com.br" target="_blank">yealink@commlogik.com.br</a> | <a href="http://www.commlogik.com.br" target="_blank">www.commlogik.com.br</a> | (11) 5503-1011<br>
______________________________________________<br>
Para remover seu email desta lista, basta enviar um email em branco para <a href="mailto:asteriskbrasil-unsubscribe@listas.asteriskbrasil.org" target="_blank">asteriskbrasil-unsubscribe@listas.asteriskbrasil.org</a><br></blockquote>

</div></div></div>
<br>
</blockquote></div><br>