Implementando segurança em Jail
Este tutorial tem o intuito de orientar uma configuração de ambiente de Jail onde o trafego entre o mundo externo e as Jail’s sejam gerenciados pelo servidor principal (o qual provê as Jail’s) com o uso de uma interface virtual (tap).
Toda a comunicação é gerenciada pelo firewall (no caso deste tutorial é o PF), portanto, iremos isolar as maquinas Jail’s em uma especie de DMZ.
Vamos ao ambiente:
Não vou entrar em detalhes de como configurar uma Jail, isto já tem documentação bem difundida e inclusive eu fiz um tutorial de como gerenciar Jail usando o software Ezjail.
Temos um FreeBSD 7.2 – Stable com:
Vamos efetuar a configuração de uma interface virtual para comunicação com as Jail’s:
ifconfig tap0 create ifconfig tap0 172.16.50.1/24
Para tornar essa configuração permanente, use:
echo 'cloned_interfaces="tap0"' >> /etc/rc.conf echo 'ifconfig_tap0="inet 172.16.50.1 netmask 255.255.255.0"' >> /etc/rc.conf
Dai, precisamos ainda criar um ip de alias na interface tap0 para criação de uma de nossas maquinas Jail:
ifconfig tap0 alias 172.16.50.10/32 echo 'ifconfig_tap0_alias0="inet 172.16.50.10/32" # IP Jail Mail' >> /etc/rc.conf
Pronto, agora podemos fazer a criação de nossa Jail:
ezjail-admin create -f default mail-server.dominio.com.br 172.16.50.10Faça as devidas configurações em relação à sua Jail.
Agora vamos configurar o firewall para criar uma entrada/saida dessa Jail na internet.
Coloque no arquivo /etc/pf.conf o seguinte conteúdo:
jail_mail-server="172.16.50.10" nat_jail_mail-server="200.x.x.20" if_ext="fxp0" if_jail="tap0" nat on $if_ext from 172.16.50.10 to any -> $nat_jail_mail-server pass all
A partir dai é usar sua imaginação/necessidade em gerir as regras de firewall, nesse ambiente a Jail irá ficar isolada em uma especie de DMZ gerenciada pelo firewall da maquina principal, você pode inclusive criar politicas de roteamento e/ou balanceamento entre as maquinas Jail’s através do PF.


Caro Luiz, preciso falar contigo. Espero seu contato.
Gustavo,
Qual a vantagem de se criar uma interface Tap0 para criar a rede virtual ao invés de se criar somente alias na interface real ?
Abraços,
DVCG.
Opa, então…. vou listar algumas delas:
1 – Visão, com uma interface, podemos ter uma visão melhor dos pacotes entrando e saindo e pode-mos formular rotas e regras (inclusive QOS) baseadas na interface e não na rede.
2 – Isolamento: Uma interface virtual do tipo TAP fica isolada e só é possível alcança-la se gerir-mos regras/rotas sobre ela.
Se desejar que cada interface de rede da jail fosse IP válido, como no exemplo