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.
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:
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:
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
#
# 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.
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