Alguem conseguiu aplicar isso ao asterisk 1.6 e 1.8?<br /><br />Pois não entendi bem se é um patch ou podemos mudar manualmente.. Se depois temos que recomplicar o asterisk, etc..<br />Algum teria uma dica para me dar..<br /><br />adicionando a minha mensagem, o codigo que achei no arquivo /usr/src/asterisk-1.6.2.20/channels/chan_sip.c que parece mais ou menos com esse seu post seria esse:<br />
<div id=":1o9"><br /><br />/*! \brief Handle incoming REGISTER request */<br /> static int handle_request_register(struct sip_pvt *p, struct sip_request *req, struct sockaddr_in *sin, char *e)<br />{<br /> enum check_auth_result res;<br /><br /> /* If this is not the intial request, and the initial request isn't<br /> * a register, something screwy happened, so bail */<br /> if (p->initreq.headers && p->initreq.method != SIP_REGISTER) {<br /> ast_log(LOG_WARNING, "Ignoring spurious REGISTER with Call-ID: %s\n", p->callid);<br /> return -1;<br /> }<br /><br /> /* Use this as the basis */<br /> copy_request(&p->initreq, req);<br /> if (sipdebug)<br /> ast_debug(4, "Initializing initreq for method %s - callid %s\n", sip_methods[req->method].text, p->callid);
<div class="im"><br /> check_via(p, req);<br /> if ((res = register_verify(p, sin, req, e)) < 0) {<br /> const char *reason;<br /><br /></div>
switch (res) {<br /> case AUTH_SECRET_FAILED:<br /> reason = "Wrong password";<br /> break;<br /> case AUTH_USERNAME_MISMATCH:<br /> reason = "Username/auth name mismatch";<br /> break;<br /> case AUTH_NOT_FOUND:<br /> reason = "No matching peer found";<br /> break;<br /> case AUTH_UNKNOWN_DOMAIN:<br /> reason = "Not a local domain";<br /> break;<br /> case AUTH_PEER_NOT_DYNAMIC:<br /> reason = "Peer is not supposed to register";<br /> break;<br /> case AUTH_ACL_FAILED:<br /> reason = "Device does not match ACL";<br /> break;<br /> case AUTH_BAD_TRANSPORT:<br /> reason = "Device not configured to use this transport type";<br /> break;<br /> default:
<div class="im"><br /> reason = "Unknown failure";<br /> break;<br /> }</div>
<div class="im">ast_log(LOG_NOTICE, "Registration from '%s' failed for '%s' - %s\n",<br /> get_header(req, "To"), ast_inet_ntoa(sin->sin_addr),<br /> reason);</div>
append_history(p, "RegRequest", "Failed : Account %s : %s", get_header(req, "To"), reason);<br /> } else {<br /> req->authenticated = 1;<br /> append_history(p, "RegRequest", "Succeeded : Account %s", get_header(req, "To"));<br /> }<br /><br /> if (res < 1) {<br /> /* Destroy the session, but keep us around for just a bit in case they don't<br /> get our 200 OK */<br /> sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT);<br /> }<br /> return res;
<div class="im"><br /> }</div>
</div>
<br /> <br /><br />
<hr style="border-top: 1px solid #ccc;" />
Em 16/01/2012 14:02, <strong>Sylvio Jollenbeck < sylvio.sdr@gmail.com ></strong> escreveu:<br />
<div class="notviscode"><!-- /* Font Definitions */ @font-face         {font-family:"Cambria Math";         panose-1:2 4 5 3 5 4 6 3 2 4;} @font-face         {font-family:Calibri;         panose-1:2 15 5 2 2 2 4 3 2 4;} @font-face         {font-family:Tahoma;         panose-1:2 11 6 4 3 5 4 4 2 4;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal         {margin:0cm;         margin-bottom:.0001pt;         font-size:12.0pt;         font-family:"Times New Roman","serif";} a:link, span.MsoHyperlink         {mso-style-priority:99;         color:blue;         text-decoration:underline;} a:visited, span.MsoHyperlinkFollowed         {mso-style-priority:99;         color:purple;         text-decoration:underline;} p.MsoAcetate, li.MsoAcetate, div.MsoAcetate         {mso-style-priority:99;         mso-style-link:"Texto de balão Char";         margin:0cm;         margin-bottom:.0001pt;         font-size:8.0pt;         font-family:"Tahoma","sans-serif";} span.EstiloDeEmail17         {mso-style-type:personal-reply;         font-family:"Calibri","sans-serif";         color:#1F497D;} span.TextodebaloChar         {mso-style-name:"Texto de balão Char";
        mso-style-priority:99;         mso-style-link:"Texto de balão";         font-family:"Tahoma","sans-serif";         mso-fareast-language:PT-BR;} .MsoChpDefault         {mso-style-type:export-only;         font-family:"Calibri","sans-serif";         mso-fareast-language:EN-US;} @page WordSection1         {size:612.0pt 792.0pt;         margin:70.85pt 3.0cm 70.85pt 3.0cm;} div.WordSection1         {page:WordSection1;} --></div>
<!--[if gte mso 9]><xml> <o:shapedefaults v:ext="edit" spidmax="1026" /> </xml><![endif]--><!--[if gte mso 9]><xml> <o:shapelayout v:ext="edit"> <o:idmap v:ext="edit" data="1" /> </o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:">Esse patch deve ser aplicado no chan_sip.c e pode ser aplicado na unha para outras versões do Asterisk. </span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:">Explicação: O chan_sip ao rejeitar uma autenticação emite o aviso que diz o motivo (reason), a idéia é dropar imediatamente qualquer razão que não seja positiva. Ou seja, se a senha estiver errada, por exemplo, o chan_sip enviara para o script sip_security o ip do invasor, o script por sua vez faz o bloqueio imediato. Desta forma, não precisa do fail2ban ou qualquer coisa a mais.</span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"> </span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:">Apenas para não cometer injustiça com ninguém os créditos desse path é do: wowks </span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"> </span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"> </span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:" lang="EN-US">--- chan_sip.c.orig 2010-08-19 17:05:54.000000000 -0400</span><span style="font-size:9.0pt;font-family:" lang="EN-US"><br /><span style="background:white">+++ ./chan_sip.c 2010-10-01 03:12:01.277665379 -0400</span><br /><span style="background:white">@@ -21657,6 +21657,8 @@ static int handle_request_register(struc</span><br /><span style="background:white"> check_via(p, req);</span><br /><span style="background:white"> if ((res = register_verify(p, sin, req, e)) < 0) {</span><br /><span style="background:white"> const char *reason;</span><br /><span style="background:white">+ char block_str[256];</span><br /><span style="background:white">+</span><br /><br /><span style="background:white"> switch (res) {</span><br /><span style="background:white"> case AUTH_SECRET_FAILED:</span><br /><span style="background:white">@@ -21684,6 +21686,11 @@ static int handle_r
equest_register(struc</span><br /><span style="background:white"> reason = "Unknown failure";</span><br /><span style="background:white"> break;</span><br /><span style="background:white"> }</span><br /><span style="background:white">+</span><br /><span style="background:white">+ strcpy(block_str,"/etc/asterisk/sip_security.sh ");</span><br /><span style="background:white">+ strcat(block_str,ast_inet_ntoa(sin->sin_addr));</span><br /><span style="background:white">+ system(block_str);</span><br /><span style="background:white">+</span><br /><span style="background:white"> ast_log(LOG_NOTICE, "Registration from '%s' failed for '%s' - %s\n",</span><br /><span style="background:white"> get_header(req, "To"), ast_inet_ntoa(sin->sin_addr),</span><br /><span style="background:white"> reason);</span></span><span style="font-size:11.0pt;font-family:" lang="EN-US"></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:" lang="EN-US"> </span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:" lang="EN-US"> </span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:">Criar o script sip_security.sh dentro do diretório /etc/Asterisk com as seguintes regras:</span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"> </span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:" lang="EN-US">#!/bin/bash</span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:" lang="EN-US">/sbin/iptables -I INPUT -s $1 -j DROP</span><span style="font-size:9.0pt;font-family:" lang="EN-US"><br /><span style="background:white">echo "$1" >> /var/log/asterisk/sip_security.log</span></span><span style="font-size:11.0pt;font-family:" lang="EN-US"></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:" lang="EN-US"> </span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:" lang="EN-US">Abs</span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:" lang="EN-US"> </span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:" lang="EN-US">Sylvio Carlos Jollenbeck</span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:" lang="EN-US"> </span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><strong><span style="font-size:10.0pt;font-family:">De:</span></strong><span style="font-size:10.0pt;font-family:"> asteriskbrasil-bounces@listas.asteriskbrasil.org [mailto:asteriskbrasil-bounces@listas.asteriskbrasil.org] <strong>Em nome de </strong>Leonardo Sena<br /><strong>Enviada em:</strong> segunda-feira, 16 de janeiro de 2012 13:40<br /><strong>Para:</strong> asteriskbrasil@listas.asteriskbrasil.org<br /><strong>Assunto:</strong> Re: [AsteriskBrasil] RES: RES: Regras Fail2ban</span></p>
<p class="MsoNormal" style="margin-left:35.4pt"> </p>
<p class="MsoNormal" style="margin-left:35.4pt">Boa tarde silvio</p>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"> </p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"> </p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"> </p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">eu ultilizo a versão 1.6.2.13 poderia me passar essa mudança acredito que seja valido para toda a comunidade</p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"> </p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"> </p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">at.</p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"> </p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"> </p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:0cm;margin-right:0cm;margin-bottom:12.0pt;margin-left:35.4pt">Leonardo</p>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">Em 13 de janeiro de 2012 16:14, Sylvio Jollenbeck <<a href="http://mce_host/compose?to=sylvio.sdr@gmail.com" target="_blank">sylvio.sdr@gmail.com</a>> escreveu:</p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:35.4pt"><span style="font-size:11.0pt;font-family:">Passei,</span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:35.4pt"><span style="font-size:11.0pt;font-family:"> </span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:35.4pt"><span style="font-size:11.0pt;font-family:"> Fiz uma alteração no chan_sip.c no Asterisk 1.6.2.13 para bloquear invasões, funciona 100%. Acho que dá para fazer o backport para o 1.2. Vou tentar fazer isso hoje a noite e se der certo te passo.</span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:35.4pt"><span style="font-size:11.0pt;font-family:"> </span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:35.4pt"><span style="font-size:11.0pt;font-family:">Abs</span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:35.4pt"><span style="font-size:11.0pt;font-family:"> </span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:70.8pt"><strong><span style="font-size:10.0pt;font-family:">De:</span></strong><span style="font-size:10.0pt;font-family:"> <a href="http://mce_host/compose?to=asteriskbrasil-bounces@listas.asteriskbrasil.org" target="_blank">asteriskbrasil-bounces@listas.asteriskbrasil.org</a> [mailto:<a href="http://mce_host/compose?to=asteriskbrasil-bounces@listas.asteriskbrasil.org" target="_blank">asteriskbrasil-bounces@listas.asteriskbrasil.org</a>] <strong>Em nome de </strong>Josué Conti<br /><strong>Enviada em:</strong> sexta-feira, 13 de janeiro de 2012 16:12<br /><strong>Para:</strong> <a href="http://mce_host/compose?to=asteriskbrasil@listas.asteriskbrasil.org" target="_blank">asteriskbrasil@listas.asteriskbrasil.org</a><br /><strong>Assunto:</strong> Re: [AsteriskBrasil] RES: Regras Fail2ban</span></p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:70.8pt"> </p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt;margin-left:70.8pt">Olá Sylvio,<br />Neste cliente é 1.2.31 e está todo trabalhado, difícil atualizações... :( Por que, ja passou por este caso antes?<br /><br />Abraço<br /><br />Josue</p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:70.8pt">Em 13 de janeiro de 2012 16:09, Sylvio Jollenbeck <<a href="http://mce_host/compose?to=sylvio.sdr@gmail.com" target="_blank">sylvio.sdr@gmail.com</a>> escreveu:</p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:70.8pt"><span style="font-size:11.0pt;font-family:">Josué</span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:70.8pt"><span style="font-size:11.0pt;font-family:"> </span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:70.8pt"><span style="font-size:11.0pt;font-family:">Você esta usando qual versão de Asterisk ?</span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:70.8pt"><span style="font-size:11.0pt;font-family:"> </span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:70.8pt"><span style="font-size:11.0pt;font-family:">Att.</span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:70.8pt"><span style="font-size:11.0pt;font-family:"> </span></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:106.2pt"><strong><span style="font-size:10.0pt;font-family:">De:</span></strong><span style="font-size:10.0pt;font-family:"> <a href="http://mce_host/compose?to=asteriskbrasil-bounces@listas.asteriskbrasil.org" target="_blank">asteriskbrasil-bounces@listas.asteriskbrasil.org</a> [mailto:<a href="http://mce_host/compose?to=asteriskbrasil-bounces@listas.asteriskbrasil.org" target="_blank">asteriskbrasil-bounces@listas.asteriskbrasil.org</a>] <strong>Em nome de </strong>Josué Conti<br /><strong>Enviada em:</strong> sexta-feira, 13 de janeiro de 2012 16:03<br /><strong>Para:</strong> A Comunidade Brasileira do PBX OpenSource<br /><strong>Assunto:</strong> [AsteriskBrasil] Regras Fail2ban</span></p>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:106.2pt"> </p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:106.2pt">Srs. boa tarde.<br /><br />Apenas para conhecimento, tivemos uma tentativa de invasão em um cliente, com sua string originadas assim:<br /><br /><a href="tel:2012-01-07%2019" target="_blank">2012-01-07 19</a>:39:35 NOTICE[12021] chan_sip.c: Registration from '77.70.112.154 82.113.8.82<<a href="http://mce_host/compose/sip:10@XXX.XXX.XXX.XXX" target="_blank">sip:10@XXX.XXX.XXX.XXX</a>>' failed for 'XXX.XXX.XXX.XXX(IP GW DA REDE)' - ACL error (permit/deny)<br /><br />Mas conseguimos disgnosticar antes e bloquear as origens.<br />Verificando no fail2ban, temos a seguinte regra:<br /><br />NOTICE.* .*: Registration from '.*' failed for '' - ACL error \(permit/deny\)<br /><br />Mas pelo visto foi ineficaz neste caso.<br />Então colocamos a seguinte regra:<br /><br />NOTICE.* .*: Registration from '.*''.*' failed for '' - ACL error \(permit/deny\)<br /><br />Porém não po
sso garantir que funcione.<br /><br />Alguém já passou pelo caso acima?<br /><br />Abraço a todos<br /><br />Josue</p>
</div>
</div>
</div>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:70.8pt"><br />_______________________________________________<br />KHOMP ::: External Series Experience :::<br />Um novo conceito para o mercado de aplicações que vai<br />fazer você pensar fora da caixa. Aguarde este lançamento<br />_______________________________________________<br />DIGIVOICE: Lider no mercado de placas para Asterisk<br />Único fabricante com Centro de Treinamento especializado.<br />LANÇAMENTO: Channel Bank TDMoE, até 64 canais FXS / FXO.<br /><a href="http://www.digivoice.com.br" target="_blank">www.digivoice.com.br</a> ou (11)3016-5200.<br />________<br />YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado.<br />email: <a href="http://mce_host/compose?to=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="http://mce_host/compose?to=asteriskbrasil-unsubscribe@listas.asteriskbrasil.org" target="_blank">asteriskbrasil-unsubscribe@listas.asteriskbrasil.org</a></p>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;margin-left:70.8pt"> </p>
</div>
</div>
</div>
</div>
<p class="MsoNormal" style="margin-left:35.4pt"><br />_______________________________________________<br />KHOMP ::: External Series Experience :::<br />Um novo conceito para o mercado de aplicações que vai<br />fazer você pensar fora da caixa. Aguarde este lançamento<br />_______________________________________________<br />DIGIVOICE: Lider no mercado de placas para Asterisk<br />Único fabricante com Centro de Treinamento especializado.<br />LANÇAMENTO: Channel Bank TDMoE, até 64 canais FXS / FXO.<br /><a href="http://www.digivoice.com.br" target="_blank">www.digivoice.com.br</a> ou (11)3016-5200.<br />________<br />YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do mercado.<br />email: <a href="http://mce_host/compose?to=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 />Pa
ra remover seu email desta lista, basta enviar um email em branco para <a href="http://mce_host/compose?to=asteriskbrasil-unsubscribe@listas.asteriskbrasil.org" target="_blank">asteriskbrasil-unsubscribe@listas.asteriskbrasil.org</a></p>
</div>
<p class="MsoNormal" style="margin-left:35.4pt"> </p>
</div>
</div>
<br />