[AsteriskBrasil] RES: RES: RES: Regras Fail2ban

Sylvio Jollenbeck sylvio.sdr em gmail.com
Segunda Janeiro 16 14:02:43 BRST 2012


Esse patch deve ser aplicado no chan_sip.c e pode ser aplicado na unha para
outras versões do Asterisk. 

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.

 

Apenas para não cometer injustiça com ninguém os créditos desse path é do:
wowks 

 

 

--- chan_sip.c.orig     2010-08-19 17:05:54.000000000 -0400
+++ ./chan_sip.c        2010-10-01 03:12:01.277665379 -0400
@@ -21657,6 +21657,8 @@ static int handle_request_register(struc
        check_via(p, req);
        if ((res = register_verify(p, sin, req, e)) < 0) {
                const char *reason;
+               char block_str[256];
+

                switch (res) {
                case AUTH_SECRET_FAILED:
@@ -21684,6 +21686,11 @@ static int handle_request_register(struc
                        reason = "Unknown failure";
                        break;
                }
+
+               strcpy(block_str,"/etc/asterisk/sip_security.sh ");
+               strcat(block_str,ast_inet_ntoa(sin->sin_addr));
+               system(block_str);
+
                ast_log(LOG_NOTICE, "Registration from '%s' failed for '%s'
- %s\n",
                        get_header(req, "To"), ast_inet_ntoa(sin->sin_addr),
                        reason);

 

 

Criar o script sip_security.sh dentro do diretório /etc/Asterisk com as
seguintes regras:

 

#!/bin/bash

/sbin/iptables -I INPUT -s $1 -j DROP
echo "$1" >> /var/log/asterisk/sip_security.log

 

Abs

 

Sylvio Carlos Jollenbeck

 

De: asteriskbrasil-bounces em listas.asteriskbrasil.org
[mailto:asteriskbrasil-bounces em listas.asteriskbrasil.org] Em nome de
Leonardo Sena
Enviada em: segunda-feira, 16 de janeiro de 2012 13:40
Para: asteriskbrasil em listas.asteriskbrasil.org
Assunto: Re: [AsteriskBrasil] RES: RES: Regras Fail2ban

 

Boa tarde silvio

 

 

 

eu ultilizo a versão 1.6.2.13 poderia me passar essa mudança acredito que
seja valido para toda a comunidade

 

 

at.

 

 

Leonardo

Em 13 de janeiro de 2012 16:14, Sylvio Jollenbeck <sylvio.sdr em gmail.com>
escreveu:

Passei,

 

                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.

 

Abs

 

De: asteriskbrasil-bounces em listas.asteriskbrasil.org
[mailto:asteriskbrasil-bounces em listas.asteriskbrasil.org] Em nome de Josué
Conti
Enviada em: sexta-feira, 13 de janeiro de 2012 16:12
Para: asteriskbrasil em listas.asteriskbrasil.org
Assunto: Re: [AsteriskBrasil] RES: Regras Fail2ban

 

Olá Sylvio,
Neste cliente é 1.2.31 e está todo trabalhado, difícil atualizações... :(
Por que, ja passou por este caso antes?

Abraço

Josue

Em 13 de janeiro de 2012 16:09, Sylvio Jollenbeck <sylvio.sdr em gmail.com>
escreveu:

Josué

 

Você esta usando qual versão de Asterisk ?

 

Att.

 

De: asteriskbrasil-bounces em listas.asteriskbrasil.org
[mailto:asteriskbrasil-bounces em listas.asteriskbrasil.org] Em nome de Josué
Conti
Enviada em: sexta-feira, 13 de janeiro de 2012 16:03
Para: A Comunidade Brasileira do PBX OpenSource
Assunto: [AsteriskBrasil] Regras Fail2ban

 

Srs. boa tarde.

Apenas para conhecimento, tivemos uma tentativa de invasão em um cliente,
com sua string originadas assim:

2012-01-07 19 <tel:2012-01-07%2019> :39:35 NOTICE[12021] chan_sip.c:
Registration from '77.70.112.154   82.113.8.82<sip:10 em XXX.XXX.XXX.XXX>'
failed for 'XXX.XXX.XXX.XXX(IP GW DA REDE)' - ACL error (permit/deny)

Mas conseguimos disgnosticar antes e bloquear as origens.
Verificando no fail2ban, temos a seguinte regra:

NOTICE.* .*: Registration from '.*' failed for '<HOST>' - ACL error
\(permit/deny\)

Mas pelo visto foi ineficaz neste caso.
Então colocamos a seguinte regra:

NOTICE.* .*: Registration from '.*''.*' failed for '<HOST>' - ACL error
\(permit/deny\)

Porém não posso garantir que funcione.

Alguém já passou pelo caso acima?

Abraço a todos

Josue


_______________________________________________
KHOMP ::: External Series Experience :::
Um novo conceito para o mercado de aplicações que vai
fazer você pensar fora da caixa. Aguarde este lançamento
_______________________________________________
DIGIVOICE: Lider no mercado de placas para Asterisk
Único fabricante com Centro de Treinamento especializado.
LANÇAMENTO: Channel Bank TDMoE, até 64 canais FXS / FXO.
www.digivoice.com.br ou (11)3016-5200.
________
YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do
mercado.
email: yealink em commlogik.com.br | www.commlogik.com.br | (11) 5503-1011
______________________________________________
Para remover seu email desta lista, basta enviar um email em branco para
asteriskbrasil-unsubscribe em listas.asteriskbrasil.org

 


_______________________________________________
KHOMP ::: External Series Experience :::
Um novo conceito para o mercado de aplicações que vai
fazer você pensar fora da caixa. Aguarde este lançamento
_______________________________________________
DIGIVOICE: Lider no mercado de placas para Asterisk
Único fabricante com Centro de Treinamento especializado.
LANÇAMENTO: Channel Bank TDMoE, até 64 canais FXS / FXO.
www.digivoice.com.br ou (11)3016-5200.
________
YEALINK: Telefones IP e VídeoPhones IP com o melhor custo/benefício do
mercado.
email: yealink em commlogik.com.br | www.commlogik.com.br | (11) 5503-1011
______________________________________________
Para remover seu email desta lista, basta enviar um email em branco para
asteriskbrasil-unsubscribe em listas.asteriskbrasil.org

 

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20120116/49881019/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil