Servidor seguro com Bridge, Snort e Guardian

Descreverei os passos que segui para criar um servidor seguro, usando um sistema muito conhecido no mundo BSD*s e agora portado para o Linux na sua versão de kernel 2.6.x.

[ Hits: 54.707 ]

Por: Eduardo Assis em 18/06/2004 | Blog: http://www.proredes.com.br


Bridge



Uma bridge é uma interface de rede lógica composta por uma ou mais interfaces de rede física operando em nível 2 enviando pacotes através de MAC addresses.

Sua operação é transparente na rede, podendo ser usada como um switch/firewall, estação de monitoração, etc. Aqui descreverei como montar uma bridge simples. As possibilidades são diversas e uma configuração bem feita pode detectar ataques, protocolos desconhecidos até vírus complexos de rede.

É necessário um dos seguintes requerimentos para se montar uma bridge:
  • kernel com suporte a bridge ativado (na configuração de rede) estou usando o kernel 2.6.6
  • o pacote bridge-utils instalado.

No exemplo abaixo, assumirei a utilização do nome de dispositivo "br0" para se referir a bridge no sistema.

Segue um script que fiz. fica em /etc/rc.d/rc.bridge:

#!/bin/bash
#
# Eduardo Assis - Wed Jun 2 13:50:01 BRT 2004
#
# Script de inicialização da bridge


IFCONFIG=/sbin/ifconfig
BRCTL=/usr/sbin/brctl

BR_IFACE=br0

EXT_IFACE="eth0"
INT_IFACE="eth1"

LO_IFACE="lo"
LO_IP="127.0.0.1"

$IFCONFIG $EXT_IFACE down
$IFCONFIG $INT_IFACE down
$IFCONFIG $EXT_IFACE 0.0.0.0
$IFCONFIG $INT_IFACE 0.0.0.0

$BRCTL addbr $BR_IFACE

$BRCTL addif $BR_IFACE $EXT_IFACE
$BRCTL addif $BR_IFACE $INT_IFACE

$IFCONFIG $BR_IFACE up 0.0.0.0

Explicando, quando esse script for carregado ele desativa minha eth0 e eth1 e sobe a br0 sem ip.

Podemos conferir com o comando.

# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             xxxxxxxxxxxxxxxx          no             eth0  eth1


Esta sendo mostrado que minha eth0 e eth1 fazem parte da bridge e que estão sem IPs.

Ainda no meu caso coloquei uma terceira placa de rede, para que eu possa acessar internamente.

    Próxima página

Páginas do artigo
   1. Bridge
   2. Snort
   3. Guardian
Outros artigos deste autor

Autenticando usuários Windows no Linux (PDC)

Configurando mais de um IP por placa de rede

Explorando o NFS do mrluk

Shell script com PHP

Configuração do Speedy Home da Telefônica (ou Velox)

Leitura recomendada

Firewall rápido e seguro com iptables

Firewall seguro com o IPTables

Implementando prioridade nos serviços com TOS no Iptables

Integrando Layer7 + IPP2P ao Iptables

Abrindo e fechando portas com o BlockOutTraffic

  
Comentários
[1] Comentário enviado por y2h4ck em 18/06/2004 - 09:10h

Bem interessante o Artigo Sr. Eduardo, eu ja conhecia esse Bridge apenas no OpenBSD, vi uns testes uma vez utilizando ele para criar uma interface de analise para barrar requisições de Spoof MAC
em redes que utilizavam Wlan.

Seria interessante se esse recurso fosse adicionado no kernel da versao 2.4 tambem, bom quem sabe neh.

Todo caso parabens pelo artigo :)

Spawn Locoust

[2] Comentário enviado por y2h4ck em 18/06/2004 - 13:13h

Eduardo gostaria de perguntar uma coisa ... digamos que eu utilize pppoe certo, entao quando eu iniciar o script que vai dar um down em minha interface... nao ira fazer com que minha conexão caia ?
Caso sim como contornar esse problema ?

[3] Comentário enviado por Ragen em 18/06/2004 - 13:54h

Olá Eduardo,

Vou usar como gancho nos 2 posts acima. Como ficaria por exemplo conexoes que fazem conexoes VPN com um roteador que por sua vez prove conexao externa/interface externa, ou seja:

eth0 -> ppp0 (grupo de interface externa)
eth1 (interface interna)

[]'s

Ragen

[4] Comentário enviado por xereguis em 19/06/2004 - 17:25h

Ola y2h4ck

Sua conexão irá cair, pois em se tratando de bridge sua máquina naum pode alocar um ip, a bridge trabalhará como um switch. Neste caso vc tem que obter uma outra máquina que trabalhe como router da rede. Neste caso é utilizado como bridge para aumentar a segurança da rede sendo, que naum eh possível acessar a bridge e passa transparente pelo o usuário (traceroute nunca mais).

[]'s

xereguis

[5] Comentário enviado por WSBiasi em 08/07/2004 - 13:27h

aa

[6] Comentário enviado por WSBiasi em 08/07/2004 - 13:36h

Fala Ediardo,

Fico muito honrado em ver meu arquivo de configuração em seu artigo, não é todo dia que alguém rouba o trabalho da gente e coloca o próprio nome, ainda por cima sai falando que foi você quem fez.

{Segue um script que fiz. fica em /etc/rc.d/rc.bridge:}

Assim o pessoal desse site vai acabar pensando que os seus artigos são idéias suas, e se alguém te contratar para fazer alguma coisa parecida, sará que vc consegue ...


[7] Comentário enviado por __FERNANDO__ em 19/09/2004 - 21:57h

Xiiii....não foi o cara quem fez ? heheheheh....ai complica hein...kkkkkkk.

[8] Comentário enviado por dino em 20/03/2005 - 05:10h

10

[9] Comentário enviado por nas51 em 08/12/2006 - 10:15h

Boa dia Eduardo,

Sou novato no Linux , tentei fazer rodar seu script para fazer a Bridge Transparente em uma máquina dentro de uma Lan , no final aparece a seguinte MSG SIOCSIFADDR: No Such Device

O que pode ter acontecido , se eu configurei no Kernel 2.4.31 do Slackware a opção 802.1d ETHERNET BRIDGING


Abraço

[10] Comentário enviado por pedrortljunior em 08/12/2007 - 17:59h

É possível usar essa bridge como servidor de cache?

[11] Comentário enviado por pedrortljunior em 08/12/2007 - 17:59h

Quero saber se posso usar esse servidor bridge com Squid + proxy transparente + cache. Quero criar um servidor de cache que fique armazenando tudo que passa por ele pra quando houver requisição ele pegar direto do cache dessa bridge.

é possível?

[12] Comentário enviado por lipecys em 24/06/2008 - 20:08h

Muito bacana seu artigo.

Parabéns.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts