[FUG-BR] RES: Filtro L7

Welkson Renny de Medeiros welkson em focusautomacao.com.br
Quinta Fevereiro 21 15:05:30 BRT 2008


Márcio,

Os scripts já vem na instalação do OSSEC (para vários firewalls), veja:

[root em netserver:/var/ossec/active-response/bin] # pwd
/var/ossec/active-response/bin

[root em netserver:/var/ossec/active-response/bin] # ls
default-firewall-drop.sh*  firewall-drop.sh*  ipfw.sh*      pf.sh*
disable-account.sh*        host-deny.sh*      ipfw_mac.sh*  route-null.sh*

É só copiar o pf.sh por cima do firewall-drop.sh... que é o script usado por 
padrão no ossec... ou alterar o parâmetro firewall-drop no ossec.conf 
(/var/ossec/etc)

Fora o firewall, o ossec também bloqueia via arquivo hosts.deny... eu não 
gostei disso e comentei o script... prefiro usar o bloqueio só pelo firewall 
mesmo.

Abraço,


-- 
Welkson Renny de Medeiros
Focus Automação Comercial
Desenvolvimento / Gerência de Redes
welkson em focusautomacao.com.br



                      Powered by ....

                                           (__)
                                        \\\'',)
                                          \/  \ ^
                                          .\._/_)

                                      www.FreeBSD.org

----- Original Message ----- 
From: "mantunes" <mantunes.listas em gmail.com>
To: "Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)" 
<freebsd em fug.com.br>
Sent: Thursday, February 21, 2008 2:50 PM
Subject: Re: [FUG-BR] RES: Filtro L7


Welkson

vc pode me passar esse script.. tenho interesse de implementar essa solução.

agradeço muito..

obrigado

Em 21/02/08, Welkson Renny de Medeiros<welkson em focusautomacao.com.br> 
escreveu:
> Bom tarde Márcio!
>
>
>  Do snort_inline não posso comentar, nunca usei... sobre o firewall, eu já
>  havia migrado todas as regras de bloqueio para o pf, deixei o ipfw
>  exclusivamente para controle de banda... com isso senti necessidade de
>  também migrar o ossec para pf... o Daniel Cid (ossec) já havia escrito o
>  shell script com regras para pf, testei e está funcionando muito bem... 
> por
>  dia geralmente são bloqueados +- uns 300 ips...
>
>  Agora pouco reiniciei a máquina, olha só quantos ips já foram bloqueados:
>
>  [root em netserver:~] # mostra-bloqueados
>  IPs bloqueados:       32
>
>  [root em netserver:~] # cat /bin/mostra-bloqueados
>  printf "IPs bloqueados: $(pfctl -t ossec -T show | wc -l) \n\n"
>
>  Para acompanhar os bloqueios eu uso o BASE + PostgreSQL.
>
>  É isso, abraço!!!
>
>
>
>  --
>
> Welkson Renny de Medeiros
>  Focus Automação Comercial
>  Desenvolvimento / Gerência de Redes
>  welkson em focusautomacao.com.br
>
>
>
>                       Powered by ....
>
>                                            (__)
>                                         \\\'',)
>                                           \/  \ ^
>                                           .\._/_)
>
>                                       www.FreeBSD.org
>
>  ----- Original Message -----
>  From: "mantunes" <mantunes.listas em gmail.com>
>  To: "Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)"
>  <freebsd em fug.com.br>
>
> Sent: Thursday, February 21, 2008 11:26 AM
>  Subject: Re: [FUG-BR] RES: Filtro L7
>
>
>  Waelkson,
>
>  vc notou alguma diferença entre a mudaça do ossec de ipfw para pf ? o
>  snort_inline tambem pode ser usado um pf ??
>
>
>
>  Em 21/02/08, Welkson Renny de Medeiros<welkson em focusautomacao.com.br>
>  escreveu:
>  > Bom dia Tiago!
>  >
>  >
>  >  Será o "artigo do ano" rsrsrs...
>  >
>  >  snort_inline nunca usei... uso o ossec... mas não trato p2p... só 
> outros
>  >  tipos de ataque (web, sql, etc)... usava o ossec integrado ao ipfw, 
> agora
>  >  estou usando com pf.
>  >
>  >
>  >
>  >  --
>  >  Welkson Renny de Medeiros
>  >  Focus Automação Comercial
>  >  Desenvolvimento / Gerência de Redes
>  >  welkson em focusautomacao.com.br
>  >
>  >
>  >
>  >                       Powered by ....
>  >
>  >                                            (__)
>  >                                         \\\'',)
>  >                                           \/  \ ^
>  >                                           .\._/_)
>  >
>  >                                       www.FreeBSD.org
>  >
>  >
>  >  ----- Original Message -----
>  >  From: "mantunes" <mantunes.listas em gmail.com>
>  >  To: "Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)"
>  >  <freebsd em fug.com.br>
>  >
>  > Sent: Thursday, February 21, 2008 10:25 AM
>  >  Subject: Re: [FUG-BR] RES: Filtro L7
>  >
>  >
>  >
>  > isso tiago, será de grande utilidade essa solução para lista.
>  >
>  >  Estamos esperando.
>  >
>  >  Em 21/02/08, Tiago Isic Brasil<tiago em isic.com.br> escreveu:
>  >  > Bom dia!
>  >  >
>  >  >  Lista, seguinte com a ajuda do sr. Patrick consegui jogar o trafego
>  >  >  identificado como p2p pelo snort_inline para as regras do ipfw. 
> Valeu
>  >  >  Patrick, agora vou começar a customizar as rules do snort para ver 
> se
>  >  >  pego mais do que o Emule no trafego.
>  >  >
>  >  >
>  >  >  Prometo montar um tutorial descrevendo o processo de bloqueio do 
> p2p
>  > via
>  >  >  ipfw com snort_inline.
>  >  >
>  >  >
>  >  >  att
>  >  >  Tiago ISIC Brasil
>  >  >
>  >  >
>  >  >
>  >  >
>  >  >
>  >  >  Em Qua, 2008-02-20 às 17:49 -0300, Patrick Tracanelli escreveu:
>  >  >
>  >  > > Seguinte, numa olhada rapida esta tudo OK entao vamos direto a 
> causa
>  >  >  > mais provavel, as regras
>  >  >  >
>  >  >  > include $RULE_PATH/p2p.rules
>  >  >  > include $RULE_PATH/bleeding-p2p.rules
>  >  >  >
>  >  >  > Estao modificadas pra ter a ação reinject?
>  >  >  >
>  >  >  > Por exemlo, minhas regras de filtro do eDonkey/eMule da vida:
>  >  >  >
>  >  >  > reinject tcp $EXTERNAL_NET 1024:65535 -> $HOME_NET 4660:4799
>  >  >  > (msg:"FBSDBR P2P Edonkey Server Status"; flow:established; 
> dsize:14;
>  >  >  > content:"|e3 09 00 00 00 34|"; depth:6; 
> classtype:policy-violation;
>  >  >  > 
> reference:url,www.giac.org/certified_professionals/practicals/gcih
>  >  >  >
>  >  >  > /0446.php; sid:3003324; rev:1;)
>  >  >  >
>  >  >  > Note o reinject no inicio da regra.
>  >  >  >
>  >  >  > Faca um sed pra trocar de todas as suas regras.
>  >  >  >
>  >  >  >
>  >  >  >
>  >  >  > Tiago Isic Brasil escreveu:
>  >  >  > > Boa tarde!
>  >  >  > >
>  >  >  > > Sr. Patrick, estou testando o snort_inline + ipfw como descrito 
> no
>  >  > seu
>  >  >  > > email de resposta a lista referente ao bloqueio do P2P , só que
>  > não
>  >  >  > > estou tendo muito sucesso.
>  >  >  > >
>  >  >  > > Eu queria só que você checasse onde pode estar errado e me dar 
> um
>  >  > toque
>  >  >  > > no que pode-se ser realizado.
>  >  >  > > Quando concluir os testes poderei descrever para a lista o
>  > processo
>  >  > da
>  >  >  > > instalação e configuração dos arquivos.
>  >  >  > >
>  >  >  > > Abaixo está minhas regras de firewall
>  >  >  > >
>  >  >  > >
>  >  >  > > Lembrando que está sendo realizado NAT com natd
>  >  >  > >
>  >  > 
> #######################################################################
>  >  >  > > cmd="ipfw -q add"
>  >  >  > >
>  >  >  > > #Interfaces de rede
>  >  >  > > int1="xl0"
>  >  >  > > ext1="fxp0"
>  >  >  > > skip="skipto 900"
>  >  >  > > network1="192.168.90.0/24"
>  >  >  > >
>  >  >  > > #Libera trafego de qualquer lugar para lo0
>  >  >  > > $cmd 11 allow ip from any to any via lo0
>  >  >  > >
>  >  >  > > #Bloqueia trafego de qualquer lugar para 127.0.0.0/8
>  >  >  > > $cmd 12 deny ip from any to 127.0.0.0/8
>  >  >  > >
>  >  >  > > #Bloqueia trafego de 127.0.0.0/8 para qualqier lugar
>  >  >  > > $cmd 13 deny ip from 127.0.0.0/8 to any
>  >  >  > >
>  >  >  > > #Aqui está a regra pelo que entendi no email do Patrick,  que é
>  >  > enviar
>  >  >  > > tudo que esteja tagged 30 para a regra de nr. 65500
>  >  >  > > $cmd 14 skipto 65500 log all from any to any tagged 30
>  >  >  > >
>  >  >  > > #Libera o serviço SSH
>  >  >  > > $cmd 16 allow tcp from any to me 22 in via $ext1
>  >  >  > >
>  >  >  > > #Conexoes já estabilizadas vao para a regra de divert
>  >  >  > > $cmd 103 $skip tcp from any to any established
>  >  >  > >
>  >  >  > > #Aqui está a minha duvida. A regra 900 recebe o trafego, blz, 
> mas
>  > se
>  >  > eu
>  >  >  > > omitir ela e apenas usar a regra nr 901 não funciona nada.
>  >  >  > > #Quando inicio o snort ele abre o socket divert na porta 8000
>  >  >  > > $cmd 900  divert 8668 log ip4 from any to any
>  >  >  > > $cmd 901 divert 8000 log all from any to any
>  >  >  > >
>  >  >  > > #Permite trafego de qualquer lugar para qualquer lugar.
>  >  >  > > $cmd 1000 allow log ip from any to any
>  >  >  > >
>  >  >  > >
>  >  >  > > #Como descrito no email do Patrick, o que for identificado pelo
>  >  >  > > snort_inline, vai para a regra 65500
>  >  >  > > $cmd 65499 deny log all from any to any
>  >  >  > > $cmd 65500 count tag 30 log all from any to any keep-state
>  >  >  > >
>  >  >  > > #Bloqueia qualquer trafego de qualquer lugar
>  >  >  > > $cmd 65534 deny log ip from any to any
>  >  >  > >
>  >  >
>  > 
> ########################################################################
>  >  >  > >
>  >  >  > >
>  >  >  > > Meu snort_inline.conf
>  >  >  > >
>  >  > 
> #######################################################################
>  >  >  > >
>  >  >  > > #Redes
>  >  >  > >
>  >  >  > > var HOME_NET [192.168.90.0/24]
>  >  >  > >
>  >  >  > > var HONEYNET any
>  >  >  > > var EXTERNAL_NET any
>  >  >  > > var SMTP_SERVERS any
>  >  >  > > var TELNET_SERVERS any
>  >  >  > > var HTTP_SERVERS any
>  >  >  > > var SQL_SERVERS any
>  >  >  > > var HTTP_PORTS 80
>  >  >  > > var SHELLCODE_PORTS !80
>  >  >  > > var DNS_SERVERS any
>  >  >  > >
>  >  >  > > #Manda para o ipfw
>  >  >  > >
>  >  >  > > config ipfw_reinject_rule: 65500
>  >  >  > >
>  >  >  > > var RULE_PATH /usr/local/share/snort_inline/rules
>  >  >  > >
>  >  >  > > preprocessor flow: stats_interval 0 hash 2
>  >  >  > > output alert_fast: inline_fast
>  >  >  > >
>  >  >  > > include /usr/local/share/snort_inline/classification.config
>  >  >  > > include /usr/local/share/snort_inline/reference.config
>  >  >  > >
>  >  >  > >
>  >  >  > > include $RULE_PATH/p2p.rules
>  >  >  > > include $RULE_PATH/bleeding-p2p.rules
>  >  >  > >
>  >  >  > >
>  >  >
>  > 
> ###############################################################################
>  >  >  > >
>  >  >  > > O que está acontencendo é o seguinte, no log do snort apareceu 
> a
>  >  >  > > identificaçao do trafego dos testes que realizei com os 
> programas
>  >  > mais
>  >  >  > > conhecidos como Emule,DreMule.
>  >  >  > > Mas nada foi enviado para a regra:
>  >  >  > >
>  >  >  > > #ipfw show
>  >  >  > >
>  >  >  > > 00011    0       0 allow ip from any to any via lo0
>  >  >  > > 00012    0       0 deny ip from any to 127.0.0.0/8
>  >  >  > > 00013    0       0 deny ip from 127.0.0.0/8 to any
>  >  >  > > 00014    0       0 skipto 65500 log logamount 100 ip from any 
> to
>  > any
>  >  >  > > tagged 30
>  >  >  > > 00020    2     156 allow icmp from any to any
>  >  >  > > 00103 4772 2137400 skipto 900 tcp from any to any established
>  >  >  > > 00900 5622 2237029 divert 8668 log logamount 100 ip4 from any 
> to
>  > any
>  >  >  > > 00901 5622 2237029 divert 8000 log logamount 100 ip from any to
>  > any
>  >  >  > > 01000 5622 2237029 allow log logamount 100 ip from any to any
>  >  >  > > 65499    0       0 deny log logamount 100 ip from any to any
>  >  >  > > 65500    0       0 count log logamount 100 tag 30 ip from any 
> to
>  > any
>  >  >  > > keep-state
>  >  >  > > 65534    0       0 deny log logamount 100 ip from any to any
>  >  >  > > 65535    0       0 deny ip from any to any
>  >  >  > >
>  >  >  > > Bom queria uma orientação no que posso fazer.
>  >  >  > >
>  >  >  > > Desde já agradeço
>  >  >  > >
>  >  >  > > Tiago ISIC Brasil
>  >  >  > >
>  >  >  > >
>  >  >  > >
>  >  >  > >
>  >  >  > > -------------------------
>  >  >  > > Histórico: http://www.fug.com.br/historico/html/freebsd/
>  >  >  > > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>  >  >  >
>  >  >  >
>  >  >
>  >  >  -------------------------
>  >  >  Histórico: http://www.fug.com.br/historico/html/freebsd/
>  >  >  Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>  >  >
>  >
>  >
>  >  --
>  >  Marcio Antunes
>  >  Powered by FreeBSD
>  >  ==================================
>  >  * Windows: "Where do you want to go tomorrow?"
>  >  * Linux: "Where do you want to go today?"
>  >  * FreeBSD: "Are you, guys, comming or what?"
>  >  -------------------------
>  >  Histórico: http://www.fug.com.br/historico/html/freebsd/
>  >  Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>  >
>  >  -------------------------
>  >  Histórico: http://www.fug.com.br/historico/html/freebsd/
>  >  Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>  >
>
>
>  --
>  Marcio Antunes
>  Powered by FreeBSD
>  ==================================
>  * Windows: "Where do you want to go tomorrow?"
>  * Linux: "Where do you want to go today?"
>  * FreeBSD: "Are you, guys, comming or what?"
>  -------------------------
>  Histórico: http://www.fug.com.br/historico/html/freebsd/
>  Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>
>  -------------------------
>  Histórico: http://www.fug.com.br/historico/html/freebsd/
>  Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>


-- 
Marcio Antunes
Powered by FreeBSD
==================================
* Windows: "Where do you want to go tomorrow?"
* Linux: "Where do you want to go today?"
* FreeBSD: "Are you, guys, comming or what?"
-------------------------
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd



Mais detalhes sobre a lista de discussão freebsd